*** empty log message ***
[bpt/emacs.git] / src / ChangeLog.3
1 1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2
3 * Version 19.10 released.
4
5 1993-05-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6
7 * keyboard.c (read_key_sequence): If we changed buffers during
8 read_char, go to replay_sequence.
9
10 * frame.c (Ficonify_frame, Fmake_frame_invisible):
11 Select some other frame. Move minibuffer off this frame.
12
13 * frame.c (Fhandle_switch_frame): Don't call Ffocus_frame.
14 (Fredirect_frame_focus): Call Ffocus_frame here.
15
16 * xterm.c (x_bitmap_icon): Don't free icon_bitmap;
17 create it if it hasn't been created before.
18
19 * xterm.c (XTread_socket): For UnmapNotify, if frame was visible,
20 mark it now as iconified.
21 (x_make_frame_invisible): If async_iconic, work does need to be done.
22 Don't let this frame stay highlighted.
23 (x_iconify_frame): Don't let this frame stay highlighted.
24
25 * s/usg5-4-2.h (sigsetmask): #undef this.
26
27 * sysdep.c (sys_signal): Use 0, not NULL, to set sa_flags.
28
29 1993-05-29 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
30
31 * linux.h (C_OPTIMIZE_SWITCH): Set this to the empty string;
32 configure guesses just fine.
33
34 * tekXD88.h: New file, from Kaveh Ghazi.
35
36 * systty.h (CDISABLE): #undef it before re-#defining it.
37
38 * sysdep.c (sys_siglist): Comment out #endif trailer.
39 * xmenu.c (TRUE, FALSE): Same.
40 * xterm.c (dumprectangle): Same.
41
42 * emacs.c: Don't include termios.h directly--let systty.h do it.
43
44 1993-05-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
45
46 * xfaces.c [HPUX]: Include time.h and define __TIMEVAL__.
47
48 * emacs.c (shut_down_emacs): Maybe close X connection. New arg NO_X.
49 (Fkill_emacs): Don't close it here. Pass new arg.
50 (fatal_error_signal): Pass new arg.
51 * xterm.c (x_connection_closed): Pass new arg.
52
53 * xdisp.c (syms_of_xdisp): Make highlight-nonselected-windows Lisp var.
54 (display_text_line): Obey it.
55 (display_text_line): Really check for just the selected window.
56
57 * s/usg5-4-2.h: New file.
58
59 * keyboard.c (menu_bar_items): Save Vinhibit_quit by hand
60 instead of using specbind.
61 (menu_bar_items): Call Fnreverse before restoring Vinhibit_quit.
62
63 * s/hpux8.h (OLDXMENU_OPTIONS): Add quotations.
64
65 * m/ibmrt.h (C_SWITCH_MACHINE): Define only if not __GNUC__.
66 (HAVE_FTIME): Defined.
67 (EMACS_BITMAP_FILES): Defined.
68
69 * xfns.c (Fx_close_current_connection): Clear x_current_display.
70 * xterm.c (XTring_bell): Do nothing if x_current_connection is 0.
71
72 * buffer.c (reset_buffer): Clear mark_active field here.
73 (reset_buffer_local_variables): Not here.
74 (Fswitch_to_buffer, Fpop_to_buffer): Return the buffer.
75 (Fmove_overlay): Fix data types in last change.
76
77 * sysdep.c (gettimeofday): Don't store in *tzp if tzp is 0.
78
79 * process.c (MAXDESC): Get it from FD_SETSIZE if that exists.
80
81 * s/sco4.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
82 Redefined.
83 (SIGNALS_VIA_CHARACTERS): Defined.
84 [HAVE_SOCKETS] (HAVE_GETTIMEOFDAY): Defined.
85 (MAIL_PROGRAM_NAME): Defined (two alternate definitions).
86
87 * xfns.c (Fx_list_fonts): Use CHECK_LIVE_FRAME on the frame arg.
88
89 1993-05-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
90
91 * s/hpux8.h (LIBX11_SYSTEM): Defined.
92
93 * ymakefile: Replace config.h as dep with $(config_h).
94 (really-oldXMenu): Use two make vars to pass values
95 of C_SWITCH_... within doublequotes.
96
97 * xfns.c (x_figure_window_size): Never set PPosition or PSize.
98
99 * keymap.c (syms_of_keymap): Create global_map 256 slots long.
100 * cmds.c (keys_of_cmds): Predefined 0240-0376 as self-insert.
101
102 * xterm.c (XTread_socket, case KeyPress) [HPUX]:
103 Recognize the extended function keys.
104
105 * buffer.c (Fgenerate_new_buffer_name): New arg IGNORE.
106 (Frename_buffer): Pass new arg.
107
108 1993-05-28 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
109
110 * keyboard.c (menu_bar_items): Bind Qinhibit_quit to Qt while we
111 call the keymap accessors; this gets called during redisplay.
112
113 * ymakefile (alloca.o): Call $(CC), not cc.
114
115 * s/linux.h (SIGNALS_VIA_CHARACTERS): Try this out for a bit.
116
117 * buffer.c (Fmove_overlay): If the overlay is changing buffers,
118 do a thorough redisplay.
119
120 * xfns.c (x_set_frame_parameters): Use the first
121 position/size parameter we find, not the last.
122
123 * s/hpux8.h: Don't define HAVE_RANDOM.
124
125 * config.h.in (UNEXEC_SRC): New macro, set by the configure
126 script.
127 * ymakefile (UNEXEC_SRC): Give it a default value here, and make
128 UNEXEC depend on it.
129
130 * ymakefile (lispdir): Set this in terms of ${srcdir}.
131
132 1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
133
134 * dispnew.c (Fsleep_for): Don't return without waiting when SEC is 0.
135
136 * emacs.c (syms_of_emacs) [CANNOT_DUMP]: Don't defsubr Sdump_emacs*.
137
138 * alloc.c (mark_object): Add debugging code to check for ptr clobbered.
139
140 1993-05-27 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
141
142 * Version 19.9 released.
143
144 1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
145
146 * keyboard.c (read_char): Correct previous change.
147
148 1993-05-27 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
149
150 * systty.h: Always terminate comments, to avoid confusion.
151
152 * xfns.c: Make resource manager work correctly even when
153 Vinvocation_name has periods and asterisks in it.
154 (Vxrdb_name): New variable.
155 (Fx_get_resource): Use it instead of Vinvocation_name.
156 (Fx_open_connection): Initialize it to a copy of Vinvocation_name,
157 with the dots and stars replaced by hyphens.
158 (syms_of_xfns): staticpro it here.
159
160 * xfns.c (Fx_get_resource): Use the proper format string when the
161 attribute has been specified.
162
163 1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
164
165 * xfns.c (x_get_resource_string): New function.
166
167 * ymakefile (ALL_CFLAGS): Put CFLAGS last.
168
169 1993-05-26 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
170
171 * s/sol2.h: (SOLARIS_BROKEN_ACCESS): Don't define this.
172
173 * s/aix3-2.h (C_SWITCH_SYSTEM): Don't define this to be "-ma" if
174 we're using GCC - that's an XLC switch.
175
176 * s/aix3-2.h (LIBS_SYSTEM): Put -LIM -Liconv here.
177
178 * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
179 we have those structures, but *don't* define them if we have
180 TERMIOS, whose functions take care of those parameters; that
181 screws up AIX.
182 (struct emacs_tty): Test those symbols, instead of the ioctl
183 commands.
184 * sysdep.c (emacs_get_tty, emacs_set_tty, new_ltchars, new_tchars,
185 init_sys_modes): Same.
186
187 * config.h.in (HAVE_RENAME): Include an #undef for this, so
188 configure will have something to edit.
189
190 1993-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
191
192 * window.c (window_loop, case GET_LRU_WINDOW):
193 Get frame's width properly.
194
195 * xselect.c (x_get_local_selection): If no conversion function
196 exists for the requested type, just return nil.
197
198 * s/linux.h (HAVE_TCATTR): Defined.
199
200 * sysdep.c [HAVE_SOCKETS]: Include socket.h, netdb.h.
201 (get_system_name) [HAVE_SOCKETS]: Use gethostbyname.
202
203 1993-05-26 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
204
205 * s/hpux8.h (LIB_X11_LIB, C_SWITCH_SYSTEM, LD_SWITCH_SYSTEM,
206 LD_SWITCH_SYSTEM, OLDXMENU_OPTIONS): Add X11R5 directories to the
207 search paths in these lists; they shouldn't do any harm if they
208 don't have X11R5.
209
210 * s/aix3-2.h (C_SWITCH_SYSTEM): Don't #define this if we're using
211 GCC.
212
213 1993-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
214
215 * xrdb.c (magic_searchpath_decoder): Fix typos.
216
217 * xdisp.c (display_text_line): Don't call compute_char_face
218 for a non-X frame.
219
220 * xfns.c (Fx_rebind_key, Fx_rebind_keys): X10 definitions deleted.
221 (syms_of_xfns): Install them only if X11.
222
223 * ralloc.c (r_alloc_sbrk): Declare already_available as long, not SIZE.
224
225 * xfns.c (x_set_cursor_type): If arg not recognized, use box cursor.
226
227 * s/hpux8.h (LD_SWITCH_SYSTEM) [__GNUC__]: Pass -a archive to ld.
228 (HAVE_RANDOM): Defined.
229
230 * s/hpux.h (rand, srand): Definitions deleted.
231
232 * keyboard.c (Fcurrent_input_mode): Fix the call to Flist.
233 (make_lispy_event): Fix off-by-1 error with hpos in menu bar.
234
235 * s/sunos4-1-3.h: New file.
236
237 * ymakefile (XOBJ) [!HAVE_X_MENU]: Add xfaces.o.
238
239 * s/irix4-0.h (SIGNALS_VIA_CHARACTERS): Defined.
240
241 * xterm.c (x_wm_set_size_hint): Don't set hints for max size.
242
243 1993-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
244
245 * m/ibmrs6000.h (LIBS_MACHINE): Add -lIM and -liconv.
246 (HAVE_GETTIMEOFDAY): Deleted.
247
248 * sysdep.c (wait_for_termination): Don't use the BSD alternative
249 for LINUX. Use the UNIPLUS alternative.
250
251 * keyboard.c (read_char): If kbd_buffer_get_event returns nil,
252 redisplay and retry.
253 (kbd_buffer_get_event): If event is handled here, return nil.
254 (swallow_events): New function.
255 * process.c (wait_reading_process_input): Call that.
256
257 * ralloc.c (POINTER): Always use char *.
258
259 * s/sol2.h (C_SWITCH_X_SYSTEM): Deleted.
260 (LD_SWITCH_SYSTEM): Delete the -L option, leave just -R.
261
262 * m/symmetry.h (PTY_TTY_NAME_SPRINTF, PTY_NAME_SPRINTF):
263 Use pty_name, not ptyname.
264
265 * syntax.c (Fforward_comment): Arg is a Lisp_Object.
266 Convert it to an int.
267
268 * ymakefile (alloca.o): Get alloca.c and alloca.s from ${srcdir}.
269
270 * floatfns.c (logb): Don't declare if hpux.
271
272 * syntax.c (Fforward_comment): Always set point.
273
274 * s/dgux.h, s/hpux.h, s/esix.h (HAVE_GETTIMEOFDAY): Deleted.
275
276 * s/irix4-0.h (C_ALLOCA, alloca): Definitions deleted.
277 [!NOT_C_CODE]: Include alloca.h.
278 (NEED_SIOCTL): #undef this.
279
280 * xterm.h (PIXEL_TO_CHAR_COL, PIXEL_TO_CHAR_ROW):
281 Fix mismatch in arg names.
282
283 * xfns.c (Fx_open_connection): Set xrm_option correctly.
284
285 1993-05-25 David J. MacKenzie (djm@wiki.eng.umd.edu)
286
287 * xfns.c (x_figure_window_size): Make the default frame coords (0,0).
288
289 1993-05-25 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
290
291 * Version 19.8 released.
292
293 1993-05-25 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
294
295 * xfns.c: Clear out the old face stuff.
296 (x_face_table, n_faces, x_set_face, x_set_glyph, Fx_set_face_font,
297 Fx_set_face, Fx_get_face): Removed.
298 (syms_of_xfns): Remove defsubr for Fx_set_face.
299
300 Arrange for font names to get fully resolved - no wildcards.
301 * xfns.c (x_set_frame_parameters): Store the value in the frame
302 parameter alist before we call the setter function, so the setter
303 function can touch up the value if it chooses.
304 (x_set_foreground_color, x_set_background_color): Call
305 recompute_basic_faces, so their GC's will reflect the changes.
306 (x_new_font): Add extern declaration - this returns a Lisp_Object
307 now, the fully resolved font name.
308 (x_set_font): Accept the fully resolved name from x_new_font, and
309 put it in the frame's parameter alist. Call recompute_basic_faces.
310 * xterm.c (x_new_font): Return the fully resolved font name, Qnil
311 (if no match), or Qt (match, but unacceptable metrics).
312 * xterm.c (x_new_font): Don't call init_frame_faces.
313
314 * xterm.h: New section for declarations for xfaces.c.
315 (init_frame_faces, free_frame_faces, intern_face,
316 face_name_id_number, same_size_fonts, recompute_basic_faces,
317 compute_char_face, compute_glyph_face): Declare these here.
318 * xfaces.c (same_size_fonts): We can now remove this extern
319 declaration.
320 * xfns.c (face_name_id_number): Likewise.
321 * xterm.c (intern_face): Likewise.
322
323 * xterm.c (dumpglyphs): Remember that the default faces can have
324 null fonts, too.
325
326 * xfns.c (Fx_list_fonts): Remember that FACE may not have a font
327 specified. Don't specify 30000 as the maximum limit on the number
328 of fontns returned - 2000 is more reasonable.
329
330 * xfaces.c (build_face, unload_font, free_frame_faces): Don't
331 forget to block input while making X calls.
332
333 Treat faces as structures specifying modifications to the frame's
334 parameters, rather than things which need to specify a complete
335 set of parameters by themselves.
336 * xfaces.c (init_frame_faces): Don't set up the two frame display
337 faces by querying the GC - just leave all their fields blank, and
338 call recompute_basic_faces, letting build_face do the work of
339 consulting the frame when necessary.
340 (recompute_basic_faces): New function.
341 (compute_base_faces): New function for obtaining the "identity"
342 for compute_char_face and compute_glyph_face.
343 (compute_char_face, compute_glyph_face): Call it, instead of copying
344 FRAME_DEFAULT_FACE.
345 * xfns.c (x_make_gc): No need to call init_frame_faces here.
346
347 * xfaces.c (intern_frame_face): This can be static.
348
349 * dispextern.h (struct face): New field - `copy', to help us with
350 resource allocation.
351 * xfaces.c (free_frame_faces): Do free the first two faces; don't
352 free anything from a face that's a copy.
353 (intern_frame_face): Mark every face we intern as a copy; its
354 resources are actually a combination of the real faces.
355 (Fset_face_attribute_internal): No need to check if we're trying
356 to free one of the frame's GC's; they never enter into the
357 picture.
358
359 * casetab.c: Fix formatting, so as not to confuse etags.
360
361 * xfns.c (Fx_list_fonts): New function.
362 (face_name_id_number): Add extern declaration for this.
363 * xfaces.c (face_name_id_number): Make this externally visible,
364 and make the FRAME argument a FRAME_PTR, not a Lisp_Object.
365 (compute_char_face): Call face_name_id_number properly.
366
367 * xfaces.c (unload_color): Don't free the pixel for now.
368
369 * xfaces.c (merge_faces): You can't tell if a font is a
370 character-cell font or not by testing whether or not it has a
371 per_char table. They all do.
372 * xterm.c (x_new_font): Same deal.
373 * xfns.c (Fx_list_fonts): Same deal.
374
375 * m/iris4d.h: Dyke out the section which specifies how to get the
376 load average.
377
378 * paths.h (PATH_INFO): New path, to edited by the configuration
379 process.
380 * callproc.c (Vconfigure_info_directory): New variable, used
381 internally by build process.
382 (syms_of_callproc): DEFVAR it and initialize it.
383
384 * keyboard.c (Fcurrent_input_mode): Use XFASTINT to build the last
385 element of the return value, not XSETINT.
386
387 1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
388
389 Changes for OSF/1:
390 * mem-limits.h [__osf__ && (__mips || mips)]: #include
391 <sys/time.h> and <sys/resource.h>.
392 (get_lim_data): OSF wants a definition like BSD4_2's.
393 * s/osf1.h: #include "bsd4-3.h", not "s-bsd4-3.h".
394
395 * ymakefile (LIBX): Put LD_SWITCH_X_SITE before the libraries, so
396 it actually has an effect.
397
398 Some makes can't handle form feed characters in their makefiles.
399 * s/usg5-3.h: Remove form feed.
400 * s/template.h, m/template.h: Remove form feeds.
401
402 * xfns.c (select_visual): Include the screen number in the
403 template of things XGetVisualInfo must match.
404
405 1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
406
407 * s/dgux.h (NO_GET_LOAD_AVG): Test _M88KBCS_TARGET, not __GNUC__.
408
409 * xterm.c (XTread_socket, ConfigureNotify case):
410 Convert from parent window, not Emacs window.
411 (XTread_socket): Handle ReparentNotify events.
412
413 * m/i860.h: New file.
414
415 * keyboard.c (lispy_function_keys): Add kp-numlock. Fix kp-backspace.
416
417 1993-05-24 Thorsten Ohl (ohl@chico.harvard.edu)
418
419 * m/next.h (C_SWITCH_MACHINE): Definition deleted.
420
421 * lread.c: Don't #undef NULL.
422
423 1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
424
425 * buffer.c (Fmake_overlay): Put beg and end in the
426 right order.
427 (Fmove_overlay): If beg and end are markers, make sure they're in
428 the right buffer.
429
430 1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
431
432 * keyboard.c (modify_event_symbol): If a name_table elt is null,
433 generate a name to use. Don't crash.
434
435 * fileio.c (Fread_file_name): If input is empty, do return the default
436 even if !insert_default_directory.
437
438 * xterm.c (XTread_socket): For ConfigureNotify event,
439 translate coordinates if send_event field is false
440 provided the x-coord value is not large.
441
442 1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
443
444 * s/irix4-0.h (NO_MATHERR): Defined.
445 * floatfns.c [NO_MATHERR]: Undef HAVE_MATHERR.
446
447 1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
448
449 * fileio.c (Ffile_writable_p): Pass XSTRING (foo)->data to
450 ro_fsys, not XSTRING (foo).
451
452 * xterm.c (x_new_font): Reject fonts with varying spacing. We
453 don't support them yet.
454 * xfns.c (x_set_font): Report the error message properly.
455
456 * xfns.c (Fx_parse_geometry): No need to call check_x here; it
457 doesn't interact with the server at all, and we need it in order
458 to create our first frame.
459
460 1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
461
462 * s/linux.h (HAVE_SETSID): Defined.
463 (HAVE_SOCKETS): Defined.
464
465 * process.c (create_process): Ignore retval from TIOCSTTY.
466 (sys_siglist) [LINUX]: Don't even declare it.
467
468 1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
469
470 * syssignal.h (sys_signal): Declare the second argument to have
471 type signal_handler_t. We're told this is necessary for Linux.
472
473 1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
474
475 * s/dgux.h (NO_GET_LOAD_AVG): Define, if __GNUC__.
476
477 1993-05-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
478
479 * s/hpux8.h (NO_SIOCTL_H): Defined.
480
481 1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
482
483 * s/linux.h (HAVE_DUP2, HAVE_ALLOCA_H): Deleted.
484
485 1993-05-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
486
487 * syssignal.h: Don't #include <signal.h>
488 * alloc.c: #include <signal.h>, but before "config.h".
489
490 1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
491
492 * xfaces.c (Fset_face_attribute_internal): Don't call unload_font
493 for the frame's own font.
494
495 * xfns.c (check_x): New function.
496 Call it in almost every Lisp function in this file.
497 (x_set_menu_bar_lines_1): Pass both args in recursive call.
498
499 1993-05-23 Paul Eggert (eggert@twinsun.com)
500
501 * editfns.c (Fcurrent_time_zone): Make `am' an int, not long.
502
503 1993-05-23 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
504
505 Changes for SGI from Matthew J Brown <mjb@doc.ic.ac.uk>.
506 * m/iris4d.h, m/iris5d.h: Don't use the --cckr CC switch if we're
507 using GCC.
508 * m/iris4d.h (NEED_SIOCTL): Move this to...
509 * s/irix3-3.h (NEED_SIOCTL): ... here; apparently it's not
510 necessary in irix4-0.h.
511 * s/irix4-0.h: Remove declaration of getpty; apparently Irix 4.0
512 already declares this elsewhere.
513 (PTY_TTY_NAME_SPRINTF): #undef this before re-#defining it.
514 * m/ibmps2-aix.h, m/pfa50.h, s/hpux.h, s/isc2-2.h, s/linux.h,
515 s/sco4.h, s/usg5-4.h: Remove HAVE_RENAME; configure guesses that now.
516
517 * config.h.in (LD_SWITCH_X_SITE, C_SWITCH_X_SITE): Change the
518 #defines to #undef's, so ../configure knows it should tweak them.
519
520 * xterm.c (x_scroll_bar_report_motion): Set *TIME whether or not
521 the mouse is over a scroll bar.
522
523 * xfaces.c (Fset_face_attribute_internal): Don't free the frame's
524 normal_gc or reverse_gc.
525
526 * keyboard.c (make_lispy_movement): Deal properly with mouse
527 motion outside of all windows.
528
529 * lisp.h (GLYPH_FACE): Remember that the face portion of a glyph
530 can be 24 bits, not just eight.
531
532 1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
533
534 * xterm.c: Move signal.h and stdio.h before config.h.
535
536 * editfns.c (Fcurrent_time_zone): Assign gmt, instead of init.
537
538 1993-05-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
539
540 * Version 19.7 released.
541
542 * Makefile.in (SUBMAKEFLAGS): Add CFLAGS to the list.
543
544 * puresize.h [not HAVE_X_WINDOWS] (PURESIZE): Make this 185k,
545 not 196k. We're actually using ~180k.
546
547 * editfns.c: #include <sys/types.h>, to get time_t for Eggert's
548 changes.
549
550 1993-05-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
551
552 * ymakefile (FRAME_SUPPORT): Add mouse.elc, select.elc, scroll-bar.elc.
553
554 * xdisp.c (display_text_line): Highlight in any frame's sel window.
555
556 * keyboard.c (modifier_names): Update to match *_modifier in termhooks.
557
558 1993-05-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
559
560 * xterm.c (x_scroll_bar_handle_click): Never grab the scroll bar;
561 that feature requires more support to work correctly.
562
563 * keyboard.c (make_ctrl_char): New function.
564 (read_char): Call it.
565 (kbd_buffer_store_event): Call it to see if the new character is
566 the quit or stop character.
567 (make_lispy_event): Call it.
568
569 1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
570
571 * xfns.c (x_window_to_frame): Use XGCTYPE.
572
573 1993-05-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
574
575 * process.c (Fopen_network_stream): Deal with older systems, which
576 only have the h_addr field in their struct hostent.
577
578 * systty.h [SYSV_PTYS]: #include <sys/types.h>. Francesco
579 Potorti` <pot@fly.CNUCE.CNR.IT> says it's necessary on his
580 machine, and it should be harmless.
581
582 1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
583
584 * sysdep.c (wait_for_termination): Copy code from 18.59
585 (but sans BSD4_1 alternatives).
586
587 1993-05-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
588
589 * ymakefile (alloca.o): #define malloc and free to be xmalloc and
590 xfree on the command line of this compilation.
591
592 * s/sco4.h: (TIME_WITH_SYS_TIME): This is no longer needed.
593
594 * s/linux.h: Remove copyright notices by Michael K. Johnson and
595 Rik Faith. They have both sent in papers now which make their
596 changes public domain.
597
598 * sysdep.c (sys_suspend): Set synch_process_alive, so that
599 wait_for_termination has something to wait for.
600
601 1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
602
603 * xdisp.c (display_text_line): Highlight only in selected window.
604
605 * xfns.c (syms_of_xfns): Don't make Lisp vars
606 x-mode-pointer-shape and x-nontext-pointer-shape.
607
608 1993-05-20 Ian Lance Taylor (ian@cygnus.com)
609
610 * s/sco4.h (SCO): Don't define (no longer needed).
611 (HAVE_SYS_TIME_H): Don't define (set by configure).
612 (TIME_WITH_SYS_TIME): Define.
613
614 1993-05-20 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
615
616 * dispnew.c (preserve_other_columns): Remember to multiply the
617 size argument to bcopy by the size of a glyph.
618
619 1993-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
620
621 * keyboard.c (read_key_sequence): Reexamine this_command
622 after pre-command-hook runs.
623
624 * xterm.c (x_find_modifier_meanings): If some keys are meta and alt,
625 make them just meta, not alt.
626
627 1993-05-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
628
629 Some time-handling patches from Paul Eggert:
630 * editfns.c (Fcurrent_time_zone): Take an optional argument specifying
631 what (absolute) time should be used to determine the current time zone.
632 Yield just offset and name of time zone, including DST correction.
633 Yield time zone offset in seconds, not minutes.
634 (lisp_time_argument, difftm): New functions.
635 (Fcurrent_time_string): Use lisp_time_argument.
636 * systime.h (EMACS_CURRENT_TIME_ZONE, EMACS_GET_TZ_OFFSET,
637 EMACS_GET_TZ_NAMES): Remove.
638 * config.h.in: Add HAVE_TM_ZONE.
639
640 Some more changes from Michael K. Johnson for Linux.
641 * s/template.h: Mention that you should #define HAVE_TERMIO or
642 HAVE_TERMIOS, but not both, and that HAVE_TERMIOS is preferred.
643 * systty.h (EMACS_SET_TTY_PGRP): Don't assign the return value of
644 tcsetpgrp to *pgid; it's just a status value.
645 * config.h.in (HAVE_RANDOM): This shouldn't be defined on Linux
646 systems using XFree386, and perhaps is inappropriate in general.
647 * m/intel386.h: #undefine the integer size macros, since the Linux
648 <values.h> file #defines them itself.
649 * mem-limits.h (get_lim_data): Linux has the ulimit call; if it
650 fails, fall back on ULIMIT_BREAK_VALUE.
651 * process.c: Linux needs the WAITTYPE, etc. definitions.
652 * unexec.c (hdr, ohdr): Linux has the ordinary `struct exec' type;
653 no need to use SYSV names.
654 * s/linux.h: New file.
655
656 Some changes from Michael K. Johnson for Linux.
657 * sysdep.c (sys_siglist): Don't define this if HAVE_SYS_SIGLIST is
658 #defined. That lets the system provide it, if it has it.
659 * syssignal.h (sigmask): Only define this if <signal.h> hasn't
660 given us a definition already.
661 * syssignal.h (sys_sigpause): Fix argument in prototype.
662 * sysdep.c (init_signals): The masks are called empty_mask and
663 full_mask, not signal_empty_mask and signal_full_mask.
664 (signal_handler_t): Moved ....
665 * syssignal.h: ... to here.
666 * systty.h (EMACS_SET_TTY_PGRP): Call tcsetpgrp with the correct
667 arguments.
668 * emacs.c (main): Don't try to establish signal handlers for
669 SIGBUS and SIGSYS unless they're actually #defined.
670
671 * systty.h [HAVE_TERMIO, __DGUX]: #include <sys/ioctl.h>.
672
673 * xdisp.c (redisplay_window): Compute the scrollbar start and end
674 properly.
675
676 1993-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
677
678 * keyboard.c (Fcurrent_input_mode): Return META as 3-way flag.
679
680 1993-05-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
681
682 * fileio.c (Ffind_file_name_handler): Check that FILENAME is a
683 string.
684
685 * process.c (wait_reading_process_input): Undo change of April
686 29th, since that re-introduces the race condition the comments are
687 warning about. Call clear_waiting_for_input before calling
688 status_notify, though.
689
690 * process.c (wait_reading_process_input): Don't forget to call
691 clear_waiting_for_input when we exit the loop because process
692 input has arrived.
693
694 Changes for Silicon Graphics Iris 5D.
695 * unexelfsgi.c: New file; like unexelf.c, but tolerates program
696 segments above BSS.
697 * m/iris5d.h: New file.
698 * s/irix5-0.h: New file.
699 * process.c [__sgi] (allocate_pty): Give up immediately if pty is
700 inaccessible.
701
702 1993-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
703
704 * keyboard.c (follow_key): Check char in range before UPPERCASEP.
705
706 1993-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
707
708 * xfns.c (x_set_menu_bar_lines): Fix typo in last change.
709
710 * keyboard.c (make_lispy_event): Controlify lower case letters too.
711
712 1993-05-18 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
713
714 * xdisp.c (display_text_line): If the newline (or C-m, in
715 selective-display) has a non-default face, apply that face to the
716 remainder of the line, so that the fill occupies the entire line.
717
718 * xterm.c (x_new_font): Tell the frame display faces about the
719 newly chosen font.
720
721 Make sure that all the display faces use fonts of the
722 same dimensions as the default face, so as not to confuse the rest
723 of the redisplay code.
724 * xfaces.c (same_size_fonts): New function.
725 (merge_faces): Only merge in a new font from the FROM face if it
726 is the same size as the font in the TO face.
727
728 * xfns.c (x_set_menu_bar_lines): Minibuffer-only frames can't have
729 menu bars.
730
731 * keyboard.c (read_key_sequence): Don't lay down an unwind_protect
732 to restore the original buffer until we actually get a mouse click.
733
734 * window.c (window-dedicated-p): Doc fix.
735
736 1993-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
737
738 * xterm.c (XTread_socket): Turn off ControlMask for XLookupString.
739 * keyboard.c (make_lispy_event): Controlify here.
740
741 1993-05-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
742
743 * xdisp.c (redisplay_window): Make the scrollbar reflect the
744 extent of the visible region, not the whole buffer.
745
746 * xfaces.c (free_frame_faces): Don't free the resources from the
747 first two faces.
748
749 * lisp.h (malloc, realloc): Declare these to return void *, to
750 avoid conflicts with ANSI header files.
751
752 * sysdep.c (reset_sys_modes): Test the return value of
753 EMACS_SET_TTY properly.
754 * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Document the return
755 values.
756
757 1993-05-16 Jim Blandy (jimb@totoro.cs.oberlin.edu)
758
759 * config.h.in (STDC_HEADERS, TIME_WITH_SYS_TIME,
760 CRAY_STACKSEG_END, STACK_DIRECTION): Add #undef clauses for these,
761 since otherwise the autoconf tests in configure.in won't do us
762 much good.
763
764 1993-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
765
766 * buffer.c (overlays_at): New arg EXTEND.
767 (Foverlays_at, Fnext_overlay_change): Pass 1.
768 * xfaces.c (compute_char_face): Pass 0.
769 Try first with small overlay_vec, then use a big enough one.
770
771 * lread.c (syms_of_lread): Make Vcurrent_load_list ordinary Lisp var.
772 Set up Qcurrent_load_list.
773 (readevalloop): Specbind Qcurrent_load_list instead of ad-hoc saving.
774 (build_load_history): Do nothing when loading pure files.
775
776 * xterm.c (dumpglyphs): Create a temporary merged gc
777 when cursor falls on char with non-default face.
778
779 * xterm.h (x_display): New field cursor_foreground_pixel.
780 * xfns.c (x_set_cursor_color): Set cursor_foreground_pixel.
781
782 * casefiddle.c (casify_region): Remove mistaken arg to record_change.
783
784 1993-05-15 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
785
786 * xfaces.c (Fset_face_attribute_internal): Jolt redisplay, so it
787 knows something has changed.
788
789 * xfaces.c (unload_color): Don't try to unload the standard black
790 or white pixel.
791
792 More changes from David Mackenzie.
793 * ymakefile (emacs): No need to edit srcdir into a lisp file and
794 then load it; we can just take advantage of the PATH_DUMPLOADSEARCH.
795 (crt0.o): Remember that crt0.c is in ${srcdir}.
796
797 Install David Mackenzie's patches to make ${srcdir} work.
798 * Makefile.in (srcdir, VPATH): Get this value from the top-level
799 Makefile.
800 (xmakefile): Use ${srcdir} to find the files from which we produce
801 xmakefile. Edit the values for srcdir and VPATH into xmakefile.
802 * ymakefile (srcdir, VPATH): New definitions for the Makefile
803 to edit.
804 (ALL_CFLAGS): Remove `-Is' and `-Im'; add `-I${srcdir}', and
805 `-I.'.
806 (emacs): Adjust dumping commands to deal with a separate source
807 directory.
808 (${etc}DOC): Pass `-d ${srcdir}' to make-docfile, to tell it where
809 to find the source files.
810 (prefix-args): Find the source code in ${srcdir}.
811
812 * process.c (wait_reading_process_input): If we're running
813 Solaris, it's not necessary to check if we should redeliver SIGIO,
814 according to David Mackenzie.
815 * s/sol2.h: #include "usg5-4.h", and #define const.
816
817 * systime.h: Borrow CPP sequence from getdate.y to include the
818 proper combination of <time.h> and <sys/time.h>.
819
820 1993-05-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
821
822 * window.h (struct window): New slot region_showing.
823 * xdisp.c (mark_window_display_accurate): Set region_showing fields.
824 (redisplay_window): Update region_showing field.
825 (display_text_line): Set region_showing to t if will show one.
826
827 * xselect.c (Fx_selection_exists_p): Handle nil, t as SELECTION arg.
828 Don't die if SELECTION is not recognized.
829
830 * dispnew.c (direct_output_forward_char): Just give up
831 if region is being highlighted.
832
833 * xdisp.c (redisplay, redisplay_window): Don't use the cursor-motion
834 special-case code if the region is or was highlighted.
835
836 * xfaces.c (compute_char_face): New args REGION_BEG, REGION_END.
837 Don't sort if noverlays is 0 or 1.
838
839 * dispnew.c (direct_output_for_insert): Pass those args.
840 * xdisp.c (display_text_line): Pass those args,
841 describing the region if the mark is transient and active.
842
843 1993-05-14 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
844
845 * buffer.c (Fmove_overlay): If the overlay is in no buffer and the
846 BUFFER argument has been omitted, put it in the current buffer,
847 for symmetry with move-marker.
848
849 * buffer.c (Fdelete_overlay): Make the overlay's markers point
850 nowhere, not at 1. Do this after calling redisplay_region, so
851 that code knows what section has changed.
852
853 1993-05-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
854
855 * xdisp.c (display_menu_bar): Update FRAME_MENU_BAR_ITEMS here.
856 * keyboard.c (command_loop_1): Don't do it here.
857
858 * keymap.c (access_keymap): Handle any length vector.
859 (store_in_keymap): Likewise.
860 (Fcopy_keymap): Likewise.
861
862 1993-05-14 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
863
864 * buffer.c (Foverlay_start, Foverlay_end, Foverlay_buffer,
865 Foverlay_properties): Functions moved here from subr.el.
866
867 1993-05-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
868
869 * xfaces.c (compute_char_face): When merging the overlays,
870 traverse sortvec, not overlay_vec; the latter isn't the one we
871 sorted.
872
873 * xterm.c (dumpglyphs): Give the cursor higher priority than the
874 face specified by the glyph under it.
875
876 * xterm.c (dumpglyphs): Move the underline up a row. I dislike
877 the way X addresses pixels. Quickdraw is much nicer.
878
879 * xfaces.c (intern_face): If the face has a GC, but it's not the
880 default or modeline face, abort. Nothing but those two faces
881 should have a GC *and* be passed to intern_face.
882 (compute_char_face, compute_glyph_face): After copying
883 the frame's default face into face, to use as a base case for
884 calculation, set the `gc' member to zero; that way we don't have
885 things lying around that look like display faces but aren't.
886
887 * xfaces.c (intern_frame_face): When copying the new face into the
888 frame's face array, remember that the number of bytes to copy is
889 sizeof (*new_face), not sizeof (new_face).
890
891 * xfaces.c (compute_char_face): Assume that W is displaying the
892 current buffer. Abort if it isn't.
893
894 * lisp.h (Lisp_Overlay): New tag.
895 (OVERLAYP): New predicate.
896 (CHECK_OVERLAY): New type-checker.
897 (Qoverlayp): New extern declaration.
898 * buffer.c (Foverlayp): New function.
899 (Qoverlayp): New atom.
900 (overlays_at, recenter_overlay_lists): Abort if we encounter an
901 invalid overlay.
902 (syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp.
903 (Fdelete_overlay): Set the overlay's markers to point nowhere.
904 Use CHECK_OVERLAY instead of signalling a special error.
905 (Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of
906 signalling a special error.
907 (Foverlay_get): Use CHECK_OVERLAY.
908 * fns.c (internal_equal): Define this for overlays.
909 * buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP.
910 * print.c (print): Give overlays their own print syntax.
911 * alloc.c (mark_object): Treat overlays like conses.
912
913 * lisp.h (FLOATP): Define this appropriately when LISP_FLOAT_TYPE
914 is not defined.
915
916 * buffer.c (Foverlay_get): Return Qnil if the requested property
917 is missing from the property list.
918
919 The text property routines can now modify buffers other
920 than the current one.
921 * insdel.c (modify_region): New argument BUFFER. Select that
922 buffer while we prepare for the modification, and switch back when
923 we're done.
924 * textprop.c (add_properties, remove_properties): Pass
925 the buffer being modified as the first argument to modify_region.
926 * editfns.c (Fsubst_char_in_region, Ftranslate_region): Pass the
927 current_buffer as the first argument to modify_region.
928 * casefiddle.c (casify_region): Same.
929
930 * dispnew.c (direct_output_for_insert): Compute the face of the
931 character we're inserting properly.
932
933 * xterm.c (dumpglyphs): Pass the proper arguments to intern_face.
934
935 * xterm.c (dumpglyphs): Don't increment left twice.
936
937 * intervals.c (set_point): Check for point out of bounds before
938 checking for an empty interval tree.
939
940 * cmds.c (Fforward_char): Check proposed new position, and then
941 set point, instead of setting point to a potentially invalid
942 position.
943
944 * lread.c, data.c: If STDC_HEADERS is #defined, include <stdlib.h>
945 to get the extern declarations for atof. That's where it is in
946 POSIX.
947
948 1993-05-12 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
949
950 * ymakefile (xfaces.o): Add window.h to the dependencies.
951
952 * xfaces.c (intern_frame_face): Exchange order of arguments, to
953 make callers correct.
954
955 * xfaces.c (compute_char_face): Notice the next property change
956 location correctly.
957
958 * xfaces.c (face_name_id_number): Return 0 (the default face) if
959 the name is undefined.
960
961 * xfaces.c (Fset_face_attribute_internal): Do nothing unless FRAME
962 is an X frame.
963
964 * xdisp.c (copy_rope, copy_part_of_rope): Add face argument.
965 (display_text_line): Initialize current_face to zero. Apply it
966 to characters as we write them to the display matrix.
967 (display_string): Pass the new argument to copy_rope.
968
969 * xdisp.c (display_text_line): Handle the locations of face
970 changes properly.
971
972 * textprop.c (Fnext_single_property_change,
973 Fprevious_single_property_change): Pass arguments to textget in
974 the right order.
975
976 * ymakefile (xfns.o): Remove duplication of buffer.h in dependencies.
977
978 * ymakefile ($(OLDXMENU)): Remove extraneous call to `rm'.
979
980 1993-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
981
982 * keymap.c (Faccessible_keymaps): Use whatever size the vector has.
983 (Fwhere_is_internal): Likewise.
984 (describe_vector): Likewise.
985 (current_minor_maps): Call Findirect_function, so symbols
986 can be used in place of actual maps.
987
988 * xdisp.c (display_text_line): Use break; to exit loop at eol.
989 Duplicate the short MAKE_GLYPH loop after the main loop.
990 If no display table, do obey selective_display_ellipses.
991 (copy_part_of_rope): Arg FROM is now Lisp_Object *.
992
993 * xfaces.c: Do include window.h.
994 (compute_char_face): Supply third arg of Fget_text_property.
995
996 * keyboard.c (make_lispy_event): Don't set shift modifier for C-^.
997
998 * callproc.c (child_setup): Omit duplicates from new env array.
999
1000 1993-05-10 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1001
1002 * fileio.c (ro_fsys) [SOLARIS_BROKEN_ACCESS]: Check for the
1003 filesystem being ro, since Solaris 2.1 doesn't.
1004 (file-writable-p): Call ro_fsys.
1005 * s/sol2.h (SOLARIS_BROKEN_ACCESS): Define this.
1006
1007 * systime.h: Use the strategy from getdate.y to include the proper
1008 combination of <time.h> and <sys/time.h>.
1009
1010 * xfns.c (Fx_create_frame): Use an XLFD name for the default font,
1011 instead of "9x15" or whatever it was.
1012
1013 * xdisp.c (display_text_line): Make face-handling code conditional
1014 on HAVE_X_WINDOWS macro. Perhaps this isn't the best approach,
1015 but it'll do for now.
1016
1017 * xdisp.c (display_text_line): We can't use the FRAME_DEFAULT_FACE
1018 macro here; that's x-specific. Just don't pass the second
1019 argument.
1020 * xfaces.c (compute_glyph_face): Remove the BASIC_FACE argument;
1021 use F's default face.
1022
1023 1993-05-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1024
1025 * xfaces.c (Fmake_face_internal): Do nothing for non-X frames.
1026
1027 * dispextern.h (struct face): Add cached_index member.
1028 * xfaces.c (get_cached_face): Use it to avoid unnecessary
1029 searches of face_vector.
1030
1031 * xfaces.c (intern_face): Renamed from get_display_face.
1032
1033 * xfns.c (x_make_gc): After building the GC's for the frame, call
1034 init_frame_faces to set up the first two faces.
1035 * xfaces.c (init_frame_faces): Don't just try to copy the default
1036 and mode line faces from some other random frame; instead, consult
1037 the normal_gc and reverse_gc members of the frame, and build the
1038 faces based on their parameters.
1039
1040 Adjust the face computation functions to return frame face ID's,
1041 not pointers to display faces; since we call these functions
1042 during display construction, we don't want the display faces yet.
1043 * xfaces.c (intern_frame_face): New function.
1044 (compute_char_face, compute_glyph_face): Apply intern_frame_face
1045 to the computed face, and return the frame face's ID, instead of
1046 calling intern_face and returning a pointer to a display frame.
1047
1048 * xfaces.c: Describe the facial data structures. It took me a
1049 while to figure them out; perhaps this will save someone else the
1050 trouble.
1051
1052 Arrange to tell redisplay about changes in overlays.
1053 * xdisp.c (redisplay_region): New function.
1054 * buffer.c (Fmove_overlay): Call redisplay_region on the areas the
1055 overlay has enclosed or left.
1056 (Fdelete_overlay): Call redisplay_region on the area the overlay
1057 used to occupy.
1058 (Foverlay_put): Call redisplay_region on the area the overlay now
1059 occupies; we may have put a face property on it.
1060
1061 * buffer.c (Fmove_overlay): Doc fix.
1062
1063 * xdisp.c (redisplay): If we're doing a thorough redisplay (all
1064 windows on all frames involved), go ahead and flush the GC cache -
1065 call clear_face_vector.
1066
1067 * xdisp.c (display_text_line): Apply faces to characters
1068 according to overlays and text properties; use
1069 compute_char_face and compute_glyph_face to figure out what
1070 face to use, and where a new face starts.
1071 * xterm.c (dumpglyphs): Use the upper bits of the glyphs to decide
1072 which frame face to use. Call GLYPH_FOLLOW_ALIASES to make sure
1073 we're implementing the glyph table properly. If we're not using
1074 the default or mode line face, call intern_face to find a display
1075 face for the frame face selected by the glyph code. Implement
1076 underlining. Remove the `font' argument; we have to derive this
1077 from the frame and face anyway. Change all callers.
1078 * disptab.h (GLYPH_FOLLOW_ALIASES): New macro.
1079
1080 * xterm.c (x_destroy_window): Call free_frame_faces.
1081
1082 The GNU coding standards specify that CFLAGS should be left for
1083 users to set.
1084 * ymakefile (ALL_CFLAGS): Set this to the long string of
1085 compilation switches, not CFLAGS. Changed all uses.
1086 (CFLAGS): Make this default to just -g.
1087 (.c.o): Define new default rule, to make sure that the right flags
1088 get to the compilations.
1089
1090 1993-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1091
1092 * keyboard.c (read_char): Exit kbd macro if Vexecuting_macro is t.
1093
1094 * pwd.h: File deleted.
1095
1096 1993-05-08 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1097
1098 * s/sunos4shr.h: Apply changes from David J. Mackenzie; this isn't
1099 used by any configuration right now, but he's trying to make it
1100 work.
1101 #include "sunos4-1.h" instead of "bsd4-2.h".
1102 (O_NDELAY): Don't define this.
1103 (SYSTEM_MALLOC): Don't define this, either.
1104 (LD_SWITCH_SYSTEM): Remove the definition for this.
1105
1106 * Makefile.in (DEFS): Remove this; we have configure build a
1107 config.h file directly, instead of having lots of -D flags.
1108
1109 * Makefile.in (CFLAGS): Don't make this carry DEFS from the
1110 configure script; the coding standards say that CFLAGS should be
1111 left for the user to tweak.
1112
1113 1993-05-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1114
1115 * keyboard.c (do_mouse_tracking): Now static.
1116
1117 * xmenu.c (Fx_popup_menu): Add a vector of prefix keys for the panes.
1118 (keymap_panes): Allocate that vector.
1119 (single_keymap_panes): Fill in that vector.
1120 (xmenu_show): Return a list of events, not just one event.
1121
1122 * keyboard.c (read_char_menu_prompt): Expect Fx_popup_menu
1123 to return a list of events. Don't lose any of them.
1124
1125 * xfns.c (Fx_get_mouse_event, Fx_mouse_events): Code deleted.
1126 * window.c (Vmouse_event): Var deleted.
1127 (syms_of_window): Don't make it a Lisp var.
1128
1129 * keyboard.c (read_avail_input, Fset_input_mode): Make
1130 meta_key a three-value variable to support 8-bit input.
1131
1132 1993-05-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1133
1134 * ymakefile [__GNUC__ && __GNUC__ > 1] (LIB_GCC): Set this even if
1135 LINKER is #defined.
1136
1137 * ymakefile ($(OLDXMENU)): Remove the link before we re-create it;
1138 not all versions of ln have the `-f' flag. Use the LN_S variable,
1139 inherited from src/Makefile.
1140
1141 * Makefile.in (LN_S): New variable, edited by top Makefile.
1142 (SUBMAKEFILE): New variable, containing all flags to pass to
1143 recursive makes.
1144
1145 * config.h.in: Adjust this for use by autoconf's AC_CONFIG_HEADER,
1146 instead of AC_OUTPUT.
1147
1148 * xfaces.c (get_display_face): Use face_eql instead of writing it out.
1149
1150 1993-05-06 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1151
1152 * keymap.c (Fwhere_is_internal): If FIRSTONLY is non-nil, avoid
1153 returning a non-ascii key sequence unless FIRSTONLY is the symbol
1154 `non-ascii'.
1155
1156 * config.h.in: Remove mention of GLYPH datatype; that shouldn't be
1157 a user option.
1158 * lisp.h (GLYPH, MAKE_GLYPH, GLYPH_CHAR, GLYPH_FACE): New macros.
1159
1160 1993-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1161
1162 * xfns.c (x_get_arg): Call Fintern, not intern.
1163
1164 * systime.h [SCO]: Include time.h.
1165 * s/sco4.h: New file.
1166
1167 * ymakefile (LIBXMENU): Delete -loldX.
1168
1169 * emacs.c (main): Handle -display like -d.
1170
1171 1993-05-05 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1172
1173 * s/template.h: Explain the relative significance of the SIGIO and
1174 INTERRUPT_INPUT macros.
1175
1176 * ymakefile (buffer.o, insdel.o): Note that these files also
1177 depend on blockinput.h.
1178
1179 * blockinput.h (UNBLOCK_INPUT): We cannot assume that SIGIO is
1180 defined everywhere this file is #included; merge the two
1181 definitions for defined (SIGIO) and ! defined (SIGIO) into one,
1182 which calls reinvoke_input_signal if interrupt_input_pending is
1183 set.
1184 * keyboard.c (reinvoke_input_signal): New function.
1185
1186 1993-05-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1187
1188 * window.c (Fdisplay_buffer): Add space to prompt.
1189
1190 1993-05-04 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1191
1192 * keyboard.c (syms_of_keyboard): Doc fix for
1193 extra-keyboard-modifiers.
1194
1195 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT, CHAR_CTL,
1196 CHAR_META): Shift these all up one bit, back to where they were.
1197
1198 1993-05-02 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1199
1200 * keymap.c (Fdefine_prefix_command): Doc fix.
1201
1202 * ymakefile (C_DEBUG_SWITCH): Undo April 10 change.
1203
1204 1993-05-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1205
1206 * keyboard.c (Fsuspend_emacs): Doc fix.
1207
1208 1993-04-30 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1209
1210 * data.c (Ffset): Refuse to set the function value of t or nil.
1211
1212 1993-04-29 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1213
1214 Implement extra_keyboard_modifiers properly.
1215 * keyboard.c (syms_of_keyboard): Doc fix for
1216 extra-keyboard-modifiers; use the same modifier bits as we do for
1217 characters.
1218 (read_char): Apply all the modifiers in extra_keyboard_modifiers
1219 to the input characters, so you can get hyper, super, and the rest
1220 of the gang.
1221 * xterm.c (x_emacs_to_x_modifiers): New function.
1222 (x_convert_modifiers): Renamed to x_x_to_emacs_modifiers, for
1223 consistency. Callers changed.
1224 (XTread_socket): Apply x_emacs_to_x_modifiers to
1225 extra_keyboard_modifiers before setting the state member of the
1226 event; this will get all the modifiers on ASCII characters.
1227
1228 * xterm.c (x_text_icon): Don't call XSetIconName; it should be
1229 unnecessary, and perhaps it's killing the icon pixmap.
1230
1231 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
1232 case we need them.
1233 * termhooks.h (alt_modifier, super_modifier, hyper_modifier,
1234 shift_modifier, ctrl_modifier, meta_modifier): Define these in
1235 terms of the CHAR_mumble macros, to avoid having the same thing
1236 defined in two places.
1237
1238 * keyboard.c (kbd_buffer_get_event): Don't generate switch-frame
1239 events if they'd only switch to the frame already selected. This
1240 avoids lots of extra switch-frame events when using a separate
1241 minibuffer.
1242
1243 1993-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1244
1245 * keyboard.c (Fthis_command_keys): Doc fix.
1246
1247 * process.c (wait_reading_process_input): Move the status_notify
1248 call before the set_waiting_for_input call.
1249
1250 * fileio.c (Fexpand_file_name): Undo last change--too risky for now.
1251
1252 * data.c (Fdefine_function): New function (same code as Fdefalias).
1253
1254 1993-04-28 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
1255
1256 * eval.c (do_autoload): Fixed the bug in the autoload-saving code.
1257
1258 1993-04-28 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1259
1260 * keyboard.c (Fcurrent_input_mode): New function.
1261
1262 1993-04-27 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
1263
1264 * eval.c (un_autoload): Don't try to save old autoload forms when
1265 we load something in. Something about the code now conditioned
1266 out by UNLOAD was screwing up ordinary autoloads, notably of
1267 picture.el. When I figure out what, I'll fix and re-enable this
1268 code.
1269
1270 1993-04-27 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1271
1272 * buffer.c (syms_of_buffer): Doc fix for buffer-display-table.
1273
1274 * systime.h: Doc fix.
1275 (EMACS_SET_USECS): Remember that a `usec' is a microsecond, not a
1276 millisecond. What's three orders of magnitude between friends?
1277 * dispnew.c (Fsit_for, Fsleep_for): Remember to multiply the
1278 `milliseconds' argument by 1000 to get microseconds.
1279
1280 1993-04-26 Roland McGrath (roland@geech.gnu.ai.mit.edu)
1281
1282 * fileio.c (Fexpand_file_name):
1283 Don't remove trailing / from NEWDIR if just "/".
1284
1285 1993-04-26 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1286
1287 * m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/mips.h,
1288 m/sps7.h, s/hpux.h, s/usg5-4.h (HAVE_DUP2): Removed; derived by
1289 configure script.
1290 * s/hpux.h, s/irix3-3.h, s/aix3-1.h (HAVE_GETHOSTNAME): Removed;
1291 derived by configure script.
1292
1293 Arrange for Fy_or_n_p to put off switch-frame events.
1294 * lread.c (read_filtered_char): New function, which contains the
1295 code which used to be in Fread_char, Fread_event, and
1296 Fread_char_exclusive; there was a lot of common code.
1297 (Fread_char, Fread_event, Fread_char_exclusive): Rewrite in terms
1298 of read_filtered_char.
1299 * lisp.h (read_filtered_char): Declare this extern here.
1300 * fns.c (Fy_or_n_p): Call read_filtered_char, arranging to delay
1301 switch-frame events.
1302
1303 * keyboard.c (read_key_sequence): Let the `modifiers' variable in
1304 the code which deals with KEY being unbound be an int, not a
1305 Lisp_Object.
1306
1307 * config.h.in (getenv): Don't test THIS_IS_YMAKEFILE to see if we
1308 should exclude the getenv declaration; instead, test NOT_C_CODE.
1309 Per suggestion from Francesco Potorti`.
1310 * ymakefile (NOT_C_CODE): Define this; it's true, and useful.
1311
1312 * dispnew.c (Fsleep_for, Fsit_for): Allow SECONDS to be a
1313 floating point value.
1314
1315 1993-04-26 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
1316
1317 * sysdep.c (read_pending_input):
1318 Fix the garbaged-modifiers bug under System Vs previous
1319 to r4.
1320
1321 1993-04-25 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1322
1323 * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
1324 functions in sysdep.c.
1325 * sysdep.c (emacs_get_tty, emacs_set_tty): Here they are.
1326
1327 * sysdep.c (emacs_set_tty): Call tcsetattr over and over again
1328 until it does all of what we ask it to, or returns an error.
1329
1330 * search.c (Freplace_match): Arrange for markers sitting at the
1331 beginning or end of the original text to float to the
1332 corresponding position in the replacement text.
1333
1334 1993-04-25 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
1335
1336 * window.c (Fset-window-buffer):
1337 Set horizontal-scrolling on a window to zero when
1338 we connect it to a new buffer.
1339
1340 * buffer.c: Doc fix.
1341
1342 1993-04-24 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1343
1344 Make the modifier manipulation functions more robust. The old way
1345 caused a bug once, and probably would again.
1346 * termhooks.h (alt_modifier, super_modifier, hyper_modifier,
1347 shift_modifier, ctrl_modifier, meta_modifier): Shift these all
1348 down one bit in value, to avoid sign extension problems.
1349 * lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
1350 * keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
1351 what our table of modifier names can handle.
1352 (apply_modifiers): Don't abort if you see extra modifier bits,
1353 just remove them.
1354
1355 1993-04-23 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
1356
1357 * data.c (Fdefine_function):
1358 Changed name back to Fdefalias, so we get things
1359 in a known-good state.
1360
1361 * buffer.h (BUF_NARROWED, NARROWED):
1362 New macros to test whether a region
1363 restriction has narrowed the buffer.
1364
1365 1993-04-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1366
1367 * systime.h: Comment fixes.
1368
1369 * data.c (Fdefine_function): New function.
1370
1371 * lisp.h (LOADHIST_ATTACH): New macro.
1372 (Vcurrent_load_list, Vload_history): Vars declared.
1373
1374 * eval.c: (defun, defmacro, defvar, defconst):
1375 Attach symbol argument to the list of globals for the input source.
1376 (do_autoload): Save the old autoloads, in case we ever unload.
1377
1378 * fns.c (provide, require): Put appropriately-marked
1379 conses in the current-globals list.
1380
1381 * lread.c (readevalloop):
1382 New argument is the source file name (or nil if none).
1383 All calls changed. Do the two-step
1384 necessary to call build_load_history with the correct current-globals
1385 list for the current recursion.
1386 (build_load_history): New function.
1387 (eval_region, eval_buffer): Call readevalloop with new arg.
1388 (load_history): New variable.
1389
1390 1993-04-16 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
1391
1392 * lread.c (readevalloop): New argument is the source file name (or
1393 nil if none). All calls changed. Do the two-step
1394 necessary to call build_load_history with the correct current-globals
1395 list for the current recursion.
1396 (build_load_history): New function.
1397 (Feval_region, Feval_buffer): Call readevalloop with new arg.
1398 (Vload_history): New variable.
1399
1400 * fns.c (Fprovide, Frequire): Put appropriately-marked
1401 conses in the current-globals list.
1402
1403 * eval.c (Fdefun, Fdefmacro, Fdefvar, Fdefconst):
1404 Attach symbol argument to the list of globals for the input source.
1405 (do_autoload): Save the old autoloads, in case we ever unload.
1406
1407 * data.c (Fdefine_function): New function.
1408
1409 1993-04-16 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1410
1411 * fileio.c (Fmake_symbolic_link): If a file already exists under
1412 the link's filename, delete the file which the link
1413 would replace, not the file the link would point at.
1414
1415 * config.h.in (volatile): Don't define this to be the empty string
1416 if some file has #defined HAVE_VOLATILE.
1417
1418 * emacs.c (SEPCHAR): Instead of defining this to be ',' on VMS and
1419 ':' elsewhere, just have it default to ':' if not #defined, and
1420 #define it to be ',' in s/vms.h; OS/2 will need it to be ';'.
1421 * s/vms.h (SEPCHAR): #define this to be ','.
1422 * s/template.h (SEPCHAR): Mention this.
1423
1424 1993-04-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1425
1426 * s/vms.h (xfree): #define this to emacs_xfree, to avoid case
1427 conflict with XFree; on VMS, external symbols are case-insensitive.
1428
1429 * s/usg5-4.h (HAVE_GETTIMEOFDAY): Deleted; ../configure figures
1430 that out now.
1431
1432 Changes for Emacs 19 from Thorsten Ohl <ohl@chico.harvard.edu>:
1433 * s/mach2.h: copied from the Emacs 18.59 distribution.
1434 Don't define NO_REMAP, define START_FILES as
1435 `pre-crt0.o' instead. Define LIB_MATH as `-lm', to override the
1436 default `-lm -lc' (there is no libc on the NeXT).
1437 * ymakefile (STARTFILES): Allow config.h to set this value even if
1438 ORDINARY_LINK is defined.
1439 * unexnext.c: Fix subdirectories for the machine dependent include
1440 files for NeXTStep 3.0; #include <mach/mach.h> and
1441 <mach-o/loader.h> instead of <mach.h> and <sys/loader.h>.
1442 (getsectbyname): Remove prototype for this; the system #include
1443 files take care of that.
1444 (malloc_cookie): New variable.
1445 (unexec_doit): Set malloc_cookie to the result returned by
1446 malloc_freezedry.
1447 * emacs.c (main): Declare malloc_cookie to be extern, so that we can
1448 get the value set when we dumped and pass it to malloc_jumpstart.
1449 * systime.h: The NeXT has a timezone function.
1450
1451 1993-04-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1452
1453 * ymakefile ($(OLDXMENU)): Remove $(OLDXMENU) before trying to
1454 link in a new version.
1455
1456 * lisp.h (Qrange_error, Qdomain_error, Qsingularity_error,
1457 Qoverflow_error, Qunderflow_error): Add extern to these declarations.
1458
1459 1993-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1460
1461 * xfaces.c: Don't include Xmu/Drawing.h.
1462
1463 1993-04-10 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1464
1465 * Makefile.in (xmakefile): Recognize the -O option with a numeric
1466 optimization level.
1467
1468 * ymakefile (C_DEBUG_SWITCH): If we're using version 2 of GCC or
1469 higher, use -O99 instead of plain -O.
1470
1471 1993-04-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
1472
1473 * keyboard.c (command_loop_1): Rebuild menu bar if
1474 update_mode_lines is set.
1475
1476 long_to_cons and cons_to_long are generally useful things; they're
1477 needed whether or not X is defined.
1478 * xselect.c (long_to_cons, cons_to_long): Moved from here...
1479 * data.c (long_to_cons, cons_to_long): ... to here.
1480 * lisp.h (long_to_cons, cons_to_long): Add extern declaration.
1481
1482 * xmenu.c (Qmenu_enable): Definition moved...
1483 (syms_of_xmenu): ... along with initialization ...
1484 * keyboard.c (Qmenu_enable): ... to here ...
1485 (syms_of_keyboard): ... and here.
1486
1487 * keyboard.c (kbd_buffer_get_event): If we get a selection clear
1488 or selection request event, but we were compiled without the
1489 window-system-specific code to handle it, abort. Don't try to
1490 call a function which doesn't exist.
1491
1492 * keyboard.c (make_lispy_event): In the code which processes mouse
1493 clicks, declare f to be a FRAME_PTR, not a struct frame *; this
1494 works when MULTI_FRAME is not #defined.
1495
1496 * xfaces.c (sort_overlays): Define this to be static, as declared.
1497
1498 * callproc.c (relocate_fd): Make messages string literals, not
1499 initialized arrays.
1500
1501 * alloc.c (__malloc_hook, __realloc_hook, __free_hook): Declare
1502 these extern, not static. (!)
1503
1504 * alloc.c (__malloc_hook, old_malloc_hook, __realloc_hook,
1505 old_realloc_hook): Declare that the functions these point to return
1506 void *, not void.
1507
1508 Adjust for autoconf merger.
1509 * config.h.in: Add extra line to top, in case autoconf gets fixed
1510 and decides not to add Makefile-style comments to the top of the
1511 files it generates which we are forced to lop off.
1512 Indicate that the boolean macros here get their definitions via
1513 the DEFS Makefile variable.
1514 Adjust the operating system and machine #includes to use
1515 autoload's @cookies@.
1516 (RETSIGTYPE): Give this a default value.
1517 (SIGTYPE): Set this from RETSIGTYPE.
1518 (LD_SWITCH_X_SITE, C_SWITCH_X_SITE): Get values via @cookies@.
1519 * Makefile.in (DEFS): Renamed from CONFIG_CFLAGS.
1520 (xmakefile): Pass CFLAGS to ${CPP}.
1521
1522 * buffer.c (Fmake_overlay, Fmove_overlay): New optional BUFFER
1523 arguments.
1524 (recenter_overlay_lists): New argument BUF, to use instead of the
1525 current buffer.
1526 (Foverlay_recenter): Pass the appropriate arguments to
1527 recenter_overlay_lists.
1528
1529 * buffer.c (Fdelete_overlay): Don't assume that overlay is in the
1530 current buffer. Don't forget to declare the argument a Lisp_Object.
1531
1532 * dispnew.c (getenv): Extern declaration deleted; this is done in
1533 config.h.
1534
1535 * Makefile.in (tagsfiles): Remove external-lisp from this list of
1536 files; we're not distributing it, so the normal build process
1537 shouldn't depend on it.
1538
1539 * dispnew.c (init_display): Compare the return value of getenv to
1540 zero before setting display_arg, instead of just using the pointer
1541 as a truth value.
1542
1543 1993-04-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1544
1545 * xdisp.c (message, message1): If noninteractive and
1546 cursor_in_echo_area, don't print a newline at end of message.
1547
1548 * fns.c (Fy_or_n_p): Echo the answer just once, at exit.
1549
1550 * keyboard.c (echo_dash): Do nothing if echoptr is 0.
1551
1552 * buffer.c (Fkill_all_local_variables): Store each var's current value
1553 in the buffer's alist entry, before reverting to the default value.
1554
1555 1993-04-07 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1556
1557 * keyboard.c (apply_modifiers): Fix typo in sanity check.
1558
1559 * keyboard.c (interrupt_input_blocked, interrupt_input_pending):
1560 Remove `extern' keywords - these are the definitions.
1561
1562 1993-04-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1563
1564 * blockinput.h (UNBLOCK_INPUT): Fix typo.
1565 (interrupt_input_blocked): Make this signed int.
1566
1567 * search.c (search_buffer): Fix typo in previous change.
1568
1569 * insdel.c, buffer.c: Include blockinput.h.
1570
1571 * xterm.c: Fix typo in comment delimiter.
1572
1573 1993-04-07 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
1574
1575 * m/imbrs6000.h: If we're using GCC, define ORDINARY_LINK instead
1576 of defining LINKER to use cc.
1577 * s/aix3-1.h (LINKER): Don't use cc for linking command if we're
1578 using GCC.
1579 * s/aix3-2.h (SYSTEM_MALLOC): Undefine this.
1580
1581 * xterm.c (updating_frame): Declare this extern instead of static,
1582 so it's the same variable as the updating_frame in term.c.
1583 (XTupdate_begin, XTupdate_end): Don't bother to set
1584 updating_frame; the term.c functions take care of that for us.
1585
1586 1993-04-05 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
1587
1588 * s/vms.h (EXEC_SUFFIXES): Add definition for this.
1589
1590 1993-03-31 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1591
1592 * xfaces.c: Doc fixes.
1593
1594 Put interrupt input blocking in a separate file from xterm.h.
1595 This isn't specific to X, and it allows us to avoid #including
1596 xterm.h in files that don't really have anything to do with X.
1597 * blockinput.h: New file.
1598 * xterm.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT,
1599 UNBLOCK_INPUT_RESIGNAL): These are now in blockinput.h.
1600 (x_input_blocked, x_pending_input): Deleted; there are analogs
1601 in blockinput.h called interrupt_input_blocked and
1602 interrupt_input_pending.
1603 * keyboard.c (interrupt_input_blocked, interrupt_input_pending):
1604 New variables, used by the macros in blockinput.h.
1605 * xterm.c: #include blockinput.h.
1606 (x_input_blocked, x_pending_input): Deleted.
1607 (XTread_socket): Test and set interrupt_input_blocked and
1608 interrupt_input_pending instead of the old variables.
1609 * alloc.c, xfaces.c, xfns.c, xmenu.c, xselect.c, keymap.c:
1610 #include blockinput.h.
1611 * eval.c: #include blockinput.h instead of xterm.h.
1612 * keyboard.c: #include blockinput.h.
1613 (input_poll_signal): Just test
1614 interrupt_input_blocked, instead of testing HAVE_X_WINDOWS and
1615 x_input_blocked.
1616
1617 Block the processing of interrupt input while we're manipulating the
1618 malloc heap.
1619 * alloc.c: (xfree): New function, to make it easy to free things
1620 safely.
1621 (xmalloc, xrealloc): Block X input while doing the deed.
1622 (VALIDATE_LISP_STORAGE, gc_sweep, compact_strings): Use xfree
1623 instead of free.
1624 (uninterrupt_malloc): New function, to install input-blocking
1625 hooks into the GNU malloc routines.
1626 * emacs.c [not SYSTEM_MALLOC] (main): Call uninterrupt_malloc
1627 on startup.
1628 * alloc.c: (make_interval, make_float, Fcons, Fmake_vector,
1629 Fmake_symbol, Fmake_marker, make_uninit_string, Fgarbage_collect):
1630 Use xmalloc instead of malloc; don't bother to check if out of
1631 memory here.
1632 (Fgarbage_collect): Call xrealloc instead of realloc.
1633 * buffer.c: Use xmalloc and xfree instead of malloc and free;
1634 don't bother to check if out of memory here.
1635 (Fget_buffer_create): Put BLOCK_INPUT/UNBLOCK_INPUT pair around
1636 calls to ralloc routines.
1637 * insdel.c: Same.
1638 * lisp.h (xfree): New extern declaration.
1639 * xfaces.c (xfree): Don't #define this to be free; use the
1640 definition in alloc.c.
1641 * dispnew.c, doc.c, doprnt.c, fileio.c, lread.c, term.c, xfns.c,
1642 xmenu.c, xterm.c: Use xfree instead of free.
1643 * hftctl.c: Use xfree and xmalloc instead of free and malloc.
1644 * keymap.c (current_minor_maps): BLOCK_INPUT while calling realloc
1645 and malloc.
1646 * search.c: Since the regexp routines can malloc, BLOCK_INPUT
1647 while runing them. #include blockinput.h.
1648 * sysdep.c: #include blockinput.h. Call xfree and xmalloc instead
1649 of free and malloc. BLOCK_INPUT around routines which we know
1650 will call malloc.
1651
1652 ymakefile (keyboard.o, keymap.o, search.o, sysdep.o, xfaces.o,
1653 xfns.o, xmenu.o, xterm.o, xselect.o, alloc.o, eval.o): Note that
1654 these depend on blockinput.h.
1655
1656 * keyboard.c (parse_modifiers, apply_modifiers): Make sure we're
1657 not trying to create modifier masks using integers which are
1658 unrepresentable as lisp values.
1659
1660 1993-03-30 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1661
1662 New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
1663 equivalent of /dev/null, and the suffixes used by executable
1664 files. This is simple, and helps people porting Emacs to other
1665 operating systems.
1666 * process.h (NULL_DEVICE): Give this a default value.
1667 * process.c (Fstart_process): Pass EXEC_SUFFIXES to openp.
1668 (Fprocess_send_eof): Use NULL_DEVICE instead of "/dev/null".
1669 * callproc.c (Fcall_process): Pass EXEC_SUFFIXES to openp.
1670 Use NULL_DEVICE instead of "/dev/null".
1671 * s/vms.h (NULL_DEVICE): #define this.
1672
1673 Rename int-to-string to number-to-string, since it can handle
1674 floating-point as well as integer arguments. subr.el defines the
1675 former as an alias for the latter.
1676 * data.c (Fnumber_to_string): Renamed from Fint_to_string.
1677 (wrong_type_argument): Adjust caller.
1678 (syms_of_data): Adjust defsubr.
1679 * fns.c (concat): Adjust caller.
1680 * lisp.h (Fnumber_to_string): Adjust extern declaration.
1681 * mocklisp.c (Finsert_string): Adjust caller.
1682 * process.c (status_message): Adjust caller.
1683
1684 1993-03-28 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
1685
1686 * systty.h [NO_PTY_H]: Don't include pty.h.
1687
1688 * m/delta88k.h [USG5_4]: Alternate defining of LIBS_SYSTEM,
1689 LIBX11_SYSTEM, HAVE_RANDOM, BSTRING.
1690 (NO_PTY_H): Defined.
1691
1692 * fileio.c (Fwrite_region): Don't fail to set visit_file.
1693
1694 * keyboard.c (command_loop_1): Clear force_start of selected_window
1695 after reading each key sequence.
1696 (read_char): Clear Vquit_flag when we return C-g for it.
1697
1698 * fileio.c (Fexpand_file_name): Default DEFALT at beginning,
1699 before expanding it. But avoid unneeded or infinite recursive expand.
1700
1701 1993-03-26 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
1702
1703 * editfns.c (Fchar_equal): Don't ignore high bits of character.
1704
1705 * fileio.c (Fwrite_region): Set visit_file after expanding file arg.
1706 Also expand VISIT arg if specified.
1707
1708 * frame.c (make_frame): Init face_alist field.
1709
1710 1993-03-25 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1711
1712 * xselect.c (SELECTION_QUANTUM): Don't use XMaxRequestSize on R3;
1713 access the display structure directly.
1714
1715 1993-03-25 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
1716
1717 * ymakefile (xfns.o): Depend on buffer.h.
1718
1719 * buffer.h (struct buffer): Field `fieldlist' deleted.
1720
1721 * search.c (Freplace_match): Clean up criterion about converting case.
1722 If old text has any capitalized words, capitalize new text.
1723
1724 * xfaces.c: New file.
1725
1726 * ymakefile (XOBJ): Add xfaces.o.
1727 (xfaces.o): New target.
1728 * emacs.c (main): Call syms_of_xfaces.
1729
1730 * buffer.h (OVERLAY_START, OVERLAY_END, OVERLAY_VALID): New macros.
1731 (OVERLAY_POSITION): Likewise.
1732 (searchbuf): Decl deleted--doesn't belong here.
1733 Delete include of regex.h for VMS.
1734 * dired.c (searchbuf): Declare here.
1735
1736 * frame.h (struct frame): New field face_alist.
1737 * alloc.c (mark_object): Mark face_alist of a frame.
1738
1739 * ymakefile (xselect.o): Depend on dispextern.h.
1740
1741 * xterm.h (FRAME_FACES, FRAME_N_FACES, FRAME_DEFAULT_FACE)
1742 (FRAME_MODE_LINE_FACE): New macros.
1743 (struct x_display): New fields faces, n_faces.
1744
1745 * dispextern.h (struct face): New fields pixmap_h, pixmap_w.
1746 Field `font' is now a pointer.
1747
1748 * fns.c (Fy_or_n_p): Ensure cursor_in_echo_area = 0 when quit.
1749
1750 1993-03-24 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1751
1752 * dispnew.c (getenv): Add extern declaration.
1753
1754 * ymakefile (really-oldXMenu): Pass C_SWITCH_SITE and
1755 C_SWITCH_SYSTEM to the inferior make as separate flags, instead of
1756 passing just C_SWITCH_SITE as CFLAGS.
1757
1758 * keymap.c (Fkeymapp): Doc fix.
1759
1760 * xterm.h (x_focus_frame): Add extern keyword to declaration.
1761
1762 * xterm.c [VMS]: Don't #include <sys/termio.h> and <string.h>.
1763 * xfns.c [VMS]: Get the gray_bits from [.bitmaps]gray.xbm.
1764 * process.c [VMS] (DCL_PROMPT): Remove hack.
1765 (WIFSTOPPED, WIFSIGNALED, WIFEXITED, XRETCODE, WSTOPSIG,
1766 WCOREDUMP, WTERMSIG): New dummy definitions.
1767 (deactivate_process): Add missing semicolon.
1768 * dispnew.c (init_display): Get display name from environment
1769 properly on VMS as well as Unix.
1770
1771 1993-03-24 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
1772
1773 * buffer.c (init_buffer_once, reset_buffer):
1774 Delete last vestige of fieldlist slot.
1775 (Fregion_fields): Finally deleted.
1776
1777 * keymap.c (push_key_description): Ignore bits above meta_modifier.
1778
1779 1993-03-23 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
1780
1781 * buffer.c (overlays_at, recenter_overlay_lists): New functions.
1782 (Fmake_overlay, Fdelete_overlay, Foverlay_get, Foverlay_put): Likewise.
1783 (Fmove_overlay, Foverlays_at, Fnext_overlay_change): Likewise.
1784 (Foverlay_lists, Foverlay_recenter): Likewise.
1785
1786 * buffer.h (struct buffer): New fields overlay_center,
1787 overlays_before, overlays_after.
1788
1789 1993-03-23 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1790
1791 * config.h.in (HAVE_XFREE386): New flag, set by configure script.
1792 If it's set, #define LIBX11_SYSTEM and HAVE_RANDOM as appropriate
1793 for XFree386.
1794 * sysdep.c (random, srandom): Don't define these if HAVE_RANDOM is
1795 #defined.
1796
1797 * config.h.in (C_SWITCH_X_SITE, LD_SWITCH_X_SITE): New flags.
1798 * ymakefile (C_SWITCH_X_SITE, LD_SWITCH_X_SITE): Provide default
1799 values. Include C_SWITCH_X_SITE in CFLAGS, include
1800 LD_SWITCH_X_SITE in LIBX, and pass C_SWITCH_X_SITE to the make
1801 which builds the X Menu library.
1802
1803 1993-03-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1804
1805 * xfns.c (Fx_parse_geometry): Renamed from Fx_geometry.
1806 (Fx_color_defined_p): Renamed from Fx_defined_color.
1807 (syms_of_xfns): Adjusted.
1808
1809 1993-03-22 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
1810
1811 * indent.c (current_column, Findent_to, position_indentation):
1812 (Fmove_to_column, compute_motion): Allow tab_width up to 1000.
1813
1814 * xdisp.c (display_string, display_text_line):
1815 Allow tab_width up to 1000.
1816
1817 * keyboard.c (Fsuspend_emacs):
1818 Change suspend-hooks back to suspend-hook and make it a normal hook.
1819
1820 * s/dgux.h: Decide automatically whether to use COFF or ELF.
1821
1822 1993-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1823
1824 * fns.c (Fy_or_n_p): Handle `recenter' response type.
1825
1826 * s/dgux.h (HAVE_TERMIO, SIGNALS_VIA_CHARACTERS): Defined.
1827
1828 1993-03-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1829
1830 * frame.c (Fhandle_switch_frame): Renamed from Fselect_frame.
1831 Doc changed in anticipation of new purpose.
1832 (Fselect_frame): Just call Fhandle_switch_frame for now.
1833
1834 1993-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1835
1836 * xdisp.c (decode_mode_spec): Handle `%l'.
1837 (display_count_lines): New function.
1838 (redisplay_window): Update base_line_number and base_line_pos fields.
1839 Always update mode line if it's an integer.
1840 * window.h (struct window):
1841 New fields base_line_number and base_line_pos.
1842
1843 * window.c (Fselect_window): Use Fhandle_switch_frame.
1844 (Fset_window_configuration): Likewise.
1845
1846 1993-03-20 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1847
1848 Use the `visiblity' parameter to determine the initial state of
1849 the frame, instead of the `iconic-startup' and
1850 `suppress-initial-map' parameters.
1851 * xfns.c (x_icon): Test the Qvisibility parameter against Qicon,
1852 instead of the Qiconic_startup against Qt.
1853 (x_create_frame): Test Qvisibility against Qnil and
1854 Qicon, instead of testing Qsuppress_initial_map and Qvisibility.
1855 (Qicon): New symbol.
1856 (Qiconic_startup, Qsuppress_initial_map): Removed.
1857 (syms_of_xfns): Adjusted appropriately.
1858
1859 * xfns.c (x_set_visibility): Instead of interpreting only Qt as
1860 `make the frame visible' and everything else as `iconify the
1861 frame', interpret Qicon as `iconify the frame' and everything else
1862 as `make the frame visible.'
1863
1864 * xfns.c (x_get_arg): When the type of the resource is `symbol',
1865 return `true' and `on' as Qt, and `false' and `off' as Qnil.
1866
1867 1993-03-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1868
1869 * emacs.c (init_cmdargs): Fix simple bug in previous change.
1870
1871 1993-03-20 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1872
1873 * dispnew.c (Fsleep_for): Make this take two arguments SECONDS and
1874 MILLISECONDS, which add, rather than a second argument which says
1875 "treat the first argument as milliseconds."
1876 (Fsit_for): Same thing.
1877 (Fsleep_for_milliseconds): Deleted; this can be done with Fsleep_for.
1878
1879 * process.c (wait_reading_process_input): Doc fix.
1880
1881 * systime.h (EMACS_HAS_USECS): #define this if HAVE_TIMEVAL is
1882 #defined.
1883
1884 * dispnew.c (sit_for): Doc fix.
1885
1886 * sysdep.c (reset_sys_modes): Fix usage of EMACS_SET_TTY.
1887
1888 * callproc.c (child_setup): Make sure that in, out, and err are
1889 not less than three.
1890 (relocate_fd): New function.
1891
1892 * xterm.c (x_term_init): If the X connection is already in file
1893 descriptor zero, don't dup it and close the old one.
1894
1895 * s/hpux8.h, s/sunos4-1.h (OLDXMENU_OPTIONS): Define this, as in
1896 Emacs 18.
1897
1898 * xfns.c (Fx_open_connection): If we have X11R5, use
1899 XrmSetDatabase to set the display's database. In older versions,
1900 just store the value into x_current_display->db.
1901 * xterm.h (HAVE_X11R5): Define this where appropriate.
1902
1903 * frame.c (Fraise_frame, Flower_frame): Renamed from
1904 Fframe_to_front and Fframe_to_back.
1905 (syms_of_frame): Adjusted appropriately.
1906
1907 * fileio.c (HAVE_FSYNC): Define, if appropriate.
1908 (Fwrite_region): Use HAVE_FSYNC.
1909 * s-aix3-2.h (HAVE_FSYNC): Define.
1910
1911 * emacs.c (Finvocation_name): New function.
1912 (Vinvocation_name): New variable.
1913 (init_cmdargs): Set it.
1914 (syms_of_emacs): defsubr Finvocation_name, staticpro and
1915 initialize Vinvocation_name.
1916 * lisp.h (Vinvocation_name): New extern declaration.
1917 * xterm.c (invocation_name): Variable deleted; use
1918 Vinvocation_name now.
1919 (x_text_icon, x_term_init): Use Vinvocation_name now instead of
1920 invocation_name.
1921 (x_term_init): Don't initialize invocation_name.
1922 (syms_of_xterm): Don't initialize or staticpro invocation_name.
1923 * xfns.c (invocation_name): Remove extern declaration for this.
1924 [HAVE_X11] (Fx_get_resource): Use Vinvocation_name now instead of
1925 invocation_name.
1926 [not HAVE_X11] (Fx_get_default): Same.
1927
1928 1993-03-20 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
1929
1930 * xfns.c (Fx_display_color_p): Renamed from Fx_color_display_p.
1931 (syms_of_xfns): Use new name in defsubr.
1932
1933 1993-03-19 Eric S. Raymond (eric@geech.gnu.ai.mit.edu)
1934
1935 * Makefile.in (unlock, relock): New productions to assist with
1936 version control.
1937
1938 1993-03-19 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
1939
1940 * fileio.c (Fvisited_file_modtime): New function.
1941 (Fset_visited_file_modtime): Accept an argument specifying time value.
1942 If arg is nil, really use the filename handler.
1943
1944 * xselect.c (cons_to_long, long_to_cons): No longer static.
1945
1946 1993-03-18 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
1947
1948 * frame.h (FOR_EACH_FRAME): Change the definition so that
1949 FRAME_VAR is a lisp object.
1950 * dispnew.c (WINDOW_CHANGE_SIGNAL, do_pending_window_change):
1951 Adjusted appropriately.
1952 * xdisp.c (redisplay): Adjusted appropriately.
1953
1954 * dispnew.c (Fredraw_frame): Give this appropriate definitions for
1955 MULTI_FRAME and non-MULTI_FRAME configurations.
1956 (Fredraw_display): Give this a non-MULTI_FRAME-dependent definition.
1957
1958 1993-03-18 Richard Stallman (rms@geech.gnu.ai.mit.edu)
1959
1960 * lisp.h (CHECK_LIVE_WINDOW): Use Qlive_window_p.
1961
1962 * xfns.c (x_screen): Make this var file scope.
1963 (Fx_server_version): Use Fcons, not list3.
1964
1965 1993-03-17 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
1966
1967 * xterm.c (term_get_fkeys): Less klugey version of the last fix.
1968
1969 * Makefile.in (versionclean): New production nukes binaries and
1970 DOC files, forcing a re-load, re-dump and re-makedoc.
1971
1972 1993-03-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1973
1974 * fileio.c: Doc fix.
1975
1976 1993-03-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
1977
1978 * xterm.c (x_display_box_cursor, x_display_bar_cursor): Don't
1979 display the cursor on garbaged frames.
1980
1981 1993-03-17 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
1982
1983 * term.c (term_get_fkeys) Supply second args for all tgetstr calls.
1984
1985 1993-03-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1986
1987 * process.c (Fprocess_send_eof): Make sure proc is running.
1988
1989 * s/irix4-0.h (_getpty): Declare this, not _get_pty.
1990
1991 1993-03-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
1992
1993 * xfns.c (Fx_server_vendor, Fx_server_version, Fx_display_pixel_width)
1994 (Fx_display_pixel_height, Fx_display_mm_width, Fx_display_mm_height)
1995 (Fx_display_screens, Fx_display_planes, Fx_display_color_cells)
1996 (Fx_display_visual_class, Fx_display_backing_store)
1997 (Fx_display_save_under): New functions.
1998 (x_screen_count, Vx_vendor, x_release, x_screen_height_mm)
1999 (x_screen_width_mm, Vx_backing_store, x_save_under, Vx_screen_visual)
2000 (x_visual_strings): Vars deleted.
2001 (Fx_open_connection): Don't init those vars.
2002 (syms_of_xfns): Set up new functions.
2003 Don't set up those vars as Lisp vars.
2004 Nor x-screen-width and x-screen-height.
2005
2006 1993-03-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
2007
2008 * cmds.c (overwrite_binary_mode): Deleted; this implements the
2009 wrong feature.
2010 (Qoverwrite_mode_binary): New variable.
2011 (internal_self_insert): If current_buffer->overwrite_mode is
2012 `overwrite-mode-binary', do as overwrite_binary_mode used to.
2013 (syms_of_cmds): Remove defvar of overwrite_binary_mode; initialize
2014 Qoverwrite_mode_binary.
2015 * buffer.c (syms_of_buffer): Doc fix for overwrite_mode.
2016 * buffer.h (struct buffer): Doc fix.
2017
2018 Rename `live-window-p' to `window-live-p', for consistency with
2019 `frame-live-p'.
2020 * window.c (Fwindow_live_p): Renamed from Flive_window_p.
2021 * lisp.h (CHECK_LIVE_WINDOW): Change to use Qwindow_live_p.
2022 (Qwindow_live_p): Extern declaration renamed fom Qlive_window_p.
2023
2024 1993-03-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2025
2026 * xmenu.c (xmenu_show): Do BLOCK_INPUT; unblock just before returning.
2027
2028 * xterm.h [SIGIO] (UNBLOCK_INPUT): Resignal if x_pending_input.
2029
2030 1993-03-15 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
2031
2032 * frame.c (Fframe_height, Fframe_width): Fix doc strings to match
2033 those of the multi-frame versions in frame.el. Accept an optional
2034 argument FRAME, also for consistency.
2035
2036 * floatfns.c (logb): Add extern declaration for this.
2037
2038 * floatfns.c (Flogb): Under SYSV, implement this using frexp.
2039
2040 1993-03-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2041
2042 * ymakefile (dispnew.o): Depend on termhooks.h.
2043
2044 * xmenu.c (list_of_items): Allow strings among the alist items;
2045 they make nonselectable lines.
2046
2047 1993-03-14 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
2048
2049 * dired.c (Fdirectory_files): Recompile MATCH (if specified) after
2050 expanding the file name and all; those might compile regexp of
2051 their own, and change searchbuf.
2052
2053 * keyboard.h (internal_last_event_frame): This should be extern,
2054 dummy.
2055
2056 * fns.c (Fy_or_n_p): Display the answer.
2057
2058 Some VMS changes from Richard Levitte <levitte@e.kth.se>:
2059 * [VMS] systime.h: Include vmstime.h. VMS has the timezone
2060 variable and the tzname array.
2061 * s/vms.h: VMS does have select.
2062 mth$dmod is the same as Unix's drem.
2063 Use the time functions in vmstime.c.
2064 No need to rename the malloc routines if we're using GNU malloc.
2065 PURESIZE needs to be 330000.
2066 * vmstime.c, vmstime.h: New files.
2067 * systty.h: Don't try to initialize extern declarations under VAX C.
2068 * vmspaths.h (PATH_LOADSEARCH): Include EMACS_LIBRARY:[LOCAL-LISP]
2069 in PATH_LOADSEARCH.
2070 (PATH_EXEC): Use EMACS_LIBRARY:[LIB-SRC] instead of [ETC].
2071 * sysdep.c [VMS] (init_sys_modes): Don't allocate process_ef.
2072 [VMS] (queue_kbd_input): Build events structure correctly.
2073 [VMS] (gethostname): New function.
2074 [VMS] (getwd): Don't get the PATH environment variable; that's
2075 dumb. Call getcwd.
2076
2077 1993-03-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2078
2079 * xdisp.c (display_menu_bar): Assume FRAME_MENU_BAR_ITEMS already set.
2080 Fill out line with spaces.
2081 Put explicit spaces between items.
2082 * keyboard.c (command_loop_1): Set FRAME_MENU_BAR_ITEMS here.
2083
2084 * window.c (Fdelete_other_windows): Handle FRAME_MENU_BAR_LINES.
2085
2086 * keyboard.c (menu_bar_items): Reverse the list when done.
2087
2088 * xmenu.c (single_keymap_panes): When storing in ENABLES,
2089 check def before enabled.
2090
2091 * ymakefile (really-oldXMenu): Renamed from ${oldXMenudir}$(OLDXMENU).
2092 Add @true.
2093 ($(OLDXMENU)): Depend on really-oldXMenu.
2094 The idea is to make sure libXMenu11.a is always updated if nec.
2095
2096 * keyboard.c (command_loop_1): Typo calling Qrecompute_lucid_menubar.
2097 (read_key_sequence): Likewise. Also fix call to Vrun_hooks.
2098
2099 1993-03-13 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
2100
2101 * ymakefile (YMF_PASS_LDFLAGS): Doc fix.
2102
2103 1993-03-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2104
2105 * print.c (PRINTPREPARE): Handle marker that points nowhere.
2106
2107 * apollo.h (NO_X_DESTROY_DATABASE): Defined.
2108
2109 * undo.c (record_property_change, record_delete, record_insert):
2110 Don't make boundary or touch last_undo_buffer if cur buf has no undo.
2111
2112 * ymakefile [__GNUC__ > 1]: Delete the conditional for GCC 2.4.
2113 [__GNUC__ > 1] (LIB_GCC): Use -print-libgcc-file-name to find libgcc.a.
2114 (YMF_FIND_LIBGCC_A): Definitions and uses deleted.
2115
2116 1993-03-13 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
2117
2118 * s/usg5-4.h: Remove extraneous text after #undef LIB_X11_LIB.
2119
2120 1993-03-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2121
2122 * xterm.c (Xatom_wm_change_state): Define here.
2123 * xfns.c (Xatom_wm_change_state): Just declare.
2124 (Xatom_emacs_selection, Xatom_clipboard, Xatom_clipboard_selection):
2125 (Xatom_wm_change_state, Xatom_incremental, Xatom_multiple):
2126 (Xatom_targets, Xatom_timestamp, Xatom_delete, Xatom_insert_selection):
2127 (Xatom_pair, Xatom_insert_property, Xatom_text): Decls deleted.
2128 (x_begin_selection_own): Decls deleted.
2129 (Fx_open_connection): Set up only the wm atoms here.
2130 Call Xatoms_of_xselect.
2131
2132 * dispnew.c: Include termhooks.h.
2133
2134 * frame.h (FRAMEP): Macro deleted.
2135
2136 * xselect.c: Total rewrite, derived from Lucid's version.
2137
2138 * keyboard.c (kbd_buffer_get_event): Handle selection_clear_event
2139 and selection_request_event events.
2140
2141 * xterm.c (XTread_socket): Handle NEW_SELECTIONS alternative:
2142 queue events for SelectionRequest and SelectionClear;
2143 call functions for SelectionNotify and PropertyNotify.
2144
2145 * termhooks.h (selection_request_event, selection_clear_event):
2146 New event kinds.
2147
2148 * xterm.h (SELECTION_EVENT_DISPLAY): New macro.
2149 (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
2150 (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
2151 (SELECTION_EVENT_TIME): New macros.
2152 (struct selection_input_event): New structure.
2153
2154 * process.c (wait_reading_process_input): New option to wait
2155 till a given cons cell has a non-nil car.
2156 Delete vipc conditionals.
2157
2158 1993-03-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2159
2160 * ymakefile (YMF_FIND_LIBGCC_A): New macro, to help GCC find
2161 libgcc.a even when -nostdlib is in effect. Define it to be the
2162 empty string if nobody else establishes a value for it.
2163 (temacs): Include it in the list of flags passed to the linker.
2164
2165 * ymakefile (LINKER): If we have GCC 2.4 or later, use the
2166 -nostartfiles option instead of -nostdlib.
2167 (LIBGCC): Under GCC 2.4 or later, define this to be the empty string.
2168
2169 1993-03-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2170
2171 * xmenu.c (xmenu_show): New arg enable_list.
2172 (keymap_panes): New arg enables
2173 (single_keymap_panes): New arg enables. Fill in its contents.
2174 (list_of_panes, list_of_items): New arg enables. Fill in contents.
2175 (Fx_popup_menu): Pass enable and enable_list args.
2176 (single_keymap_panes): Set enable flag to -1 if cmd definition is nil.
2177
2178 * lisp.h (INTEGERP, SYMBOLP, MARKERP, STRINGP, VECTORP): New macros.
2179 (COMPILEDP, BUFFERP, SUBRP, PROCESSP, FRAMEP, WINDOWP): New macros.
2180 (WINDOW_CONFIGURATIONP, FLOATP): New macros.
2181
2182 1993-03-12 Paul Eggert (eggert@twinsun.com)
2183
2184 * cmd.c (internal_self_insert): Check that tab_width does not
2185 exceed 20, to be consistent with indent.c and xdisp.c.
2186
2187 1993-03-12 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
2188
2189 * term.c (CONDITIONAL_REASSIGN): fixed reference to tigetstr.
2190 This should have been tgetstr, but I typoed and tigetstr happens
2191 to link and even do the right thing if you're on a System V box.
2192
2193 1993-03-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2194
2195 * keyboard.c (read_key_sequence): Support Vcurrent_menubar
2196 and Qactivate_menubar_hook. Call Qrecompute_lucid_menubar.
2197 (syms_of_keyboard): Set up Vcurrent_menubar, Vprevious_lucid_menubar,
2198 Qactivate_menubar_hook, and Qrecompute_lucid_menubar.
2199
2200 * xmenu.c (Fx_popup_menu): Allow a frame instead of a window, in arg.
2201 Use Fcar, Fcdr when extracting from event, to check data types.
2202
2203 1993-03-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2204
2205 * frame.h (FRAME_MENU_BAR_ITEMS): New macro (two versions).
2206 (struct frame): New field menu_bar_items.
2207 * alloc.c (mark_object): Mark the menu_bar_items field.
2208
2209 * xdisp.c (display_menu_bar): New function.
2210 (redisplay_window): Call display_menu_bar.
2211
2212 * term.c (tigetstr): Add dummy definition to make Emacs link again.
2213
2214 * keyboard.c (syms_of_keyboard): Set up Qmenu_bar.
2215 (menu_bar_items): New function.
2216 (menu_bar_one_keymap, menu_bar_item): New functions.
2217 (make_lispy_event): Handle menu bar events.
2218 (read_key_sequence): Make dummy prefix `menu-bar' for menu bar events.
2219
2220 1993-03-11 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
2221
2222 * term.c (fkey_table): Added many more keycap cookies to the
2223 fkey_table; it now supports the full intersection of the set of X
2224 keysyms and terminfo capabilities. See my lisp directory
2225 ChangeLog entry for this date, and lisp/term/README, for details.
2226
2227 1993-03-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2228
2229 * floatfns.c (Flogb): Fix use of IN_FLOAT.
2230 Fix arg names. Don't confuse Lisp_Object with integer.
2231
2232 1993-03-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2233
2234 * process.c (process_send_signal): In the TERMIOS code for sending
2235 control characters to processes, don't try to return Qnil; just
2236 return.
2237
2238 1993-03-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2239
2240 * dispnew.c (change_frame_size): Handle FRAME_MENU_BAR_LINES.
2241
2242 * frame.c (Fframe_parameters): Report menu-bar-lines parm.
2243 (syms_of_frame): Set up Qmenu_bar_lines.
2244
2245 * frame.h (FRAME_MENU_BAR_LINES): New macro.
2246 (struct frame): New field menu_bar_lines.
2247
2248 * xfns.c (x_frame_parms): Add elts for visibility and menu-bar-lines.
2249 (enum x_frame_parm): Likewise.
2250 (x_set_menu_bar_lines, x_set_menu_bar_lines_1): New functions.
2251 (x_set_visibility): New function.
2252 (Fx_create_frame): Handle menu-bar-lines parm.
2253 (x_report_frame_params): Report Qvisibility.
2254 (syms_of_xfns): Set up Qvisibility.
2255
2256 * keyboard.c (command_loop_1): Typo in last change.
2257
2258 * xmenu.c (syms_of_xmenu): Set up Qmenu_enable.
2259 (single_keymap_panes): Test menu-enable property of symbol
2260 to decide whether to include it in the menu.
2261
2262 1993-03-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
2263
2264 * keyboard.c (command_loop_1): Adjust to the fact that display
2265 tables are now vectors of vectors, not vectors of strings.
2266
2267 1993-03-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2268
2269 * floatfns.c (Flogb): Undo the change of Feb 22.
2270
2271 * ymakefile (OLDXMENU): Don't assume that we have symbolic links
2272 available; use `ln -f' instead of `ln -s'.
2273
2274 * xterm.c (x_find_modifier_meanings): XDisplayKeycodes only
2275 appeared in X11R4; for earlier versions, just access the members
2276 of the Display directly.
2277
2278 * xrdb.c (get_user_db): Since xrdb.c doesn't #include xterm.h,
2279 we can't test HAVE_X11R4 to see how we should get the resource
2280 manager string; cheat.
2281
2282 * unexec.c (copy_text_and_data): Error message tweaked.
2283
2284 * systime.h (timezone): Add an explicit declaration for this
2285 variable under USG 5-4.
2286
2287 * sysdep.c (read_input_waiting): Set e.frame_or_window, not
2288 e.frame; the latter doesn't exist anymore.
2289
2290 * sysdep.c (start_of_data): If ORDINARY_LINK is #defined, we don't
2291 have the data_start symbol defined, so we'll just use the address
2292 of environ.
2293
2294 * s/usg5-4.h: Changes from Eric Raymond:
2295 If we're doing ordinary linking, define LIB_STANDARD appropriately.
2296 Give LIBS_DEBUG a null definition; usg5-4 has no -lg.
2297 #define LIBS_STANDARD as "-lc"; usg5-4 has no -lPW.
2298 #define NSIG, if it's not already defined.
2299 #define HAVE_TERMIOS instead of HAVE_TCATTR.
2300 Provide our own definition of LIB_X11_LIB.
2301
2302 * s/usg5-3.h (LIBX11_SYSTEM): Eric Raymond says the libraries here
2303 were slightly wrong.
2304
2305 * m/intel386.h (LIB_STANDARD): If USG5_4 is #defined, there's no
2306 need to include `-lPW'; that has been merged with `-lc'.
2307
2308 * emacs.c (__do_global_ctors, __do_global_ctors_aux,
2309 __do_global_dtors, __CTOR_LIST__, __DTOR_LIST__, __main): Don't
2310 define these if ORDINARY_LINK is #defined; in that case, the
2311 standard linking procedure will find definitions for these.
2312
2313 * syssignal.h (sigunblock): Add definition which works under SYSVr4.
2314 * emacs.c (fatal_error_signal): Unblock the signal which we're
2315 handling using sigunblock.
2316
2317 1993-03-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2318
2319 * xfns.c (x_make_gc): Don't forget to block X input around the
2320 X calls in this function.
2321
2322 * xfns.c [not HAVE_X11R4] (select_visual): It's v->visualid, not
2323 x->visualid. x isn't defined.
2324
2325 * m/template.h, s/template.h: Mention that `etc/MACHINES' and
2326 `configure' should be updated whenever support for a configuration
2327 is added or improved.
2328
2329 * process.c [! subprocesses] (wait_reading_process_input):
2330 Remember to re-enable polling for input.
2331
2332 * keyboard.c [POLL_FOR_INPUT] (quit_throw_to_read_char): If
2333 we're polling for input, abort; input polling should always be
2334 suppressed while we're waiting for input.
2335
2336 * keyboard.c (interrupt_signal): Remove extern declaration of
2337 Vwindow_system; this is no longer used.
2338
2339 1993-03-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2340
2341 * editfns.c (Fcurrent_time_string): Optional arg specifies time.
2342
2343 * keymap.c (Fdefine_key): Use proper meta-bit to clear.
2344
2345 * intervals.c (set_point): Check invisibility of following character,
2346 not previous character.
2347
2348 * floatfns.c (FLOAT_CHECK_ERRNO): Define unless NO_FLOAT_CHECK_ERRNO.
2349
2350 * floatfns.c: Changes from Lucid.
2351 (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CATCH_SIGILL): New parm macros.
2352 (FLOAT_CHECK_DOMAIN, HAVE_RINT): New parm macros.
2353 (HAVE_INVERSE_HYPERBOLIC, HAVE_CBRT): New parm macros.
2354 [!HAVE_RINT]: Define rint as macro.
2355 (IN_FLOAT): Major rewrite; several alternate versions.
2356 (IN_FLOAT2): New macro.
2357 (arith_error, range_error, domain_error, domain_error2): New macros.
2358 (Facos, Fasin, Fatan, Fcos, Fsin, Ftan, Fexp, Fexpt, Flog): Changed.
2359 (Flog10, Fsqrt, Fabs, Ffloat, Flogb): Changed.
2360 (Ffloor, Fceiling, Fround, Ftruncate): Changed.
2361 (Fcube_root): Renamed from Fcbrt.
2362 (matherr): New function.
2363 (float_error): Only if FLOAT_CATCH_SIGILL.
2364
2365 * fns.c (Fy_or_n_p): Use query-replace-map.
2366
2367 * keymap.c (access_keymap): Handle ints beyond the ASCII range.
2368 (store_in_keymap): Likewise.
2369 (Faccessible_keymaps): Use meta_modifier.
2370 Use vectors for the key sequences.
2371 (Fwhere_is_internal): Use meta_modifier.
2372 (append_key): Always return a vector.
2373
2374 * lisp.h (Qrange_error, Qdomain_error, Qsingularity_error):
2375 (Qoverflow_error, Qunderflow_error): New vars.
2376
2377 * data.c (syms_of_data) [LISP_FLOAT_TYPE]: Define new error conditions:
2378 Qarith_error, Qrange_error, Qdomain_error,
2379 Qsingularity_error, Qoverflow_error, Qunderflow_error.
2380
2381 1993-03-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2382
2383 * systty.h: Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
2384 (struct emacs_tty): Separate the struct decl
2385 from the EMACS_..._TTY... macro definitions.
2386 Use HAVE_TCATTR to decide whether to use `struct termios'.
2387
2388 * xfns.c (Fx_pixel_width, Fx_pixel_height): Fns deleted.
2389 (syms_of_xfns): Don't install them.
2390 (x_user_set_name): Function deleted.
2391 (x_char_height, x_char_width): New functions.
2392
2393 * frame.c (Fframe_char_height, Fframe_char_width):
2394 (Fframe_pixel_height, Fframe_pixel_width):
2395 New functions, two versions of each.
2396 [MULTI_FRAME] (syms_of_frame): Make them Lisp functions.
2397 [!MULTI_FRAME] (syms_of_frame): Likewise. Also Fselected_frame.
2398
2399 * xterm.c (XTread_socket):
2400 Don't reverse the chars that XLookupString returns. Use all of them.
2401 Save last 100 chars and keysyms in temp_buffer.
2402
2403 1993-03-07 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
2404
2405 * buffer.c (syms_of_buffer): Make erase-buffer a disabled command.
2406
2407 1993-03-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2408
2409 * ymakefile (keyboard.o): Depend on intervals.h.
2410 (keymap.o): Depend on termhooks.h.
2411
2412 * keyboard.c: Include intervals.h.
2413 (read_key_sequence): Use get_local_map.
2414
2415 * textprop.c (Fget_text_property): Use textget.
2416 (Fnext_single_property_change): Likewise.
2417 (Fprevious_single_property_change): Likewise.
2418
2419 * intervals.c (textget): Handle categories.
2420 (get_local_map): New function.
2421 (verify_interval_modification): Call textget correctly.
2422
2423 * textprop.c (syms_of_textprop): Set up Qcategory, Qlocal_map.
2424 * intervals.h: Declare those vars. Declare textget, get_local_map.
2425
2426 * keymap.c: Include termhooks.h.
2427 (push_key_description): Handle all modifiers.
2428 Handle large character codes.
2429 (Fkey_description): Move the meta bit, if arg is string.
2430 (Fsingle_key_description): Don't alter integer value.
2431 Make tem long enough.
2432
2433 * keyboard.c (read_key_sequence):
2434 Use meta_modifier for meta keys when handling function_key_map.
2435
2436 * lread.c (syms_of_lread): Set up Qascii_character.
2437 (Fread_char, Fread_char_exclusive): Use that property
2438 to convert symbols like tab, return, M-return,... to ASCII.
2439
2440 * keyboard.c (follow_key): Downcase shift_modifier as well as ASCII.
2441 (command_loop_1): Run pre-command-hook and post-command-hook.
2442 Set this_command before running pre-command-hook.
2443 (syms_of_keyboard): Set up vars for those hooks.
2444
2445 * buffer.c (reset_buffer_local_variables): Reset mark_active.
2446 (syms_of_buffer): New buffer-local var `mark-active'.
2447 (init_buffer_once): Initialize mechanism for it.
2448
2449 1993-03-06 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2450
2451 * dispnew.c (init_display): Initialize Vwindow_system.
2452
2453 * ymakefile (SHELL): No need to set this twice; remove one.
2454
2455 * emacs.c (main): SIGIOT isn't defined on all systems; don't set
2456 its signal handler unless it is.
2457
2458 * sysdep.c (init_baud_rate): Use input_fd, instead of fd; the
2459 latter is undefined.
2460
2461 * dired.c (NAMLEN): Never use d_nameln to get the length of the
2462 directory entry's name; it is used inconsistently. Always call
2463 strlen instead.
2464
2465 1993-03-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2466
2467 * keyboard.c (syms_of_keyboard): Handle gaps in modifier_names.
2468 (modifier_names): Reorder to match termhooks.h.
2469
2470 * keyboard.c (parse_modifiers_uncached): Detect `s-', not `super-'.
2471 (apply_modifiers_uncached): Make `s-', not `super-'.
2472
2473 * lread.c: Include termhooks.h.
2474 (read_escape): Handle \H, \A, \s. Use ..._modifier.
2475 * ymakefile (lread.o): Depend on termhooks.h.
2476
2477 * termhooks.h (alt_modifier, super_modifier, hyper_modifier):
2478 (shift_modifier, ctrl_modifier, meta_modifier):
2479 Renumber the bits.
2480 * keyboard.c (make_lispy_event): For ASCII event, the ..._modifier
2481 bits are the right bits to return.
2482
2483 * keyboard.c (lispy_function_keys): Add codes starting at 0xff00
2484 and running through 0xffff.
2485
2486 * xterm.c (x_alt_mod_mask, x_super_mod_mask, x_hyper_mod_mask):
2487 New variables.
2488 (x_find_modifier_meanings): Set them.
2489 (x_convert_modifiers): Check for them.
2490 (XTread_socket): Handle BackSpace, etc, function keys.
2491
2492 * keyboard.c (read_char): Move metabit when fetching from string macro.
2493
2494 * callint.c (check_mark): Error if mark is not active.
2495
2496 * editfns.c (save_excursion_save): Save mark_active of buffer.
2497 (save_excursion_restore): Restore mark_active of buffer.
2498 Run activate-mark-hook if it's on, or deactivate-mark-hook
2499 if it turns off.
2500 (region_limit): Error if mark inactive, if transient-mark-mode.
2501
2502 * insdel.c (prepare_to_modify_buffer): Set Vdeactivate_mark.
2503
2504 * keyboard.c (command_loop_1): Clear Vdeactivate_mark before cmd.
2505 Clear mark_active if command set Vdeactivate_mark.
2506 Run deactivate-mark-hook at that time, or activate-mark-hook.
2507 (syms_of_keyboard): Define variable deactivate-mark.
2508
2509 * buffer.c (syms_of_buffer): New buffer-local var `mark-active'.
2510 (init_buffer_once): Initialize mechanism for it.
2511
2512 * buffer.h (struct buffer): New field mark_active.
2513
2514 * intervals.c (verify_interval_modification): Handle insertions
2515 specially. For non-insertions, check only the chars being changed.
2516 `modification-hooks' property is now a list of functions.
2517 (set_point): Ignore chars outside current restriction.
2518
2519 * textprop.c (Qmodification_hooks): Renamed from Qmodification.
2520 (syms_of_textprop): Changed accordingly.
2521
2522 * keyboard.c (syms_of_keyboard): New lisp var unread-command-char.
2523 (Finput_pending_p): Test unread_command_char.
2524 (Fdiscard_input, quit_throw_to_read_char, init_keyboard): Set it.
2525 (read_char): Fetch from it.
2526
2527 1993-03-05 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2528
2529 * textprop.c (Fadd_text_properties): Initialize the modified flag.
2530 Use a "for (;;)" loop at the end of the function, to indicate that
2531 all exiting is taken care of inside the loop.
2532 (Fremove_text_properties): Same.
2533
2534 1993-03-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2535
2536 * ymakefile (LIB_MATH): Delete -lc, since duplicates LIB_STANDARD.
2537
2538 * buffer.c (check_protected_fields): Variable deleted.
2539 (syms_of_buffer): Delete vars buffer-field-list
2540 and check-protected-fields.
2541 * insdel.c (check_protected_fields): Delete decl.
2542
2543 * disptab.h (DISP_INVIS_VECTOR): Renamed from DISP_INVIS_ROPE.
2544 (DISP_CHAR_VECTOR): Renamed from DISP_CHAR_ROPE.
2545 All callers changed.
2546
2547 * xdisp.c (copy_rope): Expect FROM to be a vector.
2548 (copy_part_of_rope): New function.
2549 (display_string): Expect display table elts to be vectors.
2550 * indent.c (current_column, Fmove_to_column, compute_motion):
2551 Expect display table elts to be vectors.
2552
2553 * alloc.c: (Fmake_rope, Frope_elt): Fns deleted.
2554
2555 * lisp.h (CHAR_META, CHAR_SHIFT, CHAR_CTL): New macros.
2556
2557 * lread.c (read_escape): Handle M-, C- and S- for new convention.
2558 (read1): Move the meta bit to the right place for a string.
2559
2560 * keyboard.c (Fthis_command_keys, Fread_key_sequence):
2561 Fix calls to make_event_array.
2562
2563 * macros.c (Fend_kbd_macro): Fix call to make_event_array.
2564
2565 * alloc.c (make_event_array): Renamed from make_array.
2566 Chars that fit in a string are 0...127 and their meta variants.
2567
2568 * keyboard.c (make_lispy_event): Put meta and shift modifiers
2569 into an integer.
2570 (read_avail_input): Set the modifiers field in the events read.
2571 (kbd_buffer_get_event): Pass thru integer event untruncated.
2572 (read_char): Likewise.
2573 (read_key_sequence, read_char): Only -1 means EOF.
2574 (kbd_buffer_store_event): Don't ignore 0200 bit in quit char.
2575 (follow_key): Use new meta bit flag.
2576
2577 * xterm.c (XTread_socket): Set bufp->modifiers for all kinds of keys.
2578
2579 * keymap.c (Flookup_key): Use 0x800000 as meta-bit if from vector.
2580 (Fdefine_key): Likewise.
2581
2582 1993-03-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2583
2584 * dgux.h (ELF): Handle this parameter.
2585 [! COFF] (UNEXEC, USG_SHARED_LIBRARIES): New definitions.
2586 (_BSD_TTY_FLAVOR): Don't define if already defined.
2587 (C_COMPILER, LINKER, MAKE_COMMAND): New definitions.
2588
2589 1993-03-04 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2590
2591 * keyboard.c (Fsuspend_emacs): Remember that `suspend-hooks' isn't
2592 necessarily bound.
2593
2594 1993-03-04 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
2595
2596 * Makefile.in (xmakefile): Add missing quote.
2597
2598 1992-03-03 Wilson H. Tien (wtien at urbana.mcd.mot.com)
2599
2600 * unexelf.c (unexec): Move data2 section header up so all section
2601 headers will be in ascending order. This will prevent the unexeced
2602 emacs that being processed by other applications (such as strip)
2603 to fail.
2604
2605 1993-03-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2606
2607 * s/isc2-2.h (S_IFLNK): Add #undef.
2608 (C_SWITCH_SYSTEM): Add conditional definition.
2609 (NO_ASM, USE_UTIME, NO_X_DESTROY_DATABASE): Defined.
2610 (LIB_STANDARD): Alternate definition if __GNUC__.
2611 (SIGTSTP): #undef deleted.
2612 (LIBS_SYSTEM): Define only if HAVE_X_WINDOWS.
2613 * s/isc3-0.h: New file.
2614
2615 * unexelf.c: Handle rounding of section boundaries.
2616 (round_up): New function.
2617
2618 1993-03-02 Karl Berry (karl@cs.umb.edu)
2619
2620 * s/isc2-2.h (USG_SHARED_LIBRARIES, CLASH_DETECTION, NO_FCHMOD):
2621 Define.
2622 (HAVE_TIMEVAL): Do not define.
2623 (NO_ASM): Only define once.
2624
2625 1993-03-02 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2626
2627 * print.c (float_to_string): Define buf to be an unsigned char, to
2628 match the data field of strings.
2629
2630 * keyboard.c (kbd_buffer_get_event): Protect assignment to
2631 Vlast_event_frame in a "#ifdef MULTI_FRAME" clause.
2632
2633 * syntax.c (describe_syntax_1): Delete excess arg to describe_vector.
2634 (check_syntax_table): Delete excess arg to wrong_type_argument.
2635
2636 1993-03-01 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2637
2638 * buffer.c (buffer-undo-list): Doc fix.
2639
2640 * xdisp.c (redisplay): Protect calls to request_sigio and
2641 unrequest_sigio in "#ifdef SIGIO" clauses; these are not defined
2642
2643 * cmds.c (Fnewline): Doc fix.
2644
2645 1993-03-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2646
2647 * insdel.c (del_range): Update point before offset_intervals.
2648
2649 * intervals.h: Don't include dispextern.h more than once.
2650 (INTERVAL_VISIBLE_P): NILP test was backwards.
2651
2652 * intervals.c (intervals_equal): Handle one arg null and other not.
2653 (set_point): Considerable rewrite. Handle intervals both
2654 before and after the old and new point values.
2655 Redo handling of invisible intervals, and of motion hooks.
2656 (textget): New function.
2657
2658 * textprop.c (Fadd_text_properties, Fremove_text_properties):
2659 Add len>0 as condition for main loop.
2660 Abort if reach a null interval.
2661 (Fset_text_properties): Abort if reach a null interval.
2662 (Ftext_properties_at, Fget_text_property):
2663 Return nil if POS is end of OBJECT.
2664 (add_properties): Use NILP to test result of Fequal.
2665 No longer inline.
2666 (remove_properties): No longer inline.
2667 (set_properties): Total rewrite as function.
2668 (validate_interval_range): Don't alter *begin at end of buffer.
2669 But do search for a position just before the end.
2670 Return null for an empty string.
2671
2672 1993-02-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2673
2674 * Makefile.in (emacs, temacs): Add @true to prevent Make confusion.
2675
2676 * lread.c (read1--strings with properties case):
2677 Detect end of list, and invalid syntax, using recursive read1 calls.
2678
2679 * intervals.c (graft_intervals_into_buffer):
2680 create_root_interval needs Lisp object arg.
2681 Set tree to new root interval.
2682 Don't test TREE_LENGTH if buffer has no intervals.
2683 Rearrange code to copy properties so that it really
2684 does merge the inserted ones into the inherited ones.
2685 (traverse_intervals): Pass `arg' on recursive calls.
2686 (split_interval_left): Use new_length as basis for length of new.
2687
2688 * print.c (print--string case):
2689 Any non-null interval means print intervals.
2690 Get rid of var obj1; just use obj.
2691
2692 * textprop.c (validate_interval_range): Allow 0 as position in string.
2693 Add 1 to specified string positions.
2694 (Fprevious_single_property_change): Subtract 1 if object is string.
2695 (Fnext_single_property_change): Likewise.
2696 (Fprevious_property_change, Fnext_property_change): Likewise.
2697
2698 * xterm.c (x_do_pending_expose, XTframe_rehighlight):
2699 (x_window_to_scrollbar): Use XGCTYPE.
2700
2701 1993-02-28 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2702
2703 Use the term `scroll bar', instead of `scrollbar'.
2704 * alloc.c, frame.c, frame.h, indent.c, keyboard.c, keyboard.h,
2705 lisp.h, term.c, termhooks.h, window.c, window.h, xdisp.c, xfns.c,
2706 xterm.c, xterm.h: Terminology changed.
2707
2708 Don't generate switch-frame events by checking Vlast_event_frame;
2709 use a separate variable for that bookkeeping. In order to
2710 generate them properly, we may need to fiddle with it.
2711 * keyboard.c (internal_last_event_frame): New variable.
2712 (command_loop_1): Check internal_last_event_frame, not
2713 Vlast_event_frame.
2714 (read_char, kbd_buffer_store_event): Set both Vlast_event_frame and
2715 internal_last_event_frame.
2716 (kbd_buffer_get_event): Check internal_last_event_frame to decide
2717 whether to generate a switch-frame event. Set Vlast_event_frame
2718 after each event.
2719 (init_keyboard): Initialize both Vlast_event_frame and
2720 internal_last_event_frame.
2721 * keyboard.h (internal_last_event_frame): Add extern declaration
2722 for this.
2723 * frame.c (Vlast_event_frame): Remove external declaration for
2724 this.
2725 (Fselect_frame): Set internal_last_event_frame to Qnil to force a
2726 switch-frame event, not Vlast_event_frame; the latter is supposed
2727 to convey information to the user.
2728
2729 * keyboard.c (syms_of_keyboard): Doc fix for unread_command_events.
2730
2731 1993-02-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2732
2733 * keyboard.c (syms_of_keyboard): Doc fix.
2734
2735 1993-02-26 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2736
2737 * ymakefile (LIBES): Exchange the order of LIB_MATH and
2738 LIB_STANDARD, to avoid duplicated symbols under SunOS.
2739
2740 * buffer.c (syms_of_buffer): Add the extra argument to the
2741 commented-out DEFVAR_PER_BUFFER for `mode-line-format', so
2742 make-docfile will find the docstring properly.
2743
2744 1993-02-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2745
2746 * ymakefile (intervals.o): Dep on intervals.c, not textprop.c.
2747
2748 * textprop.c (remove_properties): Call modify_buffer.
2749 (add_properties): Likewise.
2750
2751 * undo.c (record_property_change): Typo in last change.
2752
2753 * cmds.c (syms_of_cmds): Typo in last change.
2754
2755 * print.c (print): Never declare OBJ arg as `register'.
2756 Special handling for strings with intervals.
2757 (print_intervals): New function.
2758 * lread.c (read1): Handle reading strings with properties.
2759
2760 * intervals.c (traverse_intervals): New arg ARG.
2761 * alloc.c (mark_interval): Add ignored arg.
2762 (mark_interval_tree): Pass new arg to traverse_intervals.
2763
2764 1993-02-24 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2765
2766 * xterm.c (x_window_to_scrollbar, x_scrollbar_expose,
2767 x_scrollbar_handle_click, x_scrollbar_note_movement): Remember
2768 that these can be called during GC; we have to ignore mark bits.
2769 * lisp.h (GC_NILP, GC_EQ): New macros to help with that.
2770
2771 * print.c (float_to_string): Define buf to be an unsigned char, to
2772 match the data field of strings.
2773
2774 * lisp.h (RETURN_UNGCPRO): Remove "do ... while (0)" wrapper
2775 around macro.
2776
2777 * data.c (Fstring_to_number): Declare p to be an unsigned char, to
2778 match the data field of strings.
2779
2780 * data.c (Fstring_to_number): Just skip tabs and spaces; don't use
2781 the <ctype.h> macros. The <ctype.h> stuff apparently varies from
2782 locale to locale more than we'd like. Don't include <ctype.h>.
2783
2784 1993-02-24 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
2785
2786 * buffer.c (Ferase_buffer): Added interactive spec.
2787
2788 1993-02-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2789
2790 * undo.c (Fprimitive_undo): Handle property-change undo entry.
2791 (record_property_change): New function.
2792
2793 * textprop.c (Fadd_text_properties): Pass new arg to add_properties.
2794 (Fremove_text_properties): Likewise.
2795 (add_properties, remove_properties): New arg OBJECT. Record undo info.
2796 (Fput_text_property): New function.
2797
2798 * buffer.c (syms_of_buffer): Doc fix.
2799
2800 * cmds.c (syms_of_cmds): New var `overwrite-binary-mode'.
2801 (internal_self_insert): Handle that var.
2802
2803 1993-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2804
2805 * keyboard.c (read_avail_input): Args to `kill' were backwards.
2806
2807 1993-02-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
2808
2809 * alloc.c (make_pure_float): Assure that PUREBEG + pureptr is
2810 aligned, not pureptr itself.
2811
2812 * emacs.c (fatal_error_signal): Unblock the signal before we try
2813 to deliver it to ourselves. #include "syssignal.h" to get the
2814 right definitions.
2815
2816 * abbrev.c (Fexpand_abbrev): Only copy the text we're going to
2817 expand - from wordstart to wordend, not from wordstart to point -
2818 into the buffer. There might be non-word text between wordend and
2819 point.
2820
2821 1993-02-23 Richard Stallman (rms@geech.gnu.ai.mit.edu)
2822
2823 * unexec.c (adjust_lnnoptrs): Handle symentry.n_type == 0x2400.
2824 (make_hdr) [USG_SHARED_LIBRARIES]: Set bias using bss_start.
2825
2826 1993-02-22 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2827
2828 * process.c: Make sure we don't miss processes exiting, by having
2829 the sigchld handler clear *input_available_clear_time.
2830 (wait_reading_process_input): Check for process activity after
2831 setting the timeout and calling set_waiting_for_input.
2832 (sigchld_handler): If the process which has exited is one we care
2833 about, clear *input_available_clear_time.
2834
2835 * frame.c (Fselect_frame): Set Vlast_event_frame to Qnil after
2836 switching frames, to make sure we'll get a switch-frame event.
2837 (Vlast_event_frame): Add external declaration for this here.
2838
2839 * alloc.c (make_pure_float): Align pureptr according to __alignof,
2840 if it's available, or sizeof (struct Lisp_Float) if it's not.
2841
2842 * .gdbinit (xprocess): New command.
2843
2844 * floatfns.c (Flogb): Always implement this by calling Flog, even
2845 on non-USG systems, which supposedly have a logb function.
2846 (Fround): Always implement this by calling floor, even on systems
2847 that have rint.
2848
2849 * process.c (process_send_signal): Use TERMIOS functions in
2850 preference to BSD ioctls. Some systems attempt to provide the BSD
2851 functions for backward compatibility, and get it wrong.
2852
2853 * data.c (Fstring_to_number): Skip initial spaces, to make Emacs
2854 lisp parse consistently on different operating systems.
2855 #include <ctype.h> to help with this.
2856
2857 * data.c (Fstring_to_int): Rename this to Fstring_to_number, since
2858 it parses floats as well as integers. Fix docstring.
2859 (syms_of_data): Fix defsubr.
2860 (wrong_type_argument): Change use.
2861 (Fint_to_string): Doc fix.
2862 * lisp.h (Fstring_to_int): Change extern declaration.
2863
2864 1993-02-22 Charles Hannum (mycroft@hal.gnu.ai.mit.edu)
2865
2866 * ibmrs6000.h (C_ALLOCA, STACK_DIRECTION): Only define if HAVE_ALLOCA
2867 is not defined.
2868 (X_DEFAULT_FONT): Change to `fixed', as `Rom14.500' only works on the
2869 console.
2870
2871 * aix3-1.h: Changes from 18.58.
2872 (HAVE_TERMIOS): Changed from HAVE_TERMIO.
2873 (unix): Define.
2874
2875 * sysdep.c (child_setup_tty): Recognize HAVE_TERMIOS as well as
2876 HAVE_TERMIO.
2877
2878 * xrdb.c (getuid): Remove declaration.
2879
2880 * systty.h [HAVE_TERMIOS]: Include fcntl.h.
2881
2882 * systime.h [_AIX]: Move test outside of previous #if.
2883 (EMACS_GET_TZ_OFFSET) [USG]: Don't declare twice. Prefer tzset.
2884
2885 * keyboard.c (init_keyboard): Recognize HAVE_TERMIOS as well as
2886 HAVE_TERMIO.
2887
2888 * aix3-2.h: New file. Specifies difference between AIX 3.1 and 3.2.
2889
2890 1993-02-20 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
2891
2892 * keyboard.c (Fsuspend_emacs): Make tem not register.
2893
2894 * syntax.c (Fforward_comment): New function.
2895
2896 * search.c (Fskip_syntax_backward): New function.
2897 (Fskip_syntax_forward): Likewise.
2898 (skip_chars): New argument syntaxp.
2899
2900 * alloc.c (Fmemory_limit): Doc fix.
2901
2902 1993-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2903
2904 * keyboard.c (Fsuspend_emacs): Rename suspend-hook to suspend-hooks
2905 and run it manually.
2906
2907 * keymap.c (describe_map): Call Fkey_description before build_string.
2908
2909 1993-02-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
2910
2911 * keyboard.c (Fopen_dribble_file): Doc fix.
2912
2913 * lread.c (syms_of_lread): Doc fix.
2914
2915 1993-02-18 Jim Blandy (jimb@totoro.cs.oberlin.edu)
2916
2917 * textprop.c (Fget_text_property): Fix typo in function's declaration.
2918
2919 * floatfns.c (IN_FLOAT): Make this work properly when SIGTYPE is void.
2920
2921 * alloc.c: Add description lines to the top of each page.
2922
2923 * alloc.c (mark_interval_tree): Remove spurious & in front of
2924 function name.
2925
2926 * alloc.c (UNMARK_BALANCE_INTERVALS): Fix to accomodate compilers
2927 other than GCC, which do not allow casts on the LHS of an
2928 assignment.
2929
2930 * config.h.in: #define USE_TEXT_PROPERTIES by default.
2931
2932 * alloc.c (mark_object, mark_buffer): Remove some unused
2933 variables.
2934
2935 * buffer.c (Fswitch_to_buffer): Pass the correct number of
2936 arguments to Fnext_window.
2937
2938 * buffer.c (Fbury_buffer): Pass the correct number of arguments to
2939 Fother_buffer.
2940
2941 * bytecode.c (Fbyte_code): Pass the correct number of arguments to
2942 temp_output_buffer_show.
2943
2944 * callint.c (Fcall_interactively): Pass the correct number of
2945 arguments to wrong_type_argument.
2946 * casefiddle.c (caseify_object): Same.
2947 * casetab.c (check_case_table): Same.
2948 * search.c (Fstore_match_data): Same.
2949 * syntax.c (check_syntax_table): Same.
2950
2951 * callproc.c (delete_temp_file): Declare this to return
2952 Lisp_Object, to smooth type-checking.
2953
2954 * data.c (wrong_type_argument): Pass the correct number of
2955 arguments to Fstring_to_int.
2956
2957 * data.c (arithcompare): Add a default case which aborts, just to
2958 make me happy.
2959
2960 * dispnew.c (sit_for): Pass the correct number of arguments to
2961 gobble_input.
2962
2963 * editfns.c (Fmessage): Don't forget to return a value when
2964 args[0] == Qnil.
2965
2966 * fns.c (Fequal): Call internal_equal to recurse on elements of
2967 lists and vectors, not Fequal.
2968
2969 * frame.c (Fdelete_frame): If FRAME is a dead frame, return Qnil,
2970 not nothing.
2971
2972 * keyboard.c (echo_char): Apply XINT to c before passing it to
2973 push_key_description.
2974
2975 * keyboard.c (recursive_edit_1, command_loop_1): Pass the proper
2976 number of arguments to unbind_to.
2977 * lread.c (Feval_buffer): Same.
2978 * window.c (Fscroll_other_window): Same.
2979
2980 * keyboard.c (command_loop_1): Apply XINT to c before passing it
2981 to internal_self_insert and direct_output_for_insert.
2982
2983 * keyboard.c (make_lispy_movement): Rename the variable `part'
2984 declared in the block handling scrollbar movement to `part_sym',
2985 to avoid potential conflicts with the argument named `part'.
2986 Apparently the semantics of expressions like this are unclear.
2987
2988 * keyboard.c (Fread_key_sequence): Backslash the newlines in this
2989 docstring.
2990 * textprop.c (Fget_text_property): Same.
2991
2992 * keymap.c (Fdescribe_vector): Pass the proper number of arguments
2993 to describe_vector.
2994 * syntax.c (describe_syntax_1): Same.
2995
2996 * minibuf.c (Fdisplay_completion_list): Pass the proper number of
2997 arguments to Flength.
2998 * xmenu.c (list_of_items): Same.
2999
3000 * window.c (Fset_window_configuration): Pass the proper number of
3001 arguments to Fselect_frame.
3002
3003 * xfns.c (x_set_icon_type): Pass the proper number of arguments to
3004 x_bitmap_icon.
3005
3006 * xterm.c (XTread_socket): Pass the proper number of arguments to
3007 construct_mouse_click.
3008
3009 * config.h.in (HAVE_CONST): New macro. If it's not #defined, #define
3010 const to be the empty string.
3011
3012 * config.h.in: If we're not __STDC__, define volatile to be the
3013 empty string.
3014
3015 * buffer.h: Remove code which #includes "undo.h" if lint is
3016 defined. undo.h no longer exists.
3017
3018 * buffer.c (buffer_slot_type_mismatch): Make symbol_name an
3019 unsigned char *, to match the type of a string's data.
3020
3021 1993-02-17 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
3022
3023 * process.c (Fstart_process): Jimb's change of December 11
3024 had a misplaced paren. This only became apparent because of
3025 jimb's change on February 8 to Fexpand_file_name.
3026 * callproc.c (Fcall_process): Ditto.
3027
3028 1993-02-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3029
3030 * callproc.c (init_callproc): Move the initialization of
3031 Vprocess_environment to its own function.
3032 (set_process_environment): This is that.
3033 * emacs.c (main): Call set_process_environment earlier than
3034 init_callproc.
3035
3036 1993-02-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3037
3038 * buffer.c (Frename_buffer): Make prefix arg set UNIQUE.
3039
3040 1993-02-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3041
3042 * xterm.c (x_set_window_size): Call change_frame_size instead of
3043 just setting the `rows' and `cols' members of the frame, and
3044 leaving the window tree in complete disarray.
3045
3046 * dispnew.c (remake_frame_glyphs): When re-allocating the frame's
3047 message buffer when echo_area_glyphs is pointing at it, relocate
3048 echo_area_glyphs too. Same for previous_echo_glyphs.
3049 * window.h (previous_echo_glyphs): Add extern declaration for this.
3050
3051 * frame.c (Fframe_parameters): Report the `minibuffer' parameter of
3052 minibufferless frames as nil, not `none'.
3053 (Qnone): Remove declaration and initialization for this. It's not
3054 needed anymore.
3055 * xfns.c (Qnone): Add them here; we still accept "none" as a valid
3056 value for the `minibuffer' parameter.
3057
3058 * xfns.c (x_frame_params): Remember that the parameters are called
3059 "auto-raise" and "auto-lower", not "autoraise" and "autolower".
3060
3061 * xdisp.c (message): Set echo_frame to the frame whose message buf
3062 we want to use, not to the message buf itself.
3063
3064 1993-02-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3065
3066 * textprop.c (Fadd_text_properties): Put OBJECT arg last.
3067 Make it optional.
3068 (Fset_text_properties, Fremove_text_properties): Likewise.
3069 (Fnext_single_property_change, Fprevious_single_property_change):
3070 (Fnext_property_change, Fprevious_property_change): Likewise.
3071 (Ferase_text_properties): #if 0.
3072 (Fget_text_property): New function.
3073
3074 * s/irix4-0.h (C_SWITCH_MACHINE): Don't define if GCC.
3075
3076 1993-02-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3077
3078 * s/usg5-4.h: #include "usg5-3.h", not "s-usg5-3.h".
3079
3080 1993-02-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3081
3082 * xterm.c (x_io_error_quitter): New function.
3083 (x_error_quitter): Note that this is only used for protocol
3084 errors now, not I/O errors.
3085 (x_term_init): Set the I/O error handler to x_io_error_quitter.
3086
3087 1993-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3088
3089 * editfns.c (Finsert_buffer_substring): Proper error for non-ex buffer.
3090 (Fcompare_buffer_substrings): Likewise.
3091
3092 1993-02-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3093
3094 * fileio.c (Fdo_auto_save): If NO_MESSAGE is non-nil, don't tell
3095 users that buffers have shrunk a lot. This is called when Emacs
3096 is crashing, so we don't want to run any code that isn't
3097 absolutely necessary. Also, autosave buffers which don't have
3098 specially handled autosave file names first.
3099
3100 1993-02-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3101
3102 * editfns.c (Fcompare_buffer_substrings): Ignore case
3103 if case-fold-search is non-nil.
3104
3105 1993-02-08 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3106
3107 * keymap.c (Flookup_key, Fkey_binding, Flocal_key_binding,
3108 Fglobal_key_binding, Fminor_mode_key_binding): Add a new optional
3109 argument ACCEPT_DEFAULT, to control whether this function sees
3110 bindings for t.
3111 (Fwhere_is_internal, describe_map_tree, describe_map_2,
3112 describe_vector): Pass the proper arguments to Flookup_key.
3113
3114 * fileio.c (Fexpand_file_name): Pass DEFALT through
3115 Fexpand_file_name before using it.
3116
3117 * fileio.c (Fexpand_file_name): Doc fix.
3118
3119 1993-02-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3120
3121 * xdisp.c (message): Use the message buffer of the frame we're
3122 going to display the message on to format the message, not that of
3123 the selected frame.
3124
3125 1993-02-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3126
3127 * Makefile (emacs, temacs): Add no-op commands to these rules.
3128
3129 * dispnew.c (char_ins_del_cost): Use FRAME_WIDTH, not FRAME_HEIGHT.
3130
3131 * editfns.c (Fcompare_buffer_substrings): New function.
3132
3133 1993-02-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3134
3135 * keyboard.c (extra_keyboard_modifiers): New Lisp var.
3136 (read_char): Support ctl and meta bits in extra_keyboard_modifiers.
3137 * xterm.c (XTread_socket): Support extra_keyboard_modifiers.
3138
3139 1993-01-29 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
3140
3141 * window.c (Fscroll_left, Fscroll_right): Don't forget to apply
3142 XWINDOW to selected_window before passing it to window_internal_width.
3143
3144 * xmenu.c (Fx_popup_menu): Don't forget to turn the frame-relative
3145 coordinates for the menu position into root-window-relative
3146 coordinates.
3147
3148 * lread.c (read1): Although digits followed by a '.' are an
3149 integer, a single . by itself (like, say, \.) should be a symbol.
3150
3151 1993-01-25 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
3152
3153 * fns.c (internal_equal): Protect the clause for comparing numbers
3154 of different types with a "#ifdef LISP_FLOAT_TYPE".
3155
3156 1993-01-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3157
3158 * s/hpux8.h [__GNUC__] (LD_SWITCH_SYSTEM): Remove -a.
3159 [__GNUC__] (ORDINARY_LINK): Defined.
3160
3161 * m/sparc.h [TERMINFO]: Don't define LIBS_TERMCAP.
3162
3163 1993-01-25 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3164
3165 `live-frame-p' has become `frame-live-p'.
3166 * frame.c (Qlive_frame_p): Renamed to Qframe_live_p.
3167 (Flive_frame_p): Renamed to Fframe_live_p.
3168 (syms_of_frame): Defsubrs and initializations adjusted.
3169 * frame.h (CHECK_LIVE_FRAME): Use Qframe_live_p, not Qlive_frame_p.
3170 (Qlive_frame_p): Changed extern declaration to Qframe_live_p.
3171
3172 * lread.c (read1): Treat a string of digits ending in a period as
3173 an integer.
3174
3175 Turn `first-change-function' into `first-change-hook'.
3176 * buffer.c (Vfirst_change_function): Renamed to Vfirst_change_hook.
3177 (Qfirst_change_hook): New symbol, for passing to Vrun_hooks.
3178 (syms_of_buffer): Change DEFVAR; initialize Qfirst_change_hook.
3179 * buffer.h (Vfirst_change_function): Renamed to Vfirst_change_hook.
3180 (Qfirst_change_hook): Added declaration.
3181 * insdel.c (signal_before_change): Change references to
3182 Vfirst_change_function, and apply Vrun_hooks to
3183 Qfirst_change_hook, instead of just calling Vfirst_change_function
3184 directly.
3185
3186 x-selection-value has been renamed to x-selection.
3187 x-own-selection has been renamed to x-set-selection, and the order
3188 of its arguments has been reversed, for consistency with other
3189 lisp functions like put and aset.
3190 * xselect.c (Fx_own_selection): Rename to Fx_set_selection,
3191 reverse the order of the args, and therefore make the type
3192 non-optional. Doc fix.
3193 (Fx_selection_value): Rename to Fx_selection; make the type
3194 argument non-optional, for symmetry with Fx_set_selection. Doc
3195 fix.
3196 (syms_of_xselect): Adjusted.
3197
3198 * xselect.c (Fx_own_selection, Fx_selection_value): Remove "#if
3199 0"'ed code which made cut buffers look like a special selection
3200 type.
3201
3202 * xfns.c (Vx_selection_value): Removed extern declaration for
3203 this; it's never used.
3204
3205 * data.c (Fcompiled_function_p): Renamed to Fbyte_code_function_p.
3206 (syms_of_data): Adjusted.
3207
3208 * data.c (Fnumberp, Fnumber_or_marker_p): Use the NUMBERP macro,
3209 instead of writing it out.
3210
3211 * fns.c (internal_equal): If the operands are both numbers,
3212 compare them numerically, so that (equal 1.0 1) => t.
3213 Compare Lisp_Compiled objects like vectors.
3214
3215 Add lisp functions to raise and lower frames.
3216 * termhooks.h (frame_raise_lower_hook): New hook.
3217 * term.c (frame_raise_lower_hook): Define it.
3218 * frame.c (Fframe_to_front, Fframe_to_back): New functions.
3219 (syms_of_frame): defsubr them.
3220 * xterm.c (XTframe_raise_lower): New function.
3221 (x_term_init): Set frame_raise_lower_hook to XTframe_raise_lower.
3222
3223 * frame.c: Doc fixes.
3224
3225 1993-01-24 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3226
3227 Make the cursor style a frame parameter.
3228 * xterm.h (struct x_display): Rename the `text_cursor_kind' member
3229 to `current_cursor'; add new member `desired_cursor'.
3230 (FRAME_DESIRED_CURSOR): New accessor for new member.
3231 * xterm.c (x_display_bar_cursor): Rewritten so as not to damage
3232 the characters the cursor is displayed over, and to handle
3233 transitions between box and bar styles.
3234 (x_display_bar_cursor, x_display_box_cursor): Use current_cursor
3235 instead of text_cursor_kind.
3236 (Vbar_cursor): Delete external declaration.
3237 (x_display_cursor): Use the FRAME_DESIRED_CURSOR accessor instead
3238 of Vbar_cursor to decide how to draw the cursor.
3239 * xfns.c (Vbar_cursor): Remove definition.
3240 (Qbar, Qbox, Qcursor_type): New symbols.
3241 (syms_of_xfns): Init and staticpro them; remove DEFVAR for
3242 Vbar_cursor.
3243 (x_set_cursor_type): New setter.
3244 (x_frame_parms): Add it to the list.
3245 (Fx_create_frame): Get default values for the cursor type.
3246
3247 * frame.c (Fmouse_position): Pass the appropriate arguments to
3248 *mouse_position_hook; the protocol was changed, but this caller
3249 wasn't fixed.
3250
3251 * xterm.c (XTclear_frame): Call x_scrollbar_clear.
3252 (x_scrollbar_clear): New function.
3253
3254 * xterm.c (XTflash): Totally rewritten. Only defined if
3255 HAVE_TIMEVAL and HAVE_SELECT are defined, since we use select for
3256 our timing.
3257 (timeval_subtract): New function, to help XTflash.
3258 (x_invert_frame): Removed. This didn't work anyway.
3259 (XTring_bell): Remove "#if 0" around call to XTflash, and remove
3260 calls to x_invert_frame. If both HAVE_TIMEVAL and HAVE_SELECT
3261 aren't defined, then just do the ordinary beep.
3262
3263 * window.c (Fscroll_other_window): Prefer windows on the selected
3264 frame, then look for windows on other visible frames.
3265
3266 * keyboard.c (Fmouse_click_p): Removed; with the 'e' spec, this
3267 isn't necessary anymore.
3268 (syms_of_keyboard): Remove defsubr for it.
3269 * keyboard.h (Fmouse_click_p): Remove extern declaration for it.
3270
3271 * xfns.c (gray_bits): Remove this declaration; the same data is in
3272 <X11/bitmaps/gray>. #include that instead.
3273 [not HAVE_X11] (x_set_border_pixel): Use gray_width and
3274 gray_height, instead of assuming that the bitmap is 16x16.
3275 (x_make_gc): Instead of creating a pixmap and then calling
3276 XPutImage to make it into a grey stipple, just call
3277 XCreatePixmapFromBitmapData to do it all at once.
3278
3279 * xterm.c (x_text_icon): Move the request for font information
3280 into the "not HAVE_X11" part of the function; the X11 code doesn't
3281 need this.
3282
3283 * xterm.c (x_wm_set_icon_pixmap): Instead of setting the
3284 icon_pixmap to None, just remove IconPixmapHint from the flags of
3285 the XWMHints structure.
3286
3287 * window.c (Fprevious_frame): Use prev_frame when we get to the
3288 end of the current frame, not next_frame. Doc fix.
3289 * frame.c (prev_frame): Remove "#if 0" from this function. It
3290 turns out we do need it, to make prev_frame work right.
3291
3292 * frame.c (next_frame): Check that FRAME is a live frame.
3293
3294 * frame.c (Fselect_frame): Remove "#ifdef MULTI_FRAME" clause
3295 around the code which calls Ffocus_frame; this code is already
3296 inside an "#ifdef MULTI_FRAME" clause.
3297 (next_frame, prev_frame, Fnext_frame): For the same reasons,
3298 remove the "#ifdef MULTI_FRAME" clause around these functions.
3299
3300 unread-command-event has been replaced by unread-command-events.
3301 * commands.h (unread_command_event): Change extern declaration.
3302 * keyboard.c (unread_command_event): Change the definition.
3303 (syms_of_keyboard): Change DEFVAR, and adjust the docstring.
3304 (command_loop_1, read_char, Finput_pending, Fdiscard_input,
3305 quit_throw_to_read_char, init_keyboard): Change to use
3306 unread_command_events, with the new semantics.
3307 * lread.c (read_char): Same.
3308 * minibuf.c (temp_echo_area_glyphs): Same.
3309 * xterm.c (unread_command_event): Remove external declaration for
3310 this; it is only used by obsolete code.
3311
3312 * Makefile.in: Some makes can't handle comments in the middle of
3313 commands; move them to before the whole rule.
3314
3315 1993-01-21 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3316
3317 * keyboard.c (make_lispy_event): When handling a mouse click event
3318 on a window, change x and y from screen coordinates to window
3319 coordinates even when the click isn't in the text area.
3320
3321 * xterm.c (x_scrollbar_create): Remove code which asks for
3322 EastGravity for windows; Emacs can't correctly deal with them
3323 moving around unexpectedly.
3324
3325 * xterm.c (XTread_socket): Minor reformatting.
3326
3327 * xterm.c (x_set_window_size): Always mark the frame garbaged.
3328
3329 * window.c (Vmouse_window): Variable removed; it can't be handled
3330 properly without race conditions, and the events give you all the
3331 information you need anyway.
3332 (syms_of_window): Remove DEFVAR.
3333 * callint.c (Fcall_interactively): Change the `@' spec to select
3334 the window of the first parameterized event in the key sequence
3335 which invoked the command, instead of using Vmouse_window, which
3336 isn't even updated anymore. Adjust the documentation
3337 accordingly.
3338
3339 1993-01-20 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3340
3341 * xterm.c (x_scrollbar_create): Set the scrollbars to use
3342 EastGravity.
3343
3344 * keyboard.c (make_lispy_event): Deal with button releases with no
3345 stored down-going position. Make sure we always store a Qnil in
3346 the right button_down_location element after using it.
3347
3348 1993-01-19 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3349
3350 * frame.c (Fdelete_frame): Clear the frame's display after calling
3351 the window-system-dependent frame destruction routine. We
3352 no longer need to pass the display as a separate argument to
3353 x_destroy_window.
3354 * xterm.c (x_destroy_window): Put the code which clears out f's
3355 display here, right after we free the storage it points to. Put
3356 everything, including the code which clears x_focus_frame and
3357 x_highlight_frame, inside the BLOCK/UNBLOCK_INPUT pair.
3358
3359 * dispnew.c (Fredraw_display): Undo change of Jan 12; redraw only
3360 frames whose garbaged flag is set. The change to
3361 FRAME_SAMPLE_VISIBILITY on Jan 14 should address the problem better.
3362
3363 keyboard.c (read_char_menu_prompt): Test HAVE_X_WINDOWS, not
3364 HAVE_X_WINDOW.
3365
3366 The CPP symbol indicating whether or not we have mouse menu
3367 support under X Windows is HAVE_X_MENU, not not NO_X_MENU.
3368 * emacs.c (main): Test HAVE_X_MENU, instead of NO_X_MENU.
3369 * keyboard.c (read_char_menu_prompt): Same.
3370 * ymakefile: Same.
3371
3372 * keyboard.c (read_char, read_char_menu_prompt): Use the
3373 EVENT_HAS_PARAMETERS macro from keyboard.h, instead of writing it
3374 out.
3375
3376 * keyboard.c (read_char_menu_prompt): Doc fix.
3377
3378 * keyboard.c (read_char_menu_prompt): Fix test for no menus;
3379 comparing name to Qnil doesn't work if we are called with no maps.
3380
3381 * keymap.c (Fdefine_key): Call Fkey_description to make the string
3382 to use in the error message.
3383
3384 1993-01-18 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
3385
3386 * window.c (Fdisplay_buffer): Doc fix.
3387
3388 1993-01-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
3389
3390 * xterm.c (x_window_to_scrollbar): Search frames'
3391 condemned_scrollbars list as well; input might arrive during
3392 redisplay.
3393 (x_scrollbar_report_motion): Don't forget to BLOCK_INPUT.
3394 (XTjudge_scrollbars): Clear the condemned scrollbar list before
3395 traversing it, so we don't try to process an event on a scrollbar
3396 we've killed.
3397
3398 1993-01-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3399
3400 * keyboard.c (Frecent_keys): Doc fix.
3401
3402 1993-01-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3403
3404 * window.c (Fwindow_at): Doc fix.
3405
3406 1993-01-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3407
3408 * xterm.c (x_scrollbar_create): Include PointerMotionHintMask in
3409 the event mask for scrollbars.
3410
3411 * dispnew.c (Fredraw_display): DEFUN was missing a closing paren.
3412
3413 * term.c (set_vertical_scrollbar_hook, condemn_scrollbars_hook,
3414 redeem_scrollbar_hook, judge_scrollbars_hook): Removed dumbo
3415 "externs" from these. They're supposed to be real definitions.
3416
3417 * .gdbinit: Add "-geometry +0+0" to default args.
3418 (xscrollbar): New command.
3419
3420 Make scrollbar structures into lisp objects, so that they can be
3421 GC'd; this allows windows and scrollbars can refer to each other
3422 without worrying about dangling pointers.
3423 * xterm.h (struct x_display): vertical_scrollbars and
3424 judge_timestamp members deleted.
3425 (struct scrollbar): Redesigned to be a template for a Lisp_Vector.
3426 (SCROLLBAR_VEC_SIZE, XSCROLLBAR, SCROLLBAR_PACK, SCROLLBAR_UNPACK,
3427 SCROLLBAR_X_WINDOW, SET_SCROLLBAR_X_WINDOW,
3428 VERTICAL_SCROLLBAR_INSIDE_WIDTH, VERTICAL_SCROLLBAR_TOP_RANGE,
3429 VERTICAL_SCROLLBAR_INSIDE_HEIGHT, VERTICAL_SCROLLBAR_MIN_HANDLE):
3430 New macros, to help deal with the lispy structures, and deal with
3431 the graphics.
3432 * frame.h (WINDOW_VERTICAL_SCROLLBAR): Macro deleted.
3433 (struct frame): New fields `scrollbars' and
3434 `condemned_scrollbars', for use by the scrollbar implementation.
3435 [MULTI_FRAME and not MULTI_FRAME] (FRAME_SCROLLBARS,
3436 FRAME_CONDEMNED_SCROLLBARS): Accessors for the new field.
3437 * window.h (struct window): Doc fix for vertical_scrollbar field.
3438 * frame.c (make_frame): Initialize the `scrollbars' and
3439 `condemned_scrollbars' fields of the new frame.
3440 * alloc.c (mark_object): Mark the `scrollbars' and
3441 `condemned_scrollbars' slots of frames.
3442 * xterm.c (x_window_to_scrollbar): Scrollbars are chained on
3443 frames' scrollbar field, not their x.display->vertical_scrollbars
3444 field.
3445 (x_scrollbar_create, x_scrollbar_set_handle, x_scrollbar_move,
3446 x_scrollbar_remove, XTset_vertical_scrollbar,
3447 XTcondemn_scrollbars, XTredeem_scrollbar, XTjudge_scrollbars,
3448 x_scrollbar_expose, x_scrollbar_handle_click,
3449 x_scrollbar_handle_motion): Substantially rewritten to correct
3450 typos and brainos, and to accomodate the lispy structures.
3451
3452 * xterm.c (x_scrollbar_background_expose): Function deleted; we
3453 don't want anything in the background there after all.
3454 (XTread_socket): Don't call x_scrollbar_background_expose. We
3455 don't care.
3456
3457 * frame.h (FRAME_SAMPLE_VISIBILITY): Make sure frame is marked as
3458 garbaged whenever it goes from invisible to visible.
3459 * dispextern.h (frame_garbaged): Move extern declaration from here...
3460 * frame.h (frame_garbaged): ... to here. The FRAME_SAMPLE_VISIBILITY
3461 macro uses it now, and this seems to be just as modular. Make a
3462 new page, just for this and message_buf_print.
3463 (struct frame): Doc fix for the `visible' field.
3464 * process.c: #include "frame.h" instead of "dispextern.h"; the
3465 only thing we care about from it is the frame_garbaged
3466 declaration.
3467 * ymakefile: Note dependency change.
3468
3469 * xfns.c (Fx_create_frame): After mapping the frame, call
3470 SET_FRAME_GARBAGED, not just plain FRAME_GARBAGED.
3471
3472 * window.c (window_internal_width): New function, which accounts
3473 for scrollbars if present.
3474 * lisp.h (window_internal_height, window_internal_width): Add
3475 extern declarations for these.
3476 * dispnew.c (direct_output_for_insert, direct_output_forward_char,
3477 buffer_posn_from_coords): Use window_internal_width instead of
3478 writing out its definition.
3479 * indent.c (compute_motion): Doc fix; mention scrollbars and
3480 window_internal_width.
3481 (pos_tab_offset, Fvertical_motion): Use window_internal_width
3482 instead of writing it out.
3483 * window.c (Fpos_visible_in_window_p, Fwindow_width, Fscroll_left,
3484 Fscroll_right): Same.
3485 * xdisp.c (redisplay, try_window, try_window_id,
3486 display_text_line): Same.
3487
3488 * xdisp.c (display_string): Add new variable `f', to be W's
3489 frame. Use it to set desired_glyphs, and to get the frame's width
3490 to decide whether or not to draw vertical bars.
3491
3492 * xdisp.c (display_text_line): If we're using vertical scrollbars,
3493 don't draw the vertical bars separating side-by-side windows.
3494 (display_string): Same thing. Draw spaces to fill in the part of
3495 the mode line that is under the scrollbar in partial-width
3496 windows.
3497
3498 * xfns.c (Qvertical_scrollbars): New symbol. Use it as the name
3499 of the parameter which decides whether or not the frame has
3500 scrollbars, instead of Qvertical_scrollbar.
3501 (Fx_create_frame): Adjusted accordingly.
3502 (syms_of_xfns): Initialize and staticpro Qvertical_scrollbars.
3503 (x_set_vertical_scrollbar): Renamed to x_set_vertical_scrollbars.
3504 (x_frame_parms): Adjusted accordingly.
3505
3506 * xterm.h (CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT,
3507 PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Rewritten, using:
3508 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, PIXEL_TO_CHAR_ROW,
3509 PIXEL_TO_CHAR_COL): New macros.
3510 * xfns.c [not HAVE_X11] (Fx_create_frame): Use the
3511 PIXEL_TO_CHAR_{HEIGHT,WIDTH} macros to figure the frame's
3512 character size, and the CHAR_TO_PIXEL* macros for vice versa.
3513 * xterm.c (XTwrite_glyphs, XTclear_end_of_line, stufflines,
3514 scraplines, dumprectangle, pixel_to_glyph_coords, x_draw_box,
3515 clear_cursor, x_display_bar_cursor, x_draw_single_glyph,
3516 x_set_mouse_position): Use the CHAR_TO_PIXEL_* macros.
3517
3518 * xterm.c (x_wm_set_size_hint): The max_width and max_height
3519 members of the size_hints are expressed in pixels, not columns.
3520
3521 * xterm.c (x_set_window_size): Remove ibw var; it's not used.
3522 Set FRAME_WIDTH (f) to cols instead of rows. Duh.
3523
3524 * xterm.c (pixel_to_glyph_coords): Properly set *bounds to the
3525 character cell bounding the position, even when the position is
3526 off the frame.
3527
3528 * xfns.c (x_set_name): To request that the modelines be redrawn,
3529 execute the statement "update_mode_lines = 1;" instead of the
3530 silly statement "update_mode_lines;".
3531
3532 * xfns.c (x_set_vertical_scrollbars): Don't try to set the
3533 X window's size if the frame's X window hasn't been created yet.
3534
3535 * xfns.c (x_figure_window_size): Set the frame's
3536 vertical_scrollbar_extra field before trying to calculate its
3537 pixel dimensions.
3538
3539 * xfns.c (x_window): When calling x_implicitly_set_name for the
3540 sake of drawing the name for the first time, remember to clear and
3541 set the frame's explicit_name member as well as its name member.
3542 (Fx_create_frame): Set the frame's explicit_name member if the
3543 user specified the name explicitly.
3544
3545 * xdisp.c (display_text_line): Use the usable internal width of
3546 the window, as calculated above, as the limit on the length of the
3547 overlay arrow's image, rather than using the window's width field,
3548 less one.
3549
3550 * xdisp.c (redisplay): Call condemn_scrollbars_hook and
3551 judge_scrollbars_hook whenever they are set, not just when the
3552 frame has vertical scrollbars.
3553
3554 * termhooks.h (mouse_position_hook): Doc fix.
3555 (set_vertical_scrollbar_hook): This doesn't return anything any
3556 more, and doesn't take a struct scrollbar * argument any more.
3557 (condemn_scrollbars_hook, redeem_scrollbar_hook,
3558 judge_scrollbars_hook): Doc fixes.
3559 * term.c (mouse_position_hook): Doc fix.
3560 (set_vertical_scrollbar_hook): This doesn't return
3561 anything any more. Doc fixes.
3562 * keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
3563 window from *mouse_position_hook and pass it to
3564 make_lispy_movement, instead of working with a pointer to a struct
3565 scrollbar.
3566 (make_lispy_event): We don't need a window_from_scrollbar function
3567 anymore; we are given the window directly in *EVENT.
3568 Unify the code which generates
3569 text-area mouse clicks and scrollbar clicks; use the same code to
3570 distinguish clicks from drags on the scrollbar as in the text area.
3571 Distinguish clicks from drags by storing a copy of the lispy
3572 position list returned as part of the event.
3573 (button_down_location): Make this a lisp vector, rather than an
3574 array of random structures.
3575 (struct mouse_position): Remove this; it's been replaced by a lisp
3576 list.
3577 (make_lispy_movement): Accept the scrollbar's window as a
3578 parameter, rather than the scrollbar itself.
3579 If FRAME is zero, assume that the other arguments are garbage.
3580 (syms_of_keyboard): No need to staticpro each window of
3581 button_down_location now; just initialize and staticpro it.
3582 * window.c (window_from_scrollbar): Function deleted; no longer
3583 needed.
3584 * xdisp.c (redisplay_window): Just pass the window to
3585 set_vertical_scrollbar hook; don't pass the scrollbar object too.
3586 * xterm.c (XTmouse_position): Don't return a pointer to the
3587 scrollbar for scrollbar motion; instead, return the scrollbar's
3588 window.
3589
3590 * xterm.c (XTmouse_position): Entirely rewritten, using
3591 XTranslateCoordinates. Call x_scrollbar_report_motion to handle
3592 scrollbar movement events.
3593 (x_scrollbar_report_motion): New function, to help out
3594 XTmouse_position.
3595
3596 * keyboard.c (apply_modifiers): Don't assume that the Qevent_kind
3597 property of BASE is set when we first create the new modified
3598 symbol. Check that the Qevent_kind property is properly set each
3599 time we return any symbol.
3600
3601 * termhooks.h (struct input_event): Replace the frame member with
3602 a Lisp_Object member by the name of frame_or_window. Doc fixes.
3603 Remove the scrollbar member; instead, use frame_or_window to hold the
3604 window whose scrollbar was clicked.
3605 * keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event,
3606 make_lispy_event): Adjust references to frame member of struct
3607 input_event to use frame_or_window now.
3608 * xterm.c (construct_mouse_click, XTread_socket): Same.
3609
3610 * xterm.c (last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
3611 last_mouse_scroll_range_start, last_mouse_scroll_range_end):
3612 Replaced with...
3613 (last_mouse_scrollbar): New variable.
3614 (note_mouse_movement): Clear last_mouse_scrollbar when we have
3615 receieved a new motion.
3616 (syms_of_xterm): Staticpro last_mouse_scrollbar.
3617
3618 * xterm.c (note_mouse_position): Renamed to note_mouse_movement,
3619 because that's what it really does.
3620 (x_scrollbar_handle_motion): Renamed to x_scrollbar_note_movement,
3621 for consistency.
3622 (XTread_socket): Adjusted.
3623
3624 * xterm.c (XTset_scrollbar): Renamed to XTset_vertical_scrollbar.
3625 (x_term_init): Adjusted.
3626
3627 * keyboard.c (kbd_buffer_frames): Renamed to
3628 kbd_buffer_frame_or_window, and made to exist even when
3629 MULTI_FRAME isn't defined; single-frame systems might have
3630 scrollbars. Use it to GCPRO the frame_or_window field in the
3631 event queue.
3632 (kbd_buffer_store_event, kbd_buffer_get_event,
3633 stuff_buffered_input): Set and clear the
3634 appropriate element of kbd_buffer_frame_or_window, whether or not
3635 MULTI_FRAME is #defined.
3636 (read_avail_input): When reading characters directly from stdin,
3637 set the frame_or_window field of the event appropriately,
3638 depending on whether or not MULTI_FRAME is #defined.
3639 (Fdiscard_input, init_keyboard): Zap kbd_buffer_frame_or_window,
3640 not kbd_buffer_frames.
3641 (syms_of_keyboard): Initialize and staticpro
3642 kbd_buffer_frame_or_window, whether or not MULTI_FRAME is
3643 #defined.
3644
3645 * keyboard.c (head_table): Make Qscrollbar_movement have a
3646 Qevent_kind property of Qmouse_movement, not Qscrollbar_movement.
3647
3648 * keyboard.c (read_key_sequence): If we decide to throw away a
3649 mouse event which has prefix symbols (`mode-line',
3650 `vertical-scrollbar', etcetera), remember that we may have to
3651 unwind two characters, not just one.
3652
3653 * keyboard.c (read_key_sequence): Doc fixes.
3654
3655 * keyboard.c (kbd_buffer_store_event): Fix reversed sense of test
3656 for focus redirection.
3657
3658 * keyboard.c (read_char): Don't echo mouse movements.
3659
3660 * emacs.c (shut_down_emacs): New function.
3661 (fatal_error_signal, Fkill_emacs): Call it, instead of writing it out.
3662 * xterm.c (x_connection_closed): Call shut_down_emacs instead of
3663 Fkill_emacs; the latter will try to perform operations on the X
3664 server and die a horrible death.
3665 * lisp.h (shut_down_emacs): Add extern declaration for it.
3666
3667 * xterm.c (x_error_quitter): Move the abort call to after we print
3668 the error message. No harm in that.
3669
3670 * xdisp.c (echo_area_display): Move the assignment of f and the
3671 check for visibility out of the "#ifdef MULTI_FRAME" clause; they
3672 should work under any circumstances.
3673
3674 * xdisp.c (redisplay_window): If we're not going to redisplay this
3675 window because it's a minibuffer whose contents have already been
3676 updated, go ahead and jump to the scrollbar refreshing code
3677 anyway; they still need to be updated. Initialize opoint, so it's
3678 known to be valid when we jump. Calculate the scrollbar settings
3679 properly for minibuffers, no matter what they are displaying at
3680 the time.
3681
3682 * xdisp.c (redisplay_windows): Don't restore the current buffer
3683 and its point before refreshing the scrollbars; we need the buffer
3684 accurate.
3685
3686 1993-01-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3687
3688 * print.c (float_to_string): Add final 0 if text ends with decimal pt.
3689
3690 * dispnew.c (Fredraw_display): Redraw all visible frames.
3691 Make the non-multi-frame version interactive.
3692
3693 1993-01-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3694
3695 * fileio.c (Fset_default_file_modes, Fdefault_file_modes):
3696 Renamed from Fset_umask and Fumask; sense of arg is reversed.
3697 (Fwrite_region): Doc fix.
3698
3699 1993-01-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3700
3701 * print.c (float_to_string): Add `.0' at end if needed.
3702
3703 * lread.c (Fload): If warn that .elc file is older, inhibit
3704 the ordinary message that would follow.
3705
3706 1993-01-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3707
3708 * fileio.c (Fdo_auto_save): Add CURRENT_ONLY argument, as
3709 described in doc string.
3710
3711 1993-01-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3712
3713 * fns.c (Frandom): Change arg name.
3714
3715 * editfns.c: Doc fixes.
3716
3717 1993-01-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3718
3719 * unexhp9k800.c (unexec): Don't call exit, just return.
3720
3721 1993-01-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3722
3723 * config.h.in: protect against multiple #inclusions.
3724
3725 * config.h.in: Add a declaration for getenv.
3726
3727 * xfns.c (Fx_get_resource): Add CLASS argument, to give class of
3728 ATTRIBUTE.
3729 [not HAVE_X11]: Change definition of Fx_get_resource macro
3730 accordingly.
3731 (x_get_arg): Add CLASS argument, to give the class of ATTRIBUTE.
3732 Pass it along to Fx_get_resource.
3733 (x_figure_window_size, x_icon): Pass new argument to x_get_arg.
3734 (x_default_parameter): Add XCLASS argument, to give the class of
3735 XPROP. Pass it along to x_get_arg.
3736 (Fx_create_frame): Pass new args to x_get_arg and
3737 x_default_parameter.
3738
3739 * xfns.c (Fx_create_frame): Use the same resource names and
3740 classes as xterm and Emacs 18.
3741
3742 1993-01-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3743
3744 * xfns.c (Fx_get_resource): Use EMACS_CLASS to make class_key
3745 even if SUBCLASS is specified. I don't know whether that is
3746 right, but that's what the doc says.
3747 Cosmetic changes in arg names and doc string.
3748
3749 1992-12-29 Roland McGrath (roland@geech.gnu.ai.mit.edu)
3750
3751 * ralloc.c: [! emacs] [HAVE_CONFIG_H]: #include "config.h"
3752
3753 1992-12-21 Roland McGrath (roland@geech.gnu.ai.mit.edu)
3754
3755 * Makefile.in (tagsfiles): New variable.
3756 (TAGS): Depend on $(tagsfiles); use that in cmds.
3757 (tags): Separate phony rule; depends on TAGS.
3758
3759 1992-12-21 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3760
3761 * keyboard.c: Protect all references to kbd_buffer_frames with
3762 #ifdef MULTI_FRAME.
3763
3764 * frame.h (struct frame): New fields `can_have_scrollbars' and
3765 `has_vertical_scrollbars'.
3766 (FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New
3767 accessors, for both the MULTI_FRAME and non-MULTI_FRAME.
3768 (VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR,
3769 WINDOW_VERTICAL_SCROLLBAR_COLUMN,
3770 WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros.
3771 * window.h (struct window): New field `vertical_scrollbar'.
3772 * xterm.h (struct x_display): vertical_scrollbars,
3773 judge_timestamp, vertical_scrollbar_extra: New fields.
3774 (struct scrollbar): New struct.
3775 (VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT,
3776 VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER,
3777 VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER,
3778 CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH,
3779 PIXEL_TO_CHAR_HEIGHT): New accessors and macros.
3780 * frame.c (make_frame): Initialize the `can_have_scrollbars' and
3781 `has_vertical_scrollbars' fields of the frame.
3782 * term.c (term_init): Note that TERMCAP terminals don't support
3783 scrollbars.
3784 (mouse_position_hook): Document new args.
3785 (set_vertical_scrollbar_hook, condemn_scrollbars_hook,
3786 redeem_scrollbar_hook, judge_scrollbars_hook): New hooks.
3787 * termhooks.h: Declare and document them.
3788 (enum scrollbar_part): New type.
3789 (struct input_event): Describe the new form of the scrollbar_click
3790 event type. Change `part' from a Lisp_Object to an enum
3791 scrollbar_part. Add a new field `scrollbar'.
3792 * keyboard.c (kbd_buffer_get_event): Pass appropriate new
3793 parameters to *mouse_position_hook, and make_lispy_movement.
3794 * xfns.c (x_set_vertical_scrollbar): New function.
3795 (x_figure_window_size): Use new macros to calculate frame size.
3796 (Fx_create_frame): Note that X Windows frames do support scroll
3797 bars. Default to "yes".
3798 * xterm.c: #include <X11/cursorfont.h> and "window.h".
3799 (x_vertical_scrollbar_cursor): New variable.
3800 (x_term_init): Initialize it.
3801 (last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
3802 last_mouse_scroll_range_start, last_mouse_scroll_range_end): New
3803 variables.
3804 (XTmouse_position): Use them to return scrollbar movement events.
3805 Take new arguments, for that purpose.
3806 (x_window_to_scrollbar, x_scrollbar_create,
3807 x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move,
3808 XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar,
3809 XTjudge_scrollbars, x_scrollbar_expose,
3810 x_scrollbar_background_expose, x_scrollbar_handle_click,
3811 x_scrollbar_handle_motion): New functions to implement scrollbars.
3812 (x_term_init): Set the termhooks.h hooks to point to them.
3813 (x_set_window_size): Use new macros to calculate frame size. Set
3814 vertical_scrollbar_extra field.
3815 (x_make_frame_visible): Use the frame accessor
3816 FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the
3817 frame's subwindows as well.
3818 (XTread_socket): Use new size-calculation macros from xterm.h when
3819 processing ConfigureNotify events.
3820 (x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and
3821 PIXEL_TO_CHAR_HEIGHT macros.
3822 * ymakefile (xdisp.o): This now depends on termhooks.h.
3823 (xterm.o): This now depends on window.h.
3824
3825 * xdisp.c: #include "termhooks.h".
3826 (redisplay, redisplay_window): Use set_vertical_scrollbar_hook,
3827 condemn_scrollbars_hook, redeem_scrollbar_hook, and
3828 judge_scrollbars_hook to make scrollbars redisplay properly.
3829
3830 * keyboard.c (Qscrollbar_movement, Qvertical_scrollbar,
3831 Qabove_handle, Qhandle, Qbelow_handle): New symbols.
3832 (make_lispy_event): New code to build scrollbar clicks.
3833 (make_lispy_movement): New code to handle scrollbar movement.
3834 (head_table): Include Qscrollbar_movement in the event heads.
3835 (syms_of_keyboard): Init and staticpro Qvertical_scrollbar,
3836 Qabove_handle, Qhandle, and Qbelow_handle.
3837 * keyboard.h (Qscrollbar_movement): Declare this along with the
3838 other event types.
3839 * lisp.h (Qvertical_scrollbar): Declare this.
3840 * window.c (window_from_scrollbar): New function.
3841
3842 * xterm.h (struct x_display): Delete v_scrollbar, v_thumbup,
3843 v_thumbdown, v_slider, h_scrollbar, h_thumbup,
3844 h_thumbdown, h_slider, v_scrollbar_width, h_scrollbar_height
3845 fields.
3846 * keyboard.c (Qvscrollbar_part, Qvslider_part, Qvthumbup_part,
3847 Qvthumbdown_part, Qhscrollbar_part, Qhslider_part, Qhthumbup_part,
3848 Qhthumbdown_part, Qscrollbar_click): Deleted; part of an obsolete
3849 interface.
3850 (head_table): Removed from here as well.
3851 (syms_of_keyboard): And here.
3852 * keyboard.h: And here.
3853 (POSN_SCROLLBAR_BUTTON): Removed.
3854 * xscrollbar.h: File removed - no longer necessary.
3855 * xfns.c: Don't #include it any more.
3856 (Qhorizontal_scroll_bar, Qvertical_scroll_bar): Deleted.
3857 (syms_of_xfns): Don't initialize or staticpro them.
3858 (gray_bits): Salvaged from xscrollbar.h.
3859 (x_window_to_scrollbar): Deleted.
3860 (x_set_horizontal_scrollbar): Deleted.
3861 (enum x_frame_parm, x_frame_parms): Remove references to
3862 x_set_horizontal_scrollbar.
3863 (x_set_foreground_color, x_set_background_color,
3864 x_set_border_pixel): Remove special code to support scrollbars.
3865 (Fx_create_frame): Remove old scrollbar setup code.
3866 (install_vertical_scrollbar, install_horizontal_scrollbar,
3867 adjust_scrollbars, x_resize_scrollbars): Deleted.
3868 * xterm.c (construct_mouse_click): This doesn't need to take care of
3869 scrollbar clicks anymore.
3870 (XTread_socket): Remove old code to support scrollbars. Call new
3871 functions instead for events which occur in scrollbar windows.
3872 (XTupdate_end): Remove call to adjust_scrollbars; the main
3873 redisplay code takes care of that now.
3874 (enum window_type): Deleted.
3875 * ymakefile: Note that xfns.o no longer depends on xscrollbar.h.
3876
3877 * xterm.c (x_set_mouse_position): Clip mouse position to be within
3878 frame.
3879
3880 * xterm.c: Adjust the first line of each page to have a reasonable
3881 description. This makes pages-directory more useful.
3882
3883 * xterm.c (x_do_pending_expose): Declare this routine only if
3884 HAVE_X11 is not #defined; X11 doesn't need it.
3885 (XTread_socket): Protect call to x_do_pending_expose with `#ifdef
3886 HAVE_X11'.
3887
3888 * xfns.c (syms_of_xfns): Delete defvars for x_mouse_x and
3889 x_mouse_y. That interface hasn't been live for years.
3890 (x_mouse_x, x_mouse_y): Delete these variables.
3891
3892 * xterm.c (notice_mouse_movement): Deleted; obsolete and unused.
3893
3894 * keyboard.c (Fread_key_sequence): Doc fix.
3895
3896 * keyboard.c (make_lispy_event): Buttons are numbered starting
3897 with zero now.
3898
3899 * keyboard.c (make_lispy_event): Use the proper accessors when
3900 manipulating the `x' and `y' fields of struct input_event.
3901
3902 * keyboard.c (parse_modifiers_uncached): Remember that strncmp
3903 returns zero if the two substrings are equal.
3904
3905 * keyboard.c (do_mouse_tracking, Ftrack_mouse): Doc fix.
3906
3907 * keyboard.c (read_char): Don't put mouse movements in
3908 this_command_keys.
3909
3910 * xfns.c (Fx_create_frame): Don't initialize the wm_hints field here.
3911 (x_window): Do it here, along with all the similar stuff.
3912
3913 1992-12-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
3914
3915 * callint.c (Fcall_interactively): For `s', use Fread_string.
3916
3917 1992-12-20 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3918
3919 Properly handle focus shift events, so the cursor is filled and
3920 hollow at the appropriate times, even in titleless windows.
3921 * xterm.c (x_focus_event_frame): New variable.
3922 (XTread_socket): When we receive a FocusIn event that's not
3923 NotifyPointer, record the frame in x_focus_event_frame. When we
3924 receive a FocusOut event that's not NotifyPointer, clear it. When
3925 we get a LeaveNotify event, don't take it seriously if we still
3926 have focus.
3927
3928 * xterm.c (XTread_socket): Remove special code in EnterNotify case
3929 to handle scrollbars and fake mouse motion events.
3930
3931 1992-12-19 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3932
3933 * floatfns.c (Flog): Fix unescaped newline in string.
3934 * frame.c (Fnext_frame): Same.
3935 * textprop.c (Fprevious_single_property_change): Same.
3936 (syms_of_textprop): Same, for DEFVAR for
3937 `interval_balance_threshold'.
3938
3939 Change the meaning of focus redirection to make switching windows
3940 work properly. Fredirect_frame_focus has the details.
3941 * frame.h (focus_frame): Doc fix.
3942 [not MULTI_FRAME] (FRAME_FOCUS_FRAME): Make this Qnil, which
3943 indicates no focus redirection, instead of zero, which is
3944 selected_frame.
3945 * frame.c (make_frame): Initialize f->focus_frame to Qnil, rather
3946 than making it point to frame itself.
3947 (Fselect_frame): If changing the selected frame from FOO to BAR,
3948 make all redirections to FOO shift to BAR as well. Doc fix.
3949 (Fredirect_frame_focus): Doc fix. Accept nil as a valid
3950 redirection, not just as a default for FRAME.
3951 (Fframe_focus): Doc fix.
3952 * keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event): Deal
3953 with focus redirections being nil.
3954 * xterm.c (XTframe_rehighlight): Doc fix. Deal with focus
3955 redirections being nil.
3956
3957 * window.c (Fset_window_configuration): Don't restore the frame's
3958 focus redirection if the target frame is now dead.
3959
3960 * ymakefile (ralloc.o): This no longer depends on xterm.h.
3961
3962 * ymakefile (all, xemacs): We build an executable called `emacs' now,
3963 not `xemacs'.
3964 * Makefile.in (distclean, xemacs, doxemacs): Same.
3965
3966 * xterm.h (PIXEL_WIDTH, PIXEL_HEIGHT): Change name of parameter
3967 from `s' to `f'; it's a frame pointer.
3968
3969 1992-12-18 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3970
3971 * keyboard.c (kbd_buffer_frames): New vector, to GCPRO frames in
3972 kbd_buffer.
3973 (kbd_buffer_store_event): When we add an event to kbd_buffer, make
3974 sure to store its frame in kbd_buffer_frames.
3975 (kbd_buffer_get_event): When we remove an event from kbd_buffer,
3976 make sure to set the corresponding element of kbd_buffer_frames to
3977 Qnil, to allow the frame to get GC'd.
3978 (Fdiscard_input, init_keyboard): Clear all elements of
3979 kbd_buffer_frames to nil.
3980 (syms_of_keyboard): Create and staticpro kbd_buffer_frames.
3981
3982 * xterm.c (x_error_quitter): Just abort, so we can look at the
3983 core to see what happened.
3984
3985 1992-12-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3986
3987 * buffer.c (Frename_buffer): Set update_mode_lines.
3988
3989 1992-12-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
3990
3991 * scroll.c (do_scrolling): When bcopying the max_ascent field from
3992 current_frame to temp_frame, remember that max_ascent is an array
3993 of shorts, not ints.
3994
3995 It's a pain to remember that you can't assign to FRAME->visible.
3996 Let's change all references to the `visible' member of struct
3997 frame to use the accessor macros, and then write a setter for the
3998 `visible' field that does the right thing.
3999 * frame.h (FRAME_VISIBLE_P): Make this not an l-value.
4000 (FRAME_SET_VISIBLE): New macro.
4001 * frame.c (make_terminal_frame, Fdelete_frame): Use FRAME_SET_VISIBLE.
4002 (Fframe_visible_p, Fvisible_frame_list): Use FRAME_VISIBLE_P and
4003 FRAME_ICONIFIED_P.
4004 * dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
4005 FRAME_GARBAGED_P accessors.
4006 * xdisp.c (redisplay): Use the FRAME_VISIBLE_P accessor.
4007 * xfns.c (x_set_foreground_color, x_set_background_color,
4008 x_set_cursor_color, x_set_border_pixel, x_set_icon_type): Use the
4009 FRAME_VISIBLE_P accessor.
4010 (Fx_create_frame): Use FRAME_SET_VISIBILITY.
4011 * xterm.c (clear_cursor, x_display_bar_cursor,
4012 x_display_box_cursor): Use FRAME_SET_VISIBILITY.
4013
4014 1992-12-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4015
4016 * ymakefile (CFLAGS): #define HAVE_CONFIG_H too.
4017
4018 * Makefile.in (distclean): Don't delete machine.h or system.h;
4019 they don't exist anymore.
4020
4021 * Makefile.in (distclean): Don't delete autosave or backup files.
4022 (extraclean): New target; like distclean, but delete autosave
4023 and backup files too.
4024
4025 1992-12-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4026
4027 * search.c (Fskip_chars_forward, Fskip_chars_backward): Return the
4028 distance traveled.
4029 (skip_chars): Return the distance traveled, as a Lisp_Object.
4030
4031 * macros.c (Fend_kbd_macro): Don't use XFASTINT to check if arg is
4032 negative; XFASTINT only works on values known to be positive.
4033 (Fexecute_kbd_macro): Check QUIT in the repetition loop. If the
4034 macro is null, no characters are actually being read, so this
4035 matters.
4036
4037 * Makefile.in (srcdir): New variable, not fully implemented.
4038 (xmakefile): Turn -g and -O in CFLAGS into C_DEBUG_SWITCH and
4039 C_OPTIMIZE_SWITCH in C_SWITCH_SITE's definition. Delete junk.cpp
4040 when done.
4041 * ymakefile (archlib): Variable definition deleted. Run programs
4042 from ../lib-src directly, or use ${archlibdir}.
4043 (${etc}DOC): Run make-docfile from ${libsrc}, not ${archlib}.
4044 (${archlib}make-docfile, ${archlib}emacstool): Use ${libsrc}, not
4045 ${archlib}.
4046
4047 * ymakefile (lisp): Don't include version.el in this list.
4048
4049 Give subprocess creation a way to find a valid current directory
4050 for subprocesses when the buffer's default-directory is a handled
4051 name.
4052 * fileio.c (Funhandled_file_name_directory): New function.
4053 (Qunhandled_file_name_directory): New file-name-handler operation.
4054 (syms_of_fileio): Defsubr Sunhandled_file_name_directory, and
4055 initialize and staticpro Qunhandled_file_name_directory.
4056 * callproc.c (Fcall_process): Call Funhandled_file_name_directory
4057 on the buffer's default directory. Do it earlier in the function
4058 so there's less to GCPRO.
4059 * process.c (create_process): Don't check the validity of the
4060 buffer's default directory here...
4061 (Fstart_process): Instead, do it here; if we call
4062 Funhandled_file_name_directory here, there's less GCPROing to do.
4063
4064 * callproc.c (Fcall_process_region): Return the value returned by
4065 Fcall_process.
4066
4067 * fileio.c (find_file_handler): Rename this to
4068 Ffind_file_name_handler, and make it visible to lisp. Add a QUIT
4069 to the loop which scans file-name-handler-alist. All uses
4070 changed.
4071 (syms_of_fileio): Mention this new function in the docstring for
4072 Vfile_name_handler_alist. defsubr Sfind_file_name_handler.
4073 * lisp.h (Ffind_file_name_handler): Added extern declaration.
4074 * dired.c: All uses of find_file_handler changed here too.
4075
4076 * fileio.c (syms_of_fileio): Add staticpros for Qexpand_file_name,
4077 Qdirectory_file_name, Qfile_name_directory,
4078 Qfile_name_nondirectory, Qfile_name_as_directory.
4079
4080 1992-12-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4081
4082 * window.c (Fset_window_configuration): If we're restoring the
4083 configuration of a dead frame, don't bother rebuilding its window
4084 tree, restoring its focus redirection, or temporarily resizing it
4085 to fit the saved window configuration. If the frame which was
4086 selected when the configuration was captured is now dead, don't
4087 try to select it.
4088
4089 * frame.c (Fdelete_frame): Delete all the windows in the frame's
4090 window tree, using delete_all_subwindows.
4091 * window.c (delete_all_subwindows): Don't make this static
4092 anymore.
4093
4094 1992-12-03 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4095
4096 Make sure that frames' visible flag only changes at acceptable
4097 times. See FRAME_SAMPLE_VISIBILITY's comments for details.
4098 * frame.h (struct frame): New fields called async_visible and
4099 async_iconified.
4100 (FRAME_SAMPLE_VISIBILITY): New macro, with MULTI_FRAME and
4101 non-MULTI_FRAME definitions.
4102 * xdisp.c (redisplay): Call FRAME_SAMPLE_VISIBILITY to set the
4103 visible and iconified flags appropriately for each frame.
4104 (message1): Call FRAME_SAMPLE_VISIBILITY to set the visible and
4105 iconified flags for the minibuffer frame.
4106 * frame.c (make_frame): Initialize async_visible and
4107 async_iconified properly.
4108 * xfns.c (Fx_create_frame): Initialize f->async_visible too.
4109 * xterm.c (XTread_socket): When we get MapNotify, UnmapNotify,
4110 Expose, ExposeWindow, or UnmapWindow, set f->async_visible, not
4111 f->visible.
4112 (x_do_pending_expose, x_raise_frame, x_lower_frame,
4113 x_make_frame_invisible, x_make_frame_visible, x_iconify_frame):
4114 Test and set f->async_visible and f->async_iconified, not
4115 f->visible or f->async_iconified.
4116
4117 * keyboard.c (kbd_store_ptr): Declare this to be volatile, if
4118 __STDC__ is #defined.
4119 (Fdiscard_input): Use cast to keep GCC from complaining about the
4120 assignment of kbd_store_ptr to kbd_fetch_ptr.
4121
4122 * xdisp.c (redisplay): Use FOR_EACH_FRAME to apply
4123 redisplay_windows to the root window of each frame. This makes a
4124 #ifdef MULTI_FRAME unneeded, but it also means we recompute
4125 buffer_shared from scratch even on non-MULTI_FRAME configurations.
4126 Don't skip elements of Vframe_list that aren't frames; go ahead
4127 and crash here.
4128
4129 * xdisp.c (redisplay): Remove #ifdef MULTI_FRAME around the code
4130 which updates separate minibuffer frames specially; there's
4131 nothing there that won't work on a single-frame configuration.
4132
4133 * dispextern.h (struct frame_glyphs): Doc fix.
4134
4135 1992-12-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
4136
4137 * dispnew.c: Remove dyked-out copy of safe_bcopy.
4138
4139 * environ.c: File removed; Changes on 1/13/1992 made it
4140 unnecessary.
4141
4142 1992-12-01 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4143
4144 * process.c (wait_reading_process_input): Doc fix.
4145
4146 1992-11-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4147
4148 * next.h: Copy changes from 18.59:
4149 (NeXT): Defined.
4150 (BIG_ENDIAN): Define only if __BIG_ENDIAN__.
4151 (m68000, COMPILER_REGISTER_BUG): Defs deleted.
4152 (SIGN_EXTEND_CHAR, LIB_X11_LIB, NO_T_CHARS_DEFINES, UNEXEC): Defined.
4153 (LIBS_DEBUG, LIB_GCC, C_SWITCH_MACHINE, ORDINARY_LINK): Defined.
4154 (TEXT_START, TEXT_END, DATA_END, LD_SWITCH_MACHINE): Defined.
4155 (KERNEL_FILE): #undef it.
4156 (environ): Define as _environ.
4157
4158 1992-11-25 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4159
4160 * doc.c (store_function_docstring): New function, made from part
4161 of Fsnarf_documentation, which handles docstrings for macros
4162 properly.
4163 (Fsnarf_documentation): Call store_function_docstring.
4164
4165 * data.c (indirect_function): Delete unused argument ERROR.
4166
4167 1992-11-23 Jim Blandy (jimb@apple-gunkies.gnu.ai.mit.edu)
4168
4169 * Makefile.in (clean): Remove prefix-args.
4170
4171 1992-11-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4172
4173 * s/sol2.h (LD_SWITCH_SYSTEM): Make alternate version for GCC.
4174
4175 1992-11-19 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4176
4177 * m/sparc.h: Don't include <sys/param.h> here; that screws up the
4178 xmakefile. Instead, include it in getloadavg.c, which is the only
4179 place that uses LOAD_AVE_CVT, which is the only reason
4180 <sys/param.h> was here in the first place.
4181
4182 1992-11-15 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4183
4184 * dispnew.c [not MULTI_FRAME] (Fredraw_display): Pass the correct
4185 number of arguments to mark_window_display_accurate.
4186
4187 * undo.c (Fprimitive_undo): Remove whitespace in front of #ifdef
4188 and #endif.
4189
4190 * systty.h: Doc fix.
4191
4192 * systty.h, process.c, buffer.h, callproc.c, sysdep.c, dired.c:
4193 Added VMS changes from Roland Roberts.
4194 * vmspaths.h: New version from Roland Roberts.
4195
4196 * xdisp.c (display_string): Use w's buffer's value of
4197 tab-width to display the string, instead of the current buffer's,
4198 which could be anything.
4199
4200 * s/sol2.h (LD_SWITCH_SYSTEM): Add -R option.
4201
4202 * process.c (read_process_output): Save, widen, insert the process
4203 output, and then restore the restriction if inserting text outside
4204 the visible region.
4205
4206 1992-11-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4207
4208 * buffer.c (Ferase_buffer): Doc fix.
4209
4210 * dispnew.c (safe_bcopy): Use the right terminating condition in
4211 the loop which uses multiple bcopy calls to transfer a block to an
4212 overlapping higher block.
4213
4214 1992-11-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4215
4216 * process.c (Fstart_process): Establish an unwind-protect to
4217 remove PROC from the process list if an error occurs while
4218 starting it.
4219 (start_process_unwind): New function to help with that.
4220 (create_process): There's no need to explicitly call
4221 remove_process if the fork fails; the record_unwind_protect in
4222 Fstart_process will take care of it.
4223
4224 * commands.h (unread_command_event): Doc fix.
4225
4226 Don't ever throw away switch-frame events.
4227 * lread.c: #include "keyboard.h".
4228 (Fread_char, Fread_char_exclusive): Don't signal an
4229 error for or throw away switch-frame events; instead, put them off
4230 until after we've found a character we can respond to.
4231 * commands.h (unread_switch_frame): Declare this extern.
4232 * keyboard.c (unread_switch_frame): Don't declare this static.
4233 * ymakefile (lread.o): Note that this depends on keyboard.h.
4234
4235 * keyboard.c (Vlast_event_frame): Doc fix.
4236
4237 * process.c (wait_reading_process_input): Test the C preprocessor
4238 symbol "ultrix", not "__ultrix__" to see if we should ignore
4239 ENOMEM errors from select.
4240
4241 * fileio.c (Fexpand_file_name): Don't fiddle with "/." if it's the
4242 entire string.
4243
4244 * buffer.c (Fbury_buffer): Make this behave as in 18.59, although
4245 that behavior is very odd - only remove the buffer from the
4246 selected window if BUFFER was nil or omitted.
4247
4248 * keyboard.c (read_char): Write composite events to the dribble
4249 file properly.
4250
4251 * keyboard.c (init_keyboard): Initialize Vlast_event_frame to
4252 Qnil, rather than the selected frame.
4253
4254 * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
4255 remove DATA_SEG_BITS from the pointer before testing if the
4256 pointer fits in VALBITS.
4257
4258 * Makefile.in (doxemacs, dotemacs): Explicitly pass along the CC
4259 variable in these rules, just as in the `doall' rule.
4260
4261 * ralloc.c (relocate_some_blocs): Handle BLOC == NIL_BLOC.
4262 (free_bloc): This can now be simplified.
4263
4264 * ralloc.c (r_alloc_sbrk): When we allocate new space for the
4265 malloc heap, zero it out even if we don't have any blocs in the
4266 free list.
4267
4268 1992-11-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4269
4270 * process.c (process_send_signal): On systems which have both
4271 the TIOCGETC and TCGETA ioctls, just use the former.
4272
4273 * xselect.c (Fx_get_cut_buffer): Correct check for buf_num in
4274 range.
4275
4276 * xselect.c (Fx_get_cut_buffer, Fx_set_cut_buffer): Fix error
4277 message format; use NUM_CUT_BUFFERS instead of literal 7.
4278
4279 * keyboard.c (lispy_modifier_list): Added sanity check before
4280 indexing into modifier_symbols.
4281
4282 * keyboard.c (add_command_key): When copying the contents of the
4283 old this_command_keys to new_keys, remember to multiply size by
4284 sizeof (Lisp_Object) to get the amount we really need to copy.
4285
4286 Rename unread_command_char to unread_command_event; it has
4287 subtly different semantics now, and we should use
4288 `make-obsolete-variable' to warn people.
4289 * command.h (unread_command_char): Change name in extern declaration.
4290 * keyboard.c (unread_command_char): Rename.
4291 (command_loop_1, read_char, Finput_pending, Fdiscard_input,
4292 quit_throw_to_read_char, init_keyboard, syms_of_keyboard): Change
4293 references.
4294 * lread.c (Fread_char): Change reference.
4295 * minibuf.c (temp_echo_area_glyphs): Change reference to
4296 unread_command_char to unread_command_event.
4297 * xfns.c (unread_command_char): Change name in extern declaration
4298 to unread_command_event.
4299
4300 1992-11-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4301
4302 * m/pmax.h: Don't define SYSTEM_MALLOC; this was only necessary
4303 for Ultrix version 4.1, and the current version is 4.3.
4304
4305 * s/bsd4-2.h, s/bsd4-3.h: #define SIGNALS_VIA_CHARACTERS.
4306 * process.c (process_send_signal): Put all the code for sending
4307 signals via characters in a #ifdef SIGNALS_VIA_CHARACTERS. Decide
4308 whether to use the Berkeley-style or SYSV-style ioctls by seeing
4309 which ioctl commands are #defined.
4310
4311 * minibuf.c (read_minibuf): If get_minibuffer gives the
4312 new minibuffer a nil default directory, find another buffer with a
4313 better default directory and use that one's instead.
4314
4315 1992-11-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4316
4317 * process.c (process_send_signal): Doc fix.
4318
4319 * keyboard.c (read_key_sequence): Don't use
4320 save_excursion_{save,restore} to protect the caller against buffer
4321 switches; use Fset_buffer and Fcurrent_buffer; redisplay might
4322 change point, and we don't want to undo that.
4323
4324 * keyboard.c (kbd_buffer_get_event): When checking a mouse
4325 movement for a frame switch, don't assume Vlast_event_frame
4326 contains a Lisp_Frame object.
4327
4328 1992-11-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4329
4330 * s/dgux.h (SYSTEM_TYPE): Use berkeley-unix.
4331
4332 1992-11-04 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4333
4334 * alloc.c: #include "frame.h" unconditionally. frame.h does the
4335 right thing when MULTI_FRAME isn't defined.
4336
4337 * Makefile.in: Rearrange dependencies to make sure that xmakefile
4338 is built before we try to use it, even using a parallel make.
4339
4340 Changes for SYSV from Eric Raymond:
4341 * process.c [SYSV]: Don't include <termios.h>, <termio.h>, or
4342 <fcntl.h>.
4343 (process_send_signal): Don't try to send SIGTSTP
4344 unless SIGTSTP is defined.
4345 * sysdep.c (init_baud_rate) [HAVE_TERMIO, not HAVE_TCATTR]: Use
4346 TCGETA, not TIOCGETP.
4347 * systime.h [USG] (EMACS_GET_TZ_OFFSET): Assign to *(offset), not
4348 (offset). Don't forget the while corresponding to the do.
4349 Include USG in the list of systems that have a tzname array.
4350
4351 * keyboard.c (read_key_sequence): Removed the
4352 replay_sequence_new_buffer label; replay_sequence should be here
4353 instead.
4354
4355 Arrange to get compile-time errors for uses of Lisp_Frame in a
4356 non-MULTI_FRAME configuration.
4357 * lisp.h [not MULTI_FRAME]: Don't declare the Lisp_Frame tag.
4358 * minibuf.c (read_minibuf): Protect call to Fredirect_frame_focus
4359 with a #ifdef MULTI_FRAME.
4360 * window.c (Fset_window_configuration): Protect call to
4361 Fselect_frame with a #ifdef MULTI_FRAME.
4362 [not MULTI_FRAME] (Fcurrent_window_configuration): Don't bother
4363 setting the window configuration's selected_frame member.
4364 * keyboard.c (Vlast_event_frame): Arrange for this to exist iff
4365 MULTI_FRAME is defined.
4366 [not MULTI_FRAME] (syms_of_keyboard): Don't DEFVAR Vlast_event_frame.
4367 [not MULTI_FRAME] (read_char): Don't try to set Vlast_event_frame.
4368 [not MULTI_FRAME] (kbd_buffer_store_event): Don't try to set
4369 Vlast_event_frame for quit characters.
4370 [not MULTI_FRAME] (kbd_buffer_get_event): Don't try to generate
4371 switch-frame events.
4372
4373 * buffer.c (init_buffer): If PWD is accurate, use it instead of
4374 calling getwd.
4375 #include <sys/types.h> and <sys/stat.h>, for the call to stat.
4376
4377 Indicate whether an autoload form stands for a keymap or not.
4378 * eval.c (Fautoload): Renamed fifth argument TYPE. Document the
4379 fact that (eq TYPE 'keymap) means FUNCTION will become a keymap
4380 when loaded.
4381 (Fmacroexpand): Instead of assuming that every autoload
4382 form with a fifth element is a macro, actually check the fifth
4383 element against t and `macro', which are the only values which
4384 denote macroness.
4385 * keymap.c (get_keymap_1): Don't try to autoload OBJECT's function
4386 unless the autoload form indicates that it's a keymap.
4387
4388 1992-11-03 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4389
4390 * .gdbinit (mips): New command.
4391
4392 1992-10-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4393
4394 * fileio.c (Fmake_directory_internal): Renamed from Fmake_directory.
4395 Pass nil as third arg to handler.
4396 Lisp function `make-directory' is now in files.el.
4397
4398 1992-10-30 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4399
4400 Clean up errors due to treating Lisp_Objects like integers.
4401 * abbrev.c (Funexpand_abbrev): Just assign the last abbrev's value
4402 to val; don't use XSET. Make sure that the value of the
4403 abbrev-symbol is a string.
4404 * alloc.c (Frope_elt): Declare arguments to be Lisp_Objects.
4405 * buffer.c (reset_buffer): Don't assign to b->save_length as if it
4406 were an int; use XFASTINT.
4407 * buffer.h (Fbuffer_name, Fget_file_buffer): Added external
4408 declarations.
4409 * bytecode.c (Fbyte_code): Use EQ to compare string_saved with
4410 bytestr.
4411 * casefiddle.c (operate_on_word): Declare end to be an int, not a
4412 Lisp_Object.
4413 * casetab.c (set_case_table): Declare this to be static, and
4414 return a Lisp_Object. Add static declaration for this
4415 before Fset_case_table and Fset_standard_case_table.
4416 (Fset_case_table, Fset_standard_case_table): Return the return
4417 value of set_case_table, instead of returning garbage.
4418 * commands.h (unread_command_char): Declare this to be a
4419 Lisp_Object, not an int.
4420 * data.c (Fset): See if current_alist_element points to itself
4421 using EQ, not ==.
4422 (float_arith_driver): Declare this extern above arith_driver.
4423 * dired.c (find_file_handler): Declare this extern.
4424 (Ffile_attributes): Use NILP, not == Qnil.
4425 * dispextern.h (sit_for): Declare this extern.
4426 * doc.c: #include keyboard.h.
4427 * floatfns.c (Flog): Don't forget to declare the BASE argument a
4428 Lisp_Object.
4429 * fns.c: #include keyboard.h.
4430 (Fdelete): Check if Fequal returns Qnil, not zero.
4431 * frame.c: #include buffer.h.
4432 * keyboard.c: #include dispextern.h.
4433 (recursive_edit_unwind, command_loop, Fthis_command_keys): Declare
4434 these to return Lisp_Objects at the very top of the file, to avoid
4435 having them implicitly declared as ints.
4436 (echo_char): Use EQ to compare C to help_char.
4437 (read_char): Remember to apply XFASTINT to the return value of
4438 Flength before using it. Apply XINT to c when clearing its high
4439 bits and meta bits, and when writing it to the dribble file.
4440 (read_char_menu_prompt): Use EQ to compare obj with
4441 menu_prompt_more_char and its control-character analog.
4442 (read_key_sequence): Declare PROMPT to be char *, not a
4443 Lisp_Object. Use the appropriate accessors on keybuf when looking
4444 for ASCII function key sequences.
4445 * keyboard.h (get_keymap_1, Fkeymapp, reorder_modifiers,
4446 Fmouse_click_p, read_char): Add external declarations for these.
4447 * keymap.c (Fdefine_key, Flookup_key, describe_map): Don't assume
4448 that Flength returns an integer.
4449 * lisp.h (Fdefault_boundp, make_float, Ffloat, Fnth, Fcopy_alist,
4450 Fmake_byte_code, Fverify_visited_file_modtime, Ffile_exists_p,
4451 Fdirectory_file_name, Ffile_name_directory,
4452 expand_and_dir_to_file, Ffile_accessible_directory_p, Fbyte_code,
4453 Fundo_boundary, truncate_undo_list): Add extern declarations for
4454 these.
4455 * lread.c (read_char): Add an extern declaration for this,
4456 indicating that it returns a Lisp_Object.
4457 * minibuf.c (read_minibuf): Use EQ to compare, not ==.
4458 (temp_echo_area_glyphs): Use XFASTINT to assign to
4459 unread_command_char.
4460 * print.c (print): Cast the frame's address to an integer before
4461 passing it to sprintf to form the frame's printed form.
4462 * process.c: (status_convert): Declare this to return a
4463 Lisp_Object at the top of the file.
4464 (decode_status): Don't untag XCONS (tem)->cdr before storing it in
4465 tem; tem is a Lisp_Object, too.
4466 (process_send_signal): Declare this to be static void. Don't
4467 return Qnil; nobody cares.
4468 (sigchld_handler): Use XFASTINT to manipulate p->infd.
4469 * search.c (Fstore_match_data): Don't assume Flength returns a
4470 C integer.
4471 * undo.c (record_insert): Use accessors on BEG and LENGTH.
4472 (truncate_undo_list): Use NILP, not == Qnil.
4473 * window.c (Fwindow_width, Fset_window_hscroll): Use accessors on
4474 w->width, w->left, w->hscroll, and arguments.
4475 (replace_window): Use EQ, not ==.
4476 (Fdelete_window): p->top and p->left are not C integers.
4477 (Fnext_window, Fprevious_window): Use EQ, not ==.
4478 * window.h (make_window, window_from_coordinates,
4479 Fwindow_dedicated_p): Add extern declarations for these.
4480 * xdisp.c (redisplay): Use ! EQ to compare the old and new arrow
4481 positions, not !=.
4482 (mark_window_display_accurate): Barf if WINDOW isn't a window.
4483 (display_string): Test buffer_defaults.ctl_arrow using NILP,
4484 instead of comparing it with zero.
4485 * xfns.c (x_decode_color, Fx_color_display_p): x_screen_planes is
4486 an int, not a Lisp_Object.
4487 (x_set_mouse_color): Give separate error messages for the
4488 different cursors we try to set.
4489 (Fx_geometry): Declare STRING to be a Lisp_Object.
4490 (Fx_create_frame): No need to use XSET to assign NAME to f->name;
4491 they're both Lisp_Objects.
4492 (adjust_scrollbars): Use XINT to access w->hscroll.
4493 (Fx_open_connection): x_screen_count, x_release, x_screen_height,
4494 x_screen_height_mm, x_screen_width, x_screen_width_mm,
4495 x_save_under, and x_screen_planes are integers, not Lisp_Objects.
4496 (syms_of_xfns): x_mouse_x, x_mouse_y, and mouse_buffer_offset are
4497 integers, not Lisp_Objects.
4498 * xselect.c (own_selection): selection_type is an X Atom value,
4499 not a Lisp_Object.
4500 (x_selection_arrival): Declare this static, and add a forward
4501 declaration at the top of the page.
4502 * xterm.c (x_convert_modifiers): Declare this to return an
4503 unsigned int, not a Lisp_Object. Remember that the quiescent
4504 value for part is Qnil, not zero, that x_mouse_x and x_mouse_y
4505 are ints, not Lisp_Objects, and that RESULT->x and RESULT->y are
4506 Lisp_Objects, not ints.
4507 (XTread_socket): Declare this to return int, not Lisp_Object.
4508 When calling construct_mouse_click on a non-scrollbar click, pass
4509 PART as Qnil, not zero.
4510 (x_calc_absolute_position): Remember that x_screen_width and
4511 x_screen_height are ints, not Lisp_Objects.
4512 * xterm.h (x_screen_count, x_release, x_screen_height,
4513 x_screen_height_mm, x_screen_width, x_screen_width_mm,
4514 x_save_under, x_screen_planes): Declare this as ints, to match
4515 their definitions in xterm.c.
4516 * ymakefile: Note the new dependencies caused by the new
4517 #inclusions above.
4518
4519 * xdisp.c (last_arrow_position, last_arrow_string): Make these
4520 static.
4521
4522 * process.c (pty_process): Variable deleted; it's no longer used.
4523 (syms_of_process): Don't initialize it.
4524
4525 * buffer.h (struct buffer_local_types): This declaration needed an
4526 extern qualifier.
4527
4528 * floatfns.c (Fexpt): Don't return the value of the XSET function
4529 call; that's not guaranteed to be the value assigned.
4530
4531 * dired.c (Ffile_attributes): Doc fix.
4532
4533 * lisp.h (DEFVARLISP, DEFVARBOOL, DEFVARINT, DEFVARPERBUFFER):
4534 Removed these definitions; we should be using the versions whose
4535 names use underscores.
4536
4537 * keyboard.c (echobuf): Make this 300 characters, not 100. This
4538 isn't a real fix, but it's quick.
4539
4540 1992-10-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4541
4542 * callint.c (preserved_fns): New var.
4543 (Fcall_interactively): Preserve all fns listed in preserved_fns.
4544 (syms_of_callint): Set preserved_fns and staticpro it.
4545 Don't set up Qregion_beginning or Qregion_end.
4546
4547 1992-10-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4548
4549 * dispnew.c (count_blanks): Leave argument r constant, and increment p.
4550
4551 1992-10-28 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4552
4553 * xdisp.c (message): Re-write this in terms of message1.
4554 (message1): Move code to clear out echo_area_glyphs and
4555 previous_echo_glyphs from message to here.
4556
4557 * keyboard.c (read_char): When returning an unread switch-frame
4558 event, jump to reread_first to return it, rather than reread; this
4559 makes sure the event gets echoed (if appropriate) and goes into
4560 this_command_keys.
4561
4562 * keyboard.c (read_key_sequence): If the key sequence starts with
4563 a mouse click, read the key sequence using the keymaps of the
4564 buffer clicked on, not the current buffer.
4565
4566 * keyboard.c (unread_switch_frame): Make this static, to indicate
4567 that nobody outside of this file uses it.
4568
4569 * keymap.c: Deal with autoloaded keymaps properly.
4570 (get_keymap_1): Renamed to inner_get_keymap; made
4571 static. New argument AUTOLOAD says to pursue autoloads if
4572 non-zero.
4573 (Fkeymapp, get_keymap, get_keyelt, Flookup_key): Ask get_keymap_1
4574 not to perform autoloads.
4575 (Fdefine_key): Ask get_keymap_1 to perform autoloads. Since
4576 autoloading may GC, remember that we have to GCPRO our local
4577 variables now.
4578 (Fminor_mode_key_binding): Call get_keymap instead of calling
4579 get_keymap_1 with equivalent arguments.
4580 * keyboard.c (follow_key): Ask get_keymap_1 to perform autoloads.
4581 (read_key_sequence): When pursuing potential bindings in the
4582 function key map, ask get_keymap_1 to perform autoloading. This
4583 is hardly important, but it's consistent.
4584 * doc.c (Fsubstitute_command_keys): Ask get_keymap_1 to
4585 perform autoloads. Autoloading might GC; we need to GCPRO our
4586 local variables now.
4587 (Fdocumentation, Fdocumentation_property): Autoloading in
4588 Fsubstitute_command_keys might GC; we need to GCPRO our
4589 local variables now.
4590
4591 1992-10-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4592
4593 * s/irix3-3.h (HAVE_SETSID, IRIX): Defined.
4594
4595 * s/irix4-0.h: New file.
4596
4597 1992-10-27 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
4598
4599 * sysdep.c (get_system_name): Use gethostname for USG systems if
4600 HAVE_GETHOSTNAME is defined.
4601 * s/hpux7.h, s/irix3-3.h (HAVE_GETHOSTNAME): Define it.
4602
4603 1992-10-27 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4604
4605 * callproc.c: Arrange for synchronous processes to get SIGINT the
4606 first time the user quits, or SIGKILL if the user quits again.
4607 #include "syssignal.h".
4608 (call_process_kill): New function.
4609 (call_process_cleanup): Send SIGINT to the subprocess, and then
4610 arrange to call call_process_kill if the user quits while we wait
4611 for it to terminate.
4612 (Fcall_process, Fcall_process_region): Doc fix.
4613
4614 1992-10-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4615
4616 * unexmips.c [sony, IRIS_4D]: Include getpagesize.h and fcntl.h.
4617 (unexec): #if 0 the error check of hdr.fhdr.f_nscns.
4618 Clear text_section->s_scnptr.
4619
4620 * callint.c (Fcall_interactively): Preserve (region-beginning)
4621 and (region-end) into the command history when they appear
4622 in an interactive spec which is a call to `list'.
4623
4624 * batcomp.com: New file. Waiting for papers from richard@ttt.kth.se.
4625
4626 1992-10-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
4627
4628 * emacs.c (main): Correct spelling of HAVE_X_WINDOW to
4629 HAVE_X_WINDOWS in conditionals around the call to syms_of_xmenu.
4630
4631 1992-10-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4632
4633 * ralloc.c (relinquish):
4634 Adjust page_break_value by amount of memory actually given back.
4635 (r_alloc_sbrk): Provide hysteresis in relocating the blocs.
4636
4637 1992-10-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4638
4639 * ralloc.c (relinquish): Sign of arg to *real_morecore was backwards.
4640
4641 1992-10-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4642
4643 * ralloc.c (relinquish): Never free less than extra_bytes;
4644 keep extra_bytes of empty space.
4645 (obtain): Always get extra_bytes additional space.
4646 (r_alloc_init): Set extra_bytes and page_size.
4647 (ALIGNED, ROUNDUP, ROUND_TO_PAGE): Use page_size.
4648
4649 1992-10-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4650
4651 * keyboard.c (syms_of_keyboard): Properly staticpro this_command_keys.
4652
4653 * mem-limits.h (get_lim_data): Make it static.
4654
4655 * ymakefile (mallocobj): Use vm-limit.o along with ralloc.o.
4656
4657 * ralloc.c [emacs]: Define POINTER and SIZE.
4658 [!emacs]: Delete definition of EXCEEDS_LISP_PTR.
4659
4660 * eval.c (grow_specpdl): Increase max_specpdl_size before Fsignal.
4661
4662 1992-10-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
4663
4664 * xfns.c (x_set_face): Dyked out this function; it has no callers,
4665 and refers to an obsolete version of struct face.
4666
4667 * xterm.c (compose_status): New variable.
4668 (XTread_socket): Pass it by reference to XLookupString.
4669
4670 1992-10-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4671
4672 * s/esix5r4.h (BROKEN_FIONREAD): Defined.
4673
4674 1992-10-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4675
4676 * s/vms5-5.h: New file.
4677
4678 1992-10-16 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4679
4680 * xdisp.c (message): If M is zero, clear echo_area_glyphs and
4681 previous_echo_glyphs, so that the minibuffer shows through.
4682 * * editfns.c (Fmessage): With no arguments, clear any active
4683 message; let the minibuffer contents show through.
4684 * minibuf.c (temp_echo_area_glyphs): Don't clear echo_area_glyphs
4685 and previous_echo_glyphs; let message do that work.
4686
4687 * keyboard.c (this_command_keys): Make this a vector, instead of
4688 an array of Lisp_Objects.
4689 (this_command_keys_size): Deleted.
4690 (echo, add_command_key, Fthis_command_keys): Adjusted
4691 appropriately.
4692 (init_keyboard): Don't allocate it here.
4693 (syms_of_keyboard): Allocate it here, and staticpro it.
4694 * keyboard.h (this_command_keys): Extern declaration changed. Doc fix.
4695 * callint.c (Fcall_interactively): Change handling of 'e' spec;
4696 this_command_keys is now a vector.
4697
4698 * keyboard.c (read_char): Call ourselves with the appropriate
4699 number of arguments.
4700 (read_char_menu_prompt): If USED_MOUSE_MENU is zero, don't try to
4701 store things in it.
4702
4703 * window.c: Try to deal coherently with deleted windows:
4704 * (Flive_window_p): New function.
4705 (Qlive_window_p): New variable, to name it in type errors.
4706 (syms_of_window): Defsubr Slive_window_p, init and staticpro
4707 Qlive_window_p.
4708 * lisp.h (CHECK_LIVE_WINDOW): New predicate.
4709 (Qlive_window_p): Extern declaration for this.
4710 * window.c (decode_window): Use CHECK_LIVE_WINDOW instead of
4711 CHECK_WINDOW; the only thing a user should be able to do to a dead
4712 window is check its type.
4713 (Fcoordinates_in_window_p, Fnext_window, Fprevious_window,
4714 Fdelete_other_windows, Fselect_window, Fsplit_window,
4715 Fscroll_other_window): Use CHECK_LIVE_WINDOW instead of
4716 CHECK_WINDOW.
4717 * frame.c (make_frame_without_minibuffer, Fwindow_frame): Same.
4718 * sunfns.c (Fsun_menu_internal): Same.
4719 * xmenu.c (Fx_popup_menu): Same.
4720 * window.c (Fdelete_window): If WINDOW is a deleted window, do nothing;
4721 there's no harm in allowing people to delete deleted windows.
4722 Delete all of WINDOW's subwindows, too.
4723 (delete_all_subwindows): Set the buffer, vchild, and hchild of the
4724 windows we delete all to nil.
4725 * window.h (struct window): Doc fix.
4726
4727 * window.c (Fwindow_minibuffer_p): Make the WINDOW argument
4728 optional, like all the other window-querying functions.
4729
4730 * window.c (Fpos_visible_in_window_p): Use decode_window to handle
4731 the WINDOW argument, instead of writing out that function's code.
4732
4733 * window.c (check_frame_size): Don't define this extern; that
4734 doesn't mean anything.
4735
4736 * xterm.c: Clean up some of the caps lock handling:
4737 (x_shift_lock_mask): New variable.
4738 (x_find_modifier_mappings): Set it, based on the modifier mappings.
4739 (x_convert_modifiers): Use x_shift_lock_mask, instead of assuming
4740 that the lock bit always means to shift the character.
4741 (XTread_socket): When handling KeyPress events, don't pass an
4742 XComposeStatus structure along to XLookupString. When handling
4743 MappingNotify events, call XRefreshKeyboardMapping for both
4744 MappingModifier and MappingKeyboard events, not just the latter.
4745
4746 1992-10-15 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4747
4748 * window.c (Fdelete_window): Choose an alternative when we delete
4749 any frame's selected window, not just when we delete the selected
4750 frame's selected window.
4751
4752 1992-10-15 Roland McGrath (roland@geech.gnu.ai.mit.edu)
4753
4754 * vm-limit.c (check_memory_limits): Declare __morecore.
4755 Remove unused variable `result'.
4756
4757 1992-10-15 Roland McGrath (roland@geech.gnu.ai.mit.edu)
4758
4759 * vm-limit.c (morecore_with_warning): Removed.
4760 (check_memory_limits): New fn; most code from
4761 morecore_with_warning, but only checks limits, doesn't do any work.
4762 (memory_warnings): Set __after_morecore_hook to check_memory_limits;
4763 don't set __morecore.
4764
4765 1992-10-14 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
4766
4767 * intervals.c (traverse_intervals): New parameter `depth'.
4768 Increment this when passing recursively.
4769
4770 * alloc.c (mark_interval_tree): Pass 0 as initial depth argument
4771 to traverse_intervals.
4772
4773 * xterm.h: Declaration of struct face removed.
4774
4775 * dispextern.h: New element of frame structure `max_ascent'.
4776 Removed elements `nruns' and `face_list'.
4777 LINE_HEIGHT and LINE_WIDTH macros removed.
4778 New struct face with associated typedef FACE declared, along with
4779 accessing macros.
4780
4781 * scroll.c (do_scrolling): Don't bcopy non-existant `nruns' or
4782 `face_list' elements. Do copy new `max_ascent' frame element.
4783
4784 * dispnew.c (scroll_frame_lines): All references to frame elements
4785 `nruns' and 'face_list' removed. Handle new element `max_ascent'.
4786 (free_frame_glyphs): Don't free nonexistent elements `nruns' and
4787 `face_list'; do free `max_ascent' element.
4788 (make_frame_glyphs): Don't allocate nonexistent elements `nruns'
4789 and `face_list'; do allocate `max_ascent' element.
4790 (update_frame): Replaced use of macro LINE_HEIGHT with element
4791 frame element `pix_height'.
4792
4793 1992-10-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4794
4795 * keyboard.c (modify_event_symbol): Arrange to set the
4796 click_modifier bit on otherwise unmodified mouse clicks.
4797
4798 * keymap.c (store_in_keymap): Don't forget to QUIT in the
4799 keymap-scanning loop. Don't treat vectors as binding tables if
4800 they're the wrong length.
4801
4802 1992-10-12 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
4803
4804 * keyboard.c (kbd_buffer_get_event): Remember that
4805 *mouse_position_hook may set *FRAME to 0; don't generate
4806 switch-frame events in this case. Fix fencepost bug in fetching
4807 events from keyboard buffer.
4808
4809 1992-10-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4810
4811 * ymakefile (ralloc.o): Delete dep mem_limits.h
4812 (vm-limit.o): Rename dep to mem-limits.h.
4813
4814 1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
4815
4816 * ralloc.c: Removed #include "mem-limits.h".
4817 [emacs]: Moved #undef NULL and #include "getpagesize.h" here.
4818 [! emacs]: #include <unistd.h>, <malloc.h>, <string.h>.
4819 (r_alloc_init): Use NIL, not NULL.
4820
4821 1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
4822
4823 * ralloc.c (sbrk): Removed decl.
4824 (real_morecore): New static variable.
4825 (warnlevel, warn_function, check_memory_limits): Removed.
4826 (obtain): Don't call check_memory_limits.
4827 (obtain, relinquish, r_alloc_sbrk): Use (*real_morecore) in place
4828 of sbrk; it returns 0 for errors, not -1.
4829 (r_alloc_init): Set real_morecore to old value of __morecore.
4830 Don't initialize lim_data or warnlevel, and don't call get_lim_data.
4831 (memory_warnings): Function removed.
4832
4833 1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
4834
4835 * vm-limit.c (warnfunction): Renamed to warn_function (was used
4836 inconsistently).
4837 (morecore_with_warning, memory_warnings): Change callers (were
4838 inconsistent).
4839
4840 1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
4841
4842 * mem-limits.h (start_of_data): Removed extra defn.
4843 (get_lim_data): Define to return void.
4844
4845 1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
4846
4847 * mem_limits.h: File renamed to mem-limits.h.
4848 * vm-limit.c, ralloc.c: Changed #includes.
4849
4850 1992-10-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4851
4852 * syntax.c (find_defun_start): scan_buffer returns start of line;
4853 no need to advance over newline.
4854
4855 * vm-limit.c (morecore_with_warning):
4856 Reduce warnlevel when usage drops far enough.
4857 * ralloc.c (check_memory_limits): Likewise.
4858
4859 * vm-limit.c (memory_warnings): Renamed from malloc_init.
4860 Don't set lim_data or warnlevel. Use start_of_data if start is 0.
4861 * ralloc.c (memory_warnings): New function; just set warning data.
4862 Use start_of_data if start is 0.
4863 * emacs.c (Fdump_emacs, main): Use memory_warnings.
4864
4865 * mem_limits.h [!emacs]: Don't define POINTER, SIZE or NULL.
4866 (start_of_data): Define as macro, if !emacs.
4867 * ralloc.c [!emacs]: Don't include config.h or lisp.h;
4868 instead, use stddef.h. Define POINTER, SIZE, EXCEEDS_LISP_PTR.
4869 * vm-limit.c [!emacs]: Don't include config.h or lisp.h;
4870 instead, use stddef.h. Define POINTER, SIZE, EXCEEDS_LISP_PTR.
4871
4872 * ralloc.c [!emacs] (safe_bcopy): Define as macro using memmove.
4873 (r_alloc_free): Clear *ptr.
4874 (r_alloc_init): Renamed from malloc_init. Take no args.
4875 Make it static; declare at top of file.
4876 (r_alloc): Call r_alloc_init, if not initialized yet.
4877 (r_alloc_initialized): Renamed from malloc_initialized; moved to top.
4878 (ROUNDUP): Subtract 1, in case arg is already aligned.
4879
4880 * mem_limits.h (EXCEEDS_LISP_PTR): Renamed from EXCEEDS_ELISP_PTR.
4881 * vm-limit.c (morecore_with_warning): Use EXCEEDS_LISP_PTR.
4882 * ralloc.c (check_memory_limits): Use EXCEEDS_LISP_PTR.
4883
4884 1992-10-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4885
4886 * keyboard.c (Vlast_event_frame): Make this variable exist even
4887 when MULTI_FRAME isn't #defined. People might find it
4888 necessary for writing correct programs, even when the programs
4889 don't explicitly use multiple frames.
4890 (read_char, kbd_buffer_store_event, kbd_buffer_get_event): No need
4891 to test MULTI_FRAME before setting Vlast_event_frame.
4892 (syms_of_keyboard): DEFVAR Vlast_event_frame whether or not
4893 MULTI_FRAME is defined.
4894
4895 * keyboard.c: Add switch-frame events.
4896 (Qswitch_frame): New event header symbol.
4897 (head_table): Include Qswitch_frame in the table of event heads.
4898 (kbd_buffer_get_event): Detect when a frame switch has occurred,
4899 and return a frame switch event before the enqueued event.
4900 (make_lispy_switch_frame): New function.
4901 (unread_switch_frame): New variable.
4902 (read_key_sequence): Don't throw away the key sequence if the user
4903 switches frames in the middle of the sequence. Instead, when we
4904 receive a switch-frame event in the middle of a key sequence, save
4905 it, and stuff it into unread_switch_frame when the sequence
4906 is complete.
4907 (read_char): If unread_switch_frame is set, return that value.
4908 (command_loop_1): No need to check Vlast_event_frame and select
4909 new frames here; that's taken care of by switch-frame events now.
4910 (syms_of_keyboard): Initialize and staticpro unread_switch_frame.
4911 * keyboard.h (Qswitch_frame): Declare this extern.
4912
4913 * frame.c: #include "commands.h" and "keyboard.h".
4914 (Fselect_frame): Make this interactive, and accept
4915 switch-frame events as arguments, so we can bind this function to
4916 switch-frame events.
4917 (keys_of_frame): New function; bind switch-frame to Fselect_frame.
4918 * emacs.c (main): Call keys_of_frame.
4919 * keymap.c (initial_define_lispy_key): New function, for defining
4920 non-ascii keys.
4921 * ymakefile: Note that frame.o depends on commands.h and keyboard.h.
4922
4923 * callint.c (Fcall_interactively): Allow multiple 'e' specs.
4924 (Finteractive): Doc fix.
4925 * keyboard.h (this_command_keys, this_command_key_count): Added
4926 external declarations.
4927
4928 * keymap.c (access_keymap): Treat bindings for Qt as default
4929 bindings, when new argument T_OK is non-zero.
4930 (get_keyelt, Fdefine_key, Flookup_key): Call access_keymap with
4931 T_OK false.
4932 * keyboard.c (follow_key, read_key_sequence): Call access_keymap
4933 with T_OK true.
4934
4935 * keyboard.c (apply_modifiers): Copy the value of BASE's
4936 Qevent_kind property to the new symbol.
4937
4938 * keyboard.c (syms_of_keyboard): Qevent_kind should be initialized
4939 to intern ("event-kind"), not intern ("event-type").
4940
4941 1992-10-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4942
4943 * fileio.c (Fwrite_region): If VISIT is a file name,
4944 use that as file name to visit, and print it in the message.
4945 Use it for file locking too.
4946
4947 * m-ibmps2-aix.h [__GNUC__ >= 2] (LIB_STANDARD): Don't define.
4948
4949 1992-10-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
4950
4951 * ymakefile (FLOATSUP): Renamed to FLOAT_SUPPORT.
4952 (FRAME_SUPPORT, VMS_SUPPORT): New macros.
4953 (lisp): Rebuild this from loadup.el, using the _SUPPORT macros.
4954
4955 * ymakefile [HAVE_X_WINDOWS, not NO_X_MENU, HAVE_X11] (LIBXMENU):
4956 Link against -loldX, to get the association table functions.
4957
4958 * xterm.c, xrdb.c: #include <stdio.h> before "xterm.h", to avoid
4959 warnings about redefining NULL under GCC 2.2.2.
4960
4961 1992-10-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4962
4963 * m/pyrmips.h: New file.
4964
4965 * s/aix3-1.h (PTY_ITERATION, etc.): Defined.
4966 (FIRST_PTY_LETTER): Deleted.
4967
4968 1992-10-07 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
4969
4970 * m/sparc.h: Include <sys/param.h>, to define the FSCALE constant.
4971
4972 * ymakefile (YMF_PASS_LDFLAGS): Refer to the prefix-args program
4973 using "./prefix-args", not just "prefix-args"; some people don't
4974 have . in their paths.
4975
4976 1992-10-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4977
4978 * link.com: Use gcclib if compiling with GCC.
4979
4980 * fileio.c (directory_file_name): Don't clobber the envvar
4981 when handling top-level rooted dir.
4982
4983 * ymakefile (LIB_STANDARD): If ORDINARY_LINK, default this to empty.
4984
4985 * m/ibmps2-aix.h [USG_SHARED_LIBRARIES]: Define ORDINARY_LINK.
4986 Undef LIB_STANDARD. Modify LD_SWITCH_MACHINE.
4987
4988 * unexnext.c: New file.
4989 * emacs.c (main) [NeXT]: Call malloc_jumpstart.
4990
4991 1992-10-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
4992
4993 * window.c (window_loop): Pass 2nd arg to Fother_buffer.
4994 * frame.c (make_frame): Likewise.
4995 * callint.c (Fcall_interactively): Likewise.
4996 * buffer.c (Fkill_buffer): Likewise.
4997 (Fswitch_to_buffer, Fpop_to_buffer, Fbury_buffer): Likewise.
4998
4999 1992-10-03 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
5000
5001 * keyboard.c (read_key_sequence): Treat mouse clicks on non-text
5002 areas as if they were prefixed with the symbol denoting the
5003 area clicked on - `mode-line', etcetera.
5004 When we throw away an unbound `down-' event, reset mock_input as
5005 well.
5006
5007 * keyboard.c (Qevent_symbol_element_mask, Qmodifier_cache): Two
5008 new symbols, used to implement caches on event heads. These take
5009 the place of some of the caching that modify_event_symbol used to do.
5010 (parse_modifiers_uncached, apply_modifiers_uncached,
5011 lispy_modifier_list, parse_modifiers, apply_modifiers): New
5012 functions, which replace format_modifiers and reorder_modifiers;
5013 they can be useful elsewhere too.
5014 (reorder_modifiers, modify_event_symbol): Re-implement these in
5015 terms of parse_modifiers and apply_modifiers. modify_event_symbol
5016 now uses a much simpler cache, and takes advantage of the caches
5017 maintained by parse_ and apply_modifiers.
5018 (follow_key): Don't modify NEXT if KEY has no bindings.
5019 (read_key_sequence): Drop unbound `down-' events, and turn unbound
5020 `drag-' events into clicks if that would make them bound. This
5021 benefits from the rewriting of the modifier key handling code.
5022 (syms_of_keyboard): Initialize and intern
5023 Qevent_symbol_element_mask and Qmodifier_cache.
5024
5025 * keyboard.c (echo_prompt): Terminate the echo buffer properly
5026 even when the string is too long to display in the minibuffer.
5027 (echo_truncate): Just return echoptr - echobuf, rather than
5028 calling strlen on echobuf.
5029
5030 * alloc.c (Fmemory_limit): New function.
5031 (syms_of_alloc): Defsubr it.
5032
5033 * window.c (SAVE_WINDOW_DATA_SIZE): Define this using sizeof,
5034 instead of just saying it's 7; that way, we won't get screwed if
5035 we add members to struct save_window_data.
5036
5037 * window.c (struct save_window_data): Save the currently selected
5038 frame, too.
5039 (Fset_window_configuration): Restore the frame's selected window
5040 using Fselect_window, and then restore the selected frame using
5041 Fselect_frame.
5042 (Fcurrent_window_configuration): Record the currently selected
5043 frame. Update docstring to describe the information now recorded.
5044
5045 1992-10-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
5046
5047 * process.c (wait_reading_process_input): Ultrix select seems to
5048 return ENOMEM when interrupted. So, under Ultrix, treat ENOMEM
5049 like EINTR.
5050
5051 * keyboard.c (modifier_names): The modifier is named "control",
5052 not "ctrl".
5053
5054 * keyboard.c (modify_event_symbol): Make sure that the unmodified
5055 event header gets the proper properties set on it, by recursing
5056 and letting the same code build the properties for all event symbols.
5057
5058 * keyboard.c (Qmouse_click): Fix typo which assigned `mouse-click'
5059 symbol to Qmouse_movement.
5060
5061 1992-10-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5062
5063 * undo.c (Fprimitive_undo):
5064 When undoing an insert, move point and then delete.
5065
5066 1992-10-02 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
5067
5068 * intervals.c: `copy_intervals' no longer static.
5069
5070 * intervals.h: Declare `copy_intervals'.
5071
5072 * buffer.c: #include intervals.h.
5073
5074 * ymakefile: New macro "INTERVALS", controlled by "USE_INTERVALS",
5075 which defines the interval include file "intervals.h".
5076 New entries for "intervals.c" and "textprop.c".
5077
5078 * lisp.h: Declare Qbuffer_or_string_p.
5079
5080 1992-10-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
5081
5082 * xterm.c (x_find_modifier_meanings): If there are no
5083 modifiers containing a Meta_ keysym, use the Alt keysyms to
5084 denote meta.
5085 (construct_mouse_click): Set the down_modifier bit on mouse
5086 button press events.
5087 (XTread_socket): When processing keypress events, use
5088 x_meta_mod_mask when processing ordinary ASCII characters, not
5089 just when processing function keys and other non-ASCII events.
5090 (XTread_socket): If we receive a MappingNotify event with the
5091 `request' member set to `MappingModifier', then call
5092 x_find_modifier_meanings to refresh x_meta_mod_mask.
5093
5094 * window.c (Fset_window_configuration): Clean up the way we save
5095 and restore the frame's size.
5096
5097 * termhooks.h (struct input_event): Doc fix.
5098 (NUM_MOUSE_BUTTONS): New constant.
5099 (click_modifier): New modifier.
5100 (NUM_MODIFIER_COMBOS): Removed.
5101
5102 * keyboard.h (EVENT_HAS_PARAMETERS): Definition changed - all events
5103 are not 5 elements long.
5104 (EVENT_HEAD): Work correctly on all sorts of events, not just
5105 events with parameters.
5106 (EVENT_WINDOW, EVENT_BUFFER_POSN, EVENT_SCROLLBAR_BUTTON,
5107 EVENT_WINDOW_POSN, EVENT_TIMESTAMP): These aren't useful
5108 anymore; this information may appear twice in an event. These
5109 are replaced by the POSN_ accessors, which are meant to be
5110 composed with the EVENT_START and EVENT_END accessors.
5111 (EVENT_START, EVENT_END): Two new accessors, to get at the
5112 starting and ending position of an event.
5113 (POSN_WINDOW, POSN_BUFFER_POSN, PONS_SCROLLBAR_BUTTON,
5114 POSN_WINDOW_POSN, POSN_TIMESTAMP): New macros, to futher
5115 diasassemble the values returned by EVENT_START and EVENT_END.
5116 * keyboard.c (echo_char, read_char): Apply EVENT_HEAD without first
5117 testing for EVENT_HAS_PARAMETERS; EVENT_HEAD works properly on
5118 all sorts of events now.
5119 (read_key_sequence): Use the new accessors to decide in which window
5120 an event occurred.
5121 * keymap.c (access_keymap, store_in_keymap,
5122 Fsingle_key_description): No need to check for
5123 EVENT_HAS_PARAMETERS before using EVENT_HEAD; the latter now
5124 works properly on all sorts of events.
5125
5126 * keyboard.c (Qevent_unmodified): Replaced by...
5127 (Qevent_symbol_elements): New property.
5128 (syms_of_keyboard): initialize and staticpro the latter, not the
5129 former.
5130 * keyboard.h (Qevent_unmodified): Extern declaration replaced by...
5131 (Qevent_symbol_elements): This.
5132 (EVENT_HEAD_UNMODIFIED): Use the Qevent_symbol_elements
5133 property, rather than the Qevent_unmodified property.
5134
5135 * keyboard.c (readable_events): This doesn't need to scan and
5136 discard mouse release events anymore; it just uses
5137 EVENT_QUEUES_EMPTY.
5138 (kbd_buffer_get_event): No need to skip past mouse release events.
5139
5140 * keyboard.c (button_down_location): New variable, which
5141 stores the location at which each button was pressed, so we
5142 can build a complete drag event when the button is released.
5143 (make_lispy_event): When a button is pressed, record its
5144 location in button_down_location, and turn it into a `down'
5145 event. When a button is released, compare its release
5146 location with its press location, and decide whether to call
5147 it a `click' or `drag' event.
5148 Change mouse movement events to be arranged like click events.
5149 (format_modifiers): Note that the click modifier has no
5150 written representation.
5151 (modifier_names, modifer_symbols): New variables, used to
5152 create the Qevent_symbol_elements property.
5153 (modify_event_symbol): Change the format of the modified
5154 symbol cache; there are too many modifier bits now to use a
5155 vector indexed by a modifier mask. Use an assoc-list instead.
5156 Document the format of the cache.
5157 Put the Qevent_symbol_elements property on each new symbol,
5158 instead of a Qevent_unmodified property.
5159 (symbols_of_keyboard): Put Qevent_symbol_elements properties on
5160 the symbols specified in head_table, not Qevent_unmodifed properties.
5161 Initialize and staticpro modifier_symbols, and staticpro the
5162 window elements of button_down_location.
5163
5164 * xmenu.c: #include "keyboard.h".
5165 (Fx_popup_menu): Use the event accessors defined in keyboard.h,
5166 instead of writing out cars and cdrs.
5167 * ymakefile: Note that xmenu.o depends on keyboard.h.
5168
5169 1992-10-02 Joseph Arceneaux (jla@wookumz.gnu.ai.mit.edu)
5170
5171 * textprop.c: Conditionalize all functions on
5172 "USE_TEXT_PROPERTIES".
5173 * intervals.c: Conditionalize all functions on
5174 "USE_TEXT_PROPERTIES".
5175 Removed #include of "screen.h".
5176
5177 * alloc.c: #include "intervals.h".
5178 (init_intervals, make_interval,
5179 mark_interval, mark_interval_tree): New functions conditionally
5180 defined.
5181 (make_uninit_string): Call INITIALIZE_INTERVAL.
5182 (INIT_INTERVALS, UNMARK_BALANCE_INTERVALS, MARK_INTERVAL_TREE):
5183 New macros, conditionally defined.
5184 (mark_object): Call MARK_INTERVAL_TREE in case Lisp_String.
5185 (gc_sweep): If text properties are in use, place all unmarked
5186 intervals on the free list. Call UNMARK_BALANCE_INTERVALS on
5187 `buffer->intervals' when unmarking `buffer'.
5188 (compact_strings): Include INTERVAL_PTR_SIZE in calculation for
5189 target of bcopy when relocating strings.
5190 (init_alloc_once): Call INIT_INTERVALS.
5191 (make_pure_string): Include INTERVAL_PTR_SIZE in calculation of
5192 `size'.
5193 Moved static declaration of `mark_object' and other functions up
5194 in the file.
5195
5196 * fileio.c (Finsert_file_contents): Call offset_intervals if
5197 text was actually inserted.
5198 #include "intervals.h".
5199
5200 1992-09-30 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
5201
5202 * data.c: Qbuffer_or_string_p added.
5203
5204 * syntax.c (describe_syntax): Use insert_char to insert `match'.
5205
5206 * buffer.c (reset_buffer): Do INITIALIZE_INTERVAL on the buffer's
5207 interval component.
5208 (Fkill_buffer): Likewise.
5209
5210 * editfns.c (make_buffer_string): Call copy_intervals_to_string.
5211 (Finsert_buffer_substring): Call graft_intervals_into_buffer.
5212 #include "intervals.h".
5213
5214 * insdel.c: #include "intervals.h"
5215 (prepare_to_modify_buffer): Call verify_interval_modification.
5216 (insert_from_string): Call offset_intervals and
5217 graft_intervals_into_buffer.
5218 (del_range): Call offset_intervals.
5219 (insert): Call offset_intervals.
5220
5221 * emacs.c: #include "intervals.h".
5222 (main): Call syms_of_textprop. This is only really present if
5223 Emacs is compiled with USE_TEXT_PROPERTIES defined.
5224
5225 * buffer.h: New macro TEMP_SET_PT. If intervals are used, SET_PT
5226 and TEMP_SET_PT are function calls.
5227 Similarly for BUF_SET_PT and BUF_TEMP_SET_PT.
5228 Added DECLARE_INTERVALS to buffer structure to conditionally
5229 compile an interval tree into it.
5230
5231 * intervals.h: Declare temp_set_point.
5232
5233 1992-09-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
5234
5235 * ymakefile (config.h): Doc fix.
5236
5237 1992-09-30 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
5238
5239 * config.h.in: Added a slot for definition of USE_TEXT_PROPERTIES,
5240 controlling compilation of interval code.
5241 If using GNUC, support inline functions.
5242
5243 * lisp.h: Conditionally define interval structure and macros.
5244 Add DECLARE_INTERVALS to struct Lisp_String.
5245
5246 1992-09-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
5247
5248 * buffer.c (Fother_buffer): Add back the VISIBLE_OK argument. It
5249 got removed with no comment or ChangeLog entry, and
5250 append-to-buffer uses it.
5251
5252 * window.c (struct save_window_data): Add a member called
5253 focus_frame, to save and restore the screen's focus frame.
5254 (Fset_window_configuration): Redirect the frame's focus as
5255 indicated in the window configuration.
5256 (Fcurrent_window_configuration): Record the frame's current focus.
5257 * minibuf.c (read_minibuf): Don't bother to save the current
5258 frame's focus, and have read_minibuf_unwind restore it; saving and
5259 restoring the window configurations will take care of that.
5260 (read_minibuf_unwind): Don't worry about restoring the frame's focus.
5261
5262 * window.c (Fset_window_configuration): Don't select the frame
5263 just because we restored its configuration.
5264
5265 * window.c (Fset_window_configuration): Don't forget to set the
5266 frame's selected window when we can't call Fselect_window.
5267
5268 * xterm.c (x_meta_mod_mask): New variable, indicating which X
5269 modifier bits denote meta keys.
5270 (x_find_modifier_meanings): New function, to set x_meta_mod_mask.
5271 (x_convert_modifiers): Use that.
5272 (x_term_init): Call x_find_modifier_meanings.
5273
5274 * data.c (Fmake_local_variable): If SYM forwards to a C variable,
5275 swap in the value for the current buffer immediately.
5276
5277 * lisp.h: Doc elaboration for Lisp_Buffer_Local_Value.
5278
5279 1992-09-29 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
5280
5281 * textprop.c (Ferase_text_properties): Merge intervals when
5282 possible.
5283
5284 1992-09-29 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
5285
5286 * xselect.c (Qcut_buffer0): Symbol removed; we're using a new
5287 interface to the cut buffer now.
5288 (NUM_CUT_BUFFERS, cut_buffer_atom, cut_buffer_value,
5289 cut_buffer_cached, cut_buffer_just_set): New variables.
5290 (Fx_own_selection, Fx_selection_value): Dike out the code to
5291 handle CUT_BUFFER0 requests.
5292 (Fx_get_cut_buffer, Fx_set_cut_buffer, x_watch_cut_buffer_cache,
5293 x_invalidate_cut_buffer_cache): New functions.
5294 (syms_of_xselect): Don't bother to initialize Qcut_buffer0.
5295 Initialize and staticpro cut_buffer_value, and defsubr
5296 Sx_get_cut_buffer and Sx_set_cut_buffer.
5297 * xterm.c (XTread_socket): Pass PropertyNotify events from the
5298 root window to x_invalidate_cut_buffer_cache.
5299 (x_term_init): Call x_watch_cut_buffer_cache here.
5300
5301 * keymap.c (access_keymap): Don't forget to QUIT while scanning
5302 the keymap.
5303
5304 * keyboard.c (recent_keys): This needs to be staticpro'ed. Change
5305 it from a C array, which is a pain in the neck to staticpro, into
5306 a lisp vector, which is easier.
5307 (read_char, Frecent_keys): Access recent_keys as a lisp vector,
5308 not a C array.
5309 (syms_of_keyboard): Set recent_keys to be a vector, and staticpro it.
5310
5311 * ymakefile (xfns.o): This doesn't depend on xselect.c.
5312
5313 * xterm.h (ROOT_WINDOW): Use the DefaultScreen macro, not the
5314 XDefaultScreen function.
5315
5316 * frame.c (Fdelete_frame): Call Fselect_frame with the appropriate
5317 number of arguments.
5318
5319 * data.c (Frem): Use the `fmod' function under SunOS, Ultrix, and
5320 HP/UX, not just under USG systems.
5321
5322 * buffer.c (Fbury_buffer): This used to undisplay the buffer being
5323 buried only if the BUFFER argument was nil. Instead, undisplay the
5324 buffer whenever it's displayed in the selected window, no matter
5325 how it was specified by BUFFER. This is how it behaves in 18.58,
5326 and I can't find any ChangeLog entry in 18.58 or 19.0 saying why
5327 they differ. Fix the doc string accordingly.
5328
5329 1992-09-28 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
5330
5331 * frame.c (Fselect_frame, Fframe_root_window,
5332 Fframe_selected_window, Fnext_frame, Fmake_frame_visible,
5333 Fmake_frame_invisible, Ficonify_frame): Doc fixes.
5334
5335 * ralloc.c: Since the users of the relocating allocation code
5336 handle memory exhaustion, it's better to return an error code to
5337 them than to call abort.
5338 (obtain): If we cannot allocate more memory, don't call
5339 abort. Instead, return non-zero iff the allocation is successful.
5340 (get_more_space): If obtain fails, return zero.
5341 (get_bloc): Return zero if we can't allocate the new bloc.
5342 (r_alloc_sbrk): Return zero if we can't allocate more memory.
5343 (r_alloc): If we can't allocate more memory, set *PTR to zero and
5344 return zero.
5345 (r_re_alloc): If we can't allocate more memory, leave *PTR
5346 unchanged, and return zero.
5347
5348 * ralloc.c (warnfunction): Renamed to warn_function; users changed.
5349
5350 1992-09-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5351
5352 * insdel.c (del_range): Call record_delete before updating point.
5353
5354 * fileio.c (Finsert_file_contents): Do record_insert, then inc MODIFF.
5355
5356 * undo.c (record_delete): Record pos before the deletion.
5357 (Fprimitive_undo): Go back to recorded position.
5358
5359 1992-09-28 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
5360
5361 * window.c (delete_all_subwindows): Save the window's buffer in
5362 its `height' field; we may need to know the window's old buffer
5363 once we have restored it from a window configuration.
5364 (Fset_window_configuration): When we restore a window, if its
5365 `height' field is a buffer, restore its `buffer' field from that.
5366 This allows us to leave the window's buffer unchanged if the
5367 buffer recorded in the configuration is dead.
5368
5369 * window.c (delete_all_subwindows): Removed unused variable named
5370 "count".
5371
5372 1992-09-27 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
5373
5374 * keyboard.c (read_char): If we're returning an event from a
5375 macro, set Vlast_event_frame to Qmacro, instead of leaving it set
5376 to the frame of the previous real event.
5377 (read_key_sequence): If Vlast_event_frame isn't a frame, don't
5378 bother switching buffers.
5379 (syms_of_keyboard): Doc fix for Vlast_event_frame.
5380 (Vlast_event_frame): Doc fix.
5381
5382 * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
5383 down_modifier, drag_modifier): New modifiers, to support the new
5384 input system. Re-arranged modifiers so that their bits are in
5385 canonical order; this makes reorder_modifiers slightly simpler.
5386 * keyboard.c (format_modifiers, reorder_modifiers): Handle the new
5387 modifier bits.
5388
5389 * keymap.c (access_keymap): Remove code to notice bindings for
5390 Qt.
5391
5392 1992-09-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5393
5394 * xmenu.c (single_keymap_panes): Handle vectors properly.
5395
5396 1992-09-25 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
5397
5398 * keymap.c (Fwhere_is_internal): Don't forget to advance map to
5399 the next element when we find something that is neither a vector
5400 nor a cons. Don't forget to QUIT in the appropriate places,
5401 either.
5402
5403 1992-09-23 Joseph Arceneaux (jla@geech.gnu.ai.mit.edu)
5404
5405 * textprop.c (Fset_text_properties): Merge adjacent intervals with
5406 the same properties.
5407 (Fnext_single_property_change, Fprevious_single_property_change):
5408 New subrs.
5409
5410 * intervals.c (merge_interval_left, merge_interval_right): Abort
5411 if caller tries to merge first (or last, respectively) interval.
5412 Delete the interval node after merging.
5413 (copy_intervals): Use `split_interval_right' rather than creating
5414 new intervals with make_new_interval and attaching them
5415 explicitly.
5416 (verify_interval_modification): Changed error message. GCPRO
5417 hooks before calling Fnreverse, and correctly Fcdr down the list.
5418 Also, don't cons multiple copies of the same consecutive
5419 modification hook.
5420 (temp_set_point): New function.
5421 (set_point): Call point-left and point-entered hooks if moving
5422 between text with different properties. Use the old and new
5423 positions as arguments to these calls.
5424
5425 * intervals.c, intervals.h: (map_intervals, make_buffer_interval,
5426 make_string_interval,run_hooks): Deleted.
5427
5428 1992-09-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
5429
5430 * keymap.c (DENSE_TABLE_SIZE): Doc fix.
5431 (keymap_table): Function removed; this function exists only to
5432 support an incorrect understanding of the format of keymaps.
5433 (access_keymap, store_in_keymap, Fcopy_keymap,
5434 Faccessible_keymaps): Correctly handle vectors at any point in the
5435 keymap; don't assume it must be at the front.
5436 (describe_map): Instead of calling describe_vector on the vector
5437 in the cadr of the keymap (if present) and then calling
5438 describe_alist to do the rest, just call describe_map_2.
5439 (describe_alist): Renamed to describe_map_2; call describe_vector
5440 when we encounter a vector in the list.
5441 * xmenu.c (single_keymap_panes): Comment out the code which
5442 tries to handle a dense keymap's table; it uses keymap_table, and
5443 the rest of the code never uses the table contents anyway.
5444
5445 * keymap.c (access_keymap, store_in_keymap): Clarify error message
5446 for non-ASCII characters.
5447
5448 * process.c [SIGCHLD && !BSD && !UNIPLUS && !HPUX]
5449 (create_process): #if 0 out the code which sets the child's
5450 handler for SIGCHLD to sigchld; the code which gives sigchld its
5451 value has been diked out under these CPP symbols, so this should
5452 be diked out too.
5453
5454 * indent.c (Fmove_to_column): Pass the right number of arguments
5455 to Findent_to.
5456
5457 1992-09-22 Jim Blandy (jimb@kropotkin.gnu.ai.mit.edu)
5458
5459 * emacs.c (emacs_priority): Doc fix.
5460 (main): Use nice, not setpriority; we just need a
5461 simple, portable call to nice here.
5462 * callproc.c (child_setup): Use nice, not setpriority.
5463 * sysdep.c (sys_suspend): Don't try to use "nice (- nice (0))" to
5464 set the subshell's priority to normal; nice doesn't return a
5465 defined value on all systems. Instead, since emacs_priority gives
5466 the priority that Emacs was nastied to, we can use it to reset the
5467 priority in a straightforward way.
5468 [BSD4_1], [USG], [VMS] (setpriority): Remove dummy and
5469 compatibility definitions of setpriority.
5470
5471 * keymap.c (access_keymap): Return the binding of Qt as the
5472 binding for all unbound characters.
5473
5474 * fileio.c (syms_of_fileio): Don't try to defsubr Sunix_sync
5475 unless it's actually been defined - that is, if unix is #defined.
5476
5477 * xrdb.c (x_get_resource): Cast the value being assigned to
5478 ret_value->addr, rather than ret_value->addr itself; only GCC
5479 allows you to cast lvalues.
5480
5481 * eval.c (unbind_catch): Do the long-jump here. Take a VALUE
5482 argument, which specifies the value to return to the catch, or the
5483 data to give to the condition handler. Renamed to
5484 unwind_to_catch, to reflect new role.
5485 (Fsignal, Fthrow): Removed code to set catch tag value and do the
5486 long-jump; this is taken care of by unwind_to_catch.
5487
5488 1992-09-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5489
5490 * alloc.c (mark_object): Avoid car recursion on cons with nil in cdr.
5491 Avoid recursion on constants-vector of a compiled function.
5492
5493 * oldXMenu: Symlink deleted; anything that uses it needs fixing
5494 in any case to work properly on systems without symlinks.
5495
5496 1992-09-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5497
5498 * s/sol2.h: New file.
5499
5500 * fileio.c: Don't include sys/dir.h.
5501
5502 * s/usg5-4.h (LIBS_SYSTEM): Move non-default libraries here.
5503 (LIB_STANDARD, START_FILES): Deleted.
5504 (ORDINARY_LINK): Defined.
5505
5506 * ymakefile [ORDINARY_LINK]: Default LD to $(CC)
5507 and make START_FILES and LIB_STANDARD empty.
5508 (C_SWITCH_X_MACHINE, C_SWITCH_X_SYSTEM): New macros, default empty.
5509 (CFLAGS): Use them.
5510
5511 1992-09-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5512
5513 * ymakefile (${etc}DOC): Use OBJECTS_SYSTEM and OBJECTS_MACHINE.
5514
5515 * dired.c [VMS]: Include string.h, rms.h, rmsdef.h.
5516 [VMS] (Ffile_version_limit): New function.
5517
5518 * sysdep.c (sys_suspend): Read EMACS_PARENT_PID envvar for parent.
5519
5520 * syntax.c (scan_lists): When searching back for comment:
5521 if comment-end is 2 chars, assume it does end a comment.
5522 Otherwise, scan back to previous comment-end to see if there's
5523 a comment starter between. Also record whether the string quotes
5524 between the start and the end are paired and uniform.
5525 If so, skip to comment starter. If not, scan from start of
5526 defun to find comment starter if any.
5527 (find_defun_start): New function.
5528
5529 * alloc.c (mark_object): Save last 500 values of objptr.
5530 Check for clobberage of ptr, when marking a vector.
5531
5532 1992-09-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5533
5534 * keymap.c (get_keyelt): Skip menu help string after menu item name.
5535
5536 1992-09-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5537
5538 * buffer.c (Fget_buffer_create): Doc fix.
5539
5540 * lisp.h (struct handler): Remove the poll_suppress_count member
5541 of this structure; it is always equal to the poll_suppress_count
5542 of its catchtag structure. The non-local exit code in eval.c is
5543 difficult enough to understand as it is; needless duplication
5544 doesn't help.
5545 * eval.c (Fcondition_case): Rearranged for clarity. Don't worry
5546 about setting h.poll_suppress_count; it's guaranteed to be the
5547 same as c.poll_suppress_count.
5548 (internal_condition_case): Don't worry about
5549 h.poll_suppress_count.
5550 (Fsignal): Use h->tag->poll_suppress_count instead of
5551 h->poll_suppress_count.
5552
5553 * eval.c (Fsignal): It's okay for the debugger to return to the
5554 caller if the caller was signalling a quit.
5555
5556 * eval.c (unbind_catch): Restore the polling suppression count
5557 here, instead of in Fsignal and Fthrow.
5558 (Fthrow, Fsignal): Don't restore the polling suppression count here.
5559
5560 * lisp.h (struct specbinding, struct handler): More documentation.
5561 * eval.c (struct catchtag): More documentation.
5562
5563 1992-09-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5564
5565 * ymakefile (LIBX): Don't use -loldX.
5566
5567 1992-09-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5568
5569 * minibuf.c (get_minibuffer): Enable undo in minibuffers.
5570
5571 1992-09-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5572
5573 * ymakefile (LIBXMENU): Check NO_X_MENU, not HAVE_X_MENU
5574 * emacs.c (main): Use X menu code if HAVE_X_WINDOWS and not NO_X_MENU.
5575 * keyboard.c (read_char_menu_prompt): Likewise.
5576
5577 * config.h.in: Delete everything about config.h.
5578
5579 * emacs.c: Eliminate HIGHPRI as compilation option.
5580 (emacs_priority): New C variable, also Lisp variable.
5581 (main): Set the priority iff emacs_priority is nonzero.
5582
5583 1992-09-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5584
5585 * eval.c (entering_debugger): Variable renamed
5586 when_entered_debugger, and is now a timestamp based on
5587 num_nonmacro_input_chars.
5588 (init_eval): Initialize when_entered_debugger, not
5589 entering_debugger.
5590 (call_debugger): Set when_entered_debugger to the current value of
5591 num_nonmacro_input_chars.
5592 (find_handler_clause): Don't call debugger unless
5593 num_nonmacro_input_chars is greater than when_entered_debugger;
5594 that way, we won't call the debugger unless the user has had a
5595 chance to take control.
5596 (Fbacktrace): Don't clear entering_debugger here.
5597 * keyboard.h (num_nonmacro_input_chars): Added extern declaration
5598 for this.
5599
5600 * fns.c (Fy_or_n_p): After testing for a QUIT, clear Vquit_flag.
5601 Otherwise, if Fy_or_n_p is called while Vinhibit_quit is true and
5602 the user presses C-g, this function goes into an infinite loop.
5603
5604 * dispnew.c (get_display_line): Don't abort if the frame is
5605 invisible; since unmap events are handled at the interrupt level,
5606 a screen may become invisible at any time.
5607
5608 1992-09-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5609
5610 * fileio.c (Fverify_visited_file_modtime):
5611 Pass buffer itself to handler, if have handler.
5612 (Fwrite_region): GCPRO around Fexpand_file_name, Ffile_name_directory.
5613 (Fread_file_name_internal): GCPRO around file name manip.
5614 (Ffile_writable_p, Ffile_readable_p): Use abspath, not filename,
5615 (Ffile_executable_p, Ffile_exists_p): to run the handler.
5616 (Fset_file_modes, Ffile_directory_p, Ffile_modes): Likewise.
5617 (Ffile_newer_than_file_p): GCPRO around expand_and_dir_to_file.
5618
5619 1992-09-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5620
5621 * s/bsd4-3.h: Give the BSD4_3 and BSD symbols the same numeric
5622 definitions they'll get in <sys/param.h>, to avoid warnings.
5623
5624 * m/hp9000s300.h: Don't include <sys/wait.h>. This really
5625 shouldn't be necessary.
5626 (BIG_ENDIAN): Define this as "4321", to agree with
5627 <machines/endian.h>, and avoid warnings.
5628
5629 * systime.h: Re-arrange inclusion of <sys/time.h> and <time.h> so
5630 that they don't both get included under BSD, and do both get
5631 included under AIX.
5632
5633 * xdisp.c (display_mode_line): If the only other frames are
5634 minibuffer frames, don't name the frame after the in the selected
5635 window. We can use Fnext_frame to do this test easily.
5636
5637 1992-09-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5638
5639 * process.c (Faccept_process_output): Initialize useconds.
5640
5641 * keyboard.c (num_nonmacro_input_chars): New variable.
5642 (read_char): Use num_nonmacro_input_chars to decide on auto-save & gc.
5643 Increment it when appropriate.
5644 (record_auto_save): Use num_nonmacro_input_chars.
5645
5646 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
5647 (Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name):
5648 Call find_file_handler.
5649 (syms_of_fileio): Set up Qfile_name_directory, etc.
5650 (Fcopy_file): Call find_file_handler for newname as well as for filename.
5651 (syms_of_fileio): Initialize Vfile_name_handler_alist.
5652
5653 1992-09-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5654
5655 * callint.c (Fcall_interactively): Remove the 'K' interactive
5656 code, in favor of 'e'; that's a better name.
5657
5658 1992-09-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5659
5660 * s/esix5r4.h: New file.
5661
5662 * sysdep.c (init_sys_modes): Handle VDSUSP like V_DSUSP.
5663 Use CDISABLE, not CDEL.
5664 Turn off IEXTEN if it exists.
5665 * systty.h (CDISABLE): New macro; may be defined from CDEL.
5666
5667 * keyboard.c (command_loop_1): Bind inhibit-quit to t when in Fsit_for.
5668
5669 1992-09-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5670
5671 * Makefile.in: Add comments starting with "# DIST: " explaining
5672 that this gets munged by the configure script.
5673
5674 1992-09-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5675
5676 * s-aix3-1.h (HAVE_GETHOSTNAME): Defined.
5677
5678 1992-09-09 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5679
5680 * frame.c (choose_minibuf_frame): abort if the selected frame has
5681 nil in its minibuffer_window slot; this shouldn't happen any more.
5682 * window.c (minibuffer_window): Accept an optional FRAME argument;
5683 if specified, return the minibuffer used by that frame.
5684
5685 * keymap.c (describe_buffer_bindings): Adjust key_heading to match
5686 the format used by describe_map_tree. Also, don't reprint the
5687 "key binding" header above the global bindings if we've already
5688 printed it for the local bindings; it's clear enough that the
5689 columns mean the same thing as above.
5690
5691 1992-09-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5692
5693 * ralloc.c (r_re_alloc): Instead of allocating a new bloc at the
5694 end of the heap, copying the data to it, and then freeing the
5695 original bloc, just expand the original block. This saves a copy
5696 and a call to sbrk, and also removes the large spike in memory
5697 allocation that would occur when resizing large buffers. And it's
5698 less code.
5699
5700 * keyboard.h (Vkeyboard_translate_table): Declare this extern
5701 here, so describe_buffer_bindings can use it.
5702 * keymap.c (describe_buffer_bindings): Declare buf and bufend...
5703
5704 1992-09-05 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5705
5706 * systime.h: Always #include <time.h>, not just when NEED_TIME_H
5707 is defined. It gets us struct tm. #include <sys/time.h> whenever
5708 HAVE_TIMEVAL is defined and NEED_TIME_H isn't.
5709
5710 * systime.h: Note that the tz_dsttime field of the struct timezone
5711 returned by gettimeofday doesn't say whether daylight savings is
5712 _currently- active; rather it specifies whether it is *ever*
5713 active.
5714 (EMACS_GET_TZ_OFFSET_AND_SAVINGS): Removed `savings_flag'
5715 argument, and renamed to EMACS_GET_TZ_OFFSET. Don't try to
5716 extract savings information. EMACS_CURRENT_TIME_ZONE should call
5717 localtime to figure out whether DST is active.
5718
5719 * m/hp9000s300.h: #include <sys/wait.h> before doing anything
5720 else, to avoid conflicts between the system's and Emacs's
5721 definitions of BIG_ENDIAN.
5722
5723 * keymap.c (describe_buffer_bindings): Set the current buffer to
5724 descbuf before calling current_minor_maps; that function's value
5725 depends on the values of buffer-local variables. Don't set the
5726 current buffer to Vstandard_output until afterwards.
5727
5728 * keymap.c (describe_buffer_bindings): If
5729 Vkeyboard_translate_table is in effect, describe its effects.
5730
5731 * frame.c (Fnext_frame): Doc fix.
5732
5733 * frame.c (prev_frame): #if 0'd out; nobody uses this.
5734
5735 * frame.c (next_frame): The logic which determines whether a frame
5736 is acceptable to return was misarranged; rewrote it.
5737 (prev_frame): Same thing.
5738
5739 1992-09-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5740
5741 * syntax.c (scan_lists): Improve smarts for backwards scan of comments.
5742 Don't modify comstyle inside that loop.
5743 If string quotes don't match up, don't take value from OFROM;
5744 instead, parse forward using scan_sexps_forward.
5745 (scan_sexps_forward): Return value via a pointer passed in.
5746 New element in state contains char addr of last comment-starter seen.
5747 (Fparse_partial_sexp): Change call to scan_sexps_forward.
5748
5749 1992-09-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5750
5751 * xmenu.c (xmenu_show): If no panes, just return.
5752
5753 * keyboard.c (last_nonmenu_event): New var.
5754 (syms_of_keyboard): New Lisp var.
5755 (read_key_sequence): Use that instead of prev_event.
5756 * commands.h (last_nonmenu_event): Declared.
5757 * callint.c (Fcall_interactively): For `K', use last_nonmenu_event.
5758 Make `e' alias for `K'.
5759
5760 1992-09-03 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5761
5762 * editfns.c (Fcurrent_time_string): Change docstring to
5763 indicate that we will probably add the timezone to the end,
5764 now that we have it available on many systems.
5765
5766 * xrdb.c: Don't include <X11/Xos.h>. Under R4, it stupidly
5767 insists on defining SIGCHLD, even if it already has a definition.
5768 (file_p): Use the constant 4 instead of R_OK; empirically, the
5769 number is more portable than the symbol if you count the #include
5770 hair you have to go through to get R_OK defined. Ffile_readable_p
5771 does this too.
5772
5773 * xterm.c (x_wm_set_size_hint): Set the base_width and base_height
5774 members of size_hints, if they're available (X11R4 and after);
5775 otherwise, approximate the right thing, by using min_width and
5776 min_height as the base size.
5777
5778 1992-09-02 Barry A. Warsaw (warsaw@anthem.nlm.nih.gov)
5779
5780 * Extended syntax.c in the following ways to support up to 2
5781 orthogonal comment styles per mode. This is needed for C++.
5782 Bit 6 of syntax table entry for a character indicates
5783 it is part of the `b' comment style. Otherwise it is
5784 part of the `a' style.
5785 * syntax.h (SYNTAX_COMMENT_STYLE): New macro.
5786 * syntax.c (Fmodify_syntax_entry): Set that flag for `b'.
5787 (describe_syntax): Print the `b' flag.
5788 (scan_lists, scan_sexps_forward): Handle the new flag.
5789 (Fparse_partial_sexp): Return new element in value.
5790
5791 1992-09-02 Roland McGrath (roland@geech.gnu.ai.mit.edu)
5792
5793 * fileio.c (syms_of_fileio): Doc fix for Vfile_name_handler_alist.
5794
5795 1992-09-02 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5796
5797 * keyboard.c (kbd_buffer_get_event): When performing the
5798 FRAME_FOCUS_FRAME redirection, don't modify the frame field of
5799 the event; that fatally corrupts mouse click events. Instead,
5800 just perform the redirection on the value assigned to
5801 Vlast_event_frame.
5802
5803 * callint.c (Fcall_interactively): Don't try to get the
5804 `enable-recursive-minibuffers' property from FUNCTION unless
5805 FUNCTION is actually a symbol; there are some cases where a key
5806 sequence is bound directly to a lambda form, and there's no reason
5807 to break these.
5808
5809 * window.c (Fset_window_configuration): Don't signal an error
5810 if the frame size saved in the window configuration doesn't
5811 match the frame's current size; instead, temporarily resize
5812 the frame while installing the window configuration. This is
5813 important because using the minibuffer saves and restores the
5814 current window configuration, and you don't want to signal an
5815 error just because the user resized the frame while using the
5816 minibuffer.
5817
5818 * doc.c (Fsnarf_documentation): Signal an error if this is
5819 called in a dumped Emacs.
5820
5821 * alloc.c (mark_object): mark a symbol's name after marking its
5822 value, function, and property list rather than before; this way,
5823 symbols' names are readable, giving us a chance to detect some
5824 kinds of heap corruption.
5825
5826 1992-09-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5827
5828 * emacs.c (__main, __do_global_dtors): New dummy functions.
5829 (__do_global_ctors_aux, __do_global_ctors): Fix typo in fn names.
5830
5831 1992-09-01 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5832
5833 * prefix-args.c: New file. See comment at top of file.
5834 * ymakefile (YMF_PASS_LDFLAGS): Use the prefix-args program to
5835 affix the -Xlinker prefix to the linker arguments.
5836 (prefix-args): New target.
5837 (temacs): Depend on prefix-args.
5838
5839 * xterm.c (x_catch_errors): Don't forget to initialize
5840 x_caught_error_message to the null string, so x_check_errors can
5841 tell when an error has occurred.
5842
5843 * unexmips.c (mark_x): Declare this as static void at the top of
5844 the file and at the function definition.
5845
5846 * keyboard.c (input_available_signal): Declare this to return
5847 SIGTYPE.
5848
5849 * xrdb.c (getuid): Declare this to return short.
5850
5851 * s/bsd4-3.h: Remove definition of SIGTYPE macro; Mt. Xinu says
5852 it's int, but Ultrix says it's void. Since the SIGTYPE guessing
5853 code in the `configure' script gives the correct answer for both
5854 of these cases, there's no point in listing it here.
5855
5856 * systime.h (EMACS_CURRENT_TIMEZONE): Change documentation to
5857 indicate that *OFFSET should be set to the number of minutes EAST
5858 of Greenwich, which is what Ed Reingold says real time gurus want.
5859 Changed the definition of the EMACS_GET_TZ_OFFSET_AND_SAVINGS
5860 macro to reflect this. Buggily, the Fcurrent_time_zone function
5861 was already expecting minutes east of GMT.
5862
5863 * Makefile.in (distclean): Remove backups from the `m' and `s'
5864 directories, too.
5865
5866 * m/mips.h: Merge changes from Emacs 18.58:
5867 [NEWSOS5]: Changes so this file can be used with s/newsos5.h.
5868 (SIGN_EXTEND_CHAR): Define this using a cast to signed char. I
5869 guess the MIPS compiler and its derivatives all have this type.
5870 (HAVE_ALLOCA, C_ALLOCA): Define the former if we're compiling with
5871 GCC, and the latter otherwise.
5872 (C_SWITCH_MACHINE): Defined, instead of C_SWITCH_SYSTEM.
5873 (LINKER): Defined, if BSD.
5874 (XUINT, XSET, XUNMARK): Add parentheses to eliminate warnings from
5875 GCC. Reindent to fit in 80 columns.
5876 INHIBIT_BSD_TIME prevents including bsd/sys/time.h.
5877 * s/newsos5.h: New file for Sony NEWS-OS release 5, courtesy of
5878 Chris Hanson <cph@klia.ai.mit.edu>.
5879
5880 * m/mips.h: Don't undefine LOAD_AVE_TYPE; the comment says that
5881 Emacs 19 has the crocks to handle it properly.
5882
5883 * m/pmax.h: Merge changes from Emacs 18.58:
5884 (LIB_STANDARD, COFF, TERMINFO): Cancel out definitions from
5885 m/mips.h which are only appropriate for USG.
5886 (MAIL_USE_FLOCK, HAVE_UNION_WAIT): Do define these.
5887 (BROKEN_O_NONBLOCK): Defined.
5888 (LINKER): Don't define this.
5889 [OSF1]: Undef C_ALLOCA, define HAVE_ALLOCA.
5890
5891 * s/osf1.h: New file.
5892
5893 * s/bsd4-3.h: Merge changes from Emacs 18.58:
5894 (BSD, BSD4_3): Just define these, don't fret about numerical
5895 values or version numbers.
5896
5897 * m/hp9000s300.h: Merge changes from Emacs 18.58, and hp300bsd.h:
5898 Change configuration note to say it's okay to use this file for BSD.
5899 Add comment saying that NOMULTIPLEJOBS must be defined for
5900 versions of HP/UX before 6.5.
5901 Don't define BIG_ENDIAN if it seems that <endian.h> has already
5902 done so.
5903 [BSD4_3] Define m68000, instead of hp9000s300; crt0.c uses these
5904 to decide what sort of startup code to use.
5905 [not BSD4_3] Under HP/UX, always define the BSD memory functions
5906 (bcopy, bzero, and bcmp) in terms of the SYSV string functions
5907 (memcpy, memset, and memcmp), not just under HP/UX 5; version 6's
5908 BSD compatibility library has reported bugs in `signal'.
5909 (NEED_BSDTTY): Move this symbol's definition inside the "not
5910 BSD4_3" conditional, since it's only relevant to HP/UX.
5911 * m/hp300bsd.h: File deleted, since m/hp9000s300.h now
5912 works with both HP/UX and BSD; it includes m/hp300bsd.h's
5913 specifications.
5914
5915 * m/hp9000s300.h: Remove definition for SIGN_EXTEND_CHAR; this is
5916 only used by the regexp code, which has its own portable
5917 definition these days.
5918
5919 1992-08-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5920
5921 * keymap.c (Fmake_sparse_keymap): New optional arg. Callers changed.
5922 (Fmake_keymap): Likewise.
5923
5924 * emacs.c (__do_global_ctors, __do_global_ctors_aux): New dummy fns.
5925 (__CTOR_LIST__, __DTOR_LIST__): New dummy variables.
5926
5927 * fileio.c (Fdo_auto_save): Always call record_auto_save.
5928
5929 * keyboard.c (read_char): Call read_char_menu_prompt here.
5930 Accept 4 new args to pass to it. Include them in recursive call.
5931 Don't delay before starting echo if prev_event was a mouse event.
5932 Test for eof in batch mode now understands C is a Lisp_Object.
5933 (read_key_sequence): Don't call it here; always call read_char.
5934 Don't change last_event_buffer after a mouse menu input.
5935 (read_char_menu_prompt): Arg PROMPT deleted.
5936 Return nil if nothing to do.
5937
5938 * xmenu.c (Fx_popup_menu): Treat coords relative to spec'd window.
5939 (single_keymap_panes): New function; contains guts of keymap_panes.
5940 If a command binding for submenu has a prompt string starting with @,
5941 make a separate pane for it at this level.
5942
5943 * xfns.c (Fx_track_pointer): Pass new args to read_char.
5944 (Fx_select_region, Fx_horizontal_line): Likewise.
5945 * lread.c (Fread_char): Pass new args to read_char.
5946 (Fread_event, Fread_char_exclusive): Likewise.
5947 * fns.c (Fy_or_n_p): Pass new args to read_char.
5948
5949 1992-08-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5950
5951 * keyboard.c (read_key_sequence): Keep track of prev_event.
5952 Pass new proper args to read_char_menu_prompt.
5953 (read_char_menu_prompt): New arg prev_event. Use Fx_popup_menu.
5954 Handle any number of keymaps, not just LOCAL and GLOBAL.
5955 Invert meaning of arg PROMPT. Test of menu_prompting was backwards.
5956
5957 * keymap.c (keymap_table): No longer static.
5958
5959 * xmenu.c (keymap_panes): New function.
5960 (Fx_popup_menu): Accept keymap or list of keymaps as MENU argument.
5961 Accept mouse button event as POSITION argument.
5962
5963 1992-08-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5964
5965 * cmds.c (internal_self_insert): Assume Fexpand_abbrev expanded
5966 something if it incremented MODIFF.
5967
5968 1992-08-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5969
5970 * unexmips.c (unexec): Allow sections in any order.
5971 Adjust addresses of rdata section as well as data section.
5972
5973 * buffer.c (syms_of_buffer): Made buffer-display-table,
5974 buffer-field-list and buffer-undo-list allow any type of value.
5975
5976 1992-08-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
5977
5978 * fns.c (Fappend): Doc fix.
5979
5980 1992-08-24 Jim Blandy (jimb@pogo.cs.oberlin.edu)
5981
5982 * s/usg5-4.h: Incorporate changes from 18.58:
5983 (LIBX10_SYSTEM): Undefine this.
5984 (GNULIB): Definition deleted -- done in ymakefile.
5985 (LIB_STANDARD): Don't use GNULIB.
5986 (HAVE_TCATTR): Defined.
5987
5988 * xfns.c (x_icon): Don't call x_wm_set_icon_positions if the user
5989 hasn't specified the icon position. Let the window manager put
5990 the icon where it likes.
5991
5992 * xterm.c (x_make_frame_invisible): Don't forget to check the
5993 return value of XWithdrawWindow; it could indicate that the window
5994 wasn't successfully redrawn.
5995
5996 * sysdep.c (init_baud_rate): Re-arranged order of conditionals -
5997 test TERMIOS before TERMIO; when two options might both be
5998 defined, test the most recent first, so that the most recent
5999 functions get used.
6000
6001 * sysdep.c [HAVE_TERMIO] (init_baud_rate): Don't use tcgetattr
6002 unless HAVE_TCATTR is defined. Only very rarely do termio systems
6003 have the tc{get,set}attr macros.
6004
6005 * window.c (coordinates_in_window): Do not assume that all
6006 one-line windows are the minibuffer, or that all minibuffers are
6007 one line high. Use MINI_WINDOW_P.
6008
6009 * systerm.h: Renamed to systty.h, to be more consistent with
6010 everything else in Unix.
6011 * dispnew.c, emacs.c, keyboard.c, process.c, sysdep.c: #include
6012 directive changed.
6013 * ymakefile: References to systerm.h changed.
6014
6015 * s/usg5-3.h: Merged changes from 18.58:
6016 (HAVE_SYSV_SIGPAUSE): Defined.
6017 (BROKEN_TIOCGETC): Defined.
6018
6019 1992-08-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6020
6021 * process.c (WCOREDUMP): Define only if not defined.
6022 (create_process) [HAVE_SETSID]: Use TIOCSCTTY if exists.
6023
6024 1992-08-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6025
6026 * fileio.c (Fdo_auto_save): Call Fsleep_for with the appropriate
6027 number of arguments.
6028 * fns.c (Fyes_or_no_p): Same.
6029
6030 * dispnew.c (update_frame): Change the way we handle
6031 cursor_in_echo_area. Firstly, ignore this if the frame we're
6032 updating doesn't have a minibuffer. Secondly, don't handle the
6033 selected frame specially. Thirdly, don't assume that the
6034 minibuffer is only one line high. If cursor_in_echo_area < 0, put
6035 the cursor in the upper-left corner; if cursor_in_echo_area > 0,
6036 put it on the lowest non-empty line in the minibuffer window, or
6037 on the top line.
6038
6039 * dispnew.c (direct_output_for_insert): Fail if
6040 cursor_in_echo_area is set; we don't want to do the typing there.
6041 (direct_output_for_insert): Same.
6042
6043 1992-08-19 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6044
6045 * xterm.c (x_make_frame_invisible): Use XWithdrawWindow when
6046 available [HAVE_X11R4]; send the UnmapNotify event when
6047 appropriate [HAVE_X11]; just unmap the window if that's all that's
6048 needed [not HAVE_X11].
6049
6050 * xterm.c (x_set_text_property): Removed; it's only called from
6051 one place. Who wants *another* layer of indirection?
6052 * xfns.c (x_set_name): Use XSetWM{Name,IconName} when available
6053 [HAVE_X11R4], or XSetIconName and XStoreName otherwise.
6054
6055 * xterm.h (FRAME_X_WINDOW): New macro, for readability.
6056 * xterm.c, xfns.c, xselect.c: Use it.
6057
6058 * emacs.c (Fkill_emacs): Doc fix.
6059 (syms_of_emacs): Doc fix for Vkill_emacs_hook.
6060
6061 * xterm.c (x_death_handler): Renamed to x_connection_closed.
6062 (x_term_init): Use x_connection_closed as the SIGPIPE handler.
6063
6064 * xterm.c (acceptable_x_error_p, x_handler_error_gracefully,
6065 x_error_handler): Removed; you can't catch X errors this way,
6066 since you can't perform X operations from within an X error
6067 handler, and even though we call error, we're still within an X
6068 error handler.
6069 (x_error_quitter, x_error_catcher): New functions, for panicking
6070 on and catching X protocol errors.
6071 (x_caught_error_message): Buffer for caught X errors.
6072 (x_catch_errors, x_check_errors, x_uncatch_errors): New functions
6073 for catching errors.
6074 (x_term_init): Set the error handler to x_error_quitter, rather
6075 than x_error_handler.
6076 * xfns.c (x_set_mouse_color): Use x_catch_errors, x_check_errors,
6077 and x_uncatch errors to avoid crashing if the user selects an
6078 odd cursor.
6079
6080 * xterm.c (x_proto_requests): Removed; it's not important.
6081
6082 * xterm.c (events): Array removed; it's not used.
6083
6084 * xfns.c (select_visual): Use XVisualIDFromVisual when available
6085 [HAVE_X11R4].
6086
6087 * xrdb.c (get_user_db): Use XResourceManagerString when available
6088 [HAVE_X11R4].
6089
6090 * window.c (change_window_height): If the size of the window will
6091 shrink below the minimum, this code would only try to delete it if
6092 it had a parent. Well, even if the window doesn't have a parent,
6093 you want Fdelete_window to signal an error, since you're trying to
6094 resize one of the undeleteable windows into nothingness. So call
6095 Fdelete_window even if the window doesn't have a parent.
6096
6097 * window.c (MINSIZE): Add kludge so that the minibuffer is always
6098 allowed to shrink to one line in height.
6099 (MINSIZE, CURBEG, CURSIZE): Change these so that their argument
6100 are always Lisp_Objects, not struct window *'s.
6101 (change_window_height): Changed accordingly.
6102
6103 1992-08-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6104
6105 * frame.h (struct frame): New member - explicit_name.
6106 * frame.c (make_frame): Clear it.
6107 * xfns.c (x_set_name): Take new argument EXPLICIT, instead of
6108 OLDVAL.
6109 (x_explicitly_set_name, x_implicitly_set_name): New functions.
6110 (x_frame_parms): Use x_explicitly_set_name here.
6111 (x_window): Use x_implicitly_set_name here.
6112 * xdisp.c (display_mode_line): Use x_implicitly_set_name here.
6113
6114 * xterm.c (x_wm_hints): Variable deleted. This has to be
6115 per-screen. Duh.
6116 * xterm.h (struct x_display): New member: wm_hints.
6117 * xterm.c (x_wm_set_window_state, x_wm_set_icon_pixmap,
6118 x_wm_set_icon_position): Use F->wm_hints, rather than x_wm_hints.
6119 (x_term_init): Don't initialize x_wm_hints here.
6120 * xfns.c (Fx_create_frame): Instead, initialize f->x_wm_hints
6121 here.
6122
6123 * xterm.c (x_set_text_property): Properly balance the BLOCK_INPUTs
6124 and UNBLOCK_INPUTs. And remember that VALUE is the string we want
6125 to set the name to, not PROPERTY.
6126
6127 1992-08-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6128
6129 * frame.c (make_minibuffer_frame): Don't set this to auto-raise by
6130 default. It's annoying.
6131
6132 * frame.c (make_minibuffer_frame): Set the prev field of the
6133 minibuffer window on a minibuffer-only frame to Qnil, rather than
6134 having it point to itself. This confuses code (Fprevious_window
6135 and change_window_height, for example), and is only an attempt to
6136 support a convention that can't really be used in Emacs 19 anymore.
6137 * window.h: Document the fact that we can no longer assume that
6138 the minibuffer's previous window is the root window, since a
6139 minibuffer window in a minibuffer-only frame has a prev field of
6140 nil.
6141 * frame.h [not MULTI_FRAME] (FRAME_ROOT_WINDOW): Define this by
6142 reference to the_only_frame.root_window, rather than by assuming
6143 that minibuf_window->prev is the root window. While this is true
6144 in the non-multi-frame case, we want to discourage this assumption
6145 in code.
6146 * dispnew.c [not MULTI_FRAME] (Fredraw_display): Use
6147 FRAME_ROOT_WINDOW instead of minibuf_window->prev.
6148 * xdisp.c (redisplay, init_xdisp): Same.
6149 * window.c (Fset_window_configuration): Removed #if 0'd code which
6150 assumes that minibuf_window is on the same frame as the window
6151 configuration. Removed special case for windows whose prevs
6152 point to themselves.
6153
6154 * window.c (Fset_window_configuration): Rename the argument from
6155 ARG to CONFIGURATION, so it matches the docstring. The
6156 make-docfile program cares.
6157
6158 * window.c [MULTI_FRAME] (syms_of_window): Don't staticpro
6159 minibuf_window; the frame list will take care of it.
6160
6161 * xterm.h (HAVE_X11R4): Since we can autodetect this, and can
6162 write code more likely to be future-compatible, define this when
6163 appropriate.
6164 * xterm.c (x_set_text_property): Define this appropriately for
6165 X11R3 and X11R4.
6166
6167 * xterm.c (x_set_text_property): Make this take a Lisp_Object
6168 string as an argument, rather than a pointer and a length.
6169 * xfns.c (x_set_name): Caller changed.
6170
6171 * xfns.c (x_get_arg): Accept a new type - symbol. If we've
6172 retrieved a string from the xrdb database and the user wants a
6173 symbol, intern it.
6174 (Fx_create_frame): Use the symbol type here.
6175
6176 * xfns.c (x_figure_window_size, x_icon, Fx_create_frame): Use
6177 values from enum resource_types for the last arg to x_get_arg,
6178 instead of passing numbers.
6179
6180 * xfns.c (Fx_create_frame): When setting up the scroll bars, use
6181 the type parameter to x_default_parameter, rather than prefixing
6182 the resource name with a question mark.
6183
6184 * xfns.c [not HAVE_X11] (Fx_create_frame): The resource which
6185 determines whether or not to use a bitmapped icon is called
6186 "IconType", not "BitmapIcon". Update this.
6187
6188 1992-08-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6189
6190 * xterm.c: Doc fixes.
6191
6192 More SYSV portability changes from Eric Raymond:
6193
6194 * xterm.c [USG5]: Don't include <sys/types.h>.
6195
6196 * xterm.c (x_make_frame_invisible): Instead of calling XWithdraw
6197 window, which isn't widely available, write out what it does,
6198 since that's not much.
6199 (x_iconify_frame): Explicitly perform both the X11R3 and X11R4
6200 methods for iconification; don't use XIconifyWindow, since that's
6201 not present in R3.
6202
6203 * xterm.c (x_wm_set_size_hint): Don't bother setting the
6204 base_width and base_height members; their function is performed
6205 just as well by the min_width and min_height members, and if we
6206 use XSetNormalHints instead of XSetWMNormalHints, we can be
6207 compatible with R3.
6208
6209 * xterm.c (x_error_handler): There is no way to invoke the default
6210 error handler which works on all versions of X11, so don't bother;
6211 call XGetErrorText and print the message ourselves.
6212
6213 * xterm.c (x_term_init): Don't use MAXHOSTNAMELEN; this isn't
6214 defined on all systems. Since we only use that as an initial
6215 guess anyway, it's not very important.
6216
6217 1992-08-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6218
6219 * abbrev.c (Fexpand_abbrev): If pre-expand hook changes the buffer,
6220 assume that means we "did an expansion".
6221
6222 * cmds.c (internal_self_insert): Ignore value of Fexpand_abbrev;
6223 instead, check whether buf is modified when it returns.
6224
6225 1992-08-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6226
6227 Applied SYSV portability changes from Eric Raymond:
6228
6229 * xrdb.c [USG5]: Define SYSV, and then include <unistd.h>.
6230 Apparently, Xlib.h include string.h if SYSV is defined, and
6231 strings.h if not.
6232 Don't include <sys/types.h>; just declare getuid to return an
6233 int. Big deal.
6234 (MAXPATHLEN): If this is not defined by the system's include
6235 files, give it a value of 256.
6236 (get_user_db): Fetch the defaults directly from the display
6237 structure, rather than using XResourceManagerString; that
6238 function doesn't exist in the older versions of X.
6239
6240 * xterm.c (x_set_text_property): New function.
6241 * xfns.c (x_set_name): Use it instead of XSetWMName and
6242 XSetWMIconName.
6243
6244 * xfns.c (select_visual): Fetch the visual id directly from v;
6245 don't call XVisualIDFromVisual, since that function is not
6246 available in earlier versions of X.
6247
6248 * term.c (term_get_fkeys): Some systems define `static' to be the
6249 empty string, which means that you can't have constant
6250 initialized arrays inside a function. So move the `keys' array
6251 outside of the function.
6252 * xdisp.c (decode_mode_spec): Same deal, with lots_of_dashes.
6253 * xfns.c (x_make_gc): Same deal, regarding cursor_bits.
6254
6255 * term.c (keys): Include definitions for "K2" (the center key on
6256 an IBM keypad), "F1" (F11), and "F2" (F12). Handle "k0" and "k;"
6257 specially; see the code for details.
6258
6259 * term.c (clear_end_of_line): Remember that on some systems,
6260 "static" gets defined to be the null string, so we can't declare
6261 an array to be static and then initialize it. Since the array in
6262 question (buf) is only one element long, just make it a scalar
6263 rather than an array; it can then be initialized, even if it's
6264 not static.
6265
6266 * systime.h [not HAVE_TIMEVAL] (EMACS_USECS, EMACS_SET_USECS):
6267 Don't forget to define dummy versions of these.
6268
6269 * systime.h [USE_UTIME]: time_t is a typedef, not a struct.
6270 Don't prefix it with `struct'.
6271
6272 * systerm.h (EMACS_SET_TTY_PGRP): When there doesn't seem to be
6273 any way to do this, don't forget to give it a dummy definition.
6274
6275 * sysdep.c (select): There's no need to cast the return value of
6276 signal anymore, since we have the SIGTYPE macro defined.
6277
6278 * sysdep.c (read_input_waiting): When scanning for quit
6279 characters, use the value of quit_char, rather than assuming that
6280 C-g is the quit character. And don't forget to declare i.
6281
6282 * sysdep.c [USG5]: Don't include fcntl.h.
6283
6284 * s/usg5-3.h: Eric Raymond writes:
6285 Define HAVE_SELECT and BSTRINGS only if HAVE_X_WINDOWS is on,
6286 because that means we'll be linking in the shared libraries
6287 containing the BSD emulations. Teach the file about the shared
6288 libraries necessary to link X programs, because AT&T doesn't
6289 supply static libraries for X. Also, fix the incorrect assertion
6290 that -lg cannot be used with SVr3. Finally, force USE_UTIMES and
6291 BROKEN_TIOCGWINSZ. (Note for the future; there may be a
6292 utimes(2)) emulation lurking in the X shared libraries.)
6293
6294 * s/usg5-4.h (USE_UTIME): Remove this definition; the C library
6295 still doesn't have utimes.
6296
6297 * ralloc.c (get_bloc): When initializing new_bloc->variable, cast
6298 NIL to (POINTER *).
6299 (malloc_init): Give warning if sbrk returns zero. Wonder what
6300 that's supposed to mean.
6301
6302 * process.c (process_send_signal): Don't send SIGTSTP if the
6303 system doesn't have that facility.
6304
6305 * process.c: [USG5] Don't include <fcntl.h>.
6306 [USG] Don't bother including <termios.h>, <termio.h>, or
6307 <fcntl.h>; systerm.h takes care of all that.
6308 Remove the "mis;tak-+;;" line from the code; apparently this
6309 section of code does get used.
6310
6311 * minibuf.c (Fread_from_minibuffer): Put this function's doc
6312 string into a comment; it's too long for the PCC preprocessor.
6313 Rah.
6314 (Fcompleting_read): Same deal.
6315
6316 * keyboard.c (init_keyboard): Changed "#endif SIGIO" to
6317 "#endif /* SIGIO */"
6318 * mocklisp.c (Fml_substr): Same sort of thing.
6319 * process.c (wait_reading_process_input): Same.
6320
6321 * floatfns.c (Fexpm1, Flog1p): Function removed; it's not widely
6322 available, and hardly vital.
6323 (syms_of_floatfns): Adjusted appropriately.
6324
6325 * floatfns.c (Flog): Accept optional second arg, being the base
6326 for the logarithm.
6327 [USG] (Flogb): Define this in terms of Flog.
6328
6329 * data.c [USG] (Frem): Call fmod, rather than drem. Rah.
6330
6331 * emacs.c [USG5]: Don't #include <fcntl.h> for these systems.
6332
6333 * alloc.c (Fmake_marker): Removed the test for being called from a
6334 signal handler. The original bug is probably gone, the test
6335 wasn't written portably, and it should probably go somewhere else
6336 anyway - say, funcall or eval.
6337
6338 End of changes from Eric Raymond.
6339
6340 * xfns.c (Fx_create_frame): Make the default for the icon-type
6341 parameter nil, not t. It seems to cause problems with some X
6342 servers.
6343
6344 * lisp.h (DEFVAR_PER_BUFFER): Add new argument, TYPE, to help
6345 check the types of buffer-local variable slots.
6346 * buffer.c (syms_of_buffer): Call DEFVAR_PER_BUFFER with the new
6347 TYPE argument.
6348 * abbrev.c (syms_of_abbrev): Same.
6349 * buffer.c (buffer_local_types): New variable.
6350 (buffer_slot_type_mismatch): New function.
6351 * buffer.h (buffer_local_types): New extern declaration.
6352 * data.c (store_symval_forwarding): When storing through a
6353 Lisp_Buffer_Objfwd, check if the slot requires a particular type,
6354 and report an error if the types clash.
6355 * lread.c (defvar_per_buffer): Support new TYPE argument, by
6356 setting the appropriate slot in buffer_local_types.
6357
6358 1992-08-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6359
6360 * window.c (window_loop): This used to keep track of the first
6361 window processed and wait until we came back around to it. Sadly,
6362 this doesn't work if that window gets deleted. So instead, use
6363 Fprevious_window to find the last window to process, and loop
6364 until we've done that one.
6365
6366 * window.c [not MULTI_FRAME] (init_window_once): Don't forget to
6367 set the `mini_p' flag on the new minibuffer window to t.
6368
6369 * window.c (Fwindow_at): Don't check the type of the frame
6370 argument.
6371
6372 * window.c [not MULTI_FRAME] (window_loop): Set frame to zero,
6373 instead of trying to decode it.
6374
6375 * frame.h [not MULTI_FRAME] (the_only_frame): Put a comment above
6376 this indicating that it's not GCPRO'd. Put parens around some of
6377 the FRAME_* macros' definitions.
6378 [not MULTI_SCREEN] (Fselected_frame): New function.
6379
6380 * frame.h [not MULTI_FRAME] (FRAME_ROOT_WINDOW): Define this in
6381 terms of minibuf_window, rather than by reference to
6382 the_only_frame.
6383 * window.c (init_window_once): Initialize minibuf_window before
6384 FRAME_ROOT_WINDOW, so the latter actually points to something.
6385
6386 * keyboard.c (Fexecute_mouse_event): dyked-out function deleted.
6387 We're not going to use this mouse interface.
6388 (Vmouse_window, Vmouse_event, Vmouse_event_function,
6389 Vmouse_left_hook, Vmap_frame_hook, Vunmap_frame_hook,
6390 Vmouse_motion_handler): Variables deleted; they were to be used by
6391 Fexecute_mouse_event.
6392 (syms_of_keyboard): Same.
6393 (command_loop_1): Remove dyked-out code to support
6394 Fexecute_mouse_event.
6395 (read_char): Same.
6396
6397 * keyboard.c (Vlast_event_frame): Don't define this window if
6398 MULTI_FRAME is not #defined.
6399 (syms_of_keyboard): Same.
6400 (kbd_buffer_store_event): Don't try to work with Vlast_event_frame
6401 if MULTI_FRAME is not #defined.
6402 (kbd_buffer_get_event): Same.
6403
6404 * keyboard.c (Fdiscard_input): Removed dyked-out code from when
6405 unread_command_char's quiescent value was -1, not nil.
6406
6407 * frame.c (make_frame): Stop passing zero to make_window; it's not
6408 expecting any arguments.
6409
6410 1992-08-12 Jim Blandy (jimb@albert.gnu.ai.mit.edu)
6411
6412 * unexsunos4.c: Deleted "$Log" header in comments at top of file;
6413 this was beginning to grow RCS hair, which we don't want.
6414 * xmenu.c: Same deal.
6415
6416 1992-08-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6417
6418 * fileio.c (Fread_filename): Don't add one here.
6419 * minibuf.c (Fcompleting_read): Instead, stop subtracting one
6420 here, so this function lives up to its doc string, which I think
6421 specifies an okay way to work.
6422
6423 * doc.c (Vdata_directory): Removed; this is declared in callproc.c.
6424 (syms_of_doc): Initialization removed.
6425
6426 * xfns.c (x_get_arg): Return Qunbound for an unspecified
6427 resource, not nil. That way, we can tell the difference between a
6428 false resource and an unspecified resource.
6429 (x_default_error): Use DEFLT if x_get_arg returns Qunbound, not Qnil.
6430 (x_figure_window_size, x_icon, Fx_create_frame): Deal with
6431 Qunbound and Qnil properly.
6432
6433 * xfns.c (Fx_create_frame): Pass the correct number of arguments
6434 to x_set_font.
6435
6436 * xfns.c [not HAVE_X11] (Fx_create_frame): Delete section that's
6437 only included if we *do* have X11. Blind patching.
6438
6439 * xfns.c (x_icon): Rewritten to call x_wm_set_icon_position and
6440 x_wm_set_window_state instead of calling XSetWMHints directly.
6441 * xterm.c (x_wm_hints): New variable.
6442 (x_wm_set_window_state, x_wm_set_icon_pixmap,
6443 x_wm_set_icon_position): Use x_wm_hints.
6444 (x_term_init): Set the `input' field of x_wm_hints, and its flag.
6445
6446 * xterm.c (x_text_icon): Call x_wm_set_icon_pixmap with a pixmap
6447 of zero, to clear the pixmap.
6448 (x_wm_set_icon_pixmap): Accept this protocol; if pixmap is zero,
6449 specify no pixmap for the icon.
6450
6451 * xfns.c (x_default_parameter): Don't call store_frame_param here;
6452 it's already taken care of by x_set_frame_parameters.
6453
6454 * xfns.c (Fx_create_frame): Check for the `icon-type',
6455 `auto-raise', and `auto-lower' parameters. Have `icon-type'
6456 default to t, indicating that we want the nifty gnu in our icons.
6457 (Qauto_lower): New symbol.
6458
6459 * xfns.c (x_set_icon_type): UNBLOCK_INPUT before reporting the
6460 error, not after. error doesn't return, sklitch-brain.
6461
6462 * xterm.c (x_set_window_size): Call check_frame_size to make sure
6463 that the requested dimensions are within acceptable limits.
6464 Store the new size information in the frame structure.
6465
6466 * xfns.c (x_set_frame_parameters): Properly recognize changes to
6467 the height of the frame. Recognize changes of the frame's
6468 position.
6469
6470 * xfns.c (x_set_frame_parameters): Iterate over ALIST while the
6471 current element is cons, not while it's non-nil.
6472 (syms_of_xfns): Call init_x_parm_symbols after interning all the
6473 other atoms; init_x_parm_symbols expects Qx_frame_parameter to be
6474 initialized.
6475
6476 1992-08-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6477
6478 * xfns.c (Qbackground_color, Qborder_color, Qborder_width,
6479 Qcursor_color, Qfont, Qforeground_color, Qgeometry,
6480 Qhorizontal_scroll_bar, Qicon_left, Qicon_top, Qiconic_startup,
6481 Qinternal_border_width, Qleft, Qmouse_color, Qparent_id,
6482 Qsuppress_icon, Qsuppress_initial_map, Qtop, Qundefined_color,
6483 Qvertical_scroll_bar, Qwindow_id, Qx_frame_parameter): New
6484 symbols, with lisp code to rebuild syms_of_xfns.
6485 (syms_of_xfns): Initialize and staticpro them.
6486 (Qheight, Qminibuffer, Qname, Qnone, Qonly, Qwidth,
6487 Qunsplittable): Add extern declaration for these.
6488 (x_init_parm_symbols): Don't initialize Qx_frame_parameter here;
6489 it's done in syms_of_xfns.
6490 (x_default_parameter): Change the argument char *PROPNAME into a
6491 Lisp_Object PROP; let the caller take care of interning the atom.
6492 (Fx_geometry, x_figure_window_size, x_icon, Fx_create_frame): Use
6493 the new Q... variables, instead of interning things.
6494
6495 * frame.c (Qheight, Qicon, Qmodeline, Qname, Qnone, Qonly,
6496 Qunsplittable, Qwidth, Qx): New symbol, with lisp code to rebuild
6497 syms_of_frame.
6498 (syms_of_xfns): Initialize and staticpro them.
6499 (Fframep, Fframe_visible_p, Fframe_parameters): Use
6500 the new Q... variables, instead of interning things.
6501 (store_in_alist): Change the argument char *PROPNAME into a
6502 Lisp_Object PROP; let the caller take care of interning the atom.
6503
6504 * frame.c (Fframe_visible_p): Doc fix.
6505
6506 * frame.c (Fframe_parameters): When figuring the `minibuffer'
6507 parameter, if FRAME doesn't have a minibuffer, return `none', not
6508 nil. If it does have a minibuffer with other windows, return the
6509 window.
6510
6511 * frame.c (Fmodify_frame_parameters): Don't write out the loop for
6512 processing X frame parameters here; do it in the x specific code.
6513 Call the function which deals with this stuff
6514 x_set_frame_parameters, not x_set_frame_parameter.
6515 * xfns.c (x_set_frame_param): Replaced by x_set_frame_parameters.
6516 (x_set_frame_parameters): Process the alist of parameters here.
6517 Notice `width', `height', `top', and `left' parameters.
6518 Hold off changing the frame size and position until the end, so we
6519 can do both parameters at once when they are both specified.
6520 (x_default_parameter): Call x_set_frame_parameters, not
6521 x_set_frame_param.
6522
6523 * frame.c (Fmake_frame_visible, Fmake_frame_invisible,
6524 Ficonify_frame, Fframe_parameters, Fmodify_frame_parameters,
6525 Fset_frame_height, Fset_frame_width, Fset_frame_size,
6526 Fset_frame_position): Place clauses controlled by FRAME_X_P inside
6527 `#ifdef HAVE_X_WINDOWS ... #endif' clauses.
6528
6529 * frame.c (Fset_frame_position): Doc fix.
6530
6531 * dispnew.c (Fredraw_frame): Call clear_frame_records before
6532 calling update_end, so that x_display_box_cursor can rely on the
6533 contents of f->current_glyphs.
6534
6535 * xfns.c (x_figure_window_size): Indicate that this function
6536 returns an int, rather than just leaving it unstated.
6537
6538 * xterm.c (x_wm_set_size_hint): Don't try to set the base_height
6539 and base_width elements of size_hints if PBaseSize is not
6540 #defined. Set the minimum frame size according to the information
6541 returned by check_frame_size.
6542
6543 * window.h (MIN_SAFE_WINDOW_HEIGHT, MIN_SAFE_WINDOW_WIDTH): Macros
6544 removed.
6545 (check_frame_size): New extern declaration.
6546 * window.c (MIN_SAFE_WINDOW_HEIGHT, MIN_SAFE_WINDOW_WIDTH): Macros
6547 defined here now.
6548 (check_frame_size): New function.
6549 * dispnew.c (change_frame_size): Call check_frame_size here,
6550 rather than writing out its code. Don't declare newheight and
6551 newwidth to be register variables, since we take their address.
6552
6553 * bytecode.c (Fbyte_code): When metering the Bcall opcodes, make
6554 sure the count on the symbol's `byte-code-meter' property does not
6555 overflow.
6556
6557 * bytecode.c (syms_of_bytecode): Add a docstring for
6558 byte-metering-on.
6559
6560 1992-08-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6561
6562 * dispnew.c (in_display): Variable deleted; it's only ever used as
6563 an unofficial parameter to change_frame_size.
6564 (change_frame_size): New argument, DELAY, which when non-zero
6565 indicates to delay the size change until later. This should be
6566 passed as one from signal handlers.
6567 (window_change_signal): Call change_frame_size with a DELAY of 1.
6568 (do_pending_window_change): Call change_frame_size with DELAY of 0.
6569 * frame.c [MULTI_SCREEN] (Fset_frame_height, Fset_frame_width,
6570 Fset_frame_size): Same.
6571 [not MULTI_SCREEN] (Fset_frame_height, Fset_frame_width,
6572 Fset_frame_size, Fset_screen_height, Fset_screen_width): Same.
6573 * keyboard.c (Fsuspend_emacs): Call change_frame_size with the
6574 proper arguments - the height and width are the second and third
6575 arguments, not the first and second. Pass 0 for DELAY.
6576 * xfns.c (Fx_create_frame): Call change_frame_size with a DELAY of 0.
6577 * xterm.c (XTread_socket, x_do_pending_expose): Call
6578 change_frame_size with a DELAY of 1.
6579
6580 * xterm.c (in_display): Deleted this; it's never used in xterm.c,
6581 and there is another variable by the same name in dispnew.c.
6582
6583 * frame.c [not MULTI_SCREEN] (Fset_frame_height, Fset_frame_width,
6584 Fset_frame_size, Fframe_height, Fframe_width): New functions, for
6585 use when Emacs is not compiled with multiple screens.
6586 [not MULTI_SCREEN] (Fset_screen_height, Fset_screen_width):
6587 Functions added for backward compatibility with Emacs 18. These
6588 would be just aliases, except that the version 18 functions don't
6589 take a FRAME argument.
6590 [not MULTI_SCREEN] (syms_of_frame): New function, to defsubr the
6591 above and add screen-height and screen-width as aliases for
6592 Fframe_height and Fframe_width.
6593 * emacs.c (main): Call syms_of_frame unconditionally. When
6594 MULTI_FRAME is not defined, it still provides the Fframe_width,
6595 Fframe_height, Fset_frame_width, and Fset_frame_height functions.
6596
6597 * frame.c (Fset_frame_width): Change the size of FRAME, not of
6598 selected_frame.
6599
6600 * frame.c (Fset_frame_width, Fset_frame_height): Declare the
6601 `frame' argument to be a Lisp_Object. It used to be undeclared.
6602
6603 1992-08-07 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6604
6605 * dispnew.c, frame.c, frame.h, keyboard.c, scroll.c, term.c,
6606 window.c, xdisp.c, xfns.c xterm.c (FRAME_IS_TERMCAP, FRAME_IS_X,
6607 FRAME_HAS_MINIBUF): Renamed these to FRAME_TERMCAP_P, FRAME_X_P,
6608 and FRAME_HAS_MINIBUF_P, for consistency with the rest of the
6609 frame macros.
6610
6611 * window.h (MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): New
6612 macros.
6613 * window.c (check_min_window_sizes): New function.
6614 (set_window_height): Call it.
6615 (Fsplit_window, change_window_height): Call it, instead of writing
6616 out its code.
6617 * dispnew.c (change_frame_size): If newlength or newwidth are too
6618 small (according to the value of MIN_SAFE_WINDOW_{WIDTH,HEIGHT}),
6619 force them larger. This isn't really right, but it's better than
6620 crashing.
6621
6622 * editfns.c (Fcurrent_time_zone): Doc fix.
6623
6624 1992-08-06 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6625
6626 * editfns.c (Fcurrent_time_zone): Don't forget to include code to
6627 signal an error when EMACS_CURRENT_TIME_ZONE is not defined.
6628
6629 1992-08-06 Joseph Arceneaux (jla@gnu.ai.mit.edu)
6630
6631 * doc.c (Vdata_directory): Declared.
6632 (syms_of_doc): Initialized.
6633
6634 * fileio.c (Fread_filename): Add 1 to the offset position for the
6635 cursor when reading file names.
6636
6637 1992-08-05 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6638
6639 * systime.h (EMACS_CURRENT_TIME_ZONE): New macro.
6640 * editfns.c (Fcurrent_time_zone): New function.
6641 (syms_of_editfns): defsubr it.
6642
6643 * keyboard.c (read_key_sequence): Clear the eighth bit of the
6644 character from the key sequence, NOT the index of the character IN
6645 the key sequence. How many tries will it take to get it right?
6646
6647 1992-08-04 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
6648
6649 * eval.c (syms_of_eval): Doc fix for debug-on-quit.
6650
6651 1992-08-03 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6652
6653 * callproc.c (Fcall_process): Doc fix. Used to claim that
6654 Fcall_process doesn't wait when BUFFER was nil. It does.
6655
6656 1992-07-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6657
6658 * keyboard.c (read_key_sequence): Scan for function keys when t >=
6659 mock_input, not when t > mock_input. We do want to scan for
6660 function keys when t == mock_input.
6661
6662 * keyboard.c (read_key_sequence): Don't increment fkey_end when
6663 testing to see if keybuf[fkey_end] is a meta-character.
6664
6665 1992-07-27 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6666
6667 * Makefile.in (TAGS): Generate tags for files in ../external-lisp
6668 too.
6669
6670 1992-07-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6671
6672 * eval.c (find_handler_clause): For quit, don't check Vdebug_on_error.
6673 (wants_debugger): Rewrite so it cannot get an error.
6674
6675 * callint.c (Fcall_interactively): Handle enable-recursive-minibuffers
6676 property on the command, by enabling recursive minibuffers.
6677 (syms_of_callint): Set Qenable_recursive_minibuffers.
6678
6679 1992-07-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6680
6681 * frame.c (Fmake_frame_visible, Fmake_frame_invisible,
6682 Ficonify_frame): Make the first argument optional, defaulting to
6683 selected_frame.
6684 (Ficonify_frame, Fmake_frame_invisible): Add interactive specs, so
6685 we can bind these directly to C-z.
6686
6687 1992-07-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6688
6689 * fileio.c (Fread_file_name): Use new calling convention for
6690 Fcompleting_read, with history as Qfile_name_history.
6691 (syms_of_fileio): Set Qfile_name_history; set the var to nil.
6692 Do staticpro for the recently created Q* vars.
6693
6694 * minibuf.c (read_minibuf): Two additional args histvar and histpos.
6695 All calls changed.
6696 (Fcompleting_read): Last arg is now HIST--(HISTVAR . HISTPOS).
6697 Arg INIT can now be (INITIAL-STRING . INITIAL-POSITION).
6698 Pass BACKUP_N arg to read_minibuf properly as Lisp object.
6699 (Fread_from_minibuffer): Likewise.
6700 (syms_of_minibuf): Set Qminibuffer_history and staticpro it.
6701
6702 * eval.c (Ffuncall, Feval): Support subrs with 7 args.
6703
6704 * fns.c (Fyes_or_no_p): Use Fread_string, not read_minibuf.
6705 * callint.c (Fcall_interactively): For 'S', use Fread_no_blanks_input
6706 rather than read_minibuf.
6707
6708 1992-07-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6709
6710 * minibuf.c (Vminibuffer_history_variable): New variable.
6711 (syms_of_minibuf): Define variable minibuffer-history-variable.
6712 (read_minibuf): Push the string on specified history list.
6713
6714 1992-07-23 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
6715
6716 * Makefile.in (doall, doxemacs, dotemacs): Put quotes around CC=${CC}.
6717 Don't include $(MAKEOVERRIDES); that is always implicit.
6718
6719 1992-07-22 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6720
6721 * keyboard.c (read_key_sequence): If we have read a
6722 meta-character, prefix it with meta_prefix_char before looking it
6723 up in the function key keymap.
6724
6725 * lread.c (Fread_char_exclusive): Code this with a do-while loop,
6726 not a while loop with its body repeated.
6727
6728 * lread.c (Fread_event): Don't make this function's definition
6729 conditional on X-windows. It ought to be there no matter how
6730 Emacs was built.
6731 (syms_of_lread): Don't make its defsubr conditional either.
6732
6733 * lread.c (Fread_char): Doc fix.
6734
6735 * fileio.c (find_file_handler): It's called
6736 Vfile_name_handler_alist, not Vfile_handler_alist.
6737 (Fwrite_region): Declare the variable named `handler'.
6738 (Fverify_visited_file_modtime): Use `b->filename', not `filename'.
6739 (Fset_visited_file_modtime): Declare the variable named `handler'.
6740 * dired.c (Fdirectory_files, Ffile_name_completion): Use
6741 `dirname', not `filename'.
6742 (Qfile_attributes): New variable.
6743 (syms_of_dired): Initialize it.
6744
6745 * xselect.c (Fx_own_selection): If we're trying to set
6746 cut-buffer0, and the value is too large for the X server (as
6747 indicated by the max_request_size member of the X Display), just
6748 set the buffer to the empty string, and return nil.
6749
6750 1992-07-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6751
6752 * search.c (fast_string_match): New function.
6753 * fileio.c (find_file_handler): New function.
6754 (Fcopy_file, Fmake_directory, Fdelete_directory, Fdelete_file):
6755 (Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
6756 (Ffile_exists_p, Ffile_executable_p, Ffile_readable_p, Ffile_symlink_p)
6757 (Ffile_writable_p, Ffile_directory_p, Ffile_accessible_directory_p):
6758 (Ffile_modes, Fset_file_modes, Ffile_newer_than_file_p):
6759 (Fwrite_region, Fverify_visited_file_modtime):
6760 Use find_file_handler; call the handler and return.
6761 (Finsert_file_contents): Use find_file_handler;
6762 cannot just return after the handler, but must handle VISIT.
6763 (syms_of_fileio): Set up Qcopy_file, etc.
6764 * dired.c (Fdirectory_files, Ffile_name_completion):
6765 (Ffile_name_all_completions, Ffile_attributes):
6766 Use find_file_handler; call the handler.
6767 (syms_of_dired): Set Qfile_attributes, etc.
6768
6769 1992-07-21 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6770
6771 * xselect.c (Fx_own_selection): Initialize val to nil, so that if
6772 we don't get the selection, we don't return garbage. When setting
6773 cut-buffer0, set val to the string pasted.
6774
6775 * xfns.c (x_set_name): If ARG is nil, set the frame's name to the
6776 current x_id_name.
6777 * xdisp.c (display_mode_line): If we should set the frame's name,
6778 but there is only one frame currently active, call x_set_name with
6779 nil as the name; this will display samething generically
6780 appropriate.
6781
6782 1992-07-20 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6783
6784 * lread.c (isfloat_string): Recognize floats without a leading
6785 integer part, noting that "e5" is a symbol, not a floating point
6786 number.
6787
6788 * xdisp.c (message, message1): When displaying a message, don't
6789 make the minibuf frame visible unless the selected frame is also
6790 visible. This means that frames won't pop up unless the user is
6791 actually interacting with Emacs.
6792
6793 * xdisp.c (display_mode_line): If Emacs is currently supporting
6794 only one screen, don't change the title of the screen to the name
6795 of the current buffer; this is only annoying in this case. We
6796 should probably think more carefully about how screens should be
6797 named.
6798
6799 1992-07-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6800
6801 * process.c (allocate_pty): Handle PTY_OPEN.
6802 Delete system-specific alternatives to PTY_NAME_SPRINTF
6803 and PTY_TTY_NAME_SPRINTF.
6804
6805 1992-07-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6806
6807 * callint.c (Fprefix_numeric_value): Fix typo: test raw, not val.
6808
6809 1992-07-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6810
6811 * xfns.c (x_window): x_set_name normally ignores requests to set
6812 the name if the requested name is the same as the current name.
6813 This is the one place where that assumption isn't correct; f->name
6814 is set, but the X server hasn't been told. So fake it out.
6815
6816 * emacs.c [sun] (main): On suns, localtime caches the value of the
6817 time zone rather than looking it up every time. This means that
6818 the dumped Emacs doesn't check the value of the TZ environment
6819 variable. Call tzset before entering the editing loop to check
6820 the new TZ value.
6821
6822 1992-07-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6823
6824 * dired.c (Fdirectory_files): Don't forget to pass the REGP
6825 argument to compile_pattern.
6826 * search.c (compile_pattern): If REGP is zero, don't call
6827 re_set_registers; nobody cares.
6828
6829 * fileio.c (auto_save_error): Pass the correct number of arguments
6830 to Fsleep_for.
6831
6832 * lread.c: Include <ctype.h> at the top of the file, instead of
6833 just before isfloat_string; read0 wants to use it too.
6834
6835 * process.c (Fdelete_process, Fprocess_status, Fprocess_send_region,
6836 Fprocess_send_string, Fprocess_send_eof, Finterrupt_process): Doc
6837 fixes.
6838
6839 * process.c (Fprocess_status): Use get_process to find the process
6840 denoted by the PROC argument, not Fget_process.
6841
6842 1992-07-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6843
6844 * xdisp.c: Doc fix.
6845
6846 1992-07-14 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6847
6848 * window.c (syms_of_window): Doc fix for pop-up-frames.
6849
6850 * frame.c (Fframe_parameters): Note that if FRAME is omitted, it
6851 defaults to the selected frame.
6852
6853 * frame.c (Fframe_height, Fframe_width): Blocked out these
6854 functions; they have no C callers, and can be written nicely in
6855 lisp.
6856
6857 * frame.c (Fframe_pixel_size): Function removed; there aren't
6858 enough other functions available to make this useful. We need
6859 functions describing the size of the characters of a font.
6860
6861 * xterm.h, xterm.c, xselect.c, xmenu.c, xfns.c, xdisp.c, window.h,
6862 window.c, termopts.h, termhooks.h, termchar.h, term.c sysdep.c,
6863 scroll.c, screen.c, screen.h, process.c, print.c, minibuf.c,
6864 lisp.h keyboard.c, indent.c, fns.c, emacs.c, dispnew.c,
6865 dispextern.h, cm.h, alloc.c, config.h.in: Screens are now called
6866 frames, to avoid even more confusion with X terminology than
6867 Emacs's "windows" already cause. All macros, functions, and
6868 variables renamed; all uses changed.
6869 * screen.c, screen.h: Renamed to frame.c and frame.h. All
6870 #includers changed.
6871 * ymakefile: Adjusted appropriately.
6872 * buffer.c: Doc fixes.
6873
6874 * xfns.c (Fx_store_cut_buffer): Reversed sense of test for non-X
6875 screen.
6876
6877 * window.c (Frecenter): Doc fix; this function places point in the
6878 middle of the current window, not the current screen.
6879
6880 * window.c (temp_output_buffer_show): Use WINDOW_SCREEN macro
6881 instead of accessing the member directly.
6882
6883 1992-07-13 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6884
6885 * print.c (print): Changed code which prints screen objects to use
6886 the SCREEN_LIVE_P macro instead of testing the screen structure
6887 directly.
6888
6889 * alloc.c (undo_threshold, undo_high_threshold): Variables renamed
6890 to undo_limit and undo_strong_limit.
6891 (Fgarbage_collect): Uses changed.
6892 (syms_of_alloc): DEFVARs and docstrings changed.
6893 * undo.c (truncate_undo_list): Comment adjusted.
6894
6895 * lread.c (read0): Allow floating-point numbers to begin with a
6896 period. `(0 .5)' denotes a list of two numbers, not a dotted pair.
6897
6898 1992-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6899
6900 * fns.c, callproc.c: Doc fix.
6901
6902 1992-07-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6903
6904 * bytecode.c (Bsymbol_function, Bfset): Removed comments saying
6905 that these are no longer generated. Jamie Zawinski's byte
6906 compiler does generate them, and he's actually collected
6907 statistics on how often these functions are called.
6908
6909 1992-07-09 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6910
6911 * screen.c (store_screen_param): Clarify error message.
6912
6913 * xterm.c (x_make_screen_visible): Undo the change made on June
6914 30; that is not the right solution. Apparently there are three
6915 states a window may be in: normal, iconified, and invisible.
6916
6917 1992-07-08 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6918
6919 * eval.c (Fmacroexpand): Code cleaned up; there's no need to
6920 handle forms like ((macro lambda ...) ...) specially.
6921
6922 * fileio.c (Finsert_file_contents): Signal an error if we're asked
6923 to read from a named pipe.
6924
6925 1992-07-07 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
6926
6927 * m/*.h (SIGN_EXTEND_CHAR): Removed these definitions. The only
6928 place they were used is in regex.c, and nowadays that has its own
6929 definition, which works for any machine. The definitions in the
6930 machine description files usually didn't work if given an unsigned
6931 character as an argument, anyway.
6932
6933 1992-07-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6934
6935 * buffer.c: Doc fix.
6936
6937 1992-07-02 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
6938
6939 * minibuf.c (Fdisplay_completion_list): Declared new variables
6940 used in rms' previous change.
6941
6942 1992-07-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
6943
6944 * minibuf.c (Fdisplay_completion_list): Handle non-buffer stream.
6945
6946 1992-07-01 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
6947
6948 * window.c (Fdisplay_buffer): Add interactive spec.
6949
6950 1992-06-30 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
6951
6952 * mem_limits.h: EXCEEDS_ELISP_PTR declared here.
6953 * ralloc.c: No longer declared here.
6954 * vm-limit.c: Nor here. Also, include "lisp.h" before
6955 "mem_limits.h" and additionally include "config.h".
6956
6957 1992-06-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6958
6959 * xterm.c (x_make_screen_visible): Don't de-iconify the window;
6960 iconification is orthogonal to visibility.
6961
6962 * emacs.c (syms_of_emacs): Change docstring for `kill-emacs-hook'
6963 to describe it as a hook, not as a single function.
6964
6965 1992-06-29 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6966
6967 * minibuf.c (Fread_no_blanks_input): Corrected maximum number of
6968 arguments from one to two.
6969
6970 * emacs.c (Vkill_emacs_hook): Declare this here; it should have a
6971 docstring, so we might as well DEFVAR it.
6972 (syms_of_emacs): initialize it, and DEFVAR_LISP it with an
6973 appropriate docstring.
6974
6975 1992-06-28 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6976
6977 * lread.c (Feval_buffer): Make the DEFUN match the C argument
6978 list; this takes two optional arguments, not just one.
6979
6980 * lisp.h (Lisp_Buffer_Local_Value): Comments neatened.
6981
6982 * data.c (Fset): Fixed conditional which tests whether the cache
6983 is invalid. It used to be pretty munged, and would always declare
6984 the cache invalid for Lisp_Buffer_Local_Value variables. Now it
6985 declares the cache invalid if the buffer is wrong (obviously), of
6986
6987 1992-06-27 Jim Blandy (jimb@pogo.cs.oberlin.edu)
6988
6989 * data.c (Fset): Comments reformatted for readability.
6990
6991 * xterm.c (last_mouse_movement_time): New variable.
6992 (note_mouse_position): Set it.
6993 (XTmouse_position): Return its current value as the position's
6994 timestamp.
6995
6996 * keyboard.c (Qvertical_split): Renamed to `vertical-line',
6997 since the window arrangement is actually referred to as a
6998 `horizontal split.'
6999 (make_lispy_event, make_lispy_movement, syms_of_keyboard): Uses
7000 renamed here.
7001 keyboard.h (Qvertical_split): Extern declaration changed here.
7002 window.c (Fcoordinates_in_window_p): Changed this to return
7003 `vertical-line' at the appropriate times, rather than
7004 `vertical-split'.
7005
7006 * window.c (Fcoordinates_in_window_p): Put symbol names in
7007 opposing single quotes - `vertical-split', for example.
7008
7009 * fileio.c (Fexpand_file_name): Don't signal an error if USERNAME
7010 in a "~USERNAME/..." filename isn't a real user; just leave the
7011 "~USERNAME" unchanged.
7012
7013 * fileio.c (Fmake_symbolic_link): Rename argument `NEWNAME' to
7014 `LINKNAME', to conform with the docstring.
7015
7016 * Makefile.in (CPP): Pass `-Is -Im' to CPP, to make sure that
7017 machine- and system-dependend files can include each other
7018 properly.
7019 * ymakefile (CFLAGS): Add those directories to the #include path
7020 here too.
7021
7022 * Makefile.in (xmakefile): Build this via a temporary file, so
7023 that if preprocessing fails we don't nuke the xmakefile.
7024
7025 * fileio.c: There are two versions of Fexpand_file_name defined
7026 here; the latter is inside a `#if 0' clause. Change its DEFUN to
7027 a DEAFUN, so that its docstring doesn't make it into the DOC file
7028 and supercede the real docstring.
7029
7030 * callint.c (Fcall_interactively): For the 'K' interactive spec,
7031 set varies[i] to -1, indicating that the mouse click should be
7032 quoted if the function makes it into the command history, and that
7033 this argument by itself does not qualify the command to be
7034 recorded in the history.
7035
7036 1992-06-26 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7037
7038 * data.c (Frem): The drem function will sometimes return a
7039 negative number. If it does, add the divisor to it, to make it
7040 positive.
7041
7042 * screen.c: Put '#ifdef MULTI_SCREEN' after the inclusion of
7043 config.h.
7044
7045 * window.c (Fpos_visible_in_window_p): Remember to apply XSCREEN
7046 to w->screen before applying SCREEN_WIDTH.
7047
7048 * screen.h [not MULTI_SCREEN] (last_nonminibuf_screen): Removed
7049 #definition of this; it's confusing when debugging.
7050 * screen.c (last_nonminibuf_screen): Variable moved from here...
7051 * dispnew.c (last_nonminibuf_screen): to here, beside
7052 selected_screen. They should both exist, even if the multi-screen
7053 support is not present.
7054
7055 * dispnew.c [not MULTI_SCREEN] (the_only_screen): New variable.
7056 Instead of having the non-multi-screen version of Emacs refer to
7057 lots of different variables scattered hither and yon, we'll just
7058 declare this new variable, of type `struct screen', and define the
7059 single-screen versions of the `SCREEN_foo' macros to reference its
7060 elements. This avoids conflicts between names of local variables
7061 and names of global variables describing the screen, and simplifies
7062 some of the differences between the multi-screen and single-screen
7063 cases.
7064 * screen.h (enum output_method, struct screen): Removed these from
7065 the `#ifdef MULTI_SCREEN' conditional.
7066 * screen.h [not MULTI_SCREEN] (the_only_screen): extern
7067 declaration for it here.
7068 [not MULTI_SCREEN] (SCREEN_CURRENT_GLYPHS, SCREEN_DESIRED_GLYPHS,
7069 SCREEN_TEMP_GLYPHS, SCREEN_HEIGHT, SCREEN_WIDTH,
7070 SCREEN_NEW_HEIGHT, SCREEN_NEW_WIDTH, SCREEN_CURSOR_X,
7071 SCREEN_CURSOR_Y, SCREEN_ROOT_WINDOW, SCREEN_INSERT_COST,
7072 SCREEN_DELETE_COST, SCREEN_INSERTN_COST, SCREEN_DELETEN_COST,
7073 SCREEN_MESSAGE_BUF, SCREEN_SCROLL_BOTTOM_VPOS): Macros changed to
7074 refer to the_only_screen.
7075 * dispnew.c [not MULTI_SCREEN] (one_screen_cursX,
7076 one_screen_cursY, one_screen_current_glyphs,
7077 one_screen_desired_glyphs, one_screen_temp_glyphs,
7078 delayed_screen_width, delayed_screen_height): Variables
7079 deleted; they're all now kept in the_only_screen.
7080 * xdisp.c [not MULTI_SCREEN] (message_buf): Variable deleted; same
7081 fate.
7082 * term.c [not MULTI_SCREEN] (one_screen_width, one_screen_height):
7083 Variables deleted; same fate.
7084 * screen.h [not MULTI_SCREEN]: extern declarations for the above
7085 variables removed.
7086 * window.c [not MULTI_SCREEN] (root_window): Variable deleted.
7087 [not MULTI_SCREEN] (init_window_once): Use SCREEN_ROOT_WINDOW to
7088 refer to the root window, instead of referring to it directly.
7089 * window.h [not MULTI_SCREEN] (root_window): extern declaration
7090 removed.
7091 * scroll.c [not MULTI_SCREEN] (insert_line_cost, delete_line_cost,
7092 insert_n_lines_cost, delete_n_lines_cost): Variables deleted; same
7093 fate.
7094
7095 * dispnew.c [not MULTI_SCREEN] (cursX, cursY): Renamed to
7096 `one_screen_cursX' and `one_screen_cursY'.
7097 * screen.h [not MULTI_SCREEN] (cursX, cursY, SCREEN_CURSOR_X,
7098 SCREEN_CURSOR_Y): extern declarations and macros changed
7099 accordingly.
7100
7101 * term.c [not MULTI_SCREEN] (screen_width, screen_height): Renamed
7102 to `one_screen_width' and `one_screen_height', so as not to
7103 conflict with local variables when referenced by the `SCREEN_foo'
7104 macros.
7105 * screen.h [not MULTI_SCREEN] (screen_width, screen_height):
7106 extern declarations changed accordingly.
7107 * termchar.h (screen_width, screen_height): extern declarations
7108 deleted. Everyone should go through the `SCREEN_foo' macros.
7109 (SCREEN_WIDTH, SCREEN_HEIGHT): Changed accordingly.
7110
7111 1992-06-25 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7112
7113 * callint.c (Fcall_interactively): When making a copy of the spec
7114 string, cast the return value of `alloca' to `unsigned char *',
7115 not `char *', to match the type of `string'.
7116
7117 * xselect.c (Fx_own_selection): Cast XSTRING (string)->data to a
7118 char *, so it can be comfortably passed to XStoreBytes.
7119
7120 * filelock.c (strcpy): Declare this to return char *.
7121
7122 1992-06-24 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7123
7124 * dispnew.c (current_glyphs, desired_glyphs, temp_glyphs): Renamed
7125 to have the prefix `one_screen_', so that the screen macros can
7126 refer to them without conflicting with local variables.
7127 * screen.h [not MULTI_SCREEN] (SCREEN_CURRENT_GLYPHS,
7128 SCREEN_DESIRED_GLYPHS, SCREEN_TEMP_GLYPHS): Changed accordingly.
7129
7130 * keyboard.c (read_key_sequence): Put the code which restarts the
7131 key sequence in a `#ifdef MULTI_SCREEN' conditional.
7132
7133 * screen.h [not MULTI_SCREEN]: Added definitions for
7134 CHECK_LIVE_SCREEN and SCREEN_FOCUS_SCREEN for the non-multi-screen
7135 case.
7136
7137 * screen.h [not MULTI_SCREEN]: The name is
7138 `SCREEN_MINIBUF_ONLY_P', not `SCREEN_IS_MINIBUF_ONLY'.
7139
7140 * xdisp [not MULTI_SCREEN] (Fredraw_display): Removed definition
7141 here; the non-multi-screen version is already defined in
7142 dispnew.c, alongside the multi-screen version.
7143 (syms_of_xdisp): Don't try to defsubr Sredraw_display; it doesn't
7144 exist.
7145
7146 * lread.c (Fread_char_exclusive): Remove this from the `#ifdef
7147 HAVE_X_WINDOWS' conditional; it is appropriate in any context.
7148
7149 * eval.c (Fsignal): Put call to TOTALLY_UNBLOCK_INPUT under the
7150 protection of a `#ifdef HAVE_X_WINDOWS' conditional.
7151
7152 * keyboard.c (kbd_buffer_get_event): Expect *mouse_position_hook
7153 to return the timestamp as an unsigned long, not a lisp_Object.
7154 This matches the change made to `struct input_event'.
7155 (make_lispy_movement): Change argument TIME to an unsigned long.
7156 * xterm.c (XTmouse_position): Change TIME argument to a pointer to
7157 an unsigned long.
7158 * termhooks.h (mouse_position_hook): Doc fix.
7159 * term.c (mouse_position_hook): Doc fix.
7160
7161 * termhooks.h (struct input_event): If MULTI_SCREEN is defined,
7162 declare the .screen element to be `struct screen *'; otherwise,
7163 declare it to be `int'. See the comment in the file for why I've
7164 done this obviously wrong thing.
7165
7166 * print.c (printbufidx): Doc fix.
7167 * xdisp.c (message_buf_print): Doc fix.
7168
7169 * dispextern.h (message_buf_size): Variable deleted; it's no
7170 longer used, since the message buffer is always the width of the
7171 screen.
7172
7173 * screen.h [not MULTI_SCREEN] (message_buf): Add extern
7174 declaration for it here.
7175 (message_buf_print): Added extern declarations here for both the
7176 MULTI_SCREEN and non-MULTI_SCREEN cases.
7177 * dispextern.h (message_buf, message_buf_print): Deleted extern
7178 declaration for these here. It should never be used directly; it
7179 should always be used through the SCREEN_MESSAGE_BUF macro.
7180
7181 * dispnew.c (temp_glyphs): Added back this variable declaration;
7182 screen.h and various other places referred to this; where did it
7183 go?
7184 * screen.h [not MULTI_SCREEN] (temp_glyphs, desired_glyphs,
7185 current_glyphs): Add extern declarations for these.
7186
7187 * dispnew.c (cancel_my_columns): Use SCREEN_DESIRED_GLYPHS macro,
7188 instead of assuming that a SCREEN_PTR is actually a pointer to
7189 something; it isn't if we're not using any of the screen support.
7190 Remove the variable `screen', and find the value for
7191 `desired_glyphs' directly.
7192 * xdisp.c (echo_area_display): Use the SCREEN_DESIRED_GLYPHS macro
7193 to find screen's desired cursor position, instead of assuming that
7194 a SCREEN_PTR is a pointer to something.
7195 (display_mode_line): Same.
7196 * window.c (Fpos_visible_in_window_p): Use the SCREEN_WIDTH macro.
7197 (replace_window): Use the SCREEN_ROOT_WINDOW macro.
7198 (window_loop): Use the SCREEN_WIDTH macro.
7199
7200 * dispnew.c (update_screen): Enclose the statement which
7201 increments `downto' in a `#ifdef HAVE_X_WINDOWS' conditional.
7202
7203 * screen.h [MULTI_SCREEN and not MULTI_SCREEN] (FOR_EACH_SCREEN):
7204 New macro.
7205 * dispnew.c (window_change_signal, do_pending_window_change): Use
7206 FOR_EACH_SCREEN instead of assuming that Vscreen_list exists.
7207 * window.h (root_window): Added extern declaration for this.
7208
7209 * screen.c: Enclose the entire file in a #ifdef MULTI_SCREEN
7210 conditional.
7211
7212
7213 1992-06-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7214
7215 * window.c (Fset_window_dedicated_p):
7216 Replaces Fset_window_buffer_dedicated. Second arg just t or nil.
7217
7218 1992-06-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7219
7220 * syntax.h (SYNTAX, SYNTAX_MATCH, SYNTAX_COMSTART_FIRST, etc.)
7221 Cast character to unsigned char before indexing.
7222
7223 1992-06-19 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7224
7225 * xterm.c (x_wm_set_size_hint): Set size_hints.flags to indicate
7226 that we are providing the base_width and base_height data.
7227
7228 * xfns.c (Fx_create_screen): Default the internal border width to
7229 2; this matches XTerm.
7230
7231 * syntax.c (Fparse_partial_sexp): Doc fix.
7232
7233 * syntax.c (Fparse_partial_sexp): Added phony argument list to
7234 comment containing the docstring for this function, so that
7235 make-docfile.c will get the right arguments.
7236
7237 * xfns.c (x_set_name): Don't go through the X11 brouhaha to set
7238 the name unless we're actually setting it to something different
7239 from the current name.
7240
7241 1992-06-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7242
7243 * eval.c (syms_of_eval): Don't forget to escape the ends of the
7244 lines in the docstring for `debug-on-quit'.
7245
7246 * keyboard.c (Fread_key_sequence): Reversed sense of CONTINUE_ECHO
7247 argument - set this_command_key_count to zero iff CONTINUE_ECHO is
7248 Qnil, not iff it's non-Qnil.
7249
7250 1992-06-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7251
7252 * search.c: Changed to remember the object in which the last
7253 search was done, so that markers from match data are placed in
7254 that buffer, instead of the current buffer.
7255 (search_regs_from_string): Replaced with...
7256 (last_thing_searched): This is either Qnil, meaning no searching
7257 has been done, Qt, meaning that the last search was done in a
7258 string, or a buffer object, meaning that the last search was done
7259 in that buffer.
7260 (syms_of_search): Initialize and staticpro last_thing_searched.
7261 (Flooking_at, search_buffer): Set last_thing_searched to the
7262 current buffer.
7263 (Fstring_match): Set last_thing_searched to Qt.
7264 (Fmatch_data): Test last_thing_searched to see if any searching
7265 has been done, and construct integers or markers in the right
7266 buffer. Abort if it's not Qt, Qnil, or a buffer.
7267 (Fstore_match_data): Set last_thing_searched according to the
7268 things we find in LIST.
7269
7270 1992-06-16 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7271
7272 * fns.c (Fload_average): Document the fact that this sometimes
7273 returns a list of fewer than three elements, on systems which
7274 don't provide 5- and 15-minute load averages.
7275
7276 1992-06-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7277
7278 * xterm.c (XTread_socket): If an event arrives to a screen S,
7279 don't attribute them to SCREEN_FOCUS_SCREEN (S) here. Do that
7280 synchronously, when the events are dequeued. This keeps events
7281 from being accidentally routed to the wrong screen, if we
7282 temporarily redirect a screen's focus.
7283 * keyboard.c (kbd_buffer_store_event): If the character being
7284 stuffed is a quit character, do the SCREEN_FOCUS_SCREEN
7285 redirection to it here.
7286 (kbd_buffer_get_event): And do it here, before returning the
7287 event.
7288
7289 * eval.c (Finteractive_p): This assumed that if the function in
7290 the top frame of the lisp backtrace was not a Lisp_Compiled
7291 object, then Finteractive_p must have an explicit frame on the top
7292 of the stack, which we could skip. It didn't bother to follow the
7293 symbol function chaining, and it would break if any C code called
7294 from a non-compiled function tried to call Finteractive_p anyway.
7295 Changed this to actually check if the top frame's effective
7296 function is the Lisp_Subr for Finteractive_p. This also used to
7297 skip any number of frames for special forms and/or Fbytecode
7298 calls. Changed this to skip an Fbytecode frame (if present),
7299 followed by any number of special form frames.
7300
7301 1992-06-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7302
7303 * eval.c (struct backtrace): Doc fix.
7304
7305 1992-06-12 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7306
7307 * m/hp300bsd.h (LOAD_AVE_TYPE): This is long, not double.
7308 (LOAD_AVE_CVT): Adjusted as appropriate.
7309
7310 * fns.c: Moved lots of system-dependent preprocessor cruft
7311 dealing with getting the load average to `getloadavg.c'.
7312 (Fload_average): Guts moved to `getloadavg.c'.
7313 * getloadavg.c: New file, containing the necessary mess to get the
7314 load average on many different systems. This file is supposed to
7315 be Emacs-independent.
7316 * ymakefile (obj): Add getloadavg.o to the list.
7317 (getloadavg.o): Note that this depends on its source, and config.h.
7318
7319 * screen.c (Fdelete_screen): Typo in loop looking for new
7320 last_nonminibuf_screen - change `screen = XCONS (screens)->cdr`
7321 to `screens = XCONS (screens)->cdr`
7322
7323 * xdisp.c (echo_area_display): Don't neglect to draw all the lines
7324 of the minibuffer window (or echo area) when a message is being
7325 displayed. If the minibuffer is more than one line high, they
7326 should all be blanked.
7327
7328 1992-06-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
7329
7330 * sysdep.c [POSIX_SIGNALS] (sys_signal): Fix typo - rather than
7331 calling new_action as if it were a function, call sigaction.
7332
7333 1992-06-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7334
7335 * lisp.h (Qnumberp, Qnumber_or_marker_p): Declared.
7336
7337 * eval.c (wants_debugger): Changed NULL to NILP.
7338 Who installed these calls to NULL?
7339
7340 1992-06-09 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7341
7342 * dispnew.c (Fsit_for): Don't forget to actually set sec from ARG.
7343
7344 * termhooks.h (struct input_event): Doc fix - for mouse clicks, .x
7345 and .y give the position in characters, not in pixels.
7346
7347 * keyboard.c (format_modifiers): Order the modifier letters
7348 alphabetically - control, meta, shift, and up.
7349
7350 1992-06-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7351
7352 * xfns.c: Move some extern decls out of #if 0, to top of file.
7353
7354 1992-06-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7355
7356 * window.c (Fcoordinates_in_window_p): Docstring fix.
7357
7358 * buffer.c (Fother_buffer): Put a comma between arguments BUFFER
7359 and VISIBLE_OK in the argument list. Duh.
7360
7361 * screen.c (Fdelete_screen): Remember that s is a SCREEN_PTR *,
7362 not a Lisp_Object.
7363
7364 * search.c (search_regs): Doc fix.
7365 (compile_pattern): Take a new argument - the search register
7366 structure - so we can reassure the regex routines that the
7367 registers have been allocated.
7368 (Flooking_at, Fstring_match, search_buffer): Changed to pass
7369 &search_regs to compile_pattern.
7370 (search_buffer): When we've searched for a literal string and
7371 found it, make sure that the search registers are allocated before
7372 stuffing the location of the search into them.
7373 (Fstore_match_data): If we need to allocate more registers,
7374 allocate them using re_set_registers, instead of just storing the
7375 new registers and hoping that regex doesn't free them.
7376
7377 * search.c (Freplace_match): Doc fix.
7378
7379 1992-06-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7380
7381 * screen.c (Fdeiconify_screen): Function deleted.
7382 It was the same as make-screen-visible.
7383
7384 1992-06-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7385
7386 * keyboard.c: Doc fix.
7387
7388 * floatfns.c (Fcbrt): Renamed from Fcube_root, and #if 0'd.
7389
7390 * lisp.h (CHECK_NUMBER_OR_FLOAT*): Use Qnumberp or Qnumber_or_marker_p.
7391 * data.c (syms_of_data): Staticpro those.
7392 (Qinteger_or_float_p, Qinteger_or_float_or_marker_p): Deleted.
7393 (Fnumberp, Fnumber_or_marker_p): Define these always,
7394 but make them work even if not LISP_FLOAT_TYPE.
7395
7396 1992-06-05 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
7397
7398 * config.h.in: Undefine REL_ALLOC if a system specific file
7399 defines SYSTEM_MALLOC.
7400
7401 * sysdep.c (save_signal_handlers): Cast result of signal to
7402 avoid compiler warning.
7403 * process.c (send_process): Likewise.
7404
7405 1992-06-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7406
7407 * keyboard.c (Fread_key_sequence): New 2nd arg CONTINUE_ECHO
7408 added for the sake of universal-argument.
7409
7410 1992-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7411
7412 * editfns.c (Fset_default_file_mode): Function deleted.
7413 (Funix_sync): Moved.
7414 * fileio.c (Funix_sync): Moved to here.
7415
7416 * xfns.c (Fx_erase_rectangle, Fx_draw_rectangle, Fx_contour_region):
7417 (Fx_uncontour_region): #if 0 these.
7418 (x_rectangle, outline_region): Likewise.
7419 (syms_of_xfns): #if 0 the defsubrs.
7420
7421 * dispnew.c (Fsleep_for, Fsit_for): Clean up error messages.
7422
7423 * eval.c, print.c, keyboard.c: Doc fix.
7424
7425 * xfns.c (Fx_horizontal_line): Disabled, since not documented.
7426
7427 * fileio.c (Fdelete_directory): Renamed from Fremove_directory.
7428
7429 * unexencap.c: Deinstalled (renamed to =unexencap.c)
7430 since awaited papers never arrived.
7431
7432 * xfns.c: Doc fix.
7433
7434 1992-06-04 Roland McGrath (roland@geech.gnu.ai.mit.edu)
7435
7436 * eval.c (stack_trace_on_error, debug_on_error): Made Lisp_Objects V*.
7437 (syms_of_eval): Changed DEFVAR_BOOLs to DEFVAR_LISPs.
7438 (wants_debugger): New fn.
7439 (find_handler_clause): Use it to look in debug-on-error and
7440 stack-trace-on-error lists.
7441
7442 1992-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7443
7444 * floatfns.c (Fbessel_*, Ferf, Ferfc, Flog_gamma): Turned off;
7445 not clearly worth including.
7446 (Fasinh, Facosh, Fatanh, Fsinh, Fcosh, Ftanh): Likewise.
7447
7448 1992-06-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7449
7450 * minibuf.c, keyboard.c: Doc fix.
7451
7452 * window.c (Fwindow_at): Fix number of args--minimum 2, max 3.
7453
7454 * screen.c: Doc fix.
7455
7456 1992-06-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7457
7458 * lread.c (Feval_buffer): Don't read any arguments, if interactive.
7459
7460 1992-06-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
7461
7462 * screen.c (make_screen_without_minibuffer): Apply XSCREEN to
7463 Vdefault_minibuffer_screen before calling SCREEN_LIVE_P. The
7464 argument to SCREEN_LIVE_P must be a SCREEN_PTR, not a Lisp_Object.
7465
7466 * dispnew.c (Fsit_for): This used to compare arg with 0 and return
7467 Qt immediately. It should actually call sit_for anyway, because
7468 sit_for needs to test for input and do the redisplay.
7469 (sit_for): Compare sec and usec with zero here, after we've
7470 looked for input and done a redisplay.
7471
7472 * lread.c (Feval_buffer): Use NILP, not NIL_P.
7473
7474 1992-06-01 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
7475
7476 * buffer.h: New macro, BUF_SET_PT.
7477
7478 * lread.c: New subr `eval-buffer', replaces `eval-current-buffer',
7479 which is now defined in simple.el.
7480
7481 1992-05-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7482
7483 * screen.c (Fdelete_screen): If we're deleting the default
7484 minibuffer screen, try to find another minibuffer screen.
7485
7486 1992-05-29 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7487
7488 * buffer.c (Fother_buffer): New optional argument VISIBLE_OK,
7489 indicating that buffers currently visible in windows should not be
7490 discriminated against.
7491
7492 1992-05-28 Ken Raeburn (raeburn@cygnus.com)
7493
7494 * screen.c (Fdelete_screen): Fix bugs in walking screen list.
7495 (make_screen_without_minibuffer): Signal an error if the default
7496 minibuffer screen is dead.
7497
7498 * xfns.c (x_set_name): Use ICCCM-conforming scheme for changing
7499 window name in X11.
7500 (Fx_create_screen): Likewise.
7501
7502 1992-05-27 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7503
7504 * xselect.c: Support getting and setting the obsolete X cut
7505 buffers.
7506 (Qcut_buffer0): New atom, denoting the X cut buffer 0.
7507 (syms_of_xselect): Initialize and staticpro it.
7508 (Fx_own_selection): If TYPE is Qcut_buffer0, interpret this to
7509 mean that we should set cut buffer 0 to STRING.
7510 (Fx_selection_value): If TYPE is Qcut_buffer0, interpret this to
7511 mean that we should retrieve the value of cut buffer 0.
7512
7513 1992-05-21 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7514
7515 * xterm.c (construct_mouse_click): Removed extra assignment of
7516 result->timestamp.
7517
7518 * keyboard.c (last_event_timestamp): Doc fix.
7519 * xselect.c (last_event_timestamp): Declare it extern here.
7520 (mouse_timestamp): Variable deleted. last_event_timestamp is a
7521 more accurate thing to use here.
7522 (own_selection, get_selection_value): Use last_event_timestamp
7523 instead of mouse_timestamp.
7524 * keyboard.c (make_lispy_event): Pass the event's timestamp
7525 through the make_number function, to assure that it is properly
7526 tagged before incorporating it into the lispy event.
7527 * xterm.c (construct_mouse_click): The timestamp element of a
7528 struct input_event is no longer a Lisp_Object; it is now an
7529 unsigned long. So don't use XSET to assign to it.
7530 (XTread_socket): Same here, in processing KeyPress events.
7531
7532 * keyboard.c (Fexecute_extended_command): Properly initialize
7533 this_command_keys to the concatenation of the sequence that
7534 invoked Fexecute_extended_command, the characters making up the
7535 name of the command we're running, and a return character.
7536 Previously, this code would set it to the last key typed while
7537 reading the function name from the minibuffer, followed by the
7538 name of the function being run.
7539
7540 1992-05-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7541
7542 * xterm.c (x_display_box_cursor): Draw the cursor at curs_{x,y},
7543 rather than at s->cursor_{x,y}. If cursor_in_echo_area is set,
7544 then s->cursor_{x,y} does not accurately describe the position of
7545 the cursor. However, if we're not updating, then curs_{x,y} are
7546 garbage; set them from s->cursor_{x,y}.
7547
7548 * dispnew.c (update_screen): Check current_screen->enable and
7549 current_screen_used to see if there is any text on the last line,
7550 not desired_screen->{enable,used}. When the line isn't enabled,
7551 move to line SCREEN_HEIGHT (s) - 1, not SCREEN_HEIGHT (s).
7552 Rearranged conditionals.
7553
7554 * dispnew.c (cursor_in_echo_area): Document the interpretations of
7555 positive and negative values of this variable.
7556
7557 1992-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7558
7559 * dispnew.c (Fding): If have arg, don't end a keyboard macro.
7560
7561 1992-05-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7562
7563 * dispnew.c (sit_for): New function, which is a slight
7564 generalization of Fsit_for; you can tell it that it's waiting for
7565 input, so C-g gets handled properly.
7566 (Fsit_for): Call it, instead of replicating all its guts.
7567 * keyboard.c (read_char): Call sit_for instead of Fsit_for, and
7568 indicate that we're awaiting keyboard input.
7569
7570 * dispnew.c (Fsit_for): Rename arguments to match docstring. Use
7571 NILP instead of EQ (foo, Qnil). If nodisp is non-nil, call
7572 wait_reading_process_input with do_display 0, instead of 1; this
7573 will inhibit spurious redisplays when process input arrives during
7574 a sit-for.
7575
7576 * process.c (Faccept_process_output): Pass zero as read_kbd
7577 argument to wait_reading_process_input when PROC is nil, not when
7578 PROC is non-nil.
7579
7580 * process.c (wait_reading_process_input): Declare read_kbd to be a
7581 Lisp_Object, and use the tagging to tell the difference between a
7582 process object and an integer.
7583 * dispnew.c (Fsleep_for, Fsit_for, Fsleep_for_millisecs): Pass
7584 read_kbd argument to wait_reading_process_input as a Lisp_Object.
7585 * keyboard.c (kbd_buffer_get_event): Same.
7586 * process.c (Faccept_process_output, send_process): Same.
7587
7588 * keyboard.c (read_char): Use save_getcjmp and restore_getcjmp
7589 instead of doing the bcopy explicitly.
7590
7591 * xterm.c (XTread_socket): When handling an EnterWindow event,
7592 don't bother to check waiting_for_input. It's not necessary.
7593
7594 * keyboard.c (read_char): Don't clear waiting_for_input and
7595 input_available_clear_time here.
7596 (quit_throw_to_read_char): It's already done here.
7597
7598 * keyboard.c (quit_throw_to_read_char): Use
7599 clear_waiting_for_input instead of clearing waiting_for_input
7600 explicitly.
7601
7602 1992-05-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7603
7604 * keyboard.c (read_char): Call clear_waiting_for_input instead of
7605 clearing waiting_for_input and input_available_clear_time
7606 explicitly.
7607
7608 1992-05-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7609
7610 * ymakefile [defined (__GNUC__) and __GNUC__ > 1]: define
7611 YMF_PASS_LDFLAGS so that it can deal with an empty flags argument.
7612
7613 * callproc.c (Fcall_process): Under VMS, a nil INFILE argument
7614 means to read from "NLA0:", not "/dev/null".
7615
7616 * callproc.c (Fcall_process): Use nil as the value for display
7617 (the fourth argument) when nargs >= 4, not when nargs >= 3.
7618
7619 1992-05-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7620
7621 * termhooks.h: Change timestamp from a Lisp_Object to an unsigned
7622 long.
7623 * keyboard.c (kbd_buffer_store_event): We don't have to apply the
7624 XINT macro to the timestamp member of the event anymore.
7625
7626 * process.c (wait_reading_process_output): Don't turn off polling.
7627
7628 * sysdep.c (setpgrp_of_tty): Pass the address of pid, not pid
7629 itself.
7630
7631 * process.c: Deleted cpp tangle for dealing with system-dependent
7632 tty handling; #included "systerm.h".
7633 * systerm.h: Add some of the things that were done in process.c:
7634 If titan is #defined, then we should include <sys/ttyhw.h> and
7635 <sys/stream.h> along with the other SYSV pty stuff.
7636 If HPUX is #defined, then EMACS_HAVE_TTY_PGRP isn't true.
7637 If XENIX is #defined, then we shouldn't try to use TIOCGETC.
7638 * ymakefile: Note that process.o depends on systerm.h now.
7639
7640 1992-05-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7641
7642 * callint.c (Fprefix_numeric_value): Value 1 for symbol other than `-'.
7643
7644 1992-05-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7645
7646 * cmds.c (Fforward_line): If the buffer is empty, don't try to see
7647 if it contains a newline, and moving nowhere at eob after
7648 non-newline should return 1, not 0.
7649
7650 * search.c (scan_buffer): Doc fix.
7651
7652 * buffer.c (Fbuffer_disable_undo): Accept a buffer name as an
7653 argument.
7654
7655 1992-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7656
7657 * fileio.c: Include config.h first thing.
7658
7659 * keyboard.c (clear_input_pending): New subroutine.
7660 * process.c (wait_reading_process_input): Make C-g really quit in
7661 sit-for case.
7662
7663 * ymakefile (LD_SWITCH_SYSTEM): Don't use -X with GCC.
7664
7665 1992-05-12 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7666
7667 * eval.c (Fapply): Use indirect_function, instead of doing a dumb
7668 loop.
7669 * keymap.c (get_keymap_1): Same.
7670 * macros.c (Fexecute_kbd_macro): Same.
7671
7672 * buffer.c (init_buffer_once): Don't disable undos for *scratch*
7673 here. Do it in loadup.el.
7674
7675 * buffer.c (init_buffer_once): Doc fix.
7676
7677 * doc.c (Fdocumentation): After extracting the doc string from a
7678 lambda or autoload expression, don't fall through to the default
7679 case and signal an invalid function error; instead, do a `break'.
7680
7681 * doc.c (Fdocumentation): Use EQ (x, y) instead of XSYMBOL (x) ==
7682 XSYMBOL (y).
7683
7684 * doc.c (Fdocumentation): When decyphering a function made from
7685 conses, use 'else if' for the chain of alternatives instead of
7686 just 'if'. It used to be that each alternative returned, but
7687 that's not true anymore.
7688
7689 * alloc.c (Fgarbage_collect): Don't call truncate_undo_list on
7690 buffers whose undo list is 't.
7691
7692 * doc.c (Fdocumentation): Renamed argument `fun1' to `function',
7693 so make-docstring will list argument consistently with the
7694 docstring.
7695
7696 1992-05-11 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
7697
7698 * xterm.h: Removed definition of `RES_CLASS'.
7699
7700 * xfns.c (x_get_arg): Eliminated `screen_name' parameter. No
7701 longer uses screen name as X resource search component.
7702 All calls to x_get_arg changed accordingly.
7703 Global variable `screen_class' and #define `SCREEN_CLASS' removed.
7704
7705 * xterm.c (XTread_socket): Added basic structure for handling
7706 various ClientMessage events, using new global variables
7707 `Xatom_wm_take_focus', `Xatom_wm_save_yourself',
7708 `Xatom_wm_delete_window', `Xatom_wm_configure_denied',
7709 `Xatom_wm_moved'.
7710 * xfns.c: Declare these variables extern.
7711 (syms_of_xfns): Initialize these variables.
7712
7713 * xselect.c (Fx_own_selection, Fx_selection_value): New optional
7714 parameter `type', to specify the selection type.
7715 (syms_of_xselect): New symbols Qprimary, Qsecondary, Qclipboard
7716 initialized.
7717
7718 1992-05-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7719
7720 * data.c (Qcyclic_function_indirection): New error condition.
7721 (indirect_function, Findirect_function): New functions.
7722 (syms_of_data): Initialize Qcyclic_function_indirection, put the
7723 error properties on it, and staticpro it. Defsubr
7724 Findirect_function.
7725 * lisp.h (indirect_function, Findirect_function): Declare them here.
7726 * callint.c (Fcall_interactively): Get symbol's function by
7727 calling indirect_function, instead of just looping.
7728 * doc.c (Fdocumentation): Same.
7729 * eval.c (Finteractive_p, Fcommandp, do_autoload, Feval,
7730 Ffuncall): Same.
7731 * keyboard.c (Fcommand_execute): Same.
7732
7733 * data.c (Fsymbol_function): Name the argument `symbol' instead of
7734 `sym', so make-docstring will list argument consistently with the
7735 docstring.
7736
7737 * process.c (wait_reading_process_input): Make sure the screen
7738 isn't garbaged (and therefore not displayed) before we enter the
7739 select and start waiting for input.
7740
7741 * keyboard.c: #include <systime.h>.
7742 * ymakefile (keyboard.o): This depends on systime.h.
7743 * keyboard.c (input_available_clear_word): Replaced with
7744 input_available_clear_time, which is a pointer to an EMACSTIME;
7745 sometimes the time information is larger than a single word.
7746 (read_char): Changed ..._word to ..._time.
7747 (input_available_signal): Use the EMACS_SET_SECS_USECS macro to
7748 clear *input_available_clear_time, instead of zapping a zero into
7749 *input_available_clear_word.
7750 (set_waiting_for_input, clear_waiting_for_input): Adjusted
7751 appropriately.
7752
7753 1992-05-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7754
7755 * editfns.c (make_buffer_string): New function.
7756 * lisp.h (make_buffer_string): Declare it here.
7757 * editfns.c (Fbuffer_substring): Call make_buffer_string instead
7758 of writing it out.
7759 (Fbuffer_string): Call make_buffer_string instead of make_string,
7760 so we can deal with buffer relocations.
7761 * minibuf.c (read_minibuf): Same here.
7762
7763 1992-05-09 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7764
7765 * syssignal.h (sigunblock): New macro, taken from 18.58's
7766 emacssignal.h file.
7767 * sysdep.c (request_sigio): Use the sigunblock macro to enable
7768 reciept of SIGWINCH, instead of the dysfunctional sigblockx.
7769
7770 1992-05-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
7771
7772 * search.c: Doc fix.
7773
7774 1992-05-06 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7775
7776 * emacs.c (decode_env_path): If EVARNAME is zero, don't try to
7777 call getenv on it.
7778 * lread.c (init_lread): When we don't have an environment variable
7779 to check, pass 0 instead of the empty string.
7780
7781 * alloc.c (Fmake_marker): Use `SIGMASKTYPE' instead of `int'.
7782 Instead of calling sigsetmask twice - once to get the mask, and
7783 again to restore it - call sigblock, specifying no additional
7784 signals.
7785
7786 1992-05-05 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7787
7788 * alloc.c: #include <syssignal.h>, for the sake of the
7789 bug-catching code in Fmake_marker.
7790 ymakefile: Add dependency.
7791
7792 * syssignal.h [not POSIX_SIGNALS] (SIGFULLMASK): New definition,
7793 for symmetry with the "defined (POSIX_SIGNALS)" case.
7794
7795 * callproc.c (child_setup): Since we always get the environment
7796 from Vprocess_environment, don't bother to take the environment
7797 the subprocess should inherit as an argument anymore.
7798 * process.c (create_process): Don't pass environment as a
7799 variable. Just preserve it across call to fork.
7800
7801 1992-05-04 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7802
7803 * floatfns.c: #include <syssignal.h>.
7804 (float_error): Use SIGEMPTYMASK instead of zero.
7805
7806 * syssignal.h [POSIX_SIGNALS] (sigmask): Defined to expand to a
7807 statement expression under GCC, or a function call otherwise.
7808 (sigpause, sigblock, sigunblock, sigsetmask): These are now
7809 K&R-compatible macros.
7810 * systerm.h [POSIX_SIGNALS] (sys_sigmask): Here is the function
7811 the POSIX version of sigmask calls when we're not compiling with
7812 GCC.
7813 * alloc.c (Fmake_marker): Undo changes of Apr 29.
7814 * callproc.c (Fcall_process): Same.
7815 * data.c (arith_error): Same.
7816 * floatfns.c (float_error): Same.
7817 * keyboard.c (gobble_input): Same.
7818
7819 * sysdep.c (request_sigio, unrequest_sigio)
7820
7821 1992-04-29 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7822
7823 * x11term.h (CLASS): Change this from "emacs" to "Emacs"; class
7824 names should always start with an upper-case letter.
7825
7826 * syssignal.h: Arranged cpp conditionals so that the specific
7827 cases come first, generic cases last.
7828
7829 * syssignal.h (sigpause, sigblock, sigunblock, sigsetmask): Macros
7830 removed; they require GCC, and Emacs 19 should compile without GCC.
7831 (EMACS_SIGPAUSE, EMACS_SIGBLOCK, EMACS_SIGUNBLOCK,
7832 EMACS_SIGSETMASK, EMACS_SIGFREE, EMACS_SIGHOLDX, EMACS_SIGBLOCKX,
7833 EMACS_SIGUNBLOCKX, EMACS_SIGPAUSEX): These are new macros that
7834 don't require GCC, but expand to statements.
7835 * callproc.c (Fcall_process): Use new EMACS_SIG* macros from
7836 syssignal.h.
7837 * keyboard.c (gobble_input): Same.
7838 * sysdep.c (request_sigio, unrequest_sigio): Same.
7839 * x11term.h (BLOCK_INPUT, UNBLOCK_INPUT): Same.
7840 * alloc.c (Fmake_marker): Same.
7841 * data.c (arith_error): Same.
7842 * floatfns.c (float_error): Same.
7843
7844 1992-04-28 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7845
7846 * ymakefile: If we're using GCC version 2.0 or later, use "$(CC)
7847 -nostdlib" as the linker. This will allow us to find libgcc.a
7848 even when GCC puts it in a really weird place.
7849 (YMF_PASS_LDFLAGS): New macro.
7850 (temacs): Use it.
7851
7852 * s/hpux.h: Doc fix.
7853
7854 * filelock.c (egetenv): Declare this.
7855 (lock_path, SUPERLOCK_NAME, superlock_path): New variables and
7856 macros.
7857 (MAKE_LOCK_PATH, lock_file, unlock_file, lock_superlock): Use the
7858 variables lock_path and superlock_path instead of the PATH_LOCK
7859 and PATH_SUPERLOCK macros.
7860 (init_filelock): New function.
7861 * emacs.c (main): Call the init_filelock function.
7862 * paths.h.in (PATH_SUPERLOCK): Removed. This is now calculated
7863 from PATH_LOCK or from the EMACSLOCKDIR environment variable.
7864
7865 * filelock.c (MAKE_LOCK_PATH): New macro.
7866 (lock_file, unlock_file, Ffile_locked_p): Use it.
7867
7868 * syntax.c (Fmodify_syntax_entry): Note that '-' is a synonym for
7869 ' ' (both denote whitespace), that '\\' denotes the escape class,
7870 and that '/' denotes the character-quote class. The description
7871 used to claim that '\\' denoted the character-quote class, and
7872 neglected to mention '-' and '/'.
7873
7874 * filelock.c (lock_file): Doc fix.
7875
7876 1992-04-27 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7877
7878 * callproc.c (init_callproc): Get the default Vexec_path from the
7879 environment variable "EMACSPATH"; get Vdata_directory from
7880 "EMACSDATA".
7881
7882 * ymakefile: Fix #endif and #else comments.
7883
7884 1992-04-27 Richard Stallman (rms at mole.gnu.ai.mit.edu)
7885
7886 * ymakefile (xemacs): Link xemacs to temacs if HAVE_SHM.
7887
7888 * ymakefile (paths.h, config.h): Never copy, always fail.
7889
7890 * process.c (wait_reading_process_input): Redisplay if screen_garbaged.
7891 Call do_pending_window_change first.
7892 Include dispextern.h.
7893 * ymakefile (process.o): Added dependency.
7894
7895 * ymakefile (OLDXMENU_OPTIONS): New macro, used compiling oldxmenu.
7896
7897 1992-04-25 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7898
7899 * ymakefile: Changed all references to LD_CMD to LINKER, for
7900 compatibility with the 18.58 configuration files.
7901 * s/aix3-1.h, s/sunos4shr.h: Same here.
7902
7903 * ymakefile: Doc fixes.
7904
7905 * ymakefile (CC, MAKE): Set these variables from optional macros.
7906 Change all uses of `make' to ${MAKE}.
7907
7908 * ymakefile: use HAVE_X11 as alias for X11.
7909
7910 * ymakefile (LIB_GCC, GNULIB_VAR): Handle GCC 2.
7911
7912 * process.c (allocate_pty): Re-arranged conditionals to put the
7913 system-specific-case first, and the generic case in the #else
7914 section, for consistency with the rest of Emacs.
7915
7916 * process.c (allocate_pty): Wait until we fail to open three ptys
7917 in a row before concluding that we've reached the end of the ptys.
7918
7919 1992-04-22 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7920
7921 * ralloc.c: #include "getpagesize.h".
7922
7923 * search.c (Flooking_at): Use search_regs.num_regs instead of
7924 RE_NREGS. As of regex version 0.4, the compiler allocates the
7925 registers, and may allocate more than RE_NREGS.
7926 (search_buffer): Same.
7927 (Freplace_match): Use search_regs.num_regs to tell how many
7928 registers are valid. Also note that if none are valid, no search
7929 has been performed.
7930 (match_limit): Same.
7931 (Fmatch_data): Same.
7932 (Fstore_match_data): If we're trying to store more registers than
7933 search_regs has allocated, re-allocate them to make room.
7934
7935 1992-04-21 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7936
7937
7938 * callproc.c (egetenv): Declare the type of VAR.
7939
7940 * lisp.h: Don't undefine NULL. There is no longer any conflict.
7941
7942 * lisp.h (NUMBERP): New macro.
7943 * editfns.c (Fformat): Protect the sections that deal with
7944 Lisp_Float objects with a "#ifdef LISP_FLOAT_TYPE".
7945 * bytecode.c (Fbyte_code): Use the NUMBERP macro instead of
7946 explicitly checking for the Lisp_Float tag.
7947 * callint.c (Fcall_interactively): Same here.
7948
7949 * xrdb.c (magic_searchpath_decoder): Re-allocate string as needed,
7950 rather than making it a fixed-size array.
7951
7952 * xfns.c (Fx_rebind_key): Don't declare modifier_list to be a
7953 register variable. It's too big, and we need the address of its
7954 first element when we pass it to XRebindKeysym anyway.
7955
7956 * fileio.c (Fdo_auto_save): Doc fix.
7957
7958 1992-04-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7959
7960 * search.c (search_buffer): Cast RE_EXACTN_VALUE to char, because
7961 the regex-0.4 distribution says so.
7962
7963 * ymakefile (dired.o): This depends on regex.h.
7964
7965 * process.c (wait_reading_process_input): There is code here which
7966 sends SIGIO to Emacs if we thought we had input available but
7967 didn't get SIGIO. If the system doesn't have SIGIO, then
7968 #ifdef it out.
7969
7970 * print.c (Fexternal_debugging_output): Arguments were declared
7971 ANSI-style - rewritten in K&R 1 fashion.
7972
7973 * floatfns.c (IN_FLOAT): Cast the zero in the `else' clause of the
7974 conditional expression to SIGTYPE, to match the type of the
7975 float_error call in the `then' clause.
7976
7977 * s/hpux8: #define HPUX8; this is supposed to be customary
7978 procedure, and fileio.c was expecting it, but somehow it didn't
7979 get defined.
7980
7981 * sysdep.h: Move inclusions of [AIX] <sys/hft.h>,
7982 <sys/devinfo.h>, <sys/pty.h>, <unistd.h> [NEED_BSDTTY]
7983 <sys/bsdtty.h>, [HPUX and HAVE_PTYS] <sys/ptyio.h>, [SYSV_PTYS]
7984 <sys/tty.h>, <sys/pty.h>, and [pfa] <sys/file.h> to systerm.h;
7985 also move undefinition of LLITOUT under BSD4_1 to systerm.h.
7986 * systerm.h: They're here.
7987
7988 * xterm.c (XTcursor_to, XTclear_end_of_line): Declare to return
7989 int in the function definitions as well as their declarations.
7990
7991 1992-04-19 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7992
7993 * fileio.c (directory_file_name): When checking if the string ends
7994 with '/', check that slen is a valid length *before* examining
7995 dst[slen-1], not after.
7996
7997 1992-04-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
7998
7999 * xterm.c (x_death_handler): New function.
8000 (x_error_handler): Call x_death_handler to shut down Emacs.
8001 (x_term_init): Use x_death_handler to handle SIGPIPE, instead of
8002 x_error_handler, which expects to be passed a display and an
8003 event.
8004 * process.c (send_process): This used to set a handler to
8005 catch SIGPIPEs when writing to a subprocess, and then set the
8006 handler to SIGDFL after writing, but this would stomp on the
8007 SIGPIPE handler for for the X connection. So restore the prevous
8008 handler instead of changing to SIGDFL.
8009
8010 1992-04-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8011
8012 * indent.c (compute_motion): Fix skipping invis lines and
8013 truncation at right margin.
8014
8015 1992-04-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8016
8017 * s/hpux.h (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Use pty_name,
8018 not ptyname.
8019 * s/rtu.h: Same.
8020
8021 * process.c (pty_process): Add 'int' to the declaration 'static
8022 pty_processes;'. This makes it a happy declaration even when
8023 static has been #defined as the empty string.
8024 * xterm.c (XTcursor_to, XTclear_end_of_line): Same.
8025
8026 * unexec.c (sbrk): Declare this to return void * if __STDC__ is
8027 defined, or char * otherwise.
8028
8029 * lread.c init_lread): Re-cleaned logic. To determine whether the
8030 load path was changed before dumping, cons up a dump path and
8031 compare it. This method is more localized and accurate.
8032 (initial_path): Variable removed.
8033 (syms_of_lread): Don't staticpro.
8034
8035 * floatfns.c (float_error): Declare and define this to return
8036 SIGTYPE.
8037
8038 * systime.h [HAVE_TIMEVAL] (EMACS_GET_TIME): Declare dummy to be a
8039 real struct timezone, instead of an EMACS_TIME. Since
8040 HAVE_TIMEVAL is defined, struct timezone ought to be declared, so
8041 there's no harm in passing the genuine article.
8042
8043 * sysdep.c [USG] (rename): Place under the protection of a new
8044 preprocessor symbol, HAVE_RENAME.
8045 * s/hpux.h (HAVE_RENAME): Defined.
8046
8047 * sysdep.c [USG] (setpriority): Declare to return int, not void.
8048
8049 * s/template.h: Add template section for HAVE_TERMIOS.
8050
8051 * term.c (cursor_to, raw_cursor_to, fatal): Do declare the types
8052 of the arguments.
8053
8054 1992-04-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8055
8056 * callint.c (Fcall_interactively): When the interactive spec is
8057 a string, it may be relocated while reading the arguments. To
8058 avoid this, make a copy of the spec to refer to, instead of
8059 using a pointer to the data of the spec string.
8060
8061 * callint.c (Fcall_interactively): When following the function
8062 chain of a symbol, check for quits.
8063
8064 1992-04-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8065
8066 * lread.c (init_lread): Make the load path default to
8067 PATH_LOADSEARCH when we're not dumping (null purify-flag), and
8068 PATH_DUMPLOADSEARCH when we are (not (null (purify-flag))).
8069 Change from April 7th incorrectly always used PATH_DUMPLOADSEARCH.
8070
8071 * lread.c (init_lread): Cleaned up logic; to determine whether the
8072 load path was changed before dumping, remember the initial value
8073 and compare against it.
8074 (initial_path): New variable to support this.
8075 (syms_of_lread): staticpro initial_path.
8076
8077 * ymakefile: Renamed filenames like "*-dist" to "*.in".
8078
8079 * config.h.in: Doc fixes.
8080
8081 1992-04-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8082
8083 * config.h-dist: Renamed to config.h.in, for consistency with
8084 the installation conventions of other GNU programs.
8085 * paths.h-dist: Renamed to paths.h.in.
8086
8087 1992-04-11 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
8088
8089 * termcap.c: Declare getenv.
8090
8091 1992-04-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8092
8093 * Makefile: Renamed to Makefile.in; the configure script will edit
8094 this to produce Makefile.
8095
8096 1992-04-07 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8097
8098 * paths.h-dist (PATH_DUMPLOADSEARCH): New macro.
8099 * lread.c (init_lread): If we're building an Emacs to be dumped,
8100 use PATH_DUMPLOADSEARCH as the default load path, so we can
8101 correctly find our lisp files.
8102
8103 * config.h-dist, paths.h-dist: Added "-*- C -*-" to top lines, so
8104 Emacs will know that these are really C source.
8105
8106 1992-04-03 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8107
8108 * search.c (syms_of_search): When allocating memory
8109 searchbuf.buffer, cast the return value of malloc to unsigned char
8110 *, not char *; this changed in the most recent version of the
8111 regex code.
8112
8113 1992-03-31 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8114
8115 * doc.c (Fdocumentation): Don't forget to end each line of the
8116 docstring with "\n\".
8117
8118 * process.c (Fprocess_connection): Change "#ifdef 0" around this
8119 function to "#if 0".
8120
8121 * eval.c (Flet, FletX): Signal an error if one of the let's binding
8122 clauses has more than one value form, as in (let ((a 1 2)) a).
8123
8124 * eval.c (Ffuncall): Re-install change of March 10; I don't know
8125 why it went away.
8126
8127 * search.c (compile_pattern): Declare the variable which holds the
8128 return value of re_compile_pattern to be const, if this is ANSI C.
8129
8130 * alloc.c (xrealloc): Change "ese" to "else".
8131
8132 * crt0.c (start1) [sun_soft]: Change 'jst' to 'jsr'. The Sun
8133 assembly language manual doesn't list any 'jst' instruction, I
8134 don't know of one personally, and all the analogous code
8135 around it uses 'jsr'.
8136
8137 * crt0.c [m68k]: Merged with GNU C Library's version: added
8138 conditionals for sun_68881, sun_fpa, sun_soft.
8139
8140 * config.h-dist: Adjusted for renaming of share-lib to etc.
8141 * lread.c (read1): Same.
8142 * doc.c (Fdocumentation_property, Fsnarf_documentation): Same.
8143 * ymakefile: Same.
8144
8145 1992-03-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8146
8147 * crt0.c: Merged changes from 18.58:
8148 [hp9000s300]: Set flag_fpa. Define float_loc.
8149 [new hp assembler]: Double flag_fpa and flag_68881 if %d2!=0.
8150 (start1): Declare to be static at the top of the file.
8151 (_start): Removed static declaration in this function; since
8152 everyone wants it, we'll just put it here.
8153
8154 1992-03-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8155
8156 * fileio.c (Finsert_file_contents): Allow quitting from I/O.
8157 (Fcopy_file): Likewise.
8158
8159 1992-03-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8160
8161 * m-intel386.h (HAVE_ALLOCA): Inhibit if C_ALLOCA.
8162 (LIB_STANDARD): Alternate USG value if __GNUC__ or C_ALLOCA
8163
8164 * alloc.c (xrealloc): If handed a NULL pointer for the block to
8165 resize, malloc a new block and return that. Not all reallocs do
8166 this.
8167
8168 * m/elxsi.h: Doc fix.
8169
8170 1992-03-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8171
8172 * dispnew.c (Fsleep_for): Call wait_reading_process_input, whether
8173 or not we have process support; let the emulator do the work.
8174 * emacs.c (fatal_error_signal, Fkill_emacs): Call
8175 kill_buffer_processes even when subprocesses is not #defined; we
8176 have a stub.
8177
8178 * process.c [not defined (subprocesses)] (Fget_buffer_process,
8179 init_process, syms_of_process): New stub versions of these functions.
8180 * emacs.c (main): Call init_process and syms_of_process whether or
8181 not subprocesses is #defined.
8182 * xdisp.c (decode_mode_spec): Call Fget_buffer_process whether or
8183 not subprocesses is #defined.
8184
8185 1992-03-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8186
8187 * keyboard.c (kbd_buffer_get_event): Call
8188 wait_reading_process_input, even when subprocesses is not
8189 #defined, instead of doing a whole lot of hairy SIGIO-pausing
8190 stuff.
8191 * dispnew.c (Fsit_for): Call wait_reading_process_input, whether
8192 or not subprocesses is #defined.
8193
8194 * process.c (wait_reading_process_input): Since we're no longer
8195 checking for exceptional conditions in the call to select, all of
8196 the different ways to call select for different systems have
8197 become the same; remove the #if conditionals around this.
8198
8199 * keyboard.c (read_char): When returning quit_char because we got
8200 an interrupt signal, claim that the character came from the
8201 currently selected screen.
8202
8203 1992-03-16 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8204
8205 * callproc.c (Fcall_process): Doc fix.
8206
8207 * process.c [not defined (subprocesses)] (kill_buffer_processes):
8208 New dummy version of this function.
8209 * buffer.c (Fkill_buffer): Removed '#ifdef subprocesses'
8210 protection from the call to kill_buffer_processes; this is safe
8211 whether or not we actually have subprocesses.
8212
8213 1992-03-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8214
8215 * m/pfa50.h: New file.
8216 * process.c (create_process, process_send_signal): Added changes
8217 for m/pfa50.h.
8218 * sysdep.c: same.
8219 * unexec.c: same.
8220
8221 1992-03-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8222
8223 * callproc.c (child_setup): Always put the child in its own
8224 process group.
8225
8226 1992-03-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8227
8228 * mem_limits.h (POINTER): Doc fix.
8229
8230 * ralloc.c: Don't #include lisp.h and xterm.h; we no longer need
8231 to block input in critical sections.
8232 (r_alloc, r_alloc_free, r_re_alloc): Don't use BLOCK_INPUT and
8233 UNBLOCK_INPUT; these are no longer needed.
8234 (struct bp): Doc fix.
8235
8236 1992-03-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8237
8238 * ralloc.c (obtain): When deciding how many pages to request, take
8239 into account the amount of spare bytes at the end of the current
8240 page; let get be ROUNDUP (size - already_available), instead of
8241 ROUNDUP (size).
8242 (relinquish): Re-organized for clarity.
8243
8244 * editfns.c (Fcurrent_time): Updated to return the current time's
8245 seconds split into two 16-bit integers (similar to the system used
8246 by file-attributes), and the milliseconds.
8247
8248 1992-03-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
8249
8250 * process.c (Faccept_process_output): Add new optional argument
8251 TIMEOUT-MSECS, and return non-nil iff we actually got some input
8252 from the process(es).
8253 (wait_reading_process_input): Make return value indicate whether
8254 we got some input from the specified process, when read_kbd is a
8255 process, or from any process when read_kbd isn't particular.
8256
8257 * indent.c (Fmove_to_column): Pass the correct number of arguments
8258 to Findent_to.
8259
8260 * eval.c (Ffuncall): If a subr is asking for too many arguments,
8261 abort instead of printing an error message; this is an internal
8262 flaw in Emacs, and the subr cannot be called.
8263
8264 1992-03-06 Roland McGrath (roland@geech.gnu.ai.mit.edu)
8265
8266 * doc.c (Fdocumentation, Fdocumentation_property): Take optional
8267 new arg to not pass results thru substitute-command-keys.
8268
8269 1992-03-05 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8270
8271 * unexmips.c (unexec): When setting up the data_section header,
8272 calculate the size of the section as "brk - data_start," not "brk
8273 - DATA_START".
8274
8275 1992-02-23 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8276
8277 * fileio.c: #include "systime.h".
8278 (Fcopy_file): Use the systime.h macros to copy the time to the new
8279 file.
8280 * ymakefile: Note that fileio.o depends on systime.h.
8281
8282 * ymakefile (dispnew.o): Note that this depends on systerm.h and
8283 systime.h.
8284 (editfns.o, xterm.o, sysdep.o): Note that this depends on
8285 systime.h.
8286 (emacs.o, keyboard.o, process.o, sysdep.o): Note that these depend
8287 on systerm.h.
8288
8289 * systerm.h: Expanded to handle getting and setting terminal
8290 parameters:
8291 (struct emacs_tty): New structure, which consolidates all of the
8292 old tty parameter structures.
8293 (EMACS_GET_TTY, EMACS_SET_TTY, EMACS_TTY_TABS_OK): New macros.
8294 * sysdep.c (TABS_OK): Definitions of this macro removed;
8295 EMACS_TTY_TABS_OK replaces it.
8296 (TERMINAL): Definitions removed; now we use struct emacs_tty.
8297 [VMS] (input_chan): Renamed to...
8298 (input_fd): and defined even when VMS isn't; in that case, we
8299 leave it initialized to zero, which is the input tty. This allows
8300 us to use the EMACS_GET_TTY and EMACS_SET_TTY for both VMS and
8301 Unix.
8302 (discard_tty_input): Use struct emacs_tty and its macros instead
8303 of TERMINAL. Replace some of conditional with a call to
8304 EMACS_GET_TTY.
8305 (child_setup_tty): Use struct emacs_tty and its macros instead of
8306 TERMINAL and conditionals.
8307 (old_gtty, old_ltchars, old_tchars, old_lmode): Replaced by...
8308 (old_tty): New variable.
8309 (lmode): Made conditional on BSD4_1, since it's only used by the
8310 BSD4_1 support code now.
8311 (init_sys_modes): Define tty to be a struct emacs_tty, not a
8312 TERMINAL. Use macros to get and set parameters for VMS and
8313 Unices. Set lmode, tchars, and ltchars along with the rest of the
8314 tty state.
8315 (tabs_safe_p): Use EMACS_GET_TTY and EMACS_TTY_TABS_OK instead of
8316 conditionals.
8317 (reset_sys_modes): Use EMACS_SET_TTY to restore the settings from
8318 old_tty, instead of using hairy conditionals.
8319
8320 * sysdep.c (get_screen_size): Neatened; now each system of
8321 reporting the screen size is separated from the rest.
8322
8323 * systerm.h (EMACS_HAVE_TTY_PGRP, EMACS_GET_TTY_PGRP,
8324 EMACS_GET_TTY_PGRP): New macros to handle setting a tty's current
8325 process group.
8326 * sysdep.c (setpgrp_of_tty): Use the above, instead of
8327 conditionals.
8328
8329 * sysdep.c: #include "systerm.h".
8330 #ifs that choose #include files moved from here...
8331 * systerm.h: to here.
8332
8333 * sysdep.c [APOLLO]: We now undefine TIOCSTART not here but...
8334 * systerm.h: here.
8335
8336 * sysdep.c [BROKEN_TIOCGETC]: We now undefine TIOCGETC not here but...
8337 * systerm.h: here.
8338
8339 * sysdep.c [BROKEN_FIONREAD]: We now undefine FIONREAD and FASYNC
8340 not here but...
8341 * systerm.h: here.
8342
8343 * process.c (process_send_signal): Steal 18.58's version of this,
8344 but incorporate the support for VMS signals.
8345
8346 * syssignal.h (EMACS_KILLPG): New macro.
8347 * process.c (process_send_signal): Use it.
8348 * sysdep.c (sys_suspend): Use it.
8349
8350 * syssignal.h (SIGCHLD): If we have SIGCLD and not SIGCHLD, define
8351 SIGCHLD as an alias for SIGCLD.
8352 * sysdep.c: Remove code for above.
8353
8354 * sysdep.c (init_baud_rate): Rather than trying to maintain the
8355 illusion of an abstraction with the OSPEED and SETOSPEED macros,
8356 just use conditionalized code for each terminal kind. This is the
8357 only place we ever need this functionality.
8358 (OSPEED, SETOSPEED): Definitions removed.
8359
8360 1992-02-22 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8361
8362 * sysdep.c: Moved definition of sigunblock macro to ...
8363 * syssignal.h: Here.
8364
8365 * hftctl.c: #include <sys/uio.h> before #including <sys/tty.h>.
8366 (hfqry, hfskbd): Declare these functions as static before all uses.
8367 * unexaix.c (make_hdr, mark_x, copy_text_and_data, copy_sym):
8368 Declare as static before all uses.
8369 Remove extraneous semicolons from #ifdefs of COFF and XCOFF
8370 (unrelocate_symbols): cast the initializers of t_start and d_start
8371 to ulong.
8372
8373 * s/template.h: Include a clause for the HAVE_TERMIO flag.
8374
8375 1992-02-21 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8376
8377 * keyboard.c (read_char): Don't clear Vquit_flag when we catch an
8378 interrupt and return a quit_char; this change (Mar 21 1991) is too
8379 large a change in functionality for the cleanliness it gains.
8380
8381 * pwd.h: Renamed to vms-pwd.h, so that we don't get it by accident
8382 when we #include <pwd.h> with the `-I.' flag given to the
8383 compiler.
8384 * editfns.c [VMS]: Changed to include vms-pwd.h instead of pwd.h.
8385 * fileio.c [VMS]: Same.
8386 * filelock.c [VMS]: Same.
8387 * sysdep.c [VMS]: Same.
8388
8389 * xrdb.c: Changed to #include "vms-pwd.h" if VMS is defined,
8390 instead of including <pwd.h> unconditionally.
8391
8392 * window.c (Fset_window_display_table): Rearranged to make etags
8393 happy.
8394
8395 * xterm.c (XTread_socket): Clear the meta flag from the keypress
8396 event before handing it to XLookupString.
8397
8398 1992-02-20 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8399
8400 * sysdep.c: No need to test #ifdef TIOCGETP before #undefing it.
8401
8402 1992-02-19 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8403
8404 * systime.h: New file.
8405 * dispnew.c: #include "systime.h" to get <time.h> or <sys/time.h>,
8406 whichever is appropriate, instead of using a conditional.
8407 (Fsleep_for, Fsit_for, Fsleep_for_millisecs): Use the systime.h
8408 macros instead of HAVE_TIMEVAL conditionals.
8409 * editfns.c: #include "systime.h" to get <time.h> or <sys/time.h>,
8410 whichever is appropriate, instead of using a conditional.
8411 * fileio.c: Same.
8412 * process.c: Same.
8413 * xterm.c: Same.
8414 (wait_reading_process_input): Use the systime.h macros.
8415 * sysdep.c: #include "systime.h" to get <time.h> or <sys/time.h>,
8416 whichever is appropriate, instead of using a conditional.
8417
8418 * m/template.h: Add description of NO_SOCK_SIGIO.
8419
8420 * sysdep.c (reset_sys_modes): Doc fix.
8421
8422 * keyboard.c (sigfree, sigholdx, sigblockx, sigunblockx,
8423 sigpausex): Definitions moved to syssignal.h.
8424
8425 * dispnew.c: Doc fix.
8426
8427 * systerm.h: New file, to consolidate the system-dependent
8428 terminal-handling trash.
8429 * emacs.c: #include systerm.h.
8430 (main): Use systerm.h macros instead of conditionals.
8431 * dispnew.c: #include systerm.h.
8432 (update_screen): Use EMACS_OUTQSIZE instead of the direct ioctl.
8433 * keyboard.c: #include systerm.h to get the proper FIONREAD header
8434 files, instead of using conditional.
8435
8436 * syssignal.h: Added copyright notice.
8437
8438 * emacssignal.h: Renamed to syssignal.h, to be like sysdep.c.
8439 * data.c, keyboard.c, process.c, sysdep.c, ymakefile: Changed
8440 #include directives.
8441
8442 1992-02-15 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8443
8444 * m/intel386.h: Don't bother casting the argument to the signal
8445 function; the SIGTYPE code in config.emacs ought to take care of
8446 this.
8447
8448 * buffer.c (record_buffer): Doc fix.
8449
8450 1992-02-13 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8451
8452 * s/iris3-6.h: #define HAVE_GETWD.
8453
8454 1992-02-11 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8455
8456 * window.c (Fwindow_at): Accept position as two arguments, not a
8457 cons of numbers.
8458
8459 * window.c (scroll_command): Undo the Jan 31 change; do set the
8460 current buffer to the selected window's buffer. A simple
8461 set-buffer will make these two different.
8462
8463 1992-02-10 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8464
8465 * callproc.c (Fcall_process): Clear synch_process_death and
8466 synch_process_retcode to zero before forking the process.
8467
8468 * process.c (synch_process_death, synch_process_retcode): Don't
8469 declare them extern here.
8470 * process.h (synch_process_death, synch_process_retcode): Declare
8471 them extern here, along with synch_process_alive.
8472
8473 * s/hpux.h: Define CLASH_DETECTION.
8474
8475 * window.c (init_window_once): Don't pass any arguments to
8476 make_window.
8477
8478 * keyboard.c (command_loop_1): Move the label directly_done out of
8479 the else block to just after the else block. This shouldn't
8480 change the semantics of the code, but appears to avoid a compiler
8481 bug on SCO Unix V.3.2v2.
8482
8483 * fileio.c (Fset_umask, Fumask): New functions.
8484 (syms_of_fileio): defsubr them.
8485
8486 * undo.c (Fprimitive_undo): When undoing a deletion with the point
8487 before the deleted text, use Finsert_before_markers so that the
8488 mark will end up on the other side of the text, if it's in the
8489 area at all.
8490
8491 * xdisp.c (redisplay): Properly compute TAB_OFFSET for compute_motion.
8492
8493 * keyboard.c (command_loop_1): Don't check whether cursor is at
8494 edge of screen here.
8495 * dispnew.c (direct_output_forward_char): Check here, and return
8496 zero if it can't be done. And compare the cursor position to the
8497 window boundaries, not the screen boundaries.
8498
8499 1992-02-05 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8500
8501 * screen.c (Fscreen_parameters): If the screen has a minibuffer
8502 window on another screen, return the window, instead of nil.
8503 (store_screen_param): If the value of the minibuffer parameter is
8504 a window, try to make it the surrogate minibuffer window.
8505 (Qminibuffer): New variable, to support above change.
8506 (syms_of_screen): initialize and staticpro it.
8507
8508 * m/tad68k.h: New file.
8509
8510 * fileio.c (Ffile_accessible_directory_p): New function.
8511 (syms_of_fileio): defsubr it.
8512 * callproc.c: #include <errno.h>.
8513 (child_setup): Accept yet another argument, current_dir.
8514 Don't try to report an error here if current_dir is inaccessible;
8515 this function is called in a vforking process. Just have the
8516 process exit with an error code.
8517 (Fcall_process): Make sure that the current directory is okay
8518 here, before we fork. Pass the current_dir argument.
8519 * process.c (create_process): Same here.
8520
8521 * callproc.c (Fcall_process): Don't assign into args[1] when nargs
8522 < 2. Instead, use a new variable called infile. Re-arranged
8523 logic which processes the BUFFER argument.
8524
8525 1992-02-03 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8526
8527 * fileio.c (Fexpand_file_name): Doc fix.
8528
8529 * scroll.c (line_ins_del): Since we're calculating the array from
8530 end to beginning, make the indices go that way, and thus clearly
8531 get the right boundary. This used to ignore the [0] element, and
8532 write in the [screen_height] element, which doesn't exist.
8533
8534 1992-02-03 Richard Stallman (rms at mole.ai.mit.edu)
8535
8536 * xdisp.c (redisplay, try_window_id): Special case for change
8537 at beginning of line, if using selective display.
8538
8539 1992-01-31 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8540
8541 * m/delta88k.h: Added USUAL-OPSYS information, for the
8542 config.emacs script to use.
8543
8544 * window.c (scroll_command): Don't bother setting the current
8545 buffer to the selected window's buffer; this should always already
8546 be the case. Add check just in case.
8547
8548 * indent.c (compute_motion): Don't pack vpos and hpos into one int;
8549 use separate variables hpos/vpos and prev_hpos/prev_vpos.
8550 (vmotion): Use largest int as tovpos arg to compute_motion.
8551
8552 1992-01-30 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8553
8554 * window.c: #include "keyboard.h" to get the Qmode_line and
8555 Qvertical_split declarations.
8556 * ymakefile (window.o): Note that this depends on keyboard.h.
8557
8558 * callproc.c (getenv_internal): Cast the pointer to the variable's
8559 value to a char *; elisp strings are unsigned char *'s. And
8560 valuelen is an int *, not an int **.
8561
8562 * scroll.c (do_scrolling): Document meaning of enable flag in
8563 temp_screen.
8564
8565 1992-01-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8566
8567 * m-orion105.h (C_DEBUG_SWITCH, LIBS_DEBUG): Defs deleted.
8568
8569 1992-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8570
8571 * m-iris4d.h (C_SWITCH_MACHINE): New definition.
8572
8573 1992-01-28 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8574
8575 * term.c: #include "keyboard.h", for Vfunction_key_map.
8576 * keyboard.h: Declare Vfunction_key_map.
8577
8578 * keyboard.h: New file, for external declarations used in
8579 processing keyboard input and events.
8580 * lisp.h (Qmode_line, Qvertical_split, num_input_chars,
8581 poll_suppress_count): Extern declarations moved to keyboard.h.
8582 * keyboard.c: #include "keyboard.h".
8583 (Qvscrollbar_par, Qvslider_part, Qvthumbup_part,
8584 Qvthumbdown_part, Qhscrollbar_part, Qhslider_part,
8585 Qhthumbleft_part, Qhthumbright_part): Moved declarations here from
8586 xfns.c, so they're with the other event heading symbols.
8587 * eval.c: #include "keyboard.h".
8588 * ymakefile (callint.o, keyboard.o, keymap.o, xfns.o, eval.o):
8589 Note that these depend on keyboard.h.
8590
8591 * xfns.c: The above symbols aren't here any more. #include
8592 "keyboard.h" to get them.
8593 (syms_of_xfns): Don't initialize or staticpro them.
8594 * keyboard.h: Added extern declarations for the above.
8595 * callint.c: #include "keyboard.h".
8596
8597 * xfns.c (Vmouse_screen_part): Variable removed, no longer used.
8598 (syms_of_xfns): Changed accordingly.
8599
8600 * xterm.c (Qmouse_moved): Variable removed, no longer used.
8601 (Qmouse_click, Qscrollbar_click): Removed. These are now event
8602 types, in keyboard.c and keyboard.h; they're no longer used in
8603 this way.
8604 (Vmouse_window, Vmouse_screen_part): Extern declarations removed.
8605 (XTread_socket): Don't assign to Vmouse_window or
8606 Vmouse_screen_part.
8607 (syms_of_xterm): Changed accordingly.
8608
8609 * keyboard.h (EVENT_HAS_PARAMETERS, EVENT_HEAD, EVENT_WINDOW,
8610 EVENT_BUFFER_POSN, EVENT_SCROLLBAR_BUTTON, EVENT_WINDOW_POSN,
8611 EVENT_TIMESTAMP, EVENT_HEAD_UNMODIFIED, EVENT_HEAD_KIND): New
8612 macros to recognize and access events that have parameters, like
8613 mouse events.
8614 * keyboard.c (read_char, echo_char, Fmouse_click_p,
8615 read_key_sequence): Use them.
8616 * keymap.c: #include "keyboard.h".
8617 (access_keymap, store_in_keymap, Fsingle_key_description): Use the
8618 macros from keyboard.h.
8619
8620 * keyboard.c (Qevent_kind): New symbol, naming the property of an event
8621 header where we put the event's type.
8622 (Qfunction_key, Qmouse_click, Qscrollbar_click): New symbols, used
8623 to tag different kinds of events.
8624 (Qevent_unmodified): New symbol, naming the property
8625 of an event header where we put an unmodified version of the event
8626 header.
8627 (modify_event_symbol): Take a new argument, SYMBOL_KIND, whose
8628 value should be put on the Qevent_kind property of each symbol we
8629 make. Set the Qevent_unmodified property of each symbol we make.
8630 (make_lispy_event): Pass the appropriate SYMBOL_KIND argument to
8631 modify_event_symbol.
8632 (struct event_head, head_table): New tables, to simplify the
8633 initialization of some of the event heads.
8634 (syms_of_keyboard): Initialize and staticpro the symbols given in
8635 head_table, and put the Qevent_kind and Qevent_unmodified
8636 properties on them. Initialize all of the new symbols listed
8637 above.
8638
8639 * keyboard.c (lispy_function_keys, lispy_mouse_names): Renamed
8640 these from function_key_names and mouse_names, and moved them
8641 outside of make_lispy_event, since static doesn't work on all
8642 systems, and these can't be automatic.
8643
8644 1992-01-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
8645
8646 * fileio.c (Fwrite_region): Remove Alliant conditional.
8647 * crt0.c: Conditionals for ALLIANT_2800.
8648 * m/alliant-2800.h: New file.
8649 * unexfx2800.c: New file.
8650
8651 * m-mips4.h (C_DEBUG_SWITCH): Alternate defn for GCC.
8652
8653 * sysdep.c [VMS] (sys_write): Special case for fixed-length
8654 with carriage-control characters.
8655
8656 * s/isc2-2.h (NOMULTIPLEJOBS): Undef this.
8657 (LIB_STANDARD): Add -lPW.
8658 (LIBS_SYSTEM): Defined.
8659 * m/intel386.h (signal): Optionally don't define it.
8660
8661 1992-01-27 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8662
8663 * s/template.h: Document the SIGTYPE macro.
8664 * s/bsd4-3.h: Define the SIGTYPE macro.
8665
8666 * data.c (Fsymbol_value): Extract all the innards of this function
8667 into find_symbol_value, except the code which signals an error.
8668 (find_symbol_value): New function.
8669 * lisp.h (find_symbol_value): Declare it.
8670 * keymap.c (current_minor_maps): Use it, instead of a call to
8671 Fboundp and Fsymbol_value per every minor map, for every key
8672 sequence read.
8673
8674 * xterm.c (x_make_screen_visible): Don't raise the window. This
8675 causes the window to pop to the front every time a message
8676 appears, which isn't desirable.
8677
8678 * screen.c (Fselect_screen, Fdelete_screen, Fset_mouse_position,
8679 Fmake_screen_visible, Fmake_screen_invisible, Ficonify_screen,
8680 Fdeiconify_screen, Fscreen_parameters, Fmodify_screen_parameters,
8681 Fset_screen_height, Fset_screen_width, Fset_screen_size,
8682 Fset_screen_position): Use SCREEN_IS_X macro instead of testing
8683 for output_x_window.
8684 * xfns.c (adjust_scrollbars, Fx_store_cut_buffer): Same.
8685
8686 1992-01-25 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8687
8688 * term.c (term_get_fkeys): New function.
8689 (term_init): Call term_get_fkeys.
8690
8691 1992-01-21 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8692
8693 * editfns.c (Ffollchar, Fprevchar): Renamed to Ffollowing_char and
8694 Fprevious_char, for consistency. Renamed Sfollchar and Sprevchar
8695 too.
8696 (syms_of_editfns): Fixed defsubrs.
8697 * lisp.h (Ffollchar, Fprevchar): Renamed extern declarations as above.
8698
8699 * editfns.c (Ffollowing_char): Return 0 at the end of the buffer,
8700 as advertised. Doc fix.
8701 (Fprevious_char): Doc fix.
8702
8703 * config.h-dist: Rearranged to define user parameters before
8704 including the machine and opsystem files, so the files can have
8705 conditionals on the parameters.
8706
8707 1992-01-15 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8708
8709 * keyboard.c (read_key_sequence): When expanding a function key
8710 recognized with Vfunction_key_map, don't scan the expansion for
8711 further function key sequences.
8712
8713 * keyboard.c (Vfunction_key_map): Real declaration moved to
8714 keymap.c; this declaration made extern.
8715 (syms_of_keyboard): DEFVAR and initialization of Vfunction_key_map
8716 moved to keymap.c, since it should be initialized to a keymap, but
8717 we don't want to rely on Qkeymap being initialized now.
8718 * keymap.c (Vfunction_key_map): Variable moved here.
8719 (syms_of_keymap): DEFVAR and init here.
8720
8721 * keymap.c (Fglobal_key_binding): Doc fix.
8722
8723 1992-01-16 Richard Stallman (rms at mole.gnu.ai.mit.edu)
8724
8725 * m-delta88.h: New file.
8726
8727 * window.c (window_scroll): New arg `noerror'.
8728 (scroll_command, Fscroll_other_window): Pass that arg.
8729
8730 1992-01-15 Richard Stallman (rms at mole.gnu.ai.mit.edu)
8731
8732 * process.c (sigchld_handler):
8733 Set synch_process_death and synch_process_retcode.
8734
8735 1992-01-14 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8736
8737 * config.h-dist (SIGTYPE): New macro to help give signal handlers
8738 the correct type.
8739 * s/usg5-3.h (SIGTYPE): Define this to be void.
8740 * dispnew.c (window_change_signal): Declare this to return
8741 SIGTYPE.
8742 * emacs.c (fatal_error_signal): Same.
8743 * data.c (arith_error): Same.
8744 * process.c (create_process_1, send_process_trap,
8745 create_process_sigchld, sigchld_handler): Same.
8746 (create_process): Declare sigchld according to SIGTYPE. This
8747 means we don't have to cast the return value of signal.
8748 * keyboard.c (input_poll_signal, interrupt_signal): Declare these
8749 to return SIGTYPE.
8750 (kbd_buffer_store_event): Include a forward declaration for
8751 interrupt_signal here.
8752 * sysdep.c (struct save_signal): Say the handler returns SIGTYPE
8753 instead of int.
8754 (save_signal_handlers): So we don't have to cast the return value
8755 from signal here.
8756 (sys_suspend): Declare oldsig according to SIGTYPE.
8757 (select): Declare old_trap using SIGTYPE.
8758 (select_alarm, wait_for_termination_signal): Declare these to
8759 return SIGTYPE.
8760
8761 * emacs.c: #include <termios.h>, if we have it.
8762 (fatal_error_signal): If we have termios, use tcgetpgrp to get the
8763 terminal's process group.
8764 * process.c: If we have termios, #include <termios.h> instead of
8765 <termio.h>.
8766 (process_send_signal): If we have termios, use tcgetpgrp to get
8767 the terminal's process group. Have gid default to the child's
8768 pid, to simplify the logic below.
8769 * sysdep.c (flush_pending_output): If we are using termios, make
8770 this function a no-op; since we're not in the tty's pgroup, we
8771 would get a SIGTTIN.
8772
8773 1992-01-13 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8774
8775 * config.h-dist: Removed MAINTAIN_ENVIRONMENT clause.
8776 * callproc.c: Removed support for MAINTAIN_ENVIRONMENT.
8777 (init_callproc): Use getenv instead of egetenv to initialize
8778 Vshell_file_name.
8779 * emacs.c (decode_env_path): Use getenv instead of egetenv
8780 * lisp.h: Removed support for MAINTAIN_ENVIRONMENT.
8781 * process.c: Same.
8782 * ymakefile: Same.
8783 * dispnew.c (init_display): Call getenv instead of egetenv.
8784
8785 * editfns.c (Fgetenv): Function moved...
8786 * callproc.c (Fgetenv): To here, and made to scan
8787 Vprocess_environment instead of using the usual C getenv function.
8788 (getenv_internal): New function.
8789 (egetenv): New function.
8790 * lisp.h: Added extern declaration for egetenv.
8791 * editfns.c (syms_of_editfns): Adjusted.
8792 * callproc.c (syms_of_callproc): Adjusted.
8793
8794 * window.h (minibuf_prompt_width): Declare this extern here, after
8795 minibuf_prompt.
8796 minibuf.c: Don't extern declare it here.
8797 indent.c: As above.
8798
8799 * dispnew.c (buffer_posn_from_coords): If there is a prompt in the
8800 minibuffer, account for its width when computing the buffer
8801 position.
8802
8803 * Makefile (doall): Explicitly export CC to the xmakefile.
8804
8805 * ymakefile: Use /* */ around comments; # confuses cpp.
8806
8807 * ymakefile: Note that ralloc.o depends on mem_limits.h, xterm.h,
8808 and config.h.
8809 Note that vm-limit.o depends on mem_limits.h.
8810
8811 * lread.c (read_escape): Return \a as '\007', not '\a'; the latter
8812 isn't portable, and this routine would have to be revised anyway
8813 to deal with anything other than ASCII.
8814
8815 * keymap.c (current_minor_maps): Rewritten not to use
8816 function-local static variables, to accomodate DGUX.
8817
8818 * xterm.h (UNBLOCK_INPUT): Replace "abort ()" with "(abort (),
8819 0)", to avoid type conflicts on odd systems like Ultrix.
8820
8821 * xrdb.c: Include <sys/types.h>, and declare getuid to return uid_t.
8822
8823 * xdisp.c (redisplay_window): Use SET_PT macro instead of
8824 assigning to point.
8825 insdel.c (insert_from_string): Same.
8826
8827 * xterm.c (XTcursor_to): Declare it static at the function
8828 definition, as well as at the top of the file.
8829 (dumpglyphs): Removed declarations for buf and cp; these variables
8830 are never used.
8831
8832 * lisp.h (NULL): Renamed to NILP, so as not to conflict with
8833 <stdio.h>, and <stddef.h>. All callers changed; all
8834 #undefinitions of NULL removed.
8835
8836 1992-01-12 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8837
8838 * xdisp.c (message): #ifdef NO_ARG_ARRAY, make a local block to
8839 declare the explicit argument array.
8840
8841 * config.h-dist: Instead of reaching the machine- and
8842 system-dependent files through symlinks, replace the strings
8843
8844 1992-01-09 Jim Blandy (jimb at pogo.cs.oberlin.edu)
8845
8846 * keyboard.c (stuff_buffered_input): Don't forget to increment
8847 kbd_fetch_ptr while looping through kbd_buffer.
8848
8849 1992-01-08 Jim Blandy (jimb at occs.cs.oberlin.edu)
8850
8851 * keyboard.c (read_avail_input): Don't forget to fill in the
8852 screen field in events read from the terminal.
8853 * sysdep.c (kbd_input_ast, read_input_waiting): Call
8854 kbd_buffer_store_event with a `struct input_event *', not a
8855 character or a Lisp_Object.
8856
8857 1991-12-21 Jim Blandy (jimb at occs.cs.oberlin.edu)
8858
8859 * bytecode.c (docall): Don't remove protection from the arguments
8860 to Ffuncall.
8861
8862 1991-12-20 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
8863
8864 * keyboard.c (Vfunction_key_map): New variable.
8865 (read_key_sequence): Changed to recognize and substitute bindings
8866 in Vfunction_key_map at any point in the sequence, unless they
8867 conflict with ordinary bindings.
8868 (syms_of_keyboard): DEFVAR, document, and initialize
8869 Vfunction_key_map.
8870
8871 1991-12-19 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
8872
8873 * keymap.c (Vminor_mode_map_alist): New variable, to support
8874 keymaps for minor modes.
8875 (current_minor_maps, Fminor_mode_key_binding,
8876 Fcurrent_minor_mode_maps): New functions.
8877 (Fkey_binding): Rewritten to scan for minor mode bindings too.
8878 (syms_of_keymap): DEFVAR, document, and initialize
8879 Vminor_mode_map_alist, and defsubr the new Ffunctions.
8880 (describe_buffer_bindings): Describe the bindings established by
8881 minor modes too.
8882 * keyboard.c (follow_key): New function, to support...
8883 (read_key_sequence): Completely rewritten to handle scanning an
8884 arbitrary number of keymaps at a time.
8885
8886 * keyboard.c (Fread_key_sequence): GCPRO keybuf, since it can hold
8887 lisp expressions while waiting for input. Don't pass too many
8888 arguments to read_key_sequence.
8889 (command_loop_1): Don't pass too many arguments to read_key_sequence.
8890
8891 * keyboard.c (add_command_key): New function; there are several
8892 places that add keys to this_command_keys, so we make one function
8893 to do the work.
8894 (read_char, Fexecute_extended_command): Call add_command_key
8895 instead of writing out its code again.
8896 (init_keyboard): Allocate this_command_keys according to
8897 this_command_keys_size.
8898
8899 * lread.c (read1): Change comment to use `share-lib' instead of `etc'.
8900 * doc.c (Fdocumentation_property, Fsnarf_documentation): Update
8901 docstring similarly.
8902 (Fsnarf_documentation): Use "../share-lib/" instead of "../etc/"
8903 to find doc file while dumping.
8904 * unexaix.c: Similar doc fix.
8905
8906 * ymakefile (etcdir): Variable removed.
8907 (libsrc, archlib, sharelib): New variables, to take the place of
8908 etcdir.
8909
8910 1991-12-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
8911
8912 * ymakefile (CFLAGS): Don't automatically include C_DEBUG_SWITCH
8913 in the value for CFLAGS; the configuration script will take care
8914 of choosing the debugging and optimization switches.
8915
8916 * config.h-dist: Copy the GLYPH definitions from config.h to here.
8917
8918 1991-12-16 Richard Stallman (rms at mole.gnu.ai.mit.edu)
8919
8920 * abbrev.c (Fexpand_abbrev): Run pre-abbrev-expand-hook.
8921 (syms_of_abbrev): Define that variable.
8922
8923 1991-12-13 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
8924
8925 * m/m-*.h: Since the m- is now redundant, renamed all files to
8926 remove it, and changed references within files.
8927 * s/s-*.h: Same business.
8928
8929 1991-12-11 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
8930
8931 * config.h-dist (MULTI_SCREEN): Define this automatically when
8932 we're using a window system.
8933
8934 1991-12-09 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
8935
8936 * m/m-*.h (i.e. all machine config files): Added USUAL-OPSYS
8937 comments to tell the configuration script what sort of operating
8938 system this machine typically runs.
8939
8940 * config.h-dist (MScreenWidth, MScreenLength): Deleted; no longer
8941 used.
8942
8943 1991-12-08 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
8944
8945 * editfns.c (Fcurrent_time): New function, to return the current
8946 time as a number, like the Unix time(3) function. This might be
8947 fun to port.
8948 (syms_of_editfns): defsubr it.
8949
8950 1991-12-05 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
8951
8952 * keymap.c (Vminor_mode_map_alist): New variable.
8953 (current_minor_maps): New function.
8954 (Fcurrent_minor_mode_maps): New function.
8955 (syms_of_keymap): DEFVAR, document, and initialize
8956 Vminor_mode_map_alist, and defsubr Fcurrent_minor_mode_maps.
8957
8958 * callproc.c (Vdata_directory): New lisp variable, for the
8959 directory containing architecture-independent data files.
8960 (init_callproc): Initialize Vdata_directory from PATH_DATA, and
8961 make sure it exists. Renamed execdir to tempdir, because we use
8962 it for both Vexec_directory and Vdata_directory.
8963 (syms_of_callproc): Doc fix for Vexec_directory, new DEFVAR_LISP
8964 for Vdata_directory.
8965 * paths.h-dist (PATH_DATA): New path macro, to initialize
8966 Vdata_directory.
8967 * doc.c (get_doc_string): Use Vdata_directory to find the
8968 docstrings, not Vexec_directory.
8969 * lisp.h (Vdata_directory): New extern declaration, for above
8970 users.
8971 * config.h-dist: Changed references to ../etc to ../share-lib.
8972
8973 * callint.c (Fcall_interactively): For the 'k' interactive code,
8974 cast the type of the symbol name before passing it to error.
8975
8976 1991-12-02 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
8977
8978 * keyboard.c (make_lispy_movement): Move call to
8979 mouse_position_hook from here...
8980 (kbd_buffer_get_event): To here, for symmetry with non-movement
8981 events.
8982
8983 * keyboard.c (kbd_buffer_get_event): Set Vlast_event_screen for
8984 mouse movements, too.
8985
8986 1991-11-27 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
8987
8988 * alloca.c (alloca): Add parens to make precedence clearer.
8989
8990 1991-11-26 Michael I Bushnell (mib at geech.gnu.ai.mit.edu)
8991
8992 * search.c: need to include sys/types.h because of recent mod to
8993 regex.h.
8994
8995 1991-11-25 Richard Stallman (rms at mole.gnu.ai.mit.edu)
8996
8997 * bytecode.c: BYTE_CODE_METER and BYTE_CODE_SAFE undefined by default.
8998 (METER_CODE): Define same name whether metering or not.
8999 (BinsertN): New byte code.
9000 (Fbyte_code): Improve overflow/underflow error messages.
9001 (docall): Put back previously lost code to remove protection
9002 from funcall args.
9003
9004 1991-11-25 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9005
9006 * lisp.h (make_array): New extern declaration.
9007
9008 * alloc.c (make_sequence): Renamed to make_array; more accurate.
9009 * keyboard.c (Fread_key_sequence, Fthis_command_keys): Callers fixed.
9010 * macros.c (Fend_kbd_macro): Callers fixed.
9011
9012 1991-11-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9013
9014 * keyboard.c (cmd_error): If an error occurs before somebody has
9015 provided a screen to print it on, print it to stderr and exit
9016 Emacs. Handle batch-mode errors with the same code.
9017 * lisp.h (Qexternal_debugging_ouput): New extern declaration, for
9018 use in cmd_error.
9019
9020 * screen.c (Fscreen_pixel_size, Fset_screen_position): Doc fix.
9021
9022 * window.c (Fwindow_at): Typecheck COORDINATES more thoroughly.
9023
9024 * screen.c (read_mouse_position): Function deleted.
9025 (Fread_mouse_position): Renamed to Fmouse_position, and changed to
9026 use mouse_position_hook.
9027 (syms_of_screen): Adjusted accordingly.
9028 * xfns.c (x_read_mouse_position): Function deleted.
9029
9030 * screen.h (SCREENP): The non-MULTI_SCREEN case used to say this
9031 was false for all objects, but it should be true for the terminal
9032 screen, so make its definition the same as in the MULTI_SCREEN
9033 case.
9034
9035 * screen.h (SCREEN_LIVE_P): New predicate.
9036 (CHECK_LIVE_SCREEN): New type-checking macro.
9037 (Qlive_screen_p): New error-reporting symbol.
9038 * screen.c (Qlive_screen_p): Declare the new symbol.
9039 (Flive_screen_p): New lisp predicate.
9040 (syms_of_screen): Initialize, staticpro, and defsubr the lot.
9041 * dispnew.c (Fredraw_screen): Use CHECK_LIVE_SCREEN.
9042 * screen.c (Fscreen_root_window, Fscreen_selected_window,
9043 Fnext_screen, Fset_mouse_position, Frestore_screen_configuration,
9044 Fmake_screen_visible, Fmake_screen_invisible, Ficonify_screen,
9045 Fdeiconify_screen, Fscreen_visible_p, Fredirect_screen_focus,
9046 Fscreen_focus, Fmodify_screen_parameters, Fset_screen_height,
9047 Fset_screen_width, Fset_screen_size, Fset_screen_position,
9048 Fselect_screen): Use CHECK_LIVE_SCREEN.
9049 * window.c (Fwindow_at, Fcurrent_window_configuration): Use
9050 CHECK_LIVE_SCREEN.
9051 * xfns.c (Ffocus_screen, Fx_pixel_width, Fx_pixel_height): Use
9052 CHECK_LIVE_SCREEN.
9053
9054 * screen.c (Fdelete_screen): Do nothing if SCREEN is already
9055 deleted.
9056
9057 * screen.c (Qscreenp): Staticpro this symbol.
9058
9059 * xfns.c (Fx_create_screen): Doc fix.
9060
9061 * xfns.c (Fx_create_screen): Give the screen a minibuffer if the
9062 'minibuffer parameter is t or nil; nil is the default value for
9063 omitted parameters, and t is intuitive.
9064
9065 1991-11-14 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9066
9067 * eval.c (specbind): Check that the thing being bound is a symbol.
9068 (funcall_lambda): Signal an invalid-function error if the
9069 arguments are not all symbols.
9070
9071 1991-11-08 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9072
9073 * screen.c (Fselect_screen): Don't select dead screens.
9074 * print.c (print): Print dead screen objects starting with
9075 "#<dead screen".
9076
9077 * keyboard.c (read_key_sequence): Make sure that the compound
9078 events actually have valid window fields.
9079
9080 * window.c (next_screen_window): Function deleted; Fnext_window
9081 can now do its job properly.
9082 (window_from_coordinates, window_loop): Call Fnext_window instead
9083 of next_screen_window.
9084
9085 * xdisp.c (redisplay): Don't clear out minibuffer windows in the
9086 midst of the screen loop here. That's confusing.
9087 (redisplay_window): Since this needs special code to detect
9088 minibuffers anyway, put it here. And clear all the lines of a
9089 multi-line minibuffer, not just the first one.
9090
9091 1991-11-07 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9092
9093 * screen.c (Fdelete_screen): When searching Vscreen_list for a new
9094 value for last_nonminibuf_screen, remember that the screens live
9095 in the cars of the list, not the cdrs.
9096
9097 * xterm.c (x_make_screen_visible): Rearranged for clarity.
9098
9099 * xdisp.c (echo_area_display): Rearranged for clarity.
9100
9101 1991-11-06 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9102
9103 * screen.c (next_screen, prev_screen): New meaning for MINI_SCREEN
9104 argument helps implement the behavior of Fnext_window.
9105 (Fnext_screen): Document the new behavior.
9106
9107 * screen.c (make_minibuffer_screen): Do set has_minibuffer for
9108 minibuffer-only screens.
9109 (Fscreen_parameters): Correctly generate value of minibuffer
9110 parameter using SCREEN_HAS_MINIBUF and SCREEN_MINIBUF_ONLY_P.
9111 * screen.h (SCREEN_HAS_MINIBUF): New predicate.
9112 * dispnew.c (change_screen_size): Use it.
9113 * screen.c (Fdelete_screen): Use it.
9114
9115 * screen.c (Vglobal_minibuffer_screen): Renamed
9116 Vdefault_minibuffer_screen to better describe its significance.
9117 (make_screen_without_minibuffer, syms_of_screen): Adjusted.
9118 * xfns.c (Fx_create_screen): Doc string adjusted.
9119
9120 * xdisp.c (display_mode_line): Make the code which names the
9121 screen after the current buffer not depend on
9122 Vglobal_minibuffer_screen.
9123 * xterm.c (Vglobal_minibuffer_screen): Don't declare this extern
9124 here; it's never used.
9125
9126 1991-11-05 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9127
9128 * screen.c (Fdelete_screen): Document the fact that surrogate
9129 minibuffer screens may not be deleted.
9130
9131 * screen.h (SCREEN_MINIBUF_ONLY_P): New predicate, true iff the
9132 screen's only window is a minibuffer, aka a "minibuffer screen" or
9133 a "minibuffer-only" screen.
9134 * dispnew.c (change_screen_size): Use it.
9135 * screen.c (Fselect_screen, next_screen, prev_screen,
9136 Fdelete_screen): Use it.
9137 * window.c (Fdisplay_buffer): Use it.
9138
9139 * screen.c (next_screen, prev_screen): Make MINIBUF a lisp
9140 boolean, not a C boolean.
9141 (Fnext_screen, Fdelete_screen): Changed to fit.
9142 * window.c (Fnext_window, Fprevious_window): Changed to fit.
9143
9144 * screen.c (make_screen_without_minibuffer): Error string improvement.
9145
9146 * screen.c (syms_of_screen): Doc grammar fix for Vemacs_iconified.
9147
9148 * screen.c (next_screen): Added some sanity checks, rewrote comments.
9149
9150 * screen.h (Vglobal_minibuffer_screen): Don't declare this. It
9151 shouldn't be used for anything but screen creation.
9152 * window.c (Fminibuffer_window): Vglobal_minibuffer_screen is not
9153 necessarily the screen containing the current minibuffer window.
9154 Also, call choose_minibuf_window; it does much of the work here.
9155 (Fnext_window): Used to insist on looping through all screens if
9156 Vglobal_minibuffer_screen was non-nil. Now includes screen's
9157 minibuffer window according to MINIBUF, no matter what screen it's
9158 on, and ignores Vglobal_minibuffer_screen. Loop termination logic
9159 cleaned up. Clarified doc string.
9160 (Fprev_window): Same problems as Fnext_window, above.
9161 * screen.c (Vglobal_minibuffer_screen): Documentation rewritten to
9162 emphasize that it is only a parameter of the creation of
9163 minibufferless screens, and not an indication of where the
9164 minibuffer is.
9165 (prev_screen): Used to assume that Vglobal_minibuffer_screen was
9166 the only minibuffer-only screen, and would enter an infinite loop
9167 if Vglobal_minibuffer_screen was the only screen in the list.
9168 Rewritten to fix these problems.
9169 * minibuf.c (Vglobal_minibuffer_screen): Don't declare it extern
9170 here; it's not used.
9171
9172 * editfns.c (Fmessage): Don't call Fmake_screen_visible here.
9173 * xdisp.c (message, message1): Call it here, so that Emacs C
9174 functions like Fy_or_n_p make the screen visible too.
9175
9176 1991-11-04 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9177
9178 * keyboard.c (readable_events): If EVENT_QUEUES_EMPTY, we can
9179 short-circuit and say no. Otherwise, if do_mouse_tracking, we can
9180 short-circuit and say yes. These things let us scan the event
9181 queue less often.
9182
9183 * termhooks.h (mouse_tracking_enable_hook): Replaced by...
9184 (mouse_moved, mouse_position_hook): It turns out that it is
9185 possible and no less efficient simply to tell Emacs if the mouse
9186 has moved since last noticed, and let it ask for the current mouse
9187 position; X's pointer motion hints are a cool thing.
9188 * term.c (mouse_tracking_enable_hook): Replaced by...
9189 (mouse_position_hook): New, simpler interface.
9190 * keyboard.c (struct movement, movement_buf, movement_ptr):
9191 Replaced by...
9192 (mouse_moved): This flag, to be used in conjuction with
9193 mouse_position_hook.
9194 (EVENT_QUEUES_EMPTY): Adjusted to use mouse_moved instead of
9195 movement_buf and movement_ptr.
9196 (tracking_off, Ftrack_mouse): Don't call mouse_tracking_enable
9197 hook.
9198 (note_mouse_position): Moved to xterm.c.
9199 (get_mouse_position): Replaced by mouse_position_hook.
9200 (make_lispy_event): Movement event generation code moved out to a
9201 separate function...
9202 (make_lispy_movement): Create a mouse movement event for the
9203 current mouse position. Use mouse_position_hook instead of
9204 get_mouse_position. Added static declaration for this above...
9205 (kbd_buffer_get_event): Use mouse_moved instead of movement_buf
9206 and movement_ptr. Call make_lispy_movement instead of
9207 make_lispy_event.
9208 (init_keyboard): Initialize do_mouse_tracking. Don't init
9209 movement_ptr and movement_buf.
9210 * xterm.h (STANDARD_EVENT_SET): Add PointerMotionMask and
9211 PointerMotionHintMask to the set.
9212 * xterm.c (pixel_to_glyph_translation): Renamed to
9213 pixel_to_glyph_coords, made static, simplified to take advantage
9214 of constant-size characters, and extended to return the bounding
9215 rectangle of the glyph returned.
9216 (construct_mouse_click): The 'button' field of a button event is
9217 the button number, not a mask; convert it to a mask before
9218 frobbing x_mouse_grabbed. Call pixel_to_glyph_coords properly.
9219 (last_mouse_screen, last_mouse_glyph): New variables, to keep
9220 track of when the pointer has moved to a different glyph.
9221 (note_mouse_position): Moved here from keyboard.c and made static.
9222 Check if the new mouse position is over a new glyph. If it is,
9223 set mouse_moved flag; otherwise, call XQueryPointer to get the
9224 next motion event.
9225 (XTmouse_tracking_enable): No longer needed, since pointer motion
9226 hints let us implement the simpler mouse position hook.
9227 (XTmouse_position): New hook. Call XQueryPointer to get the
9228 current mouse position and request notification about the next
9229 mouse movement. Clear the mouse_moved flag.
9230 (pixel_to_glyph_coords, construct_mouse_click,
9231 note_mouse_position, XTmouse_position): Put these all on the same
9232 page.
9233 (XTread_socket): case MotionNotify, call note_mouse_position with
9234 the right args; don't call pixel_to_glyph_translation.
9235 (x_term_init): Set mouse_position_hook instead of
9236 mouse_tracking_enable_hook.
9237
9238 1991-10-31 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9239
9240 * xdisp.c (redisplay_window): When trying to avoid starting
9241 display at the end of the buffer: check that startp < ZV, not
9242 startp <= ZV.
9243
9244 1991-10-29 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9245
9246 * xterm.c (x_do_pending_expose, XTmouse_tracking_enable): Use
9247 SCREEN_IS_X instead of testing output_method directly.
9248
9249 1991-10-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9250
9251 * xdisp.c (redisplay): In the single-screen optimization, always
9252 update the minibuffer's screen as well as the selected screen, no
9253 matter what the echo_area_glyphs are. This makes sure that
9254 messages get cleared after a keystroke.
9255
9256 1991-10-25 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9257
9258 * callint.c (Finteractive): Doc fix.
9259
9260 * xterm.c (XTmouse_tracking_enable): Block input while changing
9261 the screens' input selection masks.
9262
9263 * window.c (change_window_height): If the window being resized is
9264 the only window of the screen, no size change is possible; make
9265 the delta be zero. Exit without "changing" the sizes of any
9266 windows if the delta is zero.
9267
9268 * alloc.c: Don't bother to include xterm.h.
9269 (Fgarbage_collect): Don't bother to BLOCK_INPUT here,
9270 since we don't cons in the input handler.
9271
9272 1991-10-21 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9273
9274 * window.c (init_window_once): Set last_nonminibuf_screen to the
9275 initial terminal screen, so that poor Fdisplay_buffer doesn't try
9276 to create a new screen on a terminal.
9277
9278 1991-10-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9279
9280 * m-intel386.h (signal): Optionally don't define it.
9281 * s-isc2-2.h (DONT_DEFINE_SIGNAL): Define this.
9282
9283 1991-10-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9284
9285 * scroll.c (line_ins_del): Don't calculate costs off the end of mf
9286 and ov; use < in loop condition, not <=.
9287
9288 * scroll.c (scroll_cost): Logic rearranged.
9289
9290 * dispnew.c (change_screen_size): Change "SCREEN_IS_TERMCAP
9291 (screen) == output_termap" to "SCREEN_IS_TERMCAP (screen)"
9292 (window_change_signal): Use SCREEN_IS_TERMCAP predicate instead of
9293 testing output_method_directly.
9294
9295 1991-10-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9296
9297 * xterm.h (STANDARD_EVENT_SET): Include ButtonReleaseMask in
9298 STANDARD_EVENT_SET.
9299 * xterm.c (XTmouse_tracking_enable): Don't bother or'ing
9300 ButtonReleaseMask with the STANDARD_EVENT_SET.
9301
9302 * dispnew.c (buffer_posn_from_coords): If the coordinates are off
9303 past the end of a line, return them as being *before* the newline,
9304 not after.
9305
9306 * keyboard.c (kbd_buffer_get_event): Set input_pending after
9307 reading the event, no matter what sort of event it is - i.e., move
9308 the assignment to input_pending outside of the event lispifying
9309 conditional.
9310
9311 * keyboard.c (note_mouse_position): Don't record a "new" mouse
9312 position unless it really differs from the last one returned.
9313
9314 * keyboard.c (kbd_buffer_read_char): Renamed to
9315 kbd_buffer_get_event, for consistency with kbd_buffer_store_event.
9316
9317 * window.c (Fwindow_at): modified to take the coordinates as a
9318 pair, not a two-element list, for ease of use and compatibility
9319 with events. Make SCREEN argument second and optional.
9320 (Fcoordinates_in_window_p): Modified to take and return the
9321 coordinates as above, and to distinguish the right border as well
9322 as the mode line.
9323 (window_from_coordinates): Modified to distinguish the right
9324 border as well as the mode line.
9325 * lisp.h (Qmode_line, Qvertical_split): Declare this extern, from
9326 keyboard.c.
9327 * keyboard.c (make_lispy_event): Distinguish a window's right
9328 border from its text area.
9329
9330 * window.c (coordinates_in_window): Make it static.
9331
9332 * window.c (Flocate_window_from_coordinates): Renamed to
9333 Fwindow_at.
9334 (syms_of_window): Adjusted.
9335 * lisp.h: Adjusted to say so.
9336
9337 * screen.c (Fcoordinates_in_window_p, window_from_coordinates,
9338 Flocate_window_from_coordinates): Functions moved to window.c.
9339 (syms_of_screen): Adjusted.
9340 * window.c (Fcoordinates_in_window_p, window_from_coordinates,
9341 Flocate_window_from_coordinates): Here they are.
9342 (syms_of_window): Adjusted.
9343 * lisp.h: Adjusted to say so.
9344
9345 1991-10-14 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9346
9347 * xterm.c (XTclear_end_of_line): This used to try to get the
9348 cursor out of the way by comparing the line being cleared with
9349 s->cursor_y, which is meaningless; it should have compared it with
9350 s->phys_cursor_y. Changed to just mark the cursor as cleared if
9351 it's in the area we're clearing.
9352
9353 1991-10-13 Richard Stallman (rms at mole.gnu.ai.mit.edu)
9354
9355 * m-intel386.h: Fix typo in #endif.
9356
9357 1991-10-12 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9358
9359 * callint.c (Fcall_interactively): Added new interactive spec 'K',
9360 for mouse clicks. Added explanation to doc string. Removed 'e'
9361 spec, which didn't work with the new input model anyway.
9362 * keyboard.c (Fmouse_click_p): New function.
9363 (syms_of_keyboard): defsubr it.
9364
9365 * keyboard.c (EVENT_QUEUES_EMPTY): Clarified comment.
9366 (tracking_off): Change "if (!readable_events)" to
9367 "if (!readable_events ())".
9368 (Ftrack_mouse): Doc fix.
9369 (kbd_buffer_read_char): Fix brainos in tossing of unwanted events.
9370 Don't use EVENT_QUEUES_EMPTY to set input_pending; call
9371 readable_events.
9372
9373 1991-10-11 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9374
9375 * keyboard.c (Qmode_line): New quoted symbol.
9376 (syms_of_keyboard): Initialize and staticpro it.
9377 (make_lispy_event): Use it to indicate when a mouse position is in
9378 a window's mode line.
9379
9380 * xterm.c (XTread_socket): Consider the window to be resized if
9381 either the character or pixel dimensions have changed; this will
9382 catch font size changes.
9383
9384 1991-10-08 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9385
9386 * process.c (wait_reading_process_input): Removed all the
9387 exceptional condition stuff. Emacs lacks any way to respond to
9388 such a state, and selecting for it without responding to it can make
9389 Emacs loop indefinitely.
9390
9391 * xterm.c (XTread_socket, construct_mouse_click): Make sure that
9392 all enqueued events have their timestamp field set.
9393 * termhooks.h (struct input_event): Doc fix.
9394 * keyboard.c (last_event_timestamp): New variable.
9395 (get_mouse_position, kbd_buffer_store_event,
9396 kbd_buffer_read_char): Make sure to fill in Vlast_event_screen and
9397 last_event_timestamp.
9398 * xselect.c (mouse_timestamp): Don't use this anymore.
9399 (last_event_timestamp): Use this instead.
9400 (Fx_own_selection, Fx_own_clipboard, Fx_get_selection,
9401 Fx_get_clipboard): Use last_event_timestamp instead of
9402 mouse_timestamp.
9403
9404 * xdisp.c (redisplay): Don't pass extra arguments to
9405 update_screen.
9406
9407 * keyboard.c (echo_truncate): Don't call echo here; this results
9408 in extraneous echoing of characters.
9409 (read_key_sequence): After calling echo_truncate, call echo_char
9410 to put the character we just read into the minibuffer, if
9411 appropriate.
9412
9413 * keyboard.c (read_key_sequence): Removed unused argument
9414 no_redisplay.
9415
9416 1991-10-01 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9417
9418 * xfns.c (x_create_screen): Initialize phys_cursor_x to -1, to
9419 indicate that the screen has no displayed cursor.
9420
9421 * xfns.c (x_create_screen): Let InternalBorderWidth default to 1.
9422
9423 * xterm.c (x_display_bar_cursor): Declare this to be static void.
9424
9425 * xterm.c (XTupdate_begin): Don't turn off the cursor. This makes
9426 ugly flickering. Instead, make it okay for XTins_del_lines to do
9427 so:
9428 * screen.h (struct screen): New field phys_cursor_glyph, keeping
9429 track of the glyph under the currently displayed cursor. Since
9430 current_glyphs is sometimes inaccurate when we want to undraw the
9431 cursor (as when XTins_del_lines is called from do_scrolling), we
9432 can't always get the GLYPH from there.
9433 * xterm.c (x_draw_single_glyph): Take the glyph to draw as an
9434 argument, instead of taking it from the screen matrix.
9435 (x_display_box_cursor): Set and use s->phys_cursor_glyph.
9436
9437 * ymakefile: Note that scroll.o and xmenu.o depend on screen.h.
9438
9439 1991-09-29 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9440
9441 * keyboard.c (make_lispy_event): When building mouse movement
9442 event, use `m', not `event', dummy.
9443
9444 1991-09-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9445
9446 * screen.c (Fscreen_parameters): Return the proper value for the
9447 'minibuffer parameter for minibuffer-only screens.
9448
9449 * xdisp.c (redisplay_window): When the start position is forced,
9450 constrain it to be within the visible region anyway.
9451
9452 * xterm.c (XTwrite_glyphs): Instead of turning off the cursor
9453 before we write, just notice if we wrote over it.
9454
9455 * xfns.c (x_decode_color): If a screen has two planes, then it is
9456 considered a color screen, and we should look up the color value.
9457
9458 * ymakefile: Include xselect.o and xrdb.o in XOBJ even when
9459 HAVE_X_MENU is not defined.
9460
9461 * fns.c (Fdelete): This used to be named Fdelq; Roland forgot to
9462 change the function name in his August 17 change.
9463 (syms_of_fns): defsubr Fdelete.
9464
9465 1991-09-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
9466
9467 * alloca.c: Do nothing if alloca is defined as a macro.
9468
9469 1991-09-08 Richard Stallman (rms at mole.gnu.ai.mit.edu)
9470
9471 * m-pfa50.h: New file.
9472
9473 1991-09-06 Richard Stallman (rms at mole.gnu.ai.mit.edu)
9474
9475 * unexec.c: Add conditionals for COFF_ENCAPSULATE.
9476
9477 1991-08-17 Roland McGrath (roland@geech.gnu.ai.mit.edu)
9478
9479 * fns.c (Fdelete): New fn. We have member now; we should have
9480 delete too.
9481
9482 1991-08-16 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9483
9484 * xfns.c (x_get_arg): Clean bad characters out of the screen name
9485 before using it as a resource key.
9486
9487 * abbrev.c (Fexpand_abbrev): Don't let capitalization go past point.
9488
9489 * sysdep.c (sys_suspend): Don't use & before array name.
9490
9491 * sysdep.c [BROKEN_FIONREAD]: Undefine FASYNC.
9492
9493 * m-tandem-s2.h (START_FILES, LIB_STANDARD): Added.
9494
9495 * s/s-aix3-1.h: Define HAVE_TCATTR.
9496
9497 * xfns.c (Fx_grab_cursor, Fx_ungrab_cursor): Functions removed.
9498
9499 1991-08-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9500
9501 * bytecode.c (Qbyte_code_meter): New.
9502 (Bend_of_line, Bset_marker, Bmatch_beginning, Bmatch_end, Bupcase,
9503 Bdowncase, BRgoto, BRgotoifnil, BRgotoifnonnil,
9504 BRgotoifnilelsepop, BRgotoifnonnilelsepop, BlistN, BconcatN): New
9505 byte codes.
9506 (Fbyte_code): Implemented new codes listed above. Added code to
9507 count how many times a function is called.
9508 (syms_of_bytecode): Initialize and staticpro Qbyte_code_meter.
9509
9510 * xfns.c (x_window): When setting the class hints, use the
9511 screen's name as the res_name.
9512
9513 * xfns.c (x_make_screen_name): New function.
9514 (Fx_create_screen): Use x_get_arg to find screen name; if none has
9515 been specified, use x_make_screen_name; don't set the name again
9516 at the bottom.
9517 (x_get_arg): If SCREEN_NAME is nil, don't pass any class to
9518 Fx_get_resource.
9519
9520 * xfns.c (x_get_arg, x_default_parameter): Take an extra argument
9521 TYPE, instead of encoding the type in the first letter of the
9522 property name.
9523
9524 1991-08-15 Roland McGrath (roland@albert.gnu.ai.mit.edu)
9525
9526 * buffer.c (Fkill_all_local_variables): Don't pass
9527 Fmake_local_variable too many args. Use Fset instead.
9528
9529 1991-08-14 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
9530
9531 * xfns.c (emacs_class): Variable removed.
9532 (EMACS_CLASS): New macro, specifying Emacs class for xrdb use.
9533 Use a class of "Emacs", to be compatible with previous versions.
9534 (Fx_get_resource, x_window, Fx_open_connection): Use macro here.
9535
9536 * buffer.c (Fgenerate_new_buffer): Function moved to
9537 lisp/files.el.
9538 (Fgenerate_new_buffer_name): New function which does only the
9539 name-choosing work Fgenerate_new_buffer used to do.
9540 (Frename_buffer): Added second optional argument DISTINGUISH,
9541 which lets rename_buffer use generate-new-buffer-name if non-nil.
9542 Return the name the buffer was given.
9543 Do nothing if new name is already buffer's name.
9544
9545 * xfns.c (Fx_get_resource): Take third argument CLASS, and require
9546 it to be specified whenever NAME is.
9547 All callers changed.
9548 [not HAVE_X11] (Fx_get_default): Only take the one arg.
9549 [not HAVE_X11] (Fx_get_resource): Toss the second two args.
9550
9551 1991-08-13 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9552
9553 * xfns.c (Fx_close_current_connection): Add \n to error message.
9554
9555 * keyboard.c (make_lispy_event): Added HP keys into the
9556 function_key_names array.
9557 * xterm.c (XTread_socket): For KeyPressed events, strip the
9558 keysym's vendor-specific bit, and take a shot at fitting it into
9559 the Emacs key numbering.
9560
9561 * screen.c (Vdefault_screen_alist): Definition moved from
9562 screen.el to here.
9563 (syms_of_screen): DEFVAR_LISP and initialize it here.
9564 * screen.h: Declare it here.
9565 * xfns.c (x_get_arg): Use it here.
9566
9567 * screen.c (make_screen): When choosing a buffer for the screen's
9568 root window, shy away from buffers whose names start with a space.
9569
9570 1991-08-11 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9571
9572 * process.c (exec_sentinel, exec_sentinel_unwind): Move these
9573 above status_notify.
9574
9575 * eval.c (Qinhibit_quit): New variable, to support Aug 5 changes
9576 to process.c.
9577 (syms_of_eval): Initialize and staticpro above.
9578 * lisp.h: added extern declaration for above.
9579
9580 1991-08-10 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9581
9582 * regex.c (re_search_2): When searching with the fastmap, test for
9583 a translate table outside of the loop, not inside the loop.
9584
9585 1991-08-10 Richard Stallman (rms at mole.gnu.ai.mit.edu)
9586
9587 * fns.c (Fequal): Don't crash on circular structure.
9588 (internal_equal): New subroutine does the recursion.
9589
9590 * print.c (print): Recognize circular car pointers.
9591
9592 1991-08-10 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9593
9594 * process.c (wait_reading_process_input): Ignore exceptional
9595 conditions on the keyboard input.
9596
9597 1991-08-06 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
9598
9599 * lisp.h: Fiddled with formatting.
9600
9601 * process.c (exec_sentinel_unwind): New function.
9602 (exec_sentinel): Restore the process's sentinel, using an
9603 unwind_protect.
9604
9605 1991-08-05 Richard Stallman (rms at mole.gnu.ai.mit.edu)
9606
9607 * keyboard.c: Doc fix.
9608
9609 1991-08-05 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9610
9611 * dired.h: Don't include search.h; it doesn't exist.
9612
9613 * process.c (read_process_output, exec_sentinel): Bind
9614 Qinhibit_quit to true and call the filter directly instead of
9615 through a condition-case.
9616 (run_filter): Removed.
9617 (this_filter, filter_process, filter_string): Variables now
9618 unnecessary.
9619
9620 * xfns.c (Fx_get_resource): Take the screen name as an optional
9621 argument and look up resources using the name of the screen as
9622 part of the key.
9623 [not HAVE_X11] (Fx_get_default): Take optional 2nd arg NAME and
9624 ignore it.
9625 (x_get_arg): Take the screen name as an arg, and call
9626 Fx_get_resource with that argument.
9627 (x_default_parameter, x_figure_window_size, x_icon): Pass the
9628 screen's name to x_get_arg.
9629 (Fx_create_screen): Make sure the screen name is either nil or a
9630 string, and pass it to x_get_arg.
9631
9632 * xfns.c (Vx_screen_defaults): Variable removed; such settings
9633 belong in the .Xdefaults file.
9634 (syms_of_xfns): Don't defvar it here.
9635 (Fx_create_screen): Don't use it here.
9636
9637 * keyboard.c (classify_object): #if 0'd function finally removed.
9638 * xterm.c (Qmapped_screen, Qunmapped_screen, Qexited_scrollbar,
9639 Qexited_window, Qredraw_screen): Unused, so removed.
9640 (syms_of_xterm): Don't bother to initialize above.
9641
9642 * xterm.c (init_input_symbols): Renamed to syms_of_xterm, for
9643 consistency.
9644 (x_term_init): Don't call it here.
9645 * xfns.c (syms_of_xfns): Don't call syms_of_xselect here.
9646 * emacs.c (main): Call them here.
9647
9648 * xterm.c (invocation_name): Made this a Lisp_Object, so that its
9649 string value could be relocated properly.
9650 (x_term_init, x_text_icon): Adjusted code appropriately.
9651 (syms_of_xterm): staticpro invocation_name.
9652 * xfns.c (invocation_name): Changed extern declaration, deleted
9653 extra declaration.
9654 (Fx_get_resource): Adjusted code appropriately.
9655
9656 1991-08-04 Richard Stallman (rms at mole.gnu.ai.mit.edu)
9657
9658 * lread.c (read1): Accept #[...] for bytecode object.
9659 * print.c (print): Print them that way.
9660
9661 1991-08-01 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9662
9663 * fileio.c (Fexpand_file_name): Avoid doing strlen (0).
9664
9665 * editfns.c, filelock.c [VMS]: Use pwd.h from Emacs, not from system.
9666 * fileio.c [VMS]: Likewise. Also include stddef.h, string.h.
9667 Include perror.h only once.
9668 [VMS] (file_name_as_directory, directory_file_name): Remove
9669 assignments from if conditions.
9670 (Fexpand_file_name): Remove excess slash from end of user's home dir.
9671
9672 1991-08-01 Richard Stallman (rms at mole.gnu.ai.mit.edu)
9673
9674 * emacs.c (main): Add SIGIO conditional within AIX conditional.
9675
9676 * xdisp.c (try_window_id): Compute proper position for screen bottom
9677 when all changes are below the screen.
9678 When first computing bp, don't go more than HEIGHT + 1 lines.
9679
9680 1991-07-31 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9681
9682 * xterm.c (x_destroy_window): If we're destroying the currently
9683 highlighted screen, clear x_highlight_screen.
9684
9685 * xdisp.c (display_text_line, display_string):
9686 Don't go past endp for multi-column chars.
9687
9688 1991-07-28 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9689
9690 * lread.c (init_lread): If Vload_path was set specially before
9691 dumping, preserve it by default.
9692
9693 * process.c (process_send_signal): Notice and deal if the
9694 TIOCGPGRP ioctl says that the subprocess has no pgrp.
9695
9696 * xdisp.c (try_window_id): Always update window_end_* if successful.
9697
9698 * process.h (subtty): New slot.
9699 * process.c (create_process): Set it.
9700 (process_send_signal): Use it.
9701
9702 * alloc.c (Fmake_rope): Doc fix.
9703 * screen.c (Fselect_screen): Doc fix.
9704 * vms-pp.c: Fix comment.
9705
9706 * keymap.c (Fkeymapp, Fdefine_prefix_command): Doc fixes.
9707
9708 * window.c (window_select_count): No longer static.
9709 (init_window_once): Increment window_select_count, to give each
9710 window a unique use_time.
9711 * window.h (window_select_count): extern this here.
9712 * screen.c (make_screen): Stamp a new screen's selected window
9713 with the proper selection time.
9714
9715 * ymakefile: xselect.o depends on screen.h, xterm.h, and config.h.
9716 xrdb.o depends on config.h.
9717 xterm.o depends on gnu.h.
9718 * xfns.h: File removed - it only declared Vx_send_movement_events.
9719 All includers changed.
9720
9721 1991-07-27 Richard Stallman (rms at mole.gnu.ai.mit.edu)
9722
9723 * keymap.c (Fcopy_keymap): Don't recursively copy maps inside symbols.
9724
9725 1991-07-27 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9726
9727 * xdisp.c (redisplay): If echo_area_display puts text in a
9728 surrogate minibuffer screen, don't neglect to update it.
9729
9730 * keyboard.c (kbd_buffer_store_event): Make sure
9731 Vlast_event_screen is set properly for quit characters.
9732
9733 1991-07-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9734
9735 * keyboard.c (command_loop_1): pass both arguments to
9736 Fselect_screen.
9737
9738 * screen.c (make_screen): Divide the size by sizeof (Lisp_Object)
9739 before passing it to Fmake_vector.
9740
9741 * screen.h [not MULTI_SCREEN] (SCREEN_SCROLL_BOTTOM_VPOS): fixed
9742 definition.
9743
9744 * screen.c: #include termhooks.h and therefore stdio.h.
9745 (make_screen): Initialize focus_screen member.
9746 (Fdelete_screen): Refuse to delete SCREEN if it is a
9747 surrogate minibuffer for some other screen, not just if it's the
9748 global minibuffer screen.
9749 (Fredirect_screen_focus, Fscreen_focus): New function.
9750 (syms_of_screen): defsubr Sredirect_screen_focus.
9751 * window.c: Don't include termhooks.h or stdio.h.
9752 (Fselect_window): Removed grunge to support minibuffer hack.
9753 * screen.h (struct screen): Added focus_screen member, and
9754 accessor for it.
9755 * alloc.c (mark_object): mark focus_screen member of Lisp_Screens.
9756 * xterm.c (XTscreen_rehighlight): Use the focus_screen member to
9757 decide which screen to highlight.
9758 (XTread_socket): Use focus_screen when enqueuing keystrokes.
9759 * minibuf.c (read_minibuf, read_minibuf_unwind): Shift the
9760 selected screen's focus around appropriately.
9761 * termhooks.h (screen_rehighlight_hook): Doc fix.
9762
9763 * lisp.h (CHECK_IMPURE): Moved definition...
9764 * puresize.h (CHECK_IMPURE): To here.
9765
9766 1991-07-25 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
9767
9768 * dispnew.c (buffer_posn_from_coords): Bufp is broken; don't use it.
9769
9770 * xterm.c (XTscreen_rehighlight): Neatened sloppy logic.
9771
9772 * keyboard.c (read_key_sequence): When truncating a key sequence,
9773 don't forget to put the new keystroke back in this_command_keys.
9774 Do this before calling echo_truncate, and don't call echo_char.
9775
9776 1991-07-24 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
9777
9778 * xterm.c (x_term_init): Initialize x_focus_screen and
9779 x_highlight_screen.
9780
9781 * xterm.c (XTscreen_rehighlight): Handle things correctly when
9782 x_focus_screen is 0.
9783 (XTread_socket): Process EnterNotify and LeaveNotify events with
9784 .focus == 0 properly. For FocusOut events, pass the right
9785 arguments to x_new_focus_screen.
9786
9787 * fileio.c (Finsert_file_contents): Use RETURN_UNGCPRO macro.
9788
9789 * buffer.c (Fbuffer_name): Fix typo in doc string.
9790 (syms_of_buffer): Fix typo in before_change_function name.
9791
9792 1991-07-23 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
9793
9794 * screen.h (CHECK_SCREEN): Define a dummy version of this when
9795 MULTI_SCREEN is not defined.
9796
9797 * sysdep.c (init_signals, sys_signal, sys_sigpause): New functions.
9798 (sys_sigblock, sys_sigunblock, sys_sigsetmask): New functions.
9799
9800 * sysdep.c (_sobuf): Unsigned chars if DGUX.
9801
9802 * sysdep.c [DGUX]: Include file.h.
9803 [DGUX] (sys_siglist): New variable.
9804
9805 * x11term.c (x_init_1) [SYSV_STREAMS]: Don't close the old
9806 descriptor.
9807
9808 * keyboard.c (read_key_sequence): Treat function keys like ascii
9809 characters.
9810
9811 * lread.c (init_lread, syms_of_lread): New names for init_read and
9812 syms_of_read, for consistency.
9813
9814 * emacssignal.h: New file.
9815 * data.c, keyboard.c, process.c, sysdep.c: Include it.
9816 * data.c (arith_error): Use SIGEMPTYMASK.
9817 * keyboard.c (sigfree, sigunblockx): Use SIGEMPTYMASK.
9818 (sigholdx, sigblockx): Use sigmask.
9819 (gobble_input): Use sigblockx instead of sigholdx, so that any
9820 other blocked signals stay blocked during and after the call to
9821 read_avail_input.
9822 * process.c (create_process): Use sigmask.
9823 [FASYNC] (request_sigio): Use sigunblock.
9824 * xterm.c (sigmask): Removed #definition here.
9825 * ymakefile (keyboard.o, process.o, sysdep.o, data.o): Make these
9826 depend on emacssignal.h.
9827
9828 * window.c (Fselect_window): Modify surrogate minibuffer hack to
9829 make the minibuffer the selected window of the selected screen,
9830 AND select the minibuffer window's screen.
9831 * minibuf.c (read_minibuf): If the minibuffer window is on a
9832 different screen, save that screen's configuration too.
9833
9834 * window.c (Fset_window_configuration): Use SCREEN_ accessor to
9835 get at a screen's root window. Removed unused variable
9836 screen_to_select.
9837 (Fcurrent_window_configuration): Take an optional argument SCREEN.
9838 All callers changed.
9839
9840 * window.c (auto_new_screen, Vauto_new_screen_function): Renamed
9841 to pop_up_screens and pop_up_screen_function, to be parallel with
9842 pop_up_windows.
9843 (display_buffer, syms_of_window): Changed appropriately.
9844
9845 * fns.c (Fload_average) [DGUX]: Add code to support DGUX.
9846
9847 * s-dgux.h, m-aviion.h: New files.
9848
9849 * emacs.c (main) [POSIX_SIGNALS]: Call init_signals.
9850
9851 * screen.c (Fdelete_screen): Update last_nonminibuf_screen if
9852 the screen it's currently pointing to gets deleted.
9853
9854 1991-07-22 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
9855
9856 * screen.c (last_nonminibuf_screen): New variable.
9857 (Fselect_screen): Set last_nonminibuf_screen if appropriate.
9858
9859 1991-07-21 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
9860
9861 * screen.h (last_nonminibuf_screen): Added declarations for new
9862 variable.
9863 * minibuf.c (active_screen): Variable removed.
9864 (read_minibuf): Removed code to set and clear active_screen.
9865 * window.c (Fdisplay_buffer): Rewritten to use
9866 last_nonminibuf_screen.
9867
9868 * screen.c (next_screen): Use SCREEN_ accessors instead of ->.
9869
9870 * window.c (Fdisplay_buffer): Removed reference to
9871 Fx_create_screen; we should rely on the auto-new-screen-function
9872 being set to something appropriate.
9873
9874 1991-07-21 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
9875
9876 * keyboard.c (read_key_sequence): Restore the state of
9877 this_command_key_count along with the echoing state.
9878
9879 1991-07-20 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
9880
9881 * xfns.c (Fx_synchronize): New function.
9882 (syms_of_xfns): defsubr it.
9883
9884 * xdisp.c (redisplay): Don't turn on all_windows whenever we're
9885 using a separate minibuffer screen. Even if there is some tweak
9886 necessary, this wasn't it.
9887
9888 * process.c (status_notify): Do not forget to UNGCPRO.
9889
9890 * screen.c (next_screen): Re-work logic to skip minibuffer-only
9891 screens so that it doesn't loop indefinitely, even when the only
9892 screen is a minibuffer-only screen. Skip all screens that are
9893 only minibuffers, not just when they are the global minibuffer
9894 screen.
9895
9896 * xdisp.c (message, message1): If the screen's message buffer
9897 is 0, toss the message; don't check the window system against
9898 the screen output_method.
9899
9900 1991-07-19 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9901
9902 * keyboard.c (read_key_sequence): When we truncate the echo
9903 buffer because the user has switched screens, re-echo the
9904 character that caused the truncation.
9905
9906 * lread.c (Fload): Change "source newer than ..." message not to
9907 refer to "libraries." What is a "library," anyway?
9908
9909 * window.c: #include "termhooks.h", and therefore <stdio.h> too.
9910 [MULTI_SCREEN] (Fselect_window): If the window being selected is
9911 the selected screen's minibuffer, but it lives on another screen,
9912 don't select that other screen - call the screen_rehighlight_hook
9913 instead.
9914 * termhooks.h (screen_rehighlight_hook): New hook, so that Emacs
9915 can shift the screen highlighting when needed.
9916 * term.c (screen_rehighlight_hook): Define it.
9917 * xterm.c (x_highlight_screen): New variable.
9918 (x_new_focus_screen): Move the rehighlighting code to...
9919 (XTscreen_rehighlight): New function.
9920 (x_display_bar_cursor, x_display_box_cursor): Use
9921 x_highlighted_screen instead of x_focus_screen.
9922 (x_term_init): Initialize screen_rehighlight_hook.
9923 * ymakefile: Make window.o depend on termhooks.h.
9924
9925 * xfns.c (Fx_create_screen): Add mention of
9926 global-minibuffer-screen to docstring.
9927 * screen.c (make_screen_without_minibuffer): Improve error message
9928 displayed when Vglobal_minibuffer_screen is not a proper screen.
9929
9930 1991-07-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9931
9932 * config.h (PURESIZE): Definition moved to...
9933 * puresize.h: New file.
9934 (PURESIZE): Define this here. This will allow people to change
9935 their pure storage allocation without having to recompile most of
9936 Emacs.
9937 * data.c: #include puresize.h, since CHECK_IMPURE needs PURESIZE.
9938 * alloc.c: #include puresize.h.
9939 [HAVE_SHM] (pure_size): New variable, so that XPNTR doesn't depend
9940 on PURESIZE.
9941 [HAVE_SHM] (init_alloc_once): Initialize pure_size here.
9942 * lisp.h [HAVE_SHM] (XPNTR): Defined in terms of pure_size,
9943 instead of PURESIZE.
9944 (pure_size): extern declaration added here.
9945 * ymakefile: Added puresize.h to dependencies for alloc.c and
9946 data.c's .o files.
9947
9948 * emacs.c (main): Doc fix for kludge to scan for -d.
9949
9950 1991-07-17 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9951
9952 * termhooks.h (struct input_event): #if 0'd out the definition for
9953 the screen_selected event type, and added the stipulation that the
9954 {non_,}ascii_keystroke events specify the screen they happen in.
9955 * xterm.c (x_new_focus_screen): Don't enqueue a screen_selected
9956 event.
9957 (XTread_socket): Calls to x_new_focus_screen in the EnterNotify,
9958 FocusIn, LeaveNotify, and FocusOut event code don't worry about
9959 enqueued events any more.
9960 * keyboard.c (new_selected_screen): Removed - see below.
9961 (Vlast_event_screen): New variable, visible to lisp code.
9962 (echo_length, echo_truncate): New functions.
9963 (readable_events): Removed screen_selected events from the set of
9964 things to skip.
9965 (kbd_buffer_store_event): Don't bother collapsing consecutive
9966 screen_selected events.
9967 (kbd_buffer_read_char): Don't process screen_selected events.
9968 (make_lispy_event): Re-arrange scrollbar events to put the window
9969 whose scrollbar was diddled right after the identifying symbol,
9970 for consistency.
9971 (read_key_sequence): Let the selected screen and the location of
9972 the event affect the keymap used to find its binding.
9973 (Fread_key_sequence): Update docstring.
9974 (syms_of_keyboard): Added DEFVAR_LISP for Vlast_event_screen.
9975
9976 1991-07-15 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
9977
9978 * screen.c (next_screen): If !mini_screen, only exclude the global
9979 minibuffer screen when the minibuffer is its only window.
9980 (Fnext_screen): Make the docstring clearer about what MINISCREEN
9981 means.
9982
9983 * window.c (Fother_window): Indicate that it takes both a required
9984 and optional argument, instead of just one required.
9985
9986 1991-07-15 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
9987
9988 * buffer.c (Fkill_buffer): Rehacked kill-buffer-hooks to use
9989 standard name kill-buffer-hook, and to use set_buffer_internal
9990 instead of Fset_buffer. Use static variable containing symbol
9991 instead of intern.
9992 (syms_of_buffer, init_buffer_once): Qkill_buffer_hook =
9993 'kill-buffer-hook.
9994
9995 1991-07-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
9996
9997 * keymap.c (Fsingle_key_description): When describing a listy
9998 object, take the car to find the symbol that heads it, not the cdr.
9999
10000 * dispnew.c (buffer_posn_from_coords): Pass col and line to
10001 compute_motion in the correct order.
10002
10003 * keyboard.c (make_lispy_event): When calculating rows and columns
10004 for mouse clicks and movement events, don't forget to subtract the
10005 position of the window's top left corner before passing them to
10006 buffer_posn_from_coords.
10007
10008 * screen.c (coordinates_in_window): Removed useless test for *y ==
10009 screen_height, and screen_height variable; this would be out of
10010 range of all the windows anyway.
10011
10012 * xdisp.c (message1): Removed code to ignore messages before X has
10013 started up; this issue has hopefully been addressed by the
10014 condition-case in startup.el.
10015
10016 * editfns.c (init_editfns): Make user_name char * instead of
10017 unsigned char *, since that's what most of the usages seem to
10018 want. And when expanding ampersands in AMPERSAND_FULL_NAME mode,
10019 don't try to use user_name as a string; use Vuser_name.
10020
10021 * minibuf.c (assoc_for_completion): New function.
10022 (do_completion): Use that to check for exact match.
10023
10024 * minibuf.c (Ftry_completion): Fix handling of matches aside from
10025 case. If ignoring case, and all else equal, try to preserve the
10026 case of the characters in the input.
10027
10028 * process.c (status_notify): GCPRO tail.
10029
10030 * sysdep.c (creat_copy_attrs, rename_sans_version): Always set
10031 protection to O:REWD when creating file. Added new function
10032 rename_sans_version, which strips the version number from the target
10033 filename, renames the temporary file to this filename, and then
10034 sets the file protection of this new file to be the same as the file
10035 being edited.
10036
10037 * sysdep.c [VMS]: Include pwd.h from Emacs. Use sys/file.h if GCC.
10038 (F_SETFL) [VMS]: Undefine this, to control conditionals.
10039 (getpwnam): Make `full' unsigned.
10040 (creat_copy_attrs): Add some casts.
10041 (sys_access): Change prvmask and CHECKPRIV to use bitfields.
10042 Add some casts, and make dummy an unsigned short int.
10043 Don't use & on constants.
10044 (vmserrstr): Add a cast.
10045 (sys_creat): Define va_count before this function.
10046
10047 1991-07-14 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10048
10049 * sysdep.c (sys_sleep, input_wait_timeout): Don't use & on constant.
10050 [VMS]: Include pwd.h from Emacs. Use sys/file.h if GCC.
10051 (bzero, bcopy) [VMS]: Don't take address of `length'.
10052
10053 * sysdep.c (sys_suspend): Cast value of `signal' to insulate from
10054 changed value type in sysV.3.
10055
10056 * sysdep.c (child_setup_tty): Turn off erase & kill chars for BSD.
10057
10058 * sysdep.c (discard_tty_input): Use TIOCFLUSH on Apollo.
10059 (init_sys_modes): Avoid TIOCSTART on Apollo.
10060
10061 * sysdep.c: If HAVE_TERMIOS is not defined, define tcgetattr in
10062 terms of the TIOCGETP ioctl.
10063 (init_sys_modes): Handle VSUSP, V_DSUSP if HAVE_TCATTR.
10064 (discard_tty_input, init_baud_rate, child_setup_tty,
10065 init_sys_modes, tabs_safe_p, reset_sys_modes):
10066 Use tcgetattr, and if HAVE_TCATTR, use tcsetattr.
10067
10068 1991-07-13 Jim Blandy (jimb at churchy.gnu.ai.mit.edu)
10069
10070 * s-hpux8.h: New file.
10071 * fileio.c [HPUX8]: Don't include errnet.h.
10072
10073 * unexhp9k800.c (unexec): Local variable i to avoid compiler bug?
10074
10075 * sysdep.c (insque) [WRONG_NAME_INSQUE]: New function.
10076 * s-386ix.h (WRONG_NAME_INSQUE): Define it.
10077
10078 * xdisp.c (message_buf_print): New variable.
10079 (message): Clear it here.
10080 * dispextern.h: Declare it here.
10081 * print.c (printchar, strout): Set it and test it here.
10082
10083 * keyboard.c (command_loop_1): Don't clear last_command when start
10084 macro.
10085
10086 * keyboard.c (read_command_char): Exit at eof if noninteractive.
10087
10088 * indent.c (invalidate_current_column): New function.
10089 * editfns.c (Fwiden, Fnarrow_to_region): Call it.
10090
10091 * process.c (create_process): Use O_NOCTTY whenever defined,
10092 unless USG.
10093
10094 * process.c (Fprocess_send_eof): If using a pipe, close it.
10095 (close_process_descs): Check IN and OUT for nonzeroness.
10096
10097 * process.c (process_send_signal): Use interrupt chars
10098 to send certain signals to the process group.
10099 (TIOCGETC): Undefine this if it is not really usable.
10100
10101 * sysdep.c (discard_tty_input): Do nothing if read_socket_hook.
10102
10103 * xfns.c (x_set_mouse_color): Change the default pointer shapes to
10104 be closer to xterm and emacs 18.
10105
10106 * xterm.c (x_focus_on_screen, x_unfocus_screen): These no longer
10107 call XSetInputFocus, because I think that the X-windows ICCCM
10108 says that only the window manager can do this sort of thing.
10109
10110 * keyboard.c (read_char): When there is an unread command
10111 character, goto reread_first when this_command_key_count is zero,
10112 not when it is >= 0.
10113 (command_loop_1): Reset this_command_key_count only if there is no
10114 prefix argument. This makes echoing of keystrokes work correctly.
10115
10116 1991-07-11 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
10117
10118 * eval.c (Finteractive_p): Changed "! XTYPE (foo) == Lisp_Bar" to
10119 "XTYPE (foo) != bar".
10120
10121 1991-07-11 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
10122
10123 * eval.c (apply1): Don't forget to UNGCPRO before returning.
10124
10125 * xterm.c (XTupdate_begin): Undisplay the cursor here; do_scrolling
10126 will call XTins_del_lines when the screen matrix is inaccurate, so
10127 we cannot undisplay the cursor then, but do_scrolling is always
10128 called within an update.
10129
10130 1991-07-10 David J. MacKenzie (djm at nutrimat)
10131
10132 * termcap.c, tparam.c [!emacs, USG || STDC_HEADERS]: Define bcopy
10133 in terms of memcpy.
10134
10135 1991-07-09 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
10136
10137 * scroll.c (do_scrolling): Use correct termination condition for
10138 loop that uses the glyph pointers for the deleted lines to fill in
10139 the inserted lines.
10140
10141 1991-07-08 Richard Stallman (rms at mole.gnu.ai.mit.edu)
10142
10143 * editfns.c: Doc fix.
10144
10145 1991-07-03 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10146
10147 * dispnew.c (line_hash_code): Test m->highlight[vpos], not
10148 m->highlight. All lines were getting hash codes of -1, because
10149 the highlight vector was never NULL. Golly.
10150
10151 * process.c (list_processes_1): Handle status of network streams.
10152
10153 1991-07-02 Richard Stallman (rms at mole.gnu.ai.mit.edu)
10154
10155 * doc.c (Fdocumentation_property):
10156 Pass only strings to Fsubstitute_command_keys.
10157
10158 1991-07-02 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
10159
10160 * editfns.c (init_editfns): If neither of the environment
10161 variables are set, DON'T set Vuser_name to Vuser_real_name; it's
10162 supposed to reflect the EFFECTIVE uid.
10163 Get the full name according to Vuser_name if it differs from
10164 Vuser_real_name, not if they are equal.
10165 And pass Vuser_name to getpwnam in that case instead of user_name,
10166 which might be 0.
10167
10168 * lisp.h (RETURN_UNGCPRO): New macro.
10169
10170 * bytecode.c (Fbyte_code): Do not remove GC protection from the
10171 stack when making a function call, because the caller is
10172 responsible for protecting the arguments to a MANY-arg'ed
10173 function.
10174 * eval.c (Fapply): If we use funcall_args, GCPRO it.
10175 And when we call Ffuncall with funcall_args, tell it the correct
10176 length of funcall_args, no matter which branch allocated it.
10177 (Ffuncall): Don't gcpro the arguments before calling
10178 Fgarbage_collect.
10179 (Feval): If we're calling a subr that takes MANY args, don't
10180 UNGCPRO until after we call the subr.
10181 (apply1, call0, call1, call2, call3): GCPRO the arg arrays passed
10182 to Ffuncall and Fapply.
10183 * callproc.c (Fcall_process, Fcall_process_region): Don't GCPRO
10184 the argument array.
10185 * editfns.c (Finsert, Finsert_before_markers): Don't GCPRO the
10186 argument array. Added comment about when GCPROing is not needed.
10187 * mocklisp.c (Finsert_string): Don't GCPRO the argument array.
10188
10189 * keyboard.c (init_keyboard): Handle SIGQUIT with interrupt_signal
10190 on any system that has HAVE_TERMIO, not just on USG systems.
10191
10192 1991-07-01 Richard Stallman (rms at mole.gnu.ai.mit.edu)
10193
10194 * editfns.c (init_editfns): Test that user_name isn't 0.
10195
10196 1991-06-29 Richard Stallman (rms at mole.gnu.ai.mit.edu)
10197
10198 * search.c: Doc fixes.
10199
10200 1991-06-28 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
10201
10202 * keyboard.c (make_lispy_event): Let the posns of mouse clicks and
10203 mouse movements be nil when window_from_coordinates returns a
10204 NON-window, not when it returns a window. Since posn is a lisp
10205 object, don't call make_number when consing up the event.
10206 Don't call make_number on the code member of the event.
10207
10208 * keyboard.c (struct movement): Make the x, y, and time members
10209 Lisp_Objects, since it's easier to convert from a Lisp_Object than
10210 to.
10211 (note_mouse_position): Adjusted for the above.
10212 (make_lispy_event): Removed code to make Lisp_Objects for those
10213 members.
10214
10215 * xterm.c (XTread_socket): When handling LeaveNotify events,
10216 remember that the focus member of the event is true when the
10217 receiving window now has the focus, not when it is losing it.
10218 * xfns.c (Ffocus_screen): Don't signal an error if SCREEN is
10219 already the focus screen.
10220
10221 1991-06-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10222
10223 * alloc.c (Fmake_rope): Use sizeof (GLYPH) instead of 2 to
10224 determine how large the string should be, and changed doc string
10225 to describe ropes as strings of glyphs, not just as strings of
10226 character pairs.
10227 (Frope_elt): Use sizeof (GLYPH) as the element size, instead of
10228 assuming that the elements are two bytes.
10229 * lisp.h (typedef GLYPH): Moved the definition from here...
10230 * config.h (typedef GLYPH): to here, so people can elect to get
10231 better performance if they don't want to use huge fonts.
10232 * xterm.c (dumpglyphs): Use XDrawImageString or
10233 XDrawImageString16, Depending on sizeof (GLYPH).
10234
10235 * data.c (Fsetq_default): Call Fset_default to do the assignments,
10236 not plain Fset.
10237
10238 The following changes were contributed by Jamie Zawinski
10239 <jwz@lucid.com>:
10240
10241 * bytecode.c (Fbyte_code): BYTE_CODE_SAFE and BYTE_CODE_METER
10242 options added.
10243 Added Bmark, Bscan_buffer, Bset_mark to support error-checking for
10244 these obsolete bytecodes.
10245 Added Bunbind_all to support tail-call optimization (not yet
10246 implemented).
10247 Did NOT add the relative branch opcodes that were in the version
10248 of bytecode.c that Jamie sent.
10249 The branching bytecodes now only QUIT if they take the branch.
10250 Btemp_output_buffer_show, Bforward_char, Bforward_word,
10251 Bskip_chars_forward, Bskip_chars_backward, and Bforward_line
10252 passed the wrong number of arguments to their subrs.
10253 Brem, Bbuffer_substring, Bdelete_region, Bnarrow_to_region,
10254 Bstringeqlsign, Bstringlss, Bequal, Bnthcdr, Bmember, Bassq,
10255 Bsetcar, and Bsetcdr passed arguments to the subr in the wrong
10256 order.
10257
10258 1991-06-25 Jim Blandy (jimb at churchy.gnu.ai.mit.edu)
10259
10260 * doc.c (Fdocumentation): Added a QUIT test to the loop that finds
10261 the symbol's function value.
10262
10263 1991-06-24 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
10264
10265 * xterm.c (dumprectangle): Removed call to XFlushQueue here.
10266
10267 * keyboard.c (command_loop_1): Call Fselect_screen to establish
10268 the new selected screen after the key sequence has been read, not
10269 at the top of the loop. This way, a key sequence will happen in
10270 the screen it was typed at, or (to be more precise) the screen its
10271 last character was typed at.
10272
10273 * keyboard.c (fast_read_one_key): Function deleted, since it had
10274 been #if 0'd out a long time ago.
10275 (command_loop_1): Support for fast_read_one_key removed.
10276
10277 * eval.c (Ffuncall): Do GCPRO the arguments, contrary to the May
10278 16 change. The convention appears to be that the MANY-arged
10279 callee must protect its own arguments.
10280 (Fapply): Don't protect funcall_args; they are the caller's
10281 responsibility.
10282 * bytecode.c (Fbyte_code): GCPRO the section of the stack *above*
10283 the args to Ffuncall, since it will be protected again once
10284 Ffuncall returns and therefore should stay valid. If it is not
10285 protected, string relocation may make it invalid.
10286 * mocklisp.c (Finsert_string): GCPRO the arguments, since insert
10287 may cause a garbage collection.
10288 * editfns.c (Finsert, Finsert_before_markers): GCPRO the
10289 arguments, since insert may cause a garbage collection.
10290 * callproc.c (Fcall_process, Fcall_process_region): GCPRO the
10291 arguments, since insert may cause a garbage collection.
10292
10293 1991-06-20 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
10294
10295 * buffer.h (struct buffer_text, struct buffer): small change to
10296 comments.
10297
10298 * search.c (Fmatch_beginning, Fmatch_end): Fixed doc strings to
10299 indicate that non-regexp searches set these too.
10300
10301 * window.c (Fset_window_start): If window is not the selected
10302 window, set windows_or_buffers_changed, so that redisplay will
10303 know that it should redisplay the window.
10304
10305 * callint.c (Finteractive): Changed doc string to indicate that
10306 the interactive prompts are passed through format.
10307
10308 1991-06-20 Roland McGrath (roland@albert.gnu.ai.mit.edu)
10309
10310 * buffer.c (syms_of_buffer): buffer-undo-list doc fix.
10311
10312 1991-06-11 Roland McGrath (roland@albert.gnu.ai.mit.edu)
10313
10314 * data.c (Fsetq_default): Take multiple SYM, VAL args; syntax now
10315 parallel to setq.
10316
10317 1991-05-25 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
10318
10319 * keyboard.c (kbd_buffer_read_char): Fix wait-for-input loop so
10320 that we always process/toss events we don't want to return.
10321
10322 * screen.c (Fselect_screen): Call Ffocus_screen instead of
10323 x_new_selected_screen, which doesn't exist anymore.
10324
10325 * xfns.c (Ffocus_screen): Declare the type of the SCREEN argument.
10326
10327 * xfns.c (Fx_track_pointer): Function #if 0'd out - I don't think
10328 that this is a feature that we want.
10329 (syms_of_xfns): Elide the defsubr for the above.
10330
10331 * xterm.c (x_mouse_screen, x_input_screen): Variable deleted,
10332 since all we really need is x_focus_screen; all other issues are
10333 the realm and responsibility of the window manager.
10334 (x_new_selected_screen): Renamed to x_new_focus_screen, and
10335 modified not to do thiogs inappropriate for signal handlers.
10336 (XTread_socket): Change the handling of EnterNotify, LeaveNotify,
10337 FocusOut and FocusIn events to use x_new_selected_screen, and
10338 ditched code that deals with x_mouse_screen and x_input_screen,
10339 since they don't exist anymore.
10340 (x_display_bar_cursor, x_display_box_cursor): Compare s with
10341 x_focus_screen to see what form the cursor should take.
10342 (x_destroy_window): Don't bother with x_input_screen.
10343 * xfns.c (x_mouse_screen): Removed extern declaration for this.
10344 (Fx_grab_pointer): Confine the pointer to x_focus_screen, not
10345 x_mouse_screen. This is wrong, but will make emacs compile until
10346 this gets fixed.
10347
10348 1991-05-23 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10349
10350 * keyboard.c (get_input_pending): Don't use trim_events; use
10351 readable_events instead.
10352
10353 * keyboard.c (make_lispy_event): Remove case for window_sys_event,
10354 since that type of event doesn't exist anymore.
10355
10356 * minibuf.c (Fcompleting_read): Document the backup-n argument.
10357
10358 * dispnew.c (init_display): Don't declare alternate_display extern
10359 here. I can't figure out what this feature is, and it's broken.
10360 * emacs.c (main): Don't test alternate_display and put its value
10361 in the environment.
10362
10363 1991-05-22 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10364
10365 * keyboard.c (struct movement): Made .used an int instead of a
10366 char, since that's more likely to be stored atomically on SPARCS
10367 and similar machines.
10368
10369 * termhooks.h (struct input_event): Removed the window_sys_event,
10370 since it's not used anywhere. Added screen_selected event type.
10371 The event handling code used to change the current buffer,
10372 selected window, and selected screen out from under running lisp
10373 code. Now we wait for a more convenient time by enqueuing an
10374 event.
10375 * xterm.c (XTread_socket): When handling FocusIn events and
10376 EnterNotify events with the focus member set, enqueue a
10377 selected_screen event instead of calling x_new_selected_screen.
10378 * keyboard.c (trim_events): Function deleted; it is a bad idea to
10379 delete events based on the current tracking state, since tracking
10380 might be re-enabled later.
10381 (readable_events): New function which searches the input queue for
10382 readable events.
10383 (tracking_off): Call readable_events to see if we should
10384 redisplay.
10385 (kbd_buffer_read_char): Toss events that we are not interested in.
10386 This is a better place to do it than trim_events, since we know
10387 that do_mouse_tracking will not change. Also, handle
10388 screen_selected events.
10389 (new_selected_screen): New variable, holding the screen which
10390 should become selected the next time through command_loop_1.
10391 (syms_of_keyboard): Initialize and staticpro new_selected_screen.
10392 (command_loop_1): If there is a new screen to be selected, do so.
10393
10394 1991-05-21 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
10395
10396 * xdisp.c (message): Removed the if at the top that did not
10397 display messages if the current screen was a termcap screen and a
10398 window system will be used. The change to startup.el on May 18,
10399 1991 replaces this.
10400
10401 * ralloc.c (check_memory_limits): If the address returned by the
10402 allocator is not representable in a Lisp_Object, call memory_full
10403 instead of printing a very silly "warning" message.
10404
10405 1991-05-19 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
10406
10407 * xterm.c (XTread_socket): Don't overwrite the end of the buffer
10408 with function keys.
10409
10410 * keyboard.c (tracking_off): Update input_pending after reading
10411 all the input.
10412 * process.c: #include "screen.h".
10413 (wait_reading_process_input): Check if any screens have been newly
10414 mapped and need updating.
10415 * xterm.c (XTread_socket): Don't SET_SCREEN_GARBAGED when the
10416 screen is unmapped; do this when is mapped.
10417 (dumprectangle): Don't dump any data for garbaged screens.
10418
10419 1991-05-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10420
10421 * sysdep.c (init_sys_modes): Moved the clauses that set up
10422 interrupt-driven input out of the "if running on a terminal"
10423 clause, since these may need to be set up even when running on a
10424 window system.
10425
10426 1991-05-17 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10427
10428 * process.c (Fprocess_status): For network connections, return
10429 Qopen and Qclosed instead of Qrun and Qexit, as documented.
10430
10431 * lread.c (read1): Removed code that treated numbers starting with
10432 a zero as octal.
10433
10434 1991-05-16 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
10435
10436 * eval.c (Ffuncall): Don't gcpro the arguments; the caller
10437 protects them.
10438 (Fapply): Gcpro funcall_args, if we use them.
10439
10440 * xterm.c (notice_mouse_movement): #if 0'd this function out.
10441 (XTread_socket): #if 0 the code that fakes motion events for
10442 moving in and out of windows. Also, rearrange the MotionNotify
10443 case to give character rows and columns to note_mouse_position,
10444 not pixel x and y positions. Don't deal with scrollbars here.
10445 * termhooks.h (struct input_event): Removed the mouse_movement
10446 event kind.
10447 * keyboard.c (movement_buf): A new buffer for mouse-movement events.
10448 This is hairier than you might think; see the comments for this
10449 and the comments for note_mouse_position and get_mouse_position
10450 for an explanation of why this is hairy.
10451 (movement_ptr): Where the event handler should store new mouse
10452 locations.
10453 (EVENT_QUEUES_EMPTY): New macro, to be used in the places that
10454 used to compare kbd_fetch_ptr to kbd_store_ptr to see if there
10455 were any events available; this macro tests the mouse movement
10456 buffer too.
10457 (Qmouse_movement): New symbol to head mouse movement events with.
10458 (trim_events): Mouse movement events are no longer in kbd_buffer,
10459 so don't try to trim them.
10460 (tracking_off, kbd_buffer_read_char, get_input_pending): Use
10461 EVENT_QUEUES_EMPTY.
10462 (get_mouse_position): New function to retrieve a mouse position
10463 from the buffer properly, no matter when the event-handling signal
10464 occurs.
10465 (kbd_buffer_read_char): If there is something in kbd_buffer, make
10466 an event for that; if there is a mouse movement, make an event for
10467 that; otherwise, the while loop lied.
10468 (make_lispy_event): Added code to produce mouse movement events.
10469 (init_keyboard): Clear the mouse movement buffer.
10470 (Qmouse_moved, Qredraw_screen, Qmapped_screen, Qunmapped_screen,
10471 Qexited_window, Qexited_scrollbar): Removed extern declarations
10472 for these, since they're no longer generated.
10473 (syms_of_keyboard): Initialize and staticpro Qmouse_movement,
10474 remove DEFVAR_LISP for Vignore_mouse_events.
10475
10476 1991-05-14 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
10477
10478 * lread.c (read1): Correctly parenthesize the shift when parsing
10479 octal numbers, and signal an error if we see a non-octal digit.
10480
10481 1991-05-13 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
10482
10483 * keyboard.c (trim_events): New function, to remove uninteresting
10484 events from the input queue.
10485 (get_input_pending): Call trim_events before checking the queue,
10486 so as not to advertise input we don't care about.
10487 (Ftrack_mouse): A new function to enable mouse tracking for a
10488 block of code.
10489 (tracking_off): A function for unwind_protection; restore the
10490 mouse tracking state to what it was outside of the track-mouse
10491 (syms_of_keyboard): defsubr track-mouse.
10492 (make_lispy_event): Find the window io which the click occurred
10493 when processing mouse_click events, instead of trusting the window
10494 tree in the signal-handling code. Include the buffer position in
10495 the click event.
10496
10497 * xterm.c (construct_mouse_click): Return the click's screen, not
10498 its window, and don't bother updating Vmouse_window. Calculate
10499 the row and column of text-area clicks using
10500 pixel_to_glyph_translation, since we know that those data
10501 structures are alive in signal handlers.
10502
10503 * screen.c (window_from_coordinates,
10504 Flocate_window_from_coordinates): Moved these to window.c, since I
10505 need to be able to call them even if we don't have multi-screen
10506 support.
10507 (syms_of_screen): Removed defsubr for
10508 Flocate_window_from_coordinates.
10509 * window.c (window_from_coordinates, Flocate_window_from_coordinates):
10510 Here they are.
10511 (syms_of_window): Here is the defsubr.
10512
10513 * keyboard.c (note_mouse_position): New function to enqueue
10514 mouse movement events properly.
10515 (current_movement_event): New variable, to support the above. See
10516 its comment for more explanation.
10517
10518 * termhooks.h (struct input_event): Change the .window member to
10519 .screen, make it a struct screen *, and indicate that those events
10520 which used to return windows now return screens. It is unsafe
10521 for the event reader to traverse the window structure, because it
10522 can be called by a signal handler.
10523
10524 1991-05-10 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
10525
10526 * keyboard.c (Vignore_mouse_events): Variable deleted.
10527 (make_lispy_event): For mouse and scrollbar clicks, return the
10528 position as a pair of numbers, not a list of two numbers.
10529
10530 1991-05-09 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
10531
10532 * keyboard.c (do_mouse_tracking): Define this variable, which
10533 controls whether kbd_buffer_read_char will ignore button up and
10534 mouse movement events.
10535 * termhooks.h: Declare do_mouse_tracking here.
10536
10537 * xterm.h (STANDARD_EVENT_SET): New constant, giving the event
10538 mask all the windows use.
10539
10540 * xfns.c (Vx_send_mouse_movement_events): Removed this variable;
10541 XTmouse_tracking_enable and do_mouse_tracking do its job better.
10542 (syms_of_xfns): Remove the DEFVAR_LISP for the above.
10543 (x_window): Don't ask for any pointer motion events or button
10544 release events by default; use the unmodified STANDARD_EVENT_MASK.
10545 The user will ask for them explicitly if he or she wants them.
10546 And don't ask for backing store.
10547
10548 * xterm.c (XTmouse_tracking_enable): New function to
10549 request/unrequest detailed mouse tracking information of the
10550 server, and set the flag used by XTread_socket.
10551 (x_term_init): Set mouse_tracking_enable_hook to
10552 XTmouse_tracking_enable here.
10553 (XTread_socket): Handle mouse movement events by calling
10554 note_mouse_position.
10555
10556 * xterm.c (XTread_socket): For MapNotify events, go ahead and set
10557 the screen's visible flag, so Expose events will work. Clear the
10558 iconified flag.
10559
10560 * editfns.c (Finsert_char): Return immediately if n <= 0, not just
10561 if n < 0, so that the `while' below does not become an infinite
10562 loop.
10563
10564 * term.c (mouse_tracking_enable_hook): Added this variable to
10565 allow emacs to request that the window system start or stop
10566 detailed mouse tracking.
10567 * termhooks.h (mouse_tracking_enable_hook): Declare it here.
10568
10569 * xfns.c: Declare the functions before initializing
10570 x_screen_parm_table to point to them.
10571
10572 * xterm.c (XTread_socket): Don't send Qmapped_screen,
10573 Qunmapped_screen, Qexited_scrollbar, Qexited_window,
10574 Qredraw_screen - these are not features that we want to support.
10575
10576 1991-05-07 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10577
10578 * editfns.c (Finsert_char): Let strlen be the minimum of n and
10579 256, not the maximum, so we use an n-byte buffer when n < 256, and
10580 a 256-byte buffer many times when n > 256.
10581
10582 1991-05-05 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
10583
10584 * keymap.c (Fkeymapp): Fixed docstring to give the right
10585 definition of a keymap.
10586
10587 1991-05-03 Richard Stallman (rms at mole.gnu.ai.mit.edu)
10588
10589 * data.c (Fcompiled_function_p): New function.
10590
10591 1991-05-03 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10592
10593 * xfns.c (struct x_screen_parm_table): New type for recording
10594 information about screen parameters.
10595 (x_screen_parms): New table describing the existing parameters.
10596 (init_x_parm_symbols, x_set_screen_param): Use x_screen_parms
10597 instead of a large switch statement.
10598 (x_figure_window_size): Make the default case of the switch call
10599 abort instead of signalling an error, since window_prompting's
10600 value is internally generated.
10601
10602 1991-05-01 Jim Blandy (jimb at churchy.gnu.ai.mit.edu)
10603
10604 * keymap.c (describe_map_tree): GCPRO the maps variable;
10605 Fkey_description calls Fmapconcat, which eventually calls
10606 Ffuncall, which can garbage-collect.
10607
10608 1991-04-28 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10609
10610 * dispnew.c (buffer_posn_from_coords): Use the information in bufp
10611 to reduce the distance compute_motion must scan, when possible.
10612
10613 1991-04-27 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10614
10615 * keyboard.c (syms_of_keyboard): Qtop_level is initialized and
10616 staticpro'd in syms_of_data too. Don't staticpro (or initialize)
10617 it again here.
10618
10619 * macros.c (syms_of_macros): Since executing-macro and
10620 executing-kbd-macro are actually the same variable, use
10621 DEFVAR_LISP_NOPRO for the second one so it doesn't get staticpro'd
10622 twice.
10623
10624 * process.c (syms_of_process): Don't staticpro or initialize Qexit
10625 here, since syms_of_eval already does this and it's bad to
10626 staticpro something twice.
10627 (Qexit): Remove declaration here, so there will be a compilation
10628 error if someone rearranges eval.c without fixing the Qexit stuff.
10629 * eval.c (syms_of_eval): Add comment here to say that
10630 syms_of_process cares about Qexit too.
10631
10632 * lread.c (init_obarray): Don't staticpro Vobarray, since the
10633 DEFVAR_LISP in syms_of_read takes care of that.
10634
10635 1991-04-22 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10636
10637 * window.c (save_window_save): Always get the selected window's
10638 value of point from its buffer, not just when it's also the
10639 current buffer.
10640
10641 * lisp.h (Qdisabled): Declare this here so that the keys_of_*
10642 files can disable the commands they define.
10643 * casefiddle.c (keys_of_casefiddle): Make upcase-region and
10644 downcase-region disabled, by default.
10645
10646 1991-04-16 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10647
10648 * bytecode.c (PUSH): Alliant can't be bothered to implement the
10649 preincrement operator right, so use a comma.
10650
10651 * print.c (syms_of_print): staticpro Qexternal_debugging_output.
10652
10653 * editfns.c (clip_to_bounds): No longer static - used in window.c.
10654 * window.c (unshow_buffer): Use clip_to_bounds to make sure we
10655 change point to something legal.
10656
10657 1991-04-14 Richard Stallman (rms at mole.gnu.ai.mit.edu)
10658
10659 * sysdep.c: Changes in formatting and comments.
10660
10661 1991-04-12 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
10662
10663 * editfns.c (Fbuffer_substring): Don't call make_string, because
10664 it may cause a compaction and move the buffer, and then copy the
10665 wrong data.
10666
10667 * keyboard.c (read_char): Only GC if we've actually done enough
10668 consing since the last gc to make it worthwhile.
10669
10670 1991-04-11 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
10671
10672 * keymap.c (access_keymap): Canonicalize the order of the
10673 modifiers when you look up a symbol in a keymap, too.
10674 (where-is-internal): If the keymap in which we found the
10675 definition was reached by meta-prefix-char, replace it with the
10676 metized character.
10677
10678 * eval.c (Fcondition_case): Initialize the `handler_list' member
10679 of the catchtag.
10680
10681 * keyboard.c (read_char): reset recent_keys_index when it is
10682 greater than OR EQUAL to the number of elements in recent_keys,
10683 stupid.
10684
10685 * keymap.c (access_keymap): When fetching the car of listy events,
10686 no need to call Fcar_safe - extract the car directly.
10687 * keyboard.c (read_key_sequence): Don't extract the car from listy
10688 events here since 1) it strips information that we need from the
10689 events, and 2) access_keymap will take care of that for us.
10690
10691 * macros.c (Qexecute_kbd_macro): New variable, used by
10692 Fexecute_command.
10693 (syms_of_macros): Initialize and staticpro Qexecute_kbd_macro.
10694 * lisp.h: Add extern declaration for Qexecute_kbd_macro.
10695 * keyboard.c (Fcommand_execute): Add an entry to the command
10696 history for keyboard macros too.
10697
10698 * xterm.c (XTread_socket): If we get a MappingNotify event whose
10699 request == MappingKeyboard, someone has changed the keyboard
10700 mapping, and we should get the new mapping with
10701 XRefreshKeyboardMapping.
10702
10703 1991-04-10 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
10704
10705 * commands.h: Declare last_command_char to be a Lisp_Object, not
10706 an integer (ack).
10707
10708 * cmds.c (Fself_insert_command): If last_command_char is not an
10709 integer, beep.
10710 * minibuf.c (Fself_insert_and_exit): Same thing.
10711
10712 * keyboard.c (format_modifiers): New function, factoring out code
10713 from modify_event_symbol and reorder_modifiers.
10714 (modify_event_symbol): Call format_modifiers instead of doing the
10715 work inline.
10716 (reorder_modifiers): New function to put the modifiers on a
10717 modified symbol in the canonical order.
10718
10719 * keymap.c (modify_event_symbol): Prepend the modifiers so they
10720 appear in the canonical order: `M-C-S-U-'.
10721 (store_in_keymap): If IDX is a symbol, put the modifiers in the
10722 canonical order before storing.
10723
10724 1991-04-09 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10725
10726 * keymap.c (Flocal_set_key, Fglobal_set_key): When checking types
10727 of arguments, allow KEYS to be a vector or string, not just a
10728 string.
10729 (keymap_table): New static function to replace duplicated code in
10730 access_keymap and store_in_keymap.
10731 (access_keymap): Use keymap_table.
10732 (store_in_keymap): Use keymap_table, and put non-character
10733 definitions in dense keymaps *after* the vector.
10734
10735 * fileio.c (directory_file_name): Remove trailing slashes from
10736 single-letter names like "a/" too. Let slen be the string length,
10737 not one less than the string length.
10738
10739 * keyboard.c (Fset_input_mode): Don't complain that QUIT isn't an
10740 ASCII character if it is nil - it is an optional parameter.
10741
10742 * keymap.c (Faccessible_keymaps): Use meta-characters in the key
10743 sequences returned, carefully making sure that the sequences still
10744 appear in order of increasing length.
10745
10746 1991-04-04 Richard Stallman (rms at mole.gnu.ai.mit.edu)
10747
10748 * vmsfns.c (vms_trnlog): Increased size of str to 256 elements.
10749 (vms_symbol): Increased size of str to 1025 elements.
10750
10751 1991-03-24 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10752
10753 * dispnew.c (pixel_to_glyph_translation): Moved this function to
10754 xterm.c, since it is specific to X and only called by the X code.
10755 * xterm.c (pixel_to_glyph_translation): Here it is.
10756
10757 1991-03-22 Richard Stallman (rms at mole.gnu.ai.mit.edu)
10758
10759 * s-usg5-4.h (DATA_SEG_BITS): Definition deleted.
10760 * m-intel386.h (DATA_SEG_BITS): Define here if USG5_4.
10761
10762 1991-03-22 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10763
10764 * keymap.c (Faccessible_keymaps): Produce meta-characters in the
10765 key sequences instead of [meta-prefix-char CHAR] sequences.
10766
10767 1991-03-21 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10768
10769 * keymap.c (Flookup_key): If KEY is a zero-length array, then
10770 return KEYMAP; this is more algebraically satisfying.
10771
10772 * dispnew.c (Fsit_for): If the time to sit is zero and there is no
10773 input available, then return Qt, not Qnil.
10774
10775 * keyboard.c (read_char): If a quit occurs and we return
10776 quit_char, clear Vquit_flag, so we don't end up returning it again
10777 and again... All lisp code does this manually if they call
10778 read-char with quits inhibited, so it's the right thing to do.
10779
10780 1991-03-20 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10781
10782 * keyboard.c (read_char): If there is still no input available
10783 after an auto-save, do a garbage-collection.
10784
10785 * undo.c (truncate_undo_list): Always leave at least one undo
10786 record in the undo list. And use sizeof (struct Lisp_Cons), etc.
10787 instead of 8, etc.
10788
10789 * keyboard.c (read_char): When deciding whether to wrap
10790 recent_keys_index back to 0, compare it against
10791 sizeof (recent_keys)/sizeof(recent_keys[0]),
10792 not sizeof (recent_keys).
10793 (quit_char): This can't be anything but an ASCII character, so it
10794 shouldn't be a Lisp_Object. The declaration's comment says why.
10795 (read_char, init_keyboard): Treat quit_char as an int now.
10796 (Fset_input_mode): As above, and signal an error if QUIT is not an
10797 ASCII character.
10798
10799 * callint.c (Fprefix_numeric_value): Use XFASTINT to initialize
10800 val, not raw.
10801
10802 * fileio.c (Fmake_symbolic_link): Don't expand FILENAME; this
10803 would make it impossible to make a link to a relative name.
10804
10805 1991-03-19 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
10806
10807 * keyboard.c (syms_of_keyboard): Removed the DEFVAR_BOOL for
10808 meta-flag. This cannot be a lisp variable because we need to
10809 change the terminal settings whenever this flag changes. Change
10810 this through set-input-mode instead.
10811
10812 1991-03-19 Richard Stallman (rms at mole.gnu.ai.mit.edu)
10813
10814 * keyboard.c (read_avail_input): Raise SIGHUP if no input on AIX.
10815
10816 1991-03-19 Jim Blandy (jimb at churchy.ai.mit.edu)
10817
10818 * keyboard.c (kbd_buffer_store_event, kbd_buffer_read_char,
10819 read_key_sequence, Fexecute_extended_command, Fset_input_mode,
10820 init_keyboard, syms_of_keyboard): Use XSET (var, Lisp_Int, exp)
10821 instead of XSETINT (var, exp) in those cases where var is not
10822 known to already be a Lisp_Int.
10823 * search.c (skip_chars): Same.
10824 * xterm.c (construct_mouse_click, XTread_socket): Same.
10825 * callint.c (Fprefix_numeric_value): Make sure to return a
10826 Lisp_Int even when RAW is a cons whose car is not a Lisp_Int.
10827 * process.c (sigchld_handler): When searching for a process whose
10828 pid is -1, make sure that the pid is an int first, since network
10829 streams are in Vprocess_alist too.
10830
10831 * keyboard.c (syms_of_keyboard): Added DEFVAR_BOOL for
10832 meta-flag. Emacs 18 had this, and I see no entry in the ChangeLog
10833 saying that it was purposefully removed.
10834
10835 1991-03-17 Jim Blandy (jimb at geech.ai.mit.edu)
10836
10837 * keymap.c (Fcopy_keymap, Faccessible_keymaps, describe_map,
10838 append_key): Minor typos and brainos corrected.
10839
10840 * keyboard.c (read_char): Removed code to find the vector in a
10841 (kbd-macro . VECTOR) - style macro, since the macro is represented
10842 by the vector itself.
10843 (read_char_menu_prompt): Changed to correctly recognize the new
10844 dense keymap structures.
10845 (read_key_sequence): Changed code that checks for keymapness to
10846 use get_keymap_1 instead of doing the indirection and keymapness
10847 testing itself.
10848 (Fcommand_execute): A keyboard macro is now a string or a vector.
10849 (Fexecute_extended_command): When expanding this_command_keys,
10850 remember that it is now an array of Lisp_Objects, not chars.
10851
10852 * doc.c (Fdocumentation): Rearranged into a switch statement, and
10853 made vectors macros, not keymaps.
10854
10855 * eval.c (Fcommandp): Removed code to recognize
10856 (kbd-macro . VECTOR) as a command, and added code to recognize
10857 vectors as commands.
10858 * macros.c (Qkbd_macro): Variable deleted.
10859 (syms_of_macros): Initialization of Qkbd_macro removed.
10860
10861 1991-03-14 Jim Blandy (jimb at pogo.ai.mit.edu)
10862
10863 * minibuf.c (keys_of_minibuf): Changed all calls to
10864 initial_define_lisp_key to calls to initial_define_key.
10865
10866 * keymap.c (describe_map): Adjusted to handle the new style of
10867 keymap.
10868
10869 1991-03-14 Richard Stallman (rms at mole.ai.mit.edu)
10870
10871 * fileio.c (Fwrite_region): On VMS, don't try rewriting old version.
10872
10873 1991-03-14 Jim Blandy (jimb at pogo.ai.mit.edu)
10874
10875 * keymap.c (Faccessible_keymaps): Adjusted to handle the new style
10876 of keymap.
10877 (Fwhere_is_internal): Handle the new-style of keymaps.
10878 Additionally, only check to see if a match is shadowed by a
10879 binding in the local keymap when LOCAL_KEYMAP is non-nil, instead
10880 of comparing elt against DEFINITION yet again.
10881 (describe_map_tree): Handle key sequences that are vectors, as
10882 well as those that are strings.
10883
10884 1991-03-13 Jim Blandy (jimb at churchy.ai.mit.edu)
10885
10886 * commands.h, keymap.c (meta_map, control_x_map): Make these
10887 Lisp_Objects, not Lisp_Vectors.
10888 keymap.c (syms_of_keymap): Same.
10889
10890 * keymap.c (Fuse_global_map): There is no longer any reason to
10891 insist that KEYMAP must be a dense keymap; delete the code that
10892 does so.
10893
10894 1991-03-12 Jim Blandy (jimb at wookumz.ai.mit.edu)
10895
10896 * commands.h, lisp.h: Changed global_map and current_global_map to
10897 be Lisp_Objects, not Lisp_Vectors.
10898 keyboard.c (read_key_sequence): Same.
10899 keymap.c (Fkey_binding, Fglobal_key_binding, Fglobal_set_key,
10900 Fuse_global_map, Fwhere_is_internal, describe_buffer_bindings,
10901 syms_of_keymap): Same.
10902
10903 * keymap.c (Fdefine_key): Braino: increment idx and clear metized
10904 flag even when the element of the key sequence isn't a character.
10905 (Flookup_key): Fix same braino.
10906
10907 1991-03-10 Jim Blandy (jimb at wookumz.ai.mit.edu)
10908
10909 * keymap.c (get_keyelt): Use access_keymap to resolve indirect
10910 entries, instead of duplicating its code.
10911 (Fcopy_keymap): Handle the new keymap structure.
10912
10913 1991-03-09 Richard Stallman (rms at mole.ai.mit.edu)
10914
10915 * eval.c (struct catchtag): New field handlerlist.
10916 (internal_catch, internal_condition_case): Set that field.
10917 (unbind_catch): Use it.
10918
10919 1991-03-08 Richard Stallman (rms at mole.ai.mit.edu)
10920
10921 * m-intel386.h (signal): Maybe define if USG.
10922
10923 * keyboard.c (echo_char): Don't have space at end of echobuf.
10924
10925 1991-03-07 Jim Blandy (jimb at albert.ai.mit.edu)
10926
10927 * keyboard.c (syms_of_keyboard): Initialize mouse_syms, instead of
10928 doing func_key_syms twice. Don't deal with scrollbar_syms, since
10929 it doesn't exist.
10930
10931 1991-03-06 Jim Blandy (jimb at pogo.ai.mit.edu)
10932
10933 * keymap.c (access_keymap, store_in_keymap): Changed to handle the
10934 new style of keymaps.
10935
10936 * fns.c (Fassq, Fcopy_alist): Changed docstring to promise to
10937 ignore elements of LIST that are not conses. See access_keymap
10938 and copy_keymap for a cheap excuse.
10939
10940 1991-03-06 Richard Stallman (rms at mole.ai.mit.edu)
10941
10942 * s-vms.h (DATA_START): Remove `+ 512'.
10943
10944 1991-03-05 Jim Blandy (jimb at spiff.ai.mit.edu)
10945
10946 * keymap.c (Fmake_keymap): Rewritten to construct the
10947 new dense keymap structure: (keymap VECTOR . ALIST). Docstring
10948 adjusted accordingly. This means that the keyboard macro
10949 stupidity (see Feb 27, keyboard.c) is no longer needed.
10950
10951 1991-03-03 Richard Stallman (rms at mole.ai.mit.edu)
10952
10953 * sysdep.c (MEMORY_IN_STRING_H): New compilation flag.
10954 * s-isc2-2.h: New file.
10955
10956 1991-02-27 Jim Blandy (jimb at churchy.ai.mit.edu)
10957
10958 * macros.c (Qkbd_macro): New variable, to hold the symbol
10959 `kbd-macro', which we use to tag vector-style keyboard macros.
10960 (syms_of_macros): Initialize and staticpro Qkbd_macro.
10961
10962 * eval.c (Fcommandp): Recognize the new keyboard macros.
10963
10964 * keyboard.c (Fcommand_execute): A keyboard macro is now a string,
10965 or a cons whose car is the symbol `kbd-macro' and whose
10966 cdr is a vector of events; previously, macros were strings or
10967 vectors, but that makes it difficult to tell the difference
10968 between macros and dense keymaps.
10969 (read_char): Handle the new macros correctly, and re-allocate
10970 this_command_keys correctly.
10971
10972 1991-02-26 Richard Stallman (rms at mole.ai.mit.edu)
10973
10974 * s-vms.h (calloc): Define like malloc, etc.
10975
10976 1991-02-26 Jim Blandy (jimb at spiff.ai.mit.edu)
10977
10978 * xterm.c (XTread_socket): Move enter_timestamp outside of the
10979 function; static variables inside functions don't always work in
10980 Emacs.
10981
10982 * editfns.c (in_accessible_range): Deleted - insufficently
10983 general.
10984 (clip_to_bounds): New function, much like in_accessible_range,
10985 except that the upper and lower bounds are arguments.
10986 (goto_char, save_restriction_restore): Rewritten to use
10987 clip_to_bounds instead of in_accessible_range.
10988
10989 1991-02-25 Jim Blandy (jimb at pogo.ai.mit.edu)
10990
10991 * keymap.c (initial_define_lisp_key): Turn KEY into a Lisp_Int
10992 before passing it to store_in_keymap.
10993
10994 * buffer.c (reset_buffer_local_variables): Don't try to initialize
10995 the buffer's mouse_map and function_key_map fields, since they
10996 don't exist anymore.
10997
10998 * macro.c (kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end): These
10999 are now all pointers to Lisp_Objects instead of chars.
11000 (Fend_kbd_macro): Use make_sequence.
11001 (store_kbd_macro_char): Argument c is now a Lisp_Object. Change
11002 call to xrealloc to ask for Lisp_Objects instead of chars. Set
11003 kbd_macro_end to the same place in the new buffer as it was in the
11004 old one, not to the end of the buffer.
11005 (Fexecute_kbd_macro): Allow MACRO to be a string or a vector.
11006 (syms_of_macros): Allocate Lisp_Objects instead of chars for
11007 kbd_macro_buffer.
11008
11009 * alloc.c (make_sequence): New function, useful to keyboard.c and
11010 macro.c.
11011 * keyboard.c (Fread_key_sequence): Use make_sequence.
11012 (Fthis_command_keys): Use make_sequence.
11013
11014 1991-02-24 Jim Blandy (jimb at churchy.ai.mit.edu)
11015
11016 * keymap.c (Fwhere_is): If the command can't be found, the message
11017 is now "foobie is not on any key.", instead of "... any keys.".
11018
11019 * keyboard.c (input_poll_signal): Pass 0 to read_avail_input,
11020 instead of `&junk'. Removed variable `junk'.
11021 (command_loop_1): Updated to handle the unified function key/mouse
11022 event/keystroke arrangement.
11023 (Finput_pending_p): Removed vestiges of code to handle
11024 unread_input_char value of -1, since this doesn't happen anymore.
11025 (read_char): Adapted to handle lispy events.
11026 (read_char_menu_prompt): Allocate `menu' buffer using alloca,
11027 instead of a variable-sized array, which is gcc-specific.
11028 (Frecent_keys): Return the most recent "keystrokes" as a vector,
11029 to accomodate lispy events.
11030 (Fset_input_mode): Accomodate non-characters as quit keys. If
11031 this is a bad thing, init_sys_modes will tell us.
11032 (init_keyboard): this_command_keys is now an array of
11033 Lisp_Objects; adjust the amount of storage we request to hold it.
11034 Remember that quit_char can be any keystroke.
11035 (syms_of_keyboard): last_command_char, last_input_char, help_char,
11036 menu_prompt_more_char and meta_prefix_char are now DEFVAR_LISPs
11037 instead of DEFVAR_INTs.
11038
11039 1991-02-24 Richard Stallman (rms at mole.ai.mit.edu)
11040
11041 * process.c (wait_reading_process_input): Use NETCONN_P.
11042
11043 1991-02-23 Jim Blandy (jimb at pogo.ai.mit.edu)
11044
11045 * keyboard.c: (recent_keys, this_command_keys,
11046 menu_prompt_more_char, help_char, last_command_char, quit_char,
11047 last_input_char): Changed to Lisp_Objects, so we can use function
11048 keys for them.
11049 (Vglobal_function_map): Variable deleted.
11050 (echo_char): Echo function keys too. The argument C is now a
11051 Lisp_Object instead of a char.
11052 (Fread_key_sequence): Removed sludge to handle window events
11053 specially, and added sludge to handle sequences with
11054 non-characters in them.
11055 (classify_object): Elided, since this should go away soon.
11056 (read_key_sequence): Adapted to look up symbols in keymaps,
11057 just like characters.
11058
11059 1991-02-23 Richard Stallman (rms at mole.ai.mit.edu)
11060
11061 * process.c (send_process): Handle EAGAIN like EWOULDBLOCK.
11062
11063 1991-02-22 Jim Blandy (jimb at pogo.ai.mit.edu)
11064
11065 * doc.c (substitute_command_keys): Call describe_map_tree with
11066 only three arguments, since the CHARTAB arg has been disposed of.
11067
11068 * keymap.c (Fcurrent_global_map, Fuse_local_mouse_map): Functions
11069 deleted, since the mouse maps are no longer separate from the key
11070 maps.
11071 (append_key): New function, which handles tacking a single
11072 keystroke on the end of a key sequence, promoting strings to
11073 vectors when needed.
11074 (Faccessible_keymaps): Adjusted to return vectors for key
11075 sequences, when necessary.
11076 (Fkey_description): Removed stuff to handle mouse buttons and
11077 other things specially, since this work will go into
11078 Fsingle_key_description.
11079 (Fsingle_key_description): SIMPLIFIED to handle everything
11080 correctly! Jeepers!
11081 (Fwhere_is_internal): Scan the assoc-list at the end of dense
11082 keymaps, and construct strings or vectors.
11083 (where_is_string, describe_buffer_bindings): Simplified by
11084 deleting code to handle mouse button bindings specially.
11085 (describe_map_tree): Removed CHARTAB argument; this was
11086 a kludge to print out mouse events nicely, and is no longer
11087 necessary. Nobody was using it anyway.
11088 (describe_map): Removed ugly hack to handle mouse buttons
11089 specially, added code to describe alists on dense keymaps, and
11090 removed CHARTAB argument.
11091 (describe_alist): Made to handle bindings of symbols as well as
11092 characters. Removed CHARTAB argument.
11093 (describe_vector): Removed CHARTAB argument, allocated KLUDGE
11094 outside of loop and GCPRO'd it.
11095 (syms_of_keymap): Remove last vestiges of Vglobal_mouse_map,
11096 Vmouse_button_names, Suse_local_mouse_map,
11097 Scurrent_local_mouse_map.
11098
11099 * buffer.h (struct buffer): Removed mouse_map and function_key_map
11100 members, since they are now handled by the keymap element.
11101
11102 * keyboard.c (syms_of_keyboard): Change initialization of
11103 meta_prefix_char, since it's now a Lisp_Object.
11104
11105 * keymap.c (Fkeymapp): Rewrote this to use get_keymap_1; now it's
11106 a one-liner instead of a 13-liner.
11107 (DENSE_TABLE_SIZE): Created new constant for the # of lookup-style
11108 entries in a dense keymap, and the index of the map's assoc list.
11109 Used it where appropriate.
11110 (Fcopy_keymap): Notice that 129'th element in dense keymaps.
11111 (Fdefine_key, Flookup_key): Reworked to deal with vectors of
11112 symbols and characters as well as strings for key sequences.
11113 (meta_prefix_char): Changed from an int to a Lisp_Object.
11114
11115 1991-02-21 Richard Stallman (rms at mole.ai.mit.edu)
11116
11117 * fileio.c (report_file_error): Don't downcase "I/O".
11118
11119 1991-02-20 Jim Blandy (jimb at geech.ai.mit.edu)
11120
11121 * keymap.c (access_keymap): Allow IDX to be any sort of bindable
11122 event, and deal with the extended keymaps. IDX is now a
11123 Lisp_Object instead of an int, obviously.
11124 (store_in_keymap): Allow IDX to be any sort of bindable event, and
11125 deal with the extended keymaps. IDX is now a Lisp_Object.
11126
11127 * xterm.c (construct_mouse_click): Add code to set the up_modifier
11128 bit for ButtonRelease events.
11129
11130 * keyboard.c (kbd_buffer_store_event): Use XFASTINT and XSETINT to
11131 access event->code, since it's a Lisp_Object.
11132 (kbd_buffer_read_char): Golly, perhaps we should increment
11133 kbd_fetch_ptr to remove the event we just read from the queue.
11134 (modify_event_symbol): Stupid fixes: correctly look up unmodified
11135 symbols when cache entry has a modified symbol vector. And, when
11136 first adding the modified symbol vector, copy the old slot value
11137 into it correctly.
11138
11139 1991-02-19 Jim Blandy (jimb at pogo.ai.mit.edu)
11140
11141 * keyboard.c (command_loop_1): #if 0 the block of code which
11142 handles mouse events and other lispy events specially, since I
11143 hope it will go away soon.
11144
11145 * dispnew.c (Fsleep_for_millisecs): Pass all four arguments to
11146 wait_reading_process_input, instead of just the first two.
11147
11148 * process.c (wait_reading_process_input): Remove support for
11149 only waiting for mouse input, since that has been superceded.
11150 This removes X dependencies from process.c, and eliminates some
11151 references to code that should only exist when using X10.
11152
11153 * keyboard.c (mouse_moved_symbol, redraw_screen_symbol,
11154 mapped_screen_symbol, unmapped_screen_symbol,
11155 exited_window_symbol, exited_scrollbar_symbol): Renamed to
11156 Qmouse_moved, Qredraw_screen, Qmapped_screen, Qunmapped_screen,
11157 Qexited_window, Qexited_scrollbar, just as done in xterm.c.
11158 (classify_object): Removed code to look up a function key in the
11159 global and local function key keymaps, since this will be done
11160 more generally.
11161 (Fexecute_mouse_event): Elided this function with a #if 0; I
11162 think it will go away once the more general keymap stuff is
11163 implemented, but I'm not sure.
11164 (syms_of_keyboard): Removed defsubr for Sexecute_mouse_event.
11165 (where_is_string, describe_buffer_bindings, syms_of_keymap):
11166 Elided code to handle mouse button bindings specially; I hope this
11167 will go away.
11168
11169 * lread.c (syms_of_lread): Change defsubr for eval-buffer to
11170 defsubr for eval-current-buffer.
11171
11172 * keymap.c (syms_of_keymap): defvar for Vglobal_function_map
11173 removed, since that variable has disappeared.
11174
11175 * xterm.c (x_func_key_to_sym): Removed entirely, since we no
11176 longer convert X keycodes to symbols in this section of code.
11177 (x_convert_modifiers): New function to turn the X modifier bits
11178 into struct input_event modifier bits.
11179 (encode_mouse_button): removed, since this work isn't done here
11180 anymore.
11181 (Vx_send_mouse_movement_events): Add an extern declaration for
11182 this.
11183
11184 * termhooks.h: Only define struct input_event if the module
11185 has previously #included lisp.h; this avoids forcing simple modules
11186 like cm.c to #include lisp.h.
11187
11188 * term.c: #include "lisp.h" before #including "termhooks.h", since
11189 the latter uses Lisp_Objects now.
11190
11191 * xfns.c (syms_of_xfns): Delete the defsubr for Sx_window_id,
11192 since Fx_window_id is gone.
11193
11194 * xterm.c (construct_mouse_event): Construct a struct input_event
11195 instead of a lispy event.
11196
11197 * screen.c (coordinates_in_window): Added explanatory comment.
11198 (window_from_coordinates): Change PART, whose returned values are
11199 dependent on X-windows, to be called MODELINE_P, with appropriate
11200 new return values.
11201 * xterm.c (notice_mouse_movement): Handle the X-windows dependent
11202 stuff that used to be in window_from_coordinates here instead.
11203 (XTread_socket): Modified to produce struct input_events
11204 instead of lispy events.
11205
11206 1991-02-18 Jim Blandy (jimb at pogo.ai.mit.edu)
11207
11208 * termhooks.h: Added up_modifier to the enum for modifier bits;
11209 this bit will be applied to mouse events.
11210 (struct input_event): Changed specification of non_ascii_keystroke
11211 events to send the function key number instead of a symbol.
11212 * keyboard.c (modify_event_symbol): Re-arranged to work well
11213 with function key/mouse button numbers instead of symbols.
11214 And if (MODIFIERS & up_modifer), prepend "U-" to the name of the
11215 symbol being constructed.
11216 (make_lispy_event): Use the new modify_event_symbol.
11217
11218 * xterm.c (notice_mouse_movement): Adjusted this function to
11219 work with a struct input_event instead of producing an
11220 s-expression.
11221
11222 * xterm.c, xfns.c: Made all references to x_mouse_queue,
11223 x_expose_queue, and the functions which manipulate them
11224 conditional on having X10, since only X10 code ever places
11225 anything in these queues.
11226
11227 1991-02-15 Jim Blandy (jimb at pogo.ai.mit.edu)
11228
11229 * termhooks.h: Define struct input_event, to represent input
11230 events while they sit in the keyboard input buffer. Using lisp
11231 objects to represent input events is a bad idea because the
11232 routines which enqueue them can be called from signal handlers,
11233 and therefore should not cons.
11234
11235 * keyboard.c: (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Change
11236 these to be of type `struct input_event *'.
11237 (kbd_buffer_store_event): Manipulate struct input_events instead
11238 of lisp objects.
11239 (make_lispy_event): New function, to construct a lisp-style event
11240 corresponding to a particular struct input_event.
11241 (modify_event_symbol): New function, to add modifier prefixes to a
11242 symbol, and look the new symbols up quickly if they've already
11243 been created.
11244 (kbd_buffer_read_char): Call make_lispy_event to turn the thing
11245 in the keyboard buffer into the form that read_char is expecting.
11246 (Qwith_modifier_keys): Define this new symbol variable.
11247 (syms_of_keyboard): Initialize and protect Qwith_modifier_keys.
11248
11249 * xterm.c (init_input_symbols): Rearranged the code that produces
11250 the func_key_syms array.
11251 (x_func_key_to_sym): Simplified, since more will be handled in
11252 make_lispy_event.
11253 (XTread_socket): When handling KeyPress events, don't pass the
11254 state of the modifier keys to x_func_key_to_sym, since it doesn't
11255 care any more.
11256
11257 * sysdep.c (kbd_input_ast, end_kbd_input, read_input_waiting):
11258 Rename kbd_buffer_store_char to kbd_buffer_store_event.
11259
11260 * keyboard.c (stuff_buffered_input): Since the keyboard buffer
11261 holds lisp objects, only stuff entries that are Lisp_Ints, and
11262 XINT them before passing them to stuff_char.
11263 (kbd_buffer_store_char): Make this not a static function, since
11264 sysdep.c calls it. And rename it kbd_buffer_store_event.
11265
11266 * keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Made these
11267 variables static, to document the fact that they're only used
11268 within keyboard.c.
11269
11270 1991-02-13 Jim Blandy (jimb at pogo.ai.mit.edu)
11271
11272 * xterm.c (init_input_symbols): remove the `xk-' prefix from all
11273 the function key symbols, since they're going to be used for
11274 function keys from all sorts of terminals, not just when running
11275 under X.
11276
11277 * lread.c (read_escape): Removed support for mouse button escapes
11278 (\S-, \U-, \C- applied to digits), because they're being replaced
11279 by something more rational.
11280
11281 1991-02-09 Richard Stallman (rms at mole.ai.mit.edu)
11282
11283 * buffer.c: Doc fix.
11284
11285 * sysdep.c (dup2): Rewrite of non-F_DUPFD case.
11286
11287 1991-02-08 Richard Stallman (rms at mole.ai.mit.edu)
11288
11289 * m-intel386.h (LOAD_AVE_CVT): Add extra parens.
11290 * s-usg5-4.h (LIBX11_SYSTEM): #undef it.
11291
11292 1991-02-07 Richard Stallman (rms at mole.ai.mit.edu)
11293
11294 * s-esix.h: New version from kayvan.
11295 Adds HAVE_X11 conditional, NEED_PTEM_H, USG_SYS_TIME, USE_UTIME,
11296 LIBS_DEBUG; removes #undef sigsetmask, LIBS_SYSTEM, ESIX,
11297 MISSING_UTIMES.
11298
11299 1991-02-06 Richard Stallman (rms at mole.ai.mit.edu)
11300
11301 * process.c (Faccept_process_output): Second arg gives timeout.
11302
11303 1991-02-06 Jim Blandy (jimb at geech.ai.mit.edu)
11304
11305 * lread.c (read_escape): Added support for \S- and \U- escapes (for
11306 binding mouse buttons), and noted that \C- must work on digits.
11307
11308 * xterm.c (init_input_symbols): Was mistakenly renamed
11309 init_inputs; named back.
11310
11311 * xterm.c (construct_mouse_click, encode_mouse_button): Rewritten
11312 to build new-style mouse events.
11313
11314 * dispnew.c (update_line): Write a zero into obody[olen] to make
11315 sure the lines in current_screen->glyphs remain terminated.
11316 * xdisp.c (display_string, display_text_line): Don't write off
11317 the end of the line and destroy the zero terminator when expanding
11318 a tab.
11319
11320 * fns.c (Fy_or_n_p): Accept C-] (usually abort-recursive-edit) as
11321 well as C-g to quit.
11322
11323 1991-02-05 Jim Blandy (jimb at geech.ai.mit.edu)
11324
11325 * sysdep.c, s-aix3-1.h, s-hpux.h, s-iris3-5.h, s-iris3-6.h,
11326 s-irix3-3.h, s-rtu.h, s-sunos4-1.h, s-unipl5-0.h, s-unipl5-2.h,
11327 s-usg5-0.h, s-usg5-2-2.h, s-usg5-2.h, s-usg5-3.h, s-xenix.h:
11328 Globally replaced INTERRUPTABLE with INTERRUPTIBLE.
11329
11330 * xterm.c (construct_mouse_event): Renamed to
11331 construct_mouse_click, since there are kinds of mouse events
11332 besides clicks (movement, for example).
11333 (XTread_socket): rename calls here.
11334
11335 * xterm.c (mapped_screen_symbol, unmapped_screen_symbol,
11336 exited_scrollbar_symbol, exited_window_symbol,
11337 redraw_screen_symbol, mouse_moved_symbol): Renamed to
11338 Qmapped_screen, Qunmapped_screen, Qexited_scrollbar,
11339 Qexited_window, Qredraw_screen, Qmouse_moved, to agree with naming
11340 conventions elsewhere in Emacs.
11341
11342 * xfns.c (text_part_sym, modeline_part_sym,
11343 vertical_scrollbar_sym, vertical_slider_sym, vertical_thumbup_sym,
11344 vertical_thumbdown_sym, horizontal_scrollbar_sym,
11345 horizontal_slider_sym, horizontal_thumbleft_sym,
11346 horizontal_thumbright_sym): Renamed to Qtext_part, Qmodeline_part,
11347 Qvscrollbar_part, Qvslider_part, Qvthumbup_part, Qvthumbdown_part,
11348 Qhscrollbar_part, Qhslider_part, Qhthumbleft_part,
11349 Qhthumbright_part, to agree with the naming conventions elsewhere
11350 in Emacs.
11351
11352 * xterm.c (XTread_socket): While handling EnterNotify events,
11353 clear Vmouse_event here.
11354 (notice_mouse_movement): Don't clear it here.
11355
11356 1991-02-04 Richard Stallman (rms at mole.ai.mit.edu)
11357
11358 * s-sunos4-0.h: Renamed from s-sunos4.h.
11359 (read, write, open, close): Macro defs moved to s-sunos4-1.h.
11360 (INTERRUPTABLE_*): Likewise.
11361 * s-sunos4-1.h: New file.
11362
11363 1991-02-04 Jim Blandy (jimb at churchy.ai.mit.edu)
11364
11365 * keymap.c (Vglobal_mouse_map, Vglobal_function_map): Variables
11366 removed in preparation for conversion to unified keymap format.
11367 (Fmake_keymap): Make vector keymaps with 129 entries; the last
11368 will be an assoc-list for looking up symbols. Update docstring to
11369 describe 129'th element.
11370 (Fmake_sparse_keymap): Update docstring to say that you can bind
11371 symbols in these maps too.
11372 (Fkeymapp): Recognize 129-element vectors as keymaps, not
11373 128-element vectors.
11374 (get_keymap_1): wrong_type_argument can no longer return a new
11375 value supplied by the debugger; remove loop to support this.
11376
11377 * xterm.c (XTread_socket): When handling EnterNotify events,
11378 enqueue fake mouse events iff Vx_send_mouse_movement_events !=
11379 Qnil.
11380
11381 * xfns.c (Fx_window_id): Function removed; Fscreen_parameters
11382 already provides this information.
11383
11384 * xterm.c (x_term_init): Cleaned up the code to get the host name,
11385 and removed fixed limit on host name length.
11386
11387 * window.c (Fscroll_other_window): Don't explicitly save
11388 current_buffer and point; the save_excursion will take care of
11389 that anyway.
11390
11391 * dispnew.c (safe_bcopy): Rewritten to handle overlapping regions
11392 with multiple calls to bcopy instead of a stupid copy loop.
11393
11394 * xterm.c, xfns.c (Vscreen_part, Vx_send_movement_events): These
11395 variables renamed to Vmouse_screen_part,
11396 Vx_send_mouse_movement_events.
11397
11398 * lread.c (Feval_buffer): function deleted.
11399 (Feval_current_buffer): Removed "#if 0 ... #endif" around this
11400 function.
11401
11402 1991-02-03 Richard Stallman (rms at mole.ai.mit.edu)
11403
11404 * Makefile, ymakefile (SHELL): Force use of sh.
11405
11406 * s-usg5-4.h (USG5_4): Define it.
11407 (LOAD_AVE_*): Don't define them.
11408 * m-intel386.h (LOAD_AVE_*): Define, if USG5_4.
11409
11410 * buffer.c (Fbuffer_local_variables): Omit slots with no names.
11411
11412 1991-02-03 Jim Blandy (jimb at geech.ai.mit.edu)
11413
11414 * xterm.c (x_term_init, init_input_symbols): Moved these to the
11415 bottom of the file, 1) to be consistent with the other files, and
11416 2) so it can initialize some variables I want.
11417
11418 1991-02-02 Jim Blandy (jimb at churchy.ai.mit.edu)
11419
11420 * xterm.h: Added external declaration for x_focus_screen.
11421
11422 * search.h: File deleted.
11423 * buffer.h: declare searchbuf here instead.
11424
11425 * screen.c (Ffocus_screen, Funfocus_screen): Moved these functions
11426 to xfns.c, since they're x-specific.
11427 (syms_of_screen): Removed defsubr calls for above.
11428 * xfns.c (Ffocus_screen, Funfocus_screen): Here they are.
11429 (syms_of_xfns): The defsubrs are here now.
11430
11431 * buffer.h (PT): Make this expand to an expression which is not an
11432 l-value, to prevent people from assigning to it. If everyplace
11433 uses SET_PT, it will be easier to merge in the interval code.
11434 (point): Similar changes here.
11435 (SET_PT): This can no longer be written in terms of PT, so write
11436 out current_buffer->text.pt.
11437
11438 * xterm.c (x_new_font): Rewritten to remove arbitrary limit on
11439 size of x_font_table.
11440 (x_font_table_size): Created new variable.
11441 (n_available_fonts, font_names, font_info, MAX_FONTS): Deleted
11442 these variables/macros.
11443
11444 * dispnew.c (scroll_screen_lines): Instead of disabling the lines
11445 vacated by the scroll (i.e. zeroing enable), mark them as enabled
11446 but empty.
11447
11448 * callint.c (Fcall_interactively): Move UNGCPRO down, so that
11449 stuff is protected while we build the command history entry and do
11450 the function call.
11451
11452 * xterm.c (XTupdate_end): Turn cursor on, even if we don't
11453 currently have the focus.
11454
11455 * minibuf.c (temp_echo_area_glyphs): Clear echo_area_glyphs and
11456 previous_echo_glyphs, so the message we're displaying will
11457 supercede any existing message.
11458
11459 * keyboard.c: Removed external declaration of echo_area_glyphs,
11460 since it's declared in window.h.
11461
11462 1991-01-31 Jim Blandy (jimb at pogo.ai.mit.edu)
11463
11464 * xterm.c (XRINGBELL): Pass 0 as the second argument to XBell;
11465 respect the user's preferences.
11466
11467 1991-01-30 Jim Blandy (jimb at pogo.ai.mit.edu)
11468
11469 * xterm.c (x_draw_single_glyph): New function, created to simplify
11470 cursor drawing/undrawing.
11471 (x_display_box_cursor): Rewritten to properly handle the box
11472 cursor in its filled and hollow forms.
11473 * xterm.h (enum text_cursor_kinds): Added enum for the different
11474 kinds of cursors which might be displayed in a window.
11475 (struct x_display): added member `text_cursor_kind' which says
11476 which kind of cursor is currently being displayed in the window, so
11477 we can arrange to redraw it effectively.
11478
11479 * keyboard.c (command_loop_1): When handling the forward_char
11480 command, don't let point move to the location after the end of the
11481 buffer.
11482
11483 * keyboard.c (poll_suppress_count): Define this even if
11484 POLL_FOR_INPUT is not defined, because this makes lots of #ifdef
11485 clauses unnecessary, and doesn't hurt, because
11486 {start,stop}_polling become nops.
11487
11488 * config.h, config.h-dist: Make these #include "system.h" and
11489 "machine.h", and let the config script link these appropriately,
11490 instead of using the machine-specific names and expecting the user
11491 to edit this file.
11492
11493 1991-01-29 Jim Blandy (jimb at churchy.ai.mit.edu)
11494
11495 * window.c (Fdelete_window): sib is a Lisp_Object; treat it as
11496 such.
11497
11498 * xterm.c (screen_unhighlight): When the focus leaves a screen,
11499 draw the cursor as a box instead of making it disappear entirely.
11500
11501 1991-01-29 Richard Stallman (rms at mole.ai.mit.edu)
11502
11503 * unexec.c (make_hdr) [TPIX]: Set f_hdr.f_nscns and f_thdr.f_scnptr.
11504
11505 * sysdep.c [BROKEN_TIOCGWINSZ]: Undef TIOCGWINSZ.
11506
11507 * process.c (wait_reading_process_input): Don't ignore
11508 a zero-length read on a network connection. Do close it.
11509
11510 * sysdep.c (hft_init, hft_reset): Pass &junk as arg to HFQERROR.
11511 Do nothing if not HFT.
11512
11513 1991-01-29 Jim Blandy (jimb at albert.ai.mit.edu)
11514
11515 * xfns.h: Created, to declare things defined in xfns.c.
11516 Declare Vx_send_movement_events.
11517 * xfns.c: #include "xfns.h".
11518 (Vx_send_movement_events): Define this variable.
11519 (syms_of_xfns): DEFVAR_LISP it.
11520 * xterm.c: #include "xfns.h".
11521 (XTread_socket): Place a mouse-moved event in the buffer iff
11522 Vx_send_movement_events says to.
11523
11524 1991-01-28 Jim Blandy (jimb at geech.ai.mit.edu)
11525
11526 * ymakefile: noted that callint.o depends on mocklisp.h,
11527 and dired.o on search.h.
11528
11529 * environ.h: Deleted - its creation in the first place was misguided.
11530 callproc.h: Removed #include "environ.h", and added declarations
11531 for environ.h
11532
11533 * buffer.c (syms_of_buffer): Add more detailed documentation to
11534 buffer-undo-list.
11535
11536 * lisp.h (poll_suppress_count): Add external declaration for this here.
11537
11538 1991-01-28 Richard Stallman (rms at mole.ai.mit.edu)
11539
11540 * m-sun3-68881.h, m-sun3-fpa.h, m-sun3-soft.h: New files.
11541
11542 1991-01-27 Jim Blandy (jimb at geech.ai.mit.edu)
11543
11544 * lisp.h (struct handler): add poll_suppress_count member, so
11545 we can restore poll_suppress_count when we handle an error.
11546 * eval.c (struct catchtag): Add it here too, for throws.
11547 (internal_catch, Fcondition_case, internal_condition_case): Record
11548 the value of poll_suppress_count here in the handler and catch tag.
11549 (Fthrow, Fsignal): Restore it here.
11550
11551 1991-01-25 Jim Blandy (jimb at churchy.ai.mit.edu)
11552
11553 * xterm.c (x_display_box_cursor): If we're undrawing the cursor by
11554 redrawing the character underneath it, draw according to that
11555 line's highlight, instead of assuming it's in the normal GC.
11556
11557 1991-01-25 Richard Stallmao (rms at mole.ai.mit.edu)
11558
11559 * buffer.h (PTR_CHAR_POS): Value was too small by 1.
11560
11561 1991-01-16 Richard Stallman (rms at mole.ai.mit.edu)
11562
11563 * doprnt.c (doprnt): Check for overflow in fmtcpy.
11564
11565 1991-01-16 Jim Blandy (jimb at churchy.ai.mit.edu)
11566
11567 * window.c (Fdelete_window): If the deletee gives its space to its
11568 next sibling, that sibling needs to have its top/left side pulled
11569 back to where the deletee's is.
11570
11571 1991-01-15 Jim Blandy (jimb at geech.ai.mit.edu)
11572
11573 * doc.c (Fsnarf_documentation): handle attaching docstrings to
11574 bytecode objects too.
11575
11576 * syntax.h (syntax_spec_code): make external declaration for this
11577 unsigned char to match the definition in syntax.c.
11578
11579 * indent.c (compute_motion): added comments describing how it
11580 can be used.
11581
11582 1991-01-15 Richard Stallman (rms at mole.ai.mit.edu)
11583
11584 * process.c (create_process): Use SETUP_SLAVE_PTY if defined.
11585
11586 * s-usg5-4.h (HAVE_PTYS, HAVE_SETSID): Defined.
11587 (HAVE_WAIT_HEADER, WAITTYPE, wait3, WRETCODE): New macros.
11588 (TIOCSIGSEND): Alias for TIOCSIGNAL.
11589 (FIRST_PTY_LETTER): Overridden.
11590 (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF, SETUP_SLAVE_PTY): New macros.
11591
11592 * m-ibmrs6000.h (CANNOT_DUMP): Undefine it.
11593 (UNEXEC): Define it.
11594 (PURE_SEG_BITS, SHMKEY): Define only if CANNOT_DUMP.
11595 (LINKER): Override it. Then add -bnodelcsect.
11596
11597 * xfns.c (Fx_get_default): Try reversing XGetDefault args if it fails.
11598
11599 1991-01-13 Richard Stallman (rms at mole.ai.mit.edu)
11600
11601 * s-usg5-4.h (LOAD_AVE_CVT): Cast value to int.
11602
11603 * keyboard.c (read_avail_input): Signal SIGHUP if FIONREAD fails.
11604
11605 * ymakefile: Put tokens after #endif into comment.
11606
11607 * filelock.c (lock_file_owner_name): Declare argument type.
11608
11609 * syntax.c (syntax_spec_code): Type now unsigned char.
11610
11611 * process.c (wait_reading_process_input):
11612 Call status_notify even when not doing redisplay.
11613
11614 * emacs.c (Fkill_emacs): Turn off SIGIO before exiting.
11615
11616 * s-usg5-3.h (USG5_3): Define it.
11617 * m-ibmps2-aix.h [USG5_3]: Define TEXT_START as 0.
11618 Don't define DATA_START or DATA_END or TEXT_END or DATA_SEG_BITS.
11619 Override various other symbols at end of file.
11620
11621 1991-01-12 Jim Blandy (jimb at churchy.ai.mit.edu)
11622
11623 * window.c (window-configuration-p): Closing paren needed. Added.
11624
11625 * keyboard.c (command_loop_1): When displaying a message over an
11626 active minibuffer, call Fsit_for with three arguments, not two.
11627
11628 1991-01-12 Richard Stallman (rms at mole.ai.mit.edu)
11629
11630 * s-irix3-3.h (HAVE_SYSVIPC): Defined.
11631
11632 1991-01-12 Jim Blandy (jimb at pogo.ai.mit.edu)
11633
11634 * dispnew.c (buffer_posn_from_coords): compute_motion starting
11635 from bufp[y] instead of counting from the top of the window.
11636
11637 1991-01-11 Richard Mlynarik (mly at pizza.ai.mit.edu)
11638
11639 * window.c (window-configuration-p): Needed. Added.
11640
11641 1991-01-11 Jim Blandy (jimb at churchy.ai.mit.edu)
11642
11643 * dispnew.c (buffer_posn_from_coords): Remember to deduce space
11644 for the line continuation markers and the window separators from
11645 the window width.
11646
11647 1991-01-11 Richard Stallman (rms at mole.ai.mit.edu)
11648
11649 * m-tower32v3.h (VALBITS, GCTYPEBITS): Use 26 bits for pointer.
11650
11651 1991-01-10 Richard Stallman (rms at mole.ai.mit.edu)
11652
11653 * fileio.c (Fcopy_file): Always close descriptors.
11654
11655 * s-sunos4.h: read, write, open and close are interruptable.
11656
11657 1991-01-09 Jim Blandy (jimb at churchy.ai.mit.edu)
11658
11659 * xterm.c, dispnew.c (pixel_to_char_translation): Renamed to
11660 pixel_to_glyph_translation, and rewritten. Just get coordinates,
11661 don't return anything.
11662 (buffer_posn_from_coords): New function - given a window and
11663 co-ordinates on the screen, find the buffer position at those
11664 co-ordinates.
11665
11666 1991-01-08 Jim Blandy (jimb at geech.ai.mit.edu)
11667
11668 * alloc.c (Fmake_byte_code): Flesh out docstring.
11669
11670 * window.c (window_loop): pick the first window correctly, even
11671 when screen == 0.
11672
11673 * dispnew.c (scroll_screen_lines): Don't forget to call
11674 update_begin at the top of the down-scrolling section.
11675 And rotate by amount, not -amount, in the up-scrolling section.
11676
11677 * xterm.h (MAX_FONTS, x_font_table, n_fonts): Removed external
11678 declarations for these variables, since they're declared static in
11679 xterm.c and not used elsewhere.
11680 * xterm.c (MAX_FONTS): Moved definition of this to here from
11681 xterm.h.
11682
11683 * xterm.c (x_new_font): If you can't find the requested font,
11684 return a code which indicates this, instead of calling abort.
11685
11686 1991-01-07 Jim Blandy (jimb at churchy.ai.mit.edu)
11687
11688 * xdisp.c (redisplay, display_mode_line): To test
11689 Vglobal_minibuffer_screen for validity, you must check that its
11690 type is Lisp_Screen; comparing it to Qnil isn't good enough.
11691
11692 * screen.c (syms_of_screen): Initialize Vglobal_minibuffer_screen
11693 to Qnil; otherwise, it inhibits decent redisplay (is that another
11694 bug?)
11695
11696 * dispnew.c (init_display): Make sure that the standard input is a
11697 terminal here.
11698 * emacs.c (main): Not here, since we don't know yet if we want to
11699 use a window system of some sort.
11700
11701 * xfns.c (x_make_gc): Delete code to support default_face and
11702 highlight_face, since they're part of the interval code, and
11703 shouldn't be installed yet.
11704
11705 * dispnew.c (init_display): calculate_costs expects a screen
11706 parameter; pass selected_screen, instead of nothing.
11707
11708 * search.c (Freplace_match): Protect STRING.
11709 * process.c (run_filter): New function.
11710 (read_process_output, exec_sentinel): Use run_filter to call the
11711 process's filter function.
11712 (status_notify): GCPro MSG.
11713 * process.c (Fopen_network_stream): Protect various args.
11714 * print.c (Fprin1_to_string, Fprint): Protect OBJ.
11715 * lread.c (Feval_region): Check type of B.
11716 * keymap.c (describe_alist): Protect ELT_PREFIX and TEM2.
11717 (describe_vector): Likewise for ELT_PREFIX and TEM1.
11718
11719 1991-01-06 Richard Stallman (rms at mole.ai.mit.edu)
11720
11721 * sysdep.c (init_sys_modes): Turn off VSUSP and V_DSUSP if they exist.
11722 Only on a MIPS.
11723
11724 1991-01-05 Jim Blandy (jimb at spiff.ai.mit.edu)
11725
11726 * xselect.c (x_answer_selection_request): For incremental, set
11727 format to 32 and send only 1 element. Pass the address of size,
11728 not size itself.
11729 (x_selection_arrival): For incremental, delete the property
11730 containing the size of the transfer. This generates a
11731 PropertyNotify to the owner, starting the exchange.
11732
11733 * xrdb.c (get_user_app): Pass correct number of parameters to
11734 sprintf.
11735
11736 * xfns.c (x_window): Don't use backing store or saveunders; they
11737 seem to slow down suns.
11738 (x_icon): Set the InputHint to the window manager to False.
11739 (x_make_gc): Initialize gc_values.line_width to zero before
11740 creating the normal video GC, since it uses it. And set the
11741 default_face and hilite_face gcs here.
11742 (install_vertical_scrollbar): Add 2 to thumbdown y position, and
11743 don't add ibw.
11744
11745 * insdel.c (insert, del_range): Use SET_PT rather than assigning
11746 point directly.
11747 * window.c (Fselect_window): Here too.
11748
11749 * xdisp.c (redisplay_all_windows): removed static declaration for
11750 this nonexistent function.
11751
11752 1991-01-04 Jim Blandy (jimb at pogo.ai.mit.edu)
11753
11754 * window.c (window_loop): neatened up. MINI being non-zero now
11755 makes it recognize active minibuffer windows. Iterates properly
11756 over multiple screens when asked nicely.
11757 (Fget_lru_window, Fget_largest_window): SCREENS arguments are now
11758 declared as a Lisp_Object, and documented.
11759 (Fget_buffer_window): SCREENS argument is now documented.
11760 (Fdelete_other_windows): Delete other windows on the argument
11761 window's screen, not the current screen.
11762
11763 * screen.c (window_from_coordinates): Changed other reference to
11764 Fnext_window to use next_screen_window; see below.
11765
11766 * window.c (Fnext_window, Fprevious_window): Accept non-nil, non-t
11767 values for mini, and don't turn off all-screens when mini is t but
11768 there is no global minibuffer screen. Remove screen_{root,mini}
11769 variables.
11770 (Fother_window): Added second argument all_screens.
11771
11772 * undo.c (record_delete): Removed dead variable llength.
11773
11774 * data.c (Qkeyp, Fkeyp): Removed these and supporting code.
11775 * keymap.c (Fsingle_key_description): Report an error instead of
11776 calling wrong_type_argument.
11777 * lisp.h (Qkeyp): Removed external declaration for this.
11778
11779 1991-01-03 Richard Stallman (rms at mole.ai.mit.edu)
11780
11781 * search.c (search_buffer): Return starting position if count == 0.
11782
11783 1991-01-02 Jim Blandy (jimb at pogo.ai.mit.edu)
11784
11785 * scroll.c (do_scrolling): Use correct limits on loop to clear
11786 lines just inserted--old version lost a line.
11787
11788 * screen.c: #ifdef HAVE_X_WINDOWS, #include xterm.h
11789 (Ffocus_screen, Funfocus_screen): use Joe's new definitions, and
11790 only define these functions ifdef HAVE_X_WINDOWS.
11791 (window_from_coordinates): use next_screen_window instead of
11792 Fnext_window, so that global minibuffers work.
11793
11794 * lread.c (syms_of_read): Don't forget to defsubr
11795 read-char-exclusive.
11796
11797 * lisp.h (Fscreenp, Fselect_screen, Ffocus_screen,
11798 Funfocus_screen, Fselected_screen, Fwindow_screen,
11799 Fscreen_root_window, Fscreen_selected_window, Fscreen_list,
11800 Fnext_screen, Fdelete_screen, Fread_mouse_position,
11801 Fset_mouse_position, Fmake_screen_visible, Fmake_screen_invisible,
11802 Ficonify_screen, Fdeiconify_screen, Fscreen_visible_p,
11803 Fvisible_screen_list, Fscreen_parameters,
11804 Fmodify_screen_parameters, Fscreen_pixel_size, Fscreen_height,
11805 Fscreen_width, Fset_screen_height, Fset_screen_width,
11806 Fset_screen_size, Fset_screen_position, Fcoordinates_in_window_p,
11807 Flocate_window_from_coordinates, Frubber_band_rectangle): added
11808 extern declarations for all these.
11809
11810 * lisp.h (Qscreenp): added an extern declaration for this.
11811
11812 * lisp.h (DBL_DIG): Added constant for the maximum number of
11813 decimal digits a float could print to. Used in print.c.
11814
11815 * keymap.c (Fkey_description): Produce pretty descriptions of
11816 mouse and window system events too.
11817 (Fsingle_key_description): signal an error if obj is not a key.
11818
11819 * data.c (Fkeyp, Qkeyp): Added predicate to recognize things which
11820 can be bound - this includes keys, symbols (for function keys and
11821 window system events), and conses (for mouse events).
11822 * lisp.h (Qkeyp): Added external declaration for this.
11823
11824 * keyboard.c (Frecursive_edit): Don't specbind the standard IO here.
11825 (recursive_edit_1): Do it here, and don't forgot to unbind_to.
11826
11827 (command_loop_1): Reset no_redisplay after mouse commands.
11828
11829 (classify_object): Place the object in read_key_sequence_cmd.
11830
11831 (Fread_key_sequence): recognize that when read_key_sequence
11832 returns -1 or -2, it's a mouse event or window system event.
11833
11834 1991-01-01 Jim Blandy (jimb at pogo.ai.mit.edu)
11835
11836 * fileio.c (Fwrite_region): We should dereference GPT_ADDR[-1]
11837 before comparing it to '\n' for VMS cruft.
11838 (Fdo_auto_save): Don't call run-hooks before it's defined. This
11839 only happens before emacs is dumped, when loading inc-vers.el.
11840
11841 * eval.c (Fsignal): TOTALLY_UNBLOCK_INPUT here.
11842 (error): Not here.
11843
11844 (Feval): We use argvals[0..5], so declare it to have six elements
11845 instead of just five.
11846
11847 1990-12-30 Richard Stallman (rms at mole.ai.mit.edu)
11848
11849 * eval.c (Fsignal): Don't ever return.
11850 Call error instead if user tries to use debugger to return.
11851
11852 * eval.c (unbind_to): New second arg is value to return. gcpro it.
11853 All callers changed to pass the arg; if a caller uses unbind_to
11854 just before returning, it passes as this arg the value it wants
11855 to return, then it returns whatever comes back.
11856
11857 1990-12-28 Jim Blandy (jimb at geech.ai.mit.edu)
11858
11859 * print.c (print): put obj in a non-register variable so
11860 we could gcpro it. Also fixed some syntax errors.
11861
11862 * editfns.c (Fformat): declare nstrings, and declare nstrings and
11863 strings in a local block.
11864 (Fformat): XFLOAT(args[n]) isn't a float; ->data is.
11865
11866 1990-12-27 Richard Stallman (rms at mole.ai.mit.edu)
11867
11868 * m-tower32.h: Add comments for how to optimize.
11869 * m-tower32v3.h: New file.
11870
11871 * fileio.c (Fwrite_region): Save errno around unlock_file.
11872
11873 1990-12-26 Richard Stallman (rms at mole.ai.mit.edu)
11874
11875 * editfns.c (Fformat): Handle floats. Convert between int and float.
11876 Don't truncate value at null char coming from doprnt.
11877 * doprnt.c (doprnt): Replace tembuf with malloced buff if too small.
11878 Handle %e, %f and %g.
11879
11880 1990-12-25 Richard Stallman (rms at mole.ai.mit.edu)
11881
11882 * abbrev.c (Fexpand_abbrev): Use insert_from_string, not insert.
11883 (Funexpand_abbrev): Likewise.
11884 * doc.c (Fsubstitute_command_keys): Likewise.
11885 * editfns.c (Finsert, Finsert_before_markers): Likewise.
11886 * minibuf.c (Fminibuffer_complete_word): Likewise.
11887 * mocklisp.c (Finsert_string): Use insert1.
11888 * vmsfns.c (Fdefault_subproc_input_handler): Likewise.
11889
11890 * print.c: Don't use strout for the text of a Lisp string.
11891 (print_string): New function to use instead.
11892 (print): Use print_string when no escapes needed.
11893 When printing with escapes, protect the string and check addr often.
11894
11895 1990-12-24 Richard Stallman (rms at mole.ai.mit.edu)
11896
11897 * insdel.c (insert_from_string): New function.
11898
11899 1990-12-20 Richard Stallman (rms at mole.ai.mit.edu)
11900
11901 * term.c (ins_del_lines): Handle scroll region wrt chars_wasted.
11902
11903 1990-12-16 Jim Blandy (jimb at pogo.ai.mit.edu)
11904
11905 * Globally renamed InsStr to insert_string.
11906
11907 1990-12-15 Richard Stallman (rms at mole.ai.mit.edu)
11908
11909 * s-usg5-3.h (USG_SHARED_LIBRARIES): Define it.
11910
11911 * m-intel386.h (C_SWITCH_MACHINE): New macro.
11912
11913 1990-12-15 Jim Blandy (jimb at pogo.ai.mit.edu)
11914
11915 * alloc.c (STRING_FULLSIZE): Use sizeof(struct Lisp_String)
11916 instead of sizeof(int).
11917
11918 1990-12-14 Jim Blandy (jimb at pogo.ai.mit.edu)
11919
11920 * keyboard.c (Fread_key_sequence): Clear this_command_key_count
11921 here; who unfixed this?
11922
11923 1990-12-12 Richard Stallman (rms at mole.ai.mit.edu)
11924
11925 * abbrev.c (Fdefine_abbrevs): Don't crash when EXPANSION is nil.
11926
11927 1990-12-11 Richard Stallman (rms at mole.ai.mit.edu)
11928
11929 * eval.c (Fmacroexpand): Change handling of (foo . bar) in ENV.
11930
11931 1990-12-10 Richard Stallman (rms at mole.ai.mit.edu)
11932
11933 * m-pmax.h (SYSTEM_MALLOC): Define it.
11934
11935 * process.c (wait_reading_process_input): Ignore failure with EIO.
11936
11937 1990-12-09 Richard Stallman (rms at mole.ai.mit.edu)
11938
11939 * m-iris4d.h (LOAD_AVE_CVT): Divide by 1024.
11940 (LIB_STANDARD): Use -lbsd first.
11941 (LIBS_MACHINE): Don't use -lbsd here.
11942 * s-irix3-3.h (ADDR_CORRECT): Macro deleted.
11943 (LIBS_MACHINE): Macro deleted.
11944 (LDAV_SYMBOL): Delete the `_' from start of symbol.
11945
11946 * process.c (create_process): Delete duplicate sigsetmask.
11947
11948 * m-ibmrt.h (RTPC_REGISTER_BUG, SHORT_CAST_BUG): Macros deleted.
11949 (C_SWITCH_MACHINE): Use -D to define alloca.
11950 (SIGN_EXTEND_CHAR): Use a cast.
11951
11952 1990-12-05 Jim Blandy (jimb at pogo.ai.mit.edu)
11953
11954 * keyboard.c (Fsuspend_emacs): Protect STUFFSTRING.
11955 (cmd_error): Protect TAIL while printing.
11956 (input_poll_signal, start_polling): Use polling_period.
11957 (syms_of_keyboard): Initialize it and make it a Lisp var.
11958
11959 * fns.c (Fyes_or_no_p): Protect PROMPT for entire loop.
11960
11961 * fileio.c (Frename_file): Protect args.
11962 * fileio.c (Fadd_name_to_file): Protect the args.
11963 (Fcopy_file, Fmake_symbolic_link): Likewise.
11964 (Finsert_file_contents): Protect FILENAME.
11965
11966 1990-12-04 Jim Blandy (jimb at geech.ai.mit.edu)
11967
11968 * eval.c (Fbacktrace): gcpro TAIL.
11969 * emacs.c (Fkill_emacs): gcpro ARG.
11970 * editfns.c (Fformat): remove remains of gcpro'd args.
11971
11972 * dispnew.c (syms_of_dispnew): Don't clobber Vwindow_system_version
11973 if CANNOT_DUMP.
11974
11975 * dired.c (file_name_completion): Check that FILE is a string.
11976
11977 * buffer.c (Fbury_buffer): Don't init BUF1.
11978
11979 * doc.c (Fsubstitute_command_keys): Protect STR and don't keep a
11980 pointer to the middle of it.
11981
11982 * m-hp9000s300.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Override for BSD.
11983
11984 * process.c (sigchld_handler): Clear synch_process_alive if the
11985 dying process isn't in the table at all.
11986 * callproc.c (call_process_cleanup): Clear synch_process_alive.
11987
11988 1990-12-03 Jim Blandy (jimb at geech.ai.mit.edu)
11989
11990 * callproc.c (Fcall_process): change synch_process_pid to
11991 synch_process_alive, as a general flag that we are waiting for
11992 a synchronous process to die. This obviates the need to block
11993 SIGCHLDs until we know the pid.
11994 * sysdep.c (wait_for_termination): wait for synch_process_alive to
11995 be false.
11996
11997 * process.c (sigchld_handler): If pid not recognized, look for a
11998 process recorded with pid -1.
11999 (create_process): Set pid to -1 before the fork.
12000 Store correct pid right after the fork.
12001 Don't change sigchld handler on system V.
12002
12003 * process.c (Fstart_process): Set BUFFER before other string vars
12004 so a gc in Fget_buffer_create won't clobber them.
12005
12006 1990-11-30 Richard Stallman (rms at mole.ai.mit.edu)
12007
12008 * keyboard.c (read_command_char): Save and restore getcjmp.
12009
12010 1990-11-29 Richard Stallman (rms at mole.ai.mit.edu)
12011
12012 * process.c (status_convert): Use WRETCODE for exited process.
12013
12014 1990-11-26 Richard Stallman (rms at mole.ai.mit.edu)
12015
12016 * s-usg5-4.h (LIB_STANDARD): Add libucb.a.
12017 (NEED_PTEM_H): Define this instead of NEED_SIOCTL.
12018 * m-ibm370aix.h, m-ibmps2-aix.h, m-ibmrs6000.h (NEED_SIOCTL):
12019 Undefine this.
12020 (NEED_PTEM_H): Likewise.
12021
12022 * s-sunos4.h (O_NDELAY): Don't define this.
12023
12024 * print.c (Fwith_output_to_temp_buffer): Don't eval first arg twice.
12025
12026 1990-11-22 Richard Stallman (rms at mole.ai.mit.edu)
12027
12028 * m-hp9000s300.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Alternate defs for BSD.
12029
12030 1990-11-21 Jim Blandy (jimb at churchy.ai.mit.edu)
12031
12032 * dispnew.c (init_display): Check if we're using a window system
12033 before trying to initialize the terminal. If someone has
12034 indicated that they want to use a window system, we shouldn't
12035 bother initializing the terminal. This is especially important
12036 when the terminal is so dumb that emacs gives up and doesn't bother
12037 using the window system.
12038
12039 1990-11-20 Jim Blandy (jimb at churchy.ai.mit.edu)
12040
12041 * print.c (Fexternal_debugging_output): added new function which
12042 writes a character to stderr, for use when debugging emacs with
12043 gdb.
12044
12045 1990-11-14 Jim Blandy (jimb at churchy.ai.mit.edu)
12046
12047 * dispnew.c (window_change_signal): used to assume that SIGWINCHes
12048 always applied to the currently selected screen. Now it scans the
12049 list of screens for a screen controlled by termcap, and changes that
12050 screen's size.
12051
12052 1990-11-13 Richard Stallman (rms at mole.ai.mit.edu)
12053
12054 * fileio.c (err_str): New macro.
12055 (Finsert_file_contents, Fwrite_region): Use it in error messages.
12056
12057 1990-11-12 Richard Stallman (rms at mole.ai.mit.edu)
12058
12059 * insdel.c (del_range): Supply missing arg to gap_left.
12060
12061 1990-11-11 Jim Blandy (jimb at churchy.ai.mit.edu)
12062
12063 * regex.c: Disabled definition of NULL from lisp.h
12064
12065 * crt0.c (_start): added static declaration of start1.
12066
12067 * xfns.c: added definition for Vbar_cursor.
12068 (syms_of_xfns): Added DEFVAR_LISP clause for Vbar_cursor.
12069
12070 * xterm.c (XTread_socket): passed &event.xkey instead of &event to
12071 XLookupString, so things will typecheck nicely.
12072
12073 * Globally rewrote all references to Vmouse_buffer to use the
12074 buffer viewed by Vmouse_window instead.
12075
12076 * alloc.c (xmalloc, xrealloc): removed calls to
12077 {un,}hold_window_change. The new SIGWINCH-handling code and
12078 do_pending_window_change make them unnecessary.
12079
12080 1990-11-11 Richard Stallman (rms at mole.ai.mit.edu)
12081
12082 * process.c (wait_reading_process_input): Make Available static;
12083 don't clear when a nonzero bit is found.
12084
12085 * fns.c (Fnthcdr): Stop loop if reach end.
12086
12087 * dispnew.c: Include fcntl.h if HAVE_TERMIO.
12088
12089 1990-11-10 Jim Blandy (jimb at pogo.ai.mit.edu)
12090
12091 * alloc.c (make_uninit_string): No longer declared static, and
12092 extern declaration added to lisp.h. It's used in dired.c.
12093
12094 1990-11-08 Jim Blandy (jimb at geech.ai.mit.edu)
12095
12096 * dispnew.c (do_pending_window_change): Changed incorrect call to
12097 change_window_size_1 into a loop which scans list of screens and
12098 resizes those that need resizing.
12099
12100 1990-11-06 Richard Stallman (rms at mole.ai.mit.edu)
12101
12102 * m-ibmrs6000.h (CANNOT_DUMP): Define it.
12103
12104 * process.c (create_process): Unblock SIGCHLD in the child.
12105
12106 * process.c (wait_reading_process_input): Don't read input
12107 from more than one process between calls to `select'.
12108
12109 1990-11-02 Richard Stallman (rms at mole.ai.mit.edu)
12110
12111 * callint.c (syms_of_callint):
12112 Initialize Vprefix_arg and Vcurrent_prefix_arg.
12113
12114 1990-11-01 Richard Stallman (rms at mole.ai.mit.edu)
12115
12116 * dired.c (Fdirectory_files): Avoid using MAXNAMLEN.
12117
12118 1990-10-31 Jim Blandy (jimb at churchy.ai.mit.edu)
12119
12120 * process.c (MAXDESC): Enclosed definition in `#ifndef ... #endif'
12121 clause.
12122
12123 * bytecode.c: Included syntax.h to declare syntax_code_spec.
12124
12125 * syntax.h (syntax_spec_code): Added extern declaration for this.
12126
12127 * floatfns.c (float_error): Added static declaration for this at
12128 the top of the file.
12129
12130 1990-10-29 Jim Blandy (jimb at pogo.ai.mit.edu)
12131
12132 * indent.c (position_indentation): renamed stray `bf_cur' to
12133 `current_buffer', and old `CharAt' usages to `FETCH_CHAR'.
12134 * buffer.c (Fbuffer_disable_undo): the symbol object for this
12135 subroutine was still named Sbuffer_flush_undo, and the symbol's
12136 lisp name was similarly out of date. Renamed both, and added an
12137 alias in lisp/subr.el .
12138
12139 * keyboard.c (Fset_input_mode): a `meta_flag' had escaped being
12140 renamed to `meta_key'.
12141
12142 1990-10-29 Richard Stallman (rms at mole.ai.mit.edu)
12143
12144 * process.c (Fprocess_send_region, Fprocess_send_string):
12145 Break data into bunches less than 500 bytes.
12146 Accept process output between bunches.
12147 ??? Must update manual.
12148
12149 1990-10-29 Jim Blandy (jimb at pogo.ai.mit.edu)
12150
12151 * window.c (Fset_window_start, window_scroll): renamed stray
12152 references to `redo_mode_line' to `update_mode_line'.
12153
12154 * xdisp.c (decode_mode_spec): renamed stray references to `bf_cur'
12155 and `bf_modified' to `current_buffer' and `MODIFF'.
12156
12157 1990-10-25 Jim Blandy (jimb at pogo.ai.mit.edu)
12158
12159 * environ.h: file created - contains declarations for users of the
12160 environment variable list.
12161 * callproc.c (environ): removed extern declaration of environ, and
12162 included environ.h.
12163
12164 1990-10-24 Jim Blandy (jimb at pogo.ai.mit.edu)
12165
12166 * callproc.c (init_callproc): removed extern declaration of
12167 environ - it's already taken care of at the top of the file.
12168
12169 * mocklisp.h: file created - externally declares certain
12170 functions defined in mocklisp.c.
12171 * lisp.h (Fread_buffer, Fread_key_sequence): added extern
12172 declarations for these functions.
12173 * callint.c (ml_apply, Fread_buffer, Fread_key_sequence): removed
12174 extern declarations for these functions, included mocklisp.h.
12175 Moved external declaration of index to top of file.
12176
12177 1990-10-24 Richard Stallman (rms at mole.ai.mit.edu)
12178
12179 * ymakefile (GNULIB_VAR): New make variable.
12180 (LIBES): Use that, not GNULIB directly.
12181 (GNULIB): Don't define if already defined.
12182
12183 1990-10-23 Jim Blandy (jimb at geech.ai.mit.edu)
12184
12185 * indent.h (last_known_column_point): added extern declaration for
12186 this variable.
12187 buffer.c (last_known_column_point): removed extern declaration for
12188 this variable, included indent.h.
12189 (Vprin1_to_string_buffer): removed extern declaration - it's
12190 already in lisp.h.
12191
12192 * lisp.h (catchlist, backtrace_list, stack_bottom,
12193 current_global_map): added extern declarations for these
12194 variables.
12195 * alloc.c: removed external declarations for catchlist,
12196 backtrace_list, and stack_bottom, since this file includes
12197 lisp.h.
12198 * callint.c: (current_global_map): removed extern declaration.
12199
12200 * search.h: new file - declares searchbuf.
12201 * dired.c (Fdirectory_files): removed extern declaration of
12202 searchbuf, included search.h.
12203
12204 * Globally renamed `CHAR_AT_POSITION' to `FETCH_CHAR'.
12205
12206 1990-10-22 Richard Stallman (rms at mole.ai.mit.edu)
12207
12208 * keyboard.c (quit_char): New variable.
12209 (init_keyboard): Initialize it.
12210 (Fset_input_mode): New optional arg to set quit_char.
12211 (command_loop_1, read_char, kbd_buffer_store_char):
12212 (read_avail_input): Use quit_char, not C-g.
12213 * sysdep.c (init_sys_modes): Use quit_char to set special chars.
12214 * xterm.c (x_term_init): Pass new arg to Fset_input_mode.
12215
12216 1990-10-22 Jim Blandy (jimb at pogo.ai.mit.edu)
12217
12218 * xdisp.c: added `extern' declaration for command_loop_level.
12219
12220 * term.c (term_init): Internal cleanups.
12221 (write_glyphs): renamed argument `start' to `string'.
12222
12223 1990-10-21 Richard Stallman (rms at mole.ai.mit.edu)
12224
12225 * xterm.c (FIONREAD): Undefine if BROKEN_FIONREAD.
12226 (SIGIO): Undefine if no FIONREAD.
12227 (ioctl.h, termio.h, strings.h, string.h): Include them before those.
12228
12229 * alloc.c (make_vector_from_string, Fvector_from_string):
12230 Functions deleted.
12231
12232 * sysdep.c (select): Handle timeout == 0. Add var local_timeout.
12233
12234 * alloc.c (make_uninit_string, make_float): Use VALIDATE_LISP_STORAGE.
12235 (Fcons, Fmake_vector, Fmake_symbol, Fmake_marker): Likewise.
12236 (Fmake_vector_from_list): Likewise.
12237 (VALIDATE_LISP_STORAGE): New macro.
12238
12239 1990-10-20 Richard Stallman (rms at mole.ai.mit.edu)
12240
12241 * dispnew.c (scrolling): Give up if some new lines not enabled.
12242 (update_screen): Rework outq logic.
12243
12244 * xdisp.c (message, message1): Clear noninteractive_need_newline.
12245
12246 1990-10-19 Jim Blandy (jimb at pogo.ai.mit.edu)
12247
12248 * scroll.c (do_scrolling): allocate queue using alloca instead
12249 of variable-sized arrays.
12250
12251 1990-10-19 Richard Stallman (rms at mole.ai.mit.edu)
12252
12253 * buffer.c: Doc fix.
12254
12255 1990-10-18 Jim Blandy (jimb at pogo.ai.mit.edu)
12256
12257 * print.c (internal_with_output_to_temp_buffer): install an
12258 unwind_protect to make sure the current buffer is restored.
12259
12260 * minibuf.c (read_minibuf): call recursive_edit_1 instead of
12261 Frecursive_edit, to support the new command_loop_level
12262 arrangement.
12263
12264 * malloc.c (calloc): Added this function, in case something linked
12265 with emacs calls it.
12266
12267 * lread.c (openp): Since access returns 0 on success, change that
12268 into a 1 before returning it.
12269
12270 * lisp.h: deleted DEFSIMPLE and DEFPRED, since they're no
12271 longer used.
12272
12273 1990-10-18 Richard Stallman (rms at mole.ai.mit.edu)
12274
12275 * m-intel386.h (alloca): Define as builtin, if using GCC.
12276
12277 * m-att3b.h (NEED_PTEM_H): Define this for 3b2.
12278
12279 * s-aix3-1.h (SYSV_SYSTEM_DIR): Define it.
12280
12281 * print.c (print): Improve error message for bad data type.
12282
12283 1990-10-18 Jim Blandy (jimb at pogo.ai.mit.edu)
12284
12285 * keymap.c (Flookup_key): rearranged to use an index into the key
12286 sequence instead of a pointer and a level counter.
12287
12288 1990-10-18 Richard Stallman (rms at mole.ai.mit.edu)
12289
12290 * floatfns.c (sinh, cosh): On VMS, define to use exp.
12291 (IN_FLOAT): Detect errors reported using errno.
12292 (float_error): Define function unconditionally.
12293 Reestablish handler when called, if not BSD.
12294
12295 1990-10-17 Richard Stallman (rms at mole.ai.mit.edu)
12296
12297 * m-delta.h (C_DEBUG_SWITCH): Don't define this.
12298
12299 1990-10-17 Jim Blandy (jimb at pogo.ai.mit.edu)
12300
12301 * keyboard.c (command_loop): made call to command_loop_2
12302 conditional on minibuf_level too (it used to be only conditional
12303 on command_loop_level), since this is what 18.56 and all the other
12304 functions in Emacs 19 keyboard.c do.
12305
12306 1990-10-16 Jim Blandy (jimb at pogo.ai.mit.edu)
12307
12308 * keyboard.c (read_char): Don't echo dash if there is already
12309 something else being displayed in the echo area.
12310
12311 1990-10-16 Richard Stallman (rms at mole.ai.mit.edu)
12312
12313 * process.c (status_convert): If killed by signal, use WTERMSIG.
12314
12315 * data.c (arith_error): Reestablish handler on VMS.
12316
12317 * keyboard.c (start_polling, stop_polling): New functions.
12318 (input_poll_signal): New function, handles periodic alarms.
12319 (read_command_char): Turn off polling temporarily.
12320 * xdisp.c (redisplay): Likewise.
12321 * process.c (wait_reading_process_input, create_process): Likewise.
12322
12323 1990-10-16 Jim Blandy (jimb at pogo.ai.mit.edu)
12324
12325 * indent.c (position_indentation): instead of using CharAt, use a
12326 pointer to scan the buffer - this is faster.
12327
12328 * emacs.c (Fdump_emacs): The conditional expression which passes
12329 symname to unexec was missing a `: 0'.
12330
12331 * dispnew.c (rotate_vector): Was rotating backwards.
12332
12333 1990-10-15 Jim Blandy (jimb at pogo.ai.mit.edu)
12334
12335 * dired.c (file_name_completion): Use scmp to compare names.
12336
12337 1990-10-15 Richard Stallman (rms at mole.ai.mit.edu)
12338
12339 * process.c (create_process): Don't turn off handling of SIGCHLD.
12340 Just set a flag if a signal comes in when not wanted.
12341 (create_process_sigchld): New signal handler.
12342
12343 1990-10-14 Richard Stallman (rms at mole.ai.mit.edu)
12344
12345 * bytecode.c: De-implement Bmark, Bset_mark, Bscan_buffer.
12346 Mark Bsymbol_function, Bfset, Bread_char as obsolete.
12347 Implement codes Bmult, Bforward_char...Bwiden,
12348 and Bstringeqlsign...Bintegerp.
12349
12350 1990-10-12 Jim Blandy (jimb at pogo.ai.mit.edu)
12351
12352 * buffer.c (list_buffers_1): Select the buffer given in
12353 Vstandard_output using Fset_buffer instead of set_buffer_internal.
12354
12355 * buffer.c (set_buffer_internal): deleted variable swb - it's
12356 never used.
12357
12358 * buffer.c (count_modified_buffers): function deleted - it's
12359 not used anymore.
12360
12361 1990-10-11 Jim Blandy (jimb at pogo.ai.mit.edu)
12362
12363 * buffer.c (reset_buffer_local_variables, buffer_local_variables):
12364 added support for default values for buffer local variables which
12365 do not have a DEFVAR_PER_BUFFER, as described in the comments
12366 above buffer_local_flags.
12367
12368 * buffer.c (Fget_buffer_create): move initialization of
12369 b->save_length and b->last_window_start to reset_buffer.
12370
12371 1990-10-11 Richard Stallman (rms at mole.ai.mit.edu)
12372
12373 * m-ibmps2-aix.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Define them.
12374 (C_DEBUG_SWITCH): Delete -fstrength-reduce.
12375
12376 * unexmips.c (unexec): Add conditional for MIPS2.
12377
12378 1990-10-10 Richard Stallman (rms at mole.ai.mit.edu)
12379
12380 * m-iris4d.h (LIBS_MACHINE): Use -lsun, don't use -lPW.
12381
12382 * unexelf.c: New file.
12383 * s-usg5-4.h: New file.
12384 * unexec.c [USG_SHARED_LIBARARIES]: Numerous changes under this cond.
12385 (copy_text_and_data): New second argument.
12386
12387 1990-10-10 Jim Blandy (jimb at pogo.ai.mit.edu)
12388
12389 * alloc.c (gc_sweep): only unchain markers that are in a buffer.
12390
12391 1990-10-10 Mike Rowan (mtr at apple-gunkies)
12392
12393 * process.c: Merged in more changes from 18.56: update_status,
12394 FD_SET changes (define all the FD_ macros). Other small changes.
12395
12396 1990-10-09 Jim Blandy (jimb at churchy.ai.mit.edu)
12397
12398 * xdist.c: (decode_mode_spec): reworked code to handle %* - it now
12399 goes like `if return else if return else ... return' instead of
12400 using a conditional operator.
12401
12402 * xdist.c: (fmodetrunc): function deleted - no longer used.
12403
12404 1990-10-09 Richard Stallman (rms at mole.ai.mit.edu)
12405
12406 * xdisp.c (decode_mode_spec): Handle dashes in wide windows.
12407
12408 1990-10-08 Richard Stallman (rms at mole.ai.mit.edu)
12409
12410 * sysdep.c (sys_open, sys_close, sys_read, sys_write):
12411 Don't handle EAGAIN.
12412
12413 * process.c (wait_reading_process_input): Handle nread==-1
12414 for O_NDELAY like O_NONBLOCK.
12415
12416 * s-vms.h (LINK_CTRL_SHARE): Turn on again.
12417 tranle@intellicorp.com found it needed in VMS 5.3.
12418
12419 * emacs.c (main): Move VMS declaration of environ outside function.
12420
12421 * vmsfns.c (Fdefault_subproc_input_handler): InsCstr -> insert.
12422
12423 1990-10-07 Richard Stallman (rms at mole.ai.mit.edu)
12424
12425 * m-pmax.h (START_FILES): Handle crt0.o in different dir in Ultrix 4.0.
12426
12427 * s-sunos4.h (O_NDELAY): Define only if not defined.
12428
12429 1990-10-06 Jim Blandy (jimb at pogo.ai.mit.edu)
12430
12431 * sysdep.c (tabs_safe_p, get_screen_size): renamed `sg' to `tty'.
12432
12433 * sysdep.c (init_baud_rate): rearranged code for calculating
12434 baud_rate.
12435
12436 1990-10-05 Jim Blandy (jimb at pogo.ai.mit.edu)
12437
12438 * search.c (Freplace_match): used Finsert_buffer_substring instead
12439 of place and deleted place.
12440
12441 * search.c (place): function removed
12442
12443 * process.c (count_active_processes): Deleted; not used.
12444
12445 * minibuf.c (read_minibuf): renamed `prefix' argument to `initial'.
12446
12447 1990-10-01 Jim Blandy (jimb at pogo.ai.mit.edu)
12448
12449 * lread.c (Fload): renamed `MISSING-OK' to `NOERROR'.
12450
12451 * keyboard.c (describe_map): renamed `keys' to `string'.
12452
12453 * keyboard.c `Vauto_save_interval' unrenamed back to
12454 `auto-save-interval'.
12455
12456 * keymap.c (Fdefine_key, Flookup_key): renamed arguments called
12457 `keys' to `key'.
12458
12459 1990-10-01 Richard Stallman (rms at mole.ai.mit.edu)
12460
12461 * sysdep.c (sys_open, sys_close, sys_read, sys_write):
12462 Handle EAGAIN like EINTR.
12463
12464 1990-09-30 Richard Stallman (rms at mole.ai.mit.edu)
12465
12466 * insdel.c (gap_left, gap_right): Use bcopy if requested.
12467 New config parameters GAP_USE_BCOPY, BCOPY_SAFE_UPWARD,
12468 and BCOPY_SAFE_DOWNWARD.
12469
12470 * eval.c (find_handler_clause): Bind debug-on-error to nil.
12471 (Qdebug_on_error): New variable.
12472 (syms_of_eval): Initialize that.
12473
12474 * sysdep.c: Include various headers for ptys, for hpux, aix, and sysv.
12475
12476 * dispnew.c (preserve_other_columns): Fix args to second bcopy.
12477
12478 1990-09-30 Jim Blandy (jimb at pogo.ai.mit.edu)
12479
12480 * keyboard.c: `auto_save_interval' renamed to
12481 `Vauto_save_interval', since it *is* a lisp-accessible variable.
12482
12483 * fileio.c (Fdo_auto_save): call record_auto_save so that
12484 read_char knows when we've auto-saved.
12485
12486 * keyboard.c (record_auto_save): added function to support the new
12487 auto-save conditions.
12488
12489 * keyboard.c (read_char): use num_input_chars and last_auto_save
12490 instead of keystrokes to decide when to autosave.
12491
12492 * keyboard.c (keystrokes): variable deleted.
12493
12494 1990-09-30 Mike Rowan (mtr at spike.ai.mit.edu)
12495
12496 * keyboard.c and alloc.c: added malloc warning code from
12497 18.56.
12498
12499 * dispnew.c, xdisp.c: (un)hold_window_change no longer exists;
12500 added do_pending_window_change from 18.56.
12501
12502 * process.[ch]: added the raw_status_low and raw_status_high
12503 code from 18.56.
12504
12505 1990-09-29 Richard Stallman (rms at mole.ai.mit.edu)
12506
12507 * alloca.s: Handle ns32000 like ns16000.
12508
12509 * m-ns32000.h: New file.
12510
12511 * lread.c (Fload): Warn if elc file older than source file.
12512
12513 * ymakefile (LIB_X11_LIB): New parameter,default -lX11.
12514 (LIBX): Use that.
12515
12516 * Makefile (xmakefile): Delete junk.c at the beginning.
12517
12518 * hftctl.c: Include termios.h before termio.h.
12519 Define TCGETS and TCSETS if nec.
12520 Give some forward declarations for the static functions.
12521 Reformat in usual GNU style.
12522
12523 * m-orion105.h (LOAD_AVE_TYPE, FSCALE): Changed from double and 1.0.
12524
12525 * m-delta.h: New file.
12526
12527 1990-09-28 Richard Stallman (rms at mole.ai.mit.edu)
12528
12529 * fns.c (Frequire): Undo certain things on failure, like autoload.
12530
12531 1990-09-28 Jim Blandy (jimb at pogo.ai.mit.edu)
12532
12533 * fileio.c (Fwrite_region): renamed variable `fd' to `desc' and
12534 changed argument to open from `1' to `O_WRONLY'.
12535
12536 * fileio.c (O_WRONLY): added clause to define this if not already
12537 defined.
12538
12539 * emacs.c (Fdump_emacs): removed a_name variable.
12540
12541 * emacs.c (Fkill_emacs): removed code which asked about modified
12542 buffers and running subprocesses.
12543
12544 * editfns.c (Fcurrent_time_string): renamed variable `now' to
12545 `current_time'.
12546
12547 * dispnew.c (update_line): renamed variables `m1' and `m2' to
12548 `begmatch' and `endmatch'.
12549
12550 * dispnew.c (update_screen): use preempt_count as a limit instead
12551 of a counter; count with i instead.
12552
12553 * dispnew.c (visible_bell, inverse_video, baud_rate,
12554 Vwindow_system): rearranged comments.
12555
12556 1990-09-27 Richard Stallman (rms at mole.ai.mit.edu)
12557
12558 * emacs.c (main) : Set the DISPLAY environment value when both of
12559 MAINTAIN_ENVIRONMENT and HAVE_X_WINDOW are defined.
12560
12561 * m-convex.h (LIB_STANDARD, LIBS_MACHINE): remove these, they
12562 cause an unnecessary C1/C2 dependency.
12563
12564 * m-convex.h (LD_SWITCH_MACHINE): use -e__start to specify
12565 where crt0.c begins.
12566
12567 * m-convex.h (HAVE_SETSID): define; must call setsid
12568 when creating an inferior with a different controlling tty.
12569 * process.c (create_process): rearrange so that HAVE_SETSID
12570 will be seen when not under USG.
12571
12572 * m-convex.h (S_IFMT etc): define in case of posix compilation.
12573
12574 * m-convex.h (FIRST_PTY_LETTER): do it at runtime.
12575 * unexconvex.c (first_pty_letter): routine to locate lowest pty.
12576
12577 * unexconvex.c: Rewrite so it can cope with thread-local sections.
12578
12579 * sysdep.c (select): Use process_tick and update_tick,
12580 not child_changed.
12581
12582 1990-09-23 Richard Stallman (rms at mole.ai.mit.edu)
12583
12584 * keyboard.c (Fsuspend_emacs): Check screen size after resume.
12585
12586 1990-09-19 Richard Stallman (rms at mole.ai.mit.edu)
12587
12588 * editfns.c: Doc fix.
12589
12590 1990-09-18 Richard Stallman (rms at mole.ai.mit.edu)
12591
12592 * window.c (Fsplit_window): Minor cleanup.
12593
12594 1990-09-17 Richard Stallman (rms at mole.ai.mit.edu)
12595
12596 * emacs.c (main) [USG_SHARED_LIBRARIES]: Call brk.
12597
12598 1990-09-13 Richard Stallman (rms at mole.ai.mit.edu)
12599
12600 * floatfns.c (float_error_arg): New variable.
12601 (IN_FLOAT): New arg; sets float_error_arg. All uses changed.
12602 (float_error): Use that value when signaling error.
12603
12604 1990-09-11 Richard Stallman (rms at mole.ai.mit.edu)
12605
12606 * unexaix.c, m-ibmr2.h, s-aix3-1.h: New files.
12607
12608 * ymakefile (allocaobj): New variable. Used in otherobjs.
12609 Eliminates assignment of mallocobj using itself.
12610 (mallocobj): Handle SYSTEM_MALLOC without HAVE_ALLOCA.
12611 (xemacs): Use -nl option if HAVE_SHM.
12612
12613 * sysdep.c: Change IBMRTAIX conditionals to AIX.
12614 Move hft.h to the top.
12615 [IBMR2AIX]: Use termios.h and change macros accordingly.
12616 (child_setup_tty): Change IBMRTAIX to AIX.
12617 (setpgrp_of_tty): Handle IBMR2AIX.
12618 (init_sys_modes): Handle IBMR2AIX. Output special things for AIX.
12619 (reset_sys_modes): Output special things for AIX.
12620 (hft_init, hft_reset): Conditionals for IBMR2AIX.
12621
12622 * process.c: Change IBMRTAIX to AIX controlling time.h.
12623 [AIX]: Include sys/pty.h and unistd.h.
12624 (wait_reading_process_input): If AIX, handle EBADF differently.
12625 (create_process): Handle HAVE_SETSID. Change conditional to AIX.
12626
12627 * lisp.h (XPNTR): New definition if HAVE_SHM.
12628 (NULL): Undef before defining.
12629
12630 * emacs.c (main): If HAVE_SHM, call map_in_data.
12631 Use AIX, not IBMRTAIX, for signal conditional.
12632 (Fdump_emacs_data): New function if HAVE_SHM.
12633 (Fdump_emacs): Don't define if HAVE_SHM.
12634
12635 * alloc.c (pure, PUREBEG): If HAVE_SHM, define place for a segment.
12636
12637 1990-09-03 Mike Rowan (mtr at apple-gunkies)
12638
12639 * sysdep.c: added setup_pty from 18.56
12640
12641 * process.c: merged in 18.55->6 changes. Same for process.h
12642
12643 * globally replaced:
12644 redisplay_preserving_echo_area -> redisplay_preserve_echo_area
12645 SetBfp -> set_buffer_internal
12646 buffer_flush_undo -> buffer_disable_undo
12647 redo_mode_line -> update_mode_line (window.h)
12648
12649 1990-08-31 Richard Stallman (rms at mole.ai.mit.edu)
12650
12651 * data.c (Fmake_local_variable): If var is local when set, make it
12652 local now in this buffer.
12653
12654 * data.c (Fstring_to_int): Finish eliminating second arg.
12655
12656 * data.c (Faset): Require integer as third arg for string.
12657
12658 1990-08-28 Richard Stallman (rms at mole.ai.mit.edu)
12659
12660 * search.c: Doc fix.
12661
12662 * screen.h (SCREEN_SCROLL_BOTTOM_VPOS): New macro.
12663 * xdisp.c (screen_bottom_vpos): Variable used if just one screen.
12664 (redisplay, try_window_id): Set that field in screen.
12665 * dispnew.c (scrolling, update_screen): New arg scroll_bottom_vpos.
12666
12667 * dispnew.c (scroll_screen_lines): Mark newly empty lines as empty.
12668 (scrolling): Give up if any line in current_screen not enabled.
12669
12670 1990-08-27 Roland McGrath (roland at churchy.ai.mit.edu)
12671
12672 * dired.c (Ffile_attributes): Return the device number too (elt 11
12673 of the returned list).
12674
12675 1990-08-27 Richard Stallman (rms at mole.ai.mit.edu)
12676
12677 * sysdep.c (wait_for_kbd_input): Frob waiting_for_input here.
12678 * keyboard.c (kbd_buffer_read_command_char): Not here.
12679
12680 * sysdep.c (wait_for_kbd_input): Clear process_ef before snarfing
12681 process input.
12682
12683 * fileio.c (Fdirectory_file_name): On VMS, leave space for log name.
12684
12685 * sysdep.c (init_sys_modes): Clear process_ef only the first time.
12686
12687 * vmsfns.c (process_exit): Logic of deletion was wrong.
12688 (Fspawn_subprocess): Correctly reuse existing struct process_list.
12689
12690 1990-08-22 Richard Stallman (rms at mole.ai.mit.edu)
12691
12692 * m-plexus.h (LD_SWITCH_MACHINE): New macro.
12693
12694 1990-08-22 Joseph Arceneaux (jla at geech)
12695
12696 * xterm.c (XTread_socket): Cleaned up #ifdefs prior to event
12697 reading loop. Also handle FIOSNBIO.
12698
12699 1990-08-19 Joseph Arceneaux (jla at geech)
12700
12701 * xterm.c (dumplyphs): Last vestige of MScreenWidth removed.
12702 * config.h: MScreenWidth, MScreenHeight definitions removed.
12703
12704 1990-08-18 Joseph Arceneaux (jla at geech)
12705
12706 * scroll.c (do_scrolling): Pass the correct sizes to bcopy.
12707 * dispnew.c (make_screen_glyphs): Likewise.
12708
12709 1990-08-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12710
12711 * dispnew.c (scroll_screen_lines, free_screen_glyphs): Only deal
12712 with the X components of screen_glyphs if SCREEN_IS_X.
12713 free_screen_glyphs now takes screen argument.
12714
12715 * window.c (Fnext_window, Fprevious_window): Fixed typo. New
12716 behaviour: mini non-nil implies all_screens if global mini screen
12717 exists, implies current screen only if not.
12718 (Fdisplay_buffer): Simplification of multi-screen code.
12719
12720 1990-08-15 Richard Stallman (rms at mole.ai.mit.edu)
12721
12722 * buffer.c: Doc fix.
12723
12724 1990-08-15 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12725
12726 * dispnew.c (update_line): Simplification of pixel size code, only
12727 done if screen is X.
12728 (update_screen): Only set pixel stuff if screen is X.
12729
12730 1990-08-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12731
12732 * m-targon31.h (NO_REMAP): Definition removed.
12733 (SEGMENT_MASK): New macro.
12734
12735 1990-08-14 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12736
12737 * lread.c (eval-region): Don't set opoint to point, etc.
12738 Fnarrow_to_region from BEGV, not b.
12739 (eval-buffer): New subr, generalization of eval-current-buffer.
12740 (eval-current-buffer): Moved to elisp, in simple.el.
12741
12742 * xfns.c (x_y_pos): Nuked. Replaced by pixel_to_char_translation
12743 and notice_mouse_movment (dispnew.c, xterm.c).
12744 (Fx_point_coordinates): Also nuked.
12745 mouse_buffer_offset: New lisp variable.
12746
12747 * xterm.c (notice_mouse_movement): Use it in call to
12748 pixel_to_char_translation.
12749
12750 * screen.h: For non-multiscreen, XSCREEN returns selected_screen,
12751 as does WINDOW_SCREEN.
12752
12753 * xdisp.c (display_mode_line): Set desired_glyphs->bufp to 0 for
12754 mode line.
12755 All occurences of struct screen * replaced with SCREEN_PTR.
12756
12757 1990-08-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12758
12759 * xmenu.c (list_of_items, list_of_panes): Fixed wrong params to
12760 wrong_type_argument.
12761
12762 1990-08-12 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12763
12764 * dispnew.c (pixel_to_char_translation): New algorithm for
12765 finding y.
12766
12767 * xfns.c (install_*_scrollbar): No more height, width parameters.
12768 Don't block input here.
12769 (x_set_*_scrollbar): Block input here.
12770
12771 * xterm.c (notice_mouse_motion): Check if the mouse is still in
12772 the window.
12773 (encode_mouse_button): Don't bother about motion types.
12774
12775 1990-08-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12776
12777 * m-convex.h (C_SWITCH_MACHINE, LIB_STANDARD, LIBS_MACHINE):
12778 (LD_SWITCH_MACHINE): Add definitions for Convex V 4.0.
12779
12780 1990-08-11 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12781
12782 * xfns.c (Fx_grab_pointer): Call XCreateFontCursor on shape,
12783 setting new variable grabbed_cursor. Return Qt if successful,
12784 Qnil otherwise.
12785 (Fx_ungrab_pointer): free grabbed_cursor if non zero. Return Qnil.
12786
12787 1990-08-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12788
12789 * xfns.c (x_figure_window_size): Don't set pixel sizes until
12790 height and width are determined.
12791
12792 1990-08-08 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12793
12794 * xfns.c (Fx_grab_pointer): New parameter to explicitly ignore
12795 keyboard events.
12796
12797 * xterm.c (notice_mouse_movement): Use pixel_to_char_translation
12798 to get char position and buffer offset.
12799
12800 1990-08-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12801
12802 * sysdep.c [NEED_PTEM_H]: New flag macro says include ptem.h.
12803
12804 1990-08-07 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12805
12806 * dispextern.h: element bufp of screen_glyphs no longer dependent
12807 on X windows.
12808 * xdisp.c (display_text_line): Likewise.
12809
12810 * xfns.c (Fx_grab_pointer, Fx_ungrab_pointer): New subrs.
12811 (x_figure_window_size): Set pixel_width and pixel_height of
12812 screen, using font height and width.
12813
12814 * xfns.c: Vmouse_grabbed renamed Vmouse_depressed.
12815 * xterm.c: Likewise.
12816 (construct_mouse_event): Don't check mouse coordinates; this is
12817 done by the notice_mouse_motion. Don't grab the mouse here.
12818
12819 * dispnew.c (update_line): Set the pix_width and pix_height of the
12820 line. This fashion of doing so is temporary.
12821
12822 1990-08-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12823
12824 * dispextern.h: screen_glyphs struct elements bottom_right_x,
12825 bottom_right_y changed to pix_width and pix_height.
12826 * scroll.c: Likewise.
12827 * dispnew.c: Likewise.
12828 (update_screen): Set top_left_x, top_left_y for X windows.
12829
12830 * xterm.h: Macros PIXEL_{WIDTH,HEIGHT} now use the display
12831 structure elements.
12832
12833 1990-08-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12834
12835 * xfns.c (x_window_to_scrollbar): Return Lisp symbol in parameter
12836 PART_PTR, rather than string.
12837 Declare these symbols.
12838 New variable Vscreen_part, indicates which part of the screen the
12839 mouse is in.
12840
12841 * xterm.c (notice_mouse_motion): Do XQueryPointer first thing.
12842 Set Vmouse_event to Qnil.
12843 (construct_mouse_event): Don't check if mouse has moved or not.
12844 When returning cons, part is now already lisp symbol.
12845 (XTread_socket): Set Vmouse_window = Vscreen_part = Qnil when
12846 leaving screen, as well as setting x_mouse_x = x_mouse_y = -1.
12847
12848 * keyboard.c: Vmouse_window, Vmouse_event declared extern and no
12849 longer DEFVARed: they are already delclared in window.c
12850
12851 * screen.c (window_from_coordinates): Use Fnext_window, even if
12852 MULTI_SCREEN, to obtain the next window. This is an test.
12853 Also, new paramater part returns text or modeline symbol.
12854 (Flocate_window_from_coordinates): Pass &part to
12855 window_from_coordinates.
12856 (coordinates_in_window): Don't say modeline if window_height is 1,
12857 as this is likely to be the minibuffer.
12858
12859 1990-08-04 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12860
12861 * screen.c (Fcoordinates_in_window_p): Doc fix. Simplified.
12862 (window_from_coordinates): New function.
12863 (Flocate_window_from_coordinates): Use it.
12864
12865 * keyboard.c (classify_object): New function for dealing with the
12866 input object. New symbol, mouse-motion, called here.
12867 Call to mouse-motion-handler now takes no parameters.
12868 (read_key_sequence): Use the new function. Don't set keybuf[0]
12869 to 0.
12870
12871 * xterm.c (init_input_symbols): Create all the Lisp symbols
12872 returned in the input stream.
12873 func_key_syms: New array to hold all symbols for function keys.
12874 (x_func_key_to_sym): Use this array.
12875 (notice_mouse_movement): New function for dealing with motion
12876 events.
12877 (XTread_socket): Use it here.
12878
12879 1990-08-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12880
12881 * callproc.c (child_setup): Report error in chdir.
12882
12883 1990-08-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12884
12885 * lisp.h: New macro XFLOATINT. extract_float declared.
12886 * floatfns.c (Ffloor): Call floor, not ceil.
12887 (extract_float): No longer static.
12888 * bytecode.c (Fbyte_code): Correctly handle floats in case Beqlsign.
12889
12890 1990-07-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12891
12892 * keyboard.c (read_key_sequence): When downcasing letters,
12893 don't change the value returned in keybuf.
12894 (This is an experiment; it might be unpleasant in
12895 things such as C-h c, but it is an improvement
12896 for M-x global-set-key.)
12897
12898 1990-07-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12899
12900 * eval.c: Doc fix.
12901
12902 1990-07-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12903
12904 * s-iris*.h (SYSTEM_TYPE): Change silicon-graphics-unix to irix.
12905
12906 1990-07-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12907
12908 * indent.c (Fmove_to_column): End-test was off by 1.
12909
12910 * abbrev.c (Fexpand_abbrev): Return nil if alloca arg would be neg.
12911
12912 1990-07-26 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12913
12914 * xdisp.c (display_text_line): String to rope copy for inserting
12915 arrow text.
12916
12917 1990-07-25 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12918
12919 * xdisp.c (display_mode_line): Check that the name has actually
12920 changed before calling x_set_name.
12921
12922 * ralloc.c (check_memory_limits): New function.
12923 Also check if new memory will be larger than elisp pointer.
12924 (r_alloc_sbrk): Call this function.
12925 (relocate_blocs_upward, relocate_blocs_downward): Eliminated.
12926 (r_alloc_sbrk): Use relocate_some_blocs instead of the eliminated
12927 functions.
12928
12929 * vm-limit.c (morecore_with_warning): Check if new memory larger
12930 than elisp pointer size.
12931
12932 1990-07-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12933
12934 * keyboard.c (save_getcjmp, restore_getcjmp): New functions.
12935 (read_char): Use them around Fdo_auto_save.
12936 * process.c (read_process_output, exec_sentinel): Use them.
12937 * fileio.c (Fdo_auto_save): Run auto-save-hook.
12938
12939 1990-07-24 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12940
12941 * dispnew.c (safe_bcopy): No longer static.
12942
12943 * ralloc.c (relocate_blocs_upward, relocate_blocs_downward): Use
12944 safe_bcopy.
12945
12946 * mem_limits.c: typedef SIZE.
12947
12948 1990-07-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12949
12950 * fileio.c (Finsert_file_contents): Initialize how_much when exiting
12951 main loop.
12952
12953 * m/m-mips.h: Added stuff from the 18.56 version.
12954
12955 1990-07-18 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12956
12957 * indent.c (Fmove_to_column): Set end to ZV.
12958
12959 1990-07-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12960
12961 * editfns.c (init_editfns): Let envvar NAME override full name.
12962
12963 * buffer.c (list_buffers_1): Avoid error with list-buffers-directory.
12964
12965 1990-07-17 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12966
12967 * buffer.c (list_buffers_1): Don't check list-buffers-directory.
12968
12969 1990-07-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
12970
12971 * xdisp.c (display_text_line): Don't print ellipsis if they're
12972 off the left edge.
12973
12974 1990-07-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12975
12976 * s-386-ix.h: Define BROKEN_TIOCGETC.
12977
12978 1990-07-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12979
12980 * m-pmax.h: Undef LD_SWITCH_MACHINE, change DATA_START
12981 and DATA_SEG_BITS.
12982
12983 1990-07-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12984
12985 * s-iris3-6.h (HAVE_GETWD): Define this.
12986 (KERNEL_FILE): Change to /unix.
12987 (sigsetmask, sigblock, NEED_ERRNO, C_SWITCH_MACHINE): Turn off.
12988 (SIGIO): Don't undefine it.
12989 (LIBS_MACHINE): Remove -lbsd.
12990
12991 * minibuf.c (Fall_completions, do_completion): Treat nil as alist.
12992 (Ftry_completion): Likewise.
12993
12994 1990-07-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
12995
12996 * sysdep.c: Undefine TIOCGETC if BROKEN_TIOCGETC defined.
12997 * s-usg5-3.h, s-xenix.h: Define BROKEN_TIOCGETC.
12998
12999 1990-06-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13000
13001 * process.c (Fopen_network_connection): Minor cleanup.
13002
13003 1990-06-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13004
13005 * m-sun3.h: Add comments for dealing with 68881.
13006
13007 1990-06-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13008
13009 * m-ibmps2-aix.h [__GNUC__]: Define LIB_STANDARD and C_DEBUG_SWITCH,
13010 and don't define LIBS_MACHINE.
13011 (HAVE_WAIT_HEADER): Define this.
13012 Also reordered definitions so recently added ones are together.
13013
13014 1990-06-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13015
13016 * insdel.c (insert): Error if buffer would get too long.
13017 * fileio.c (Finsert_file_contents): Likewise.
13018
13019 1990-06-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13020
13021 * syntax.c (scan_sexps_forward): Allow Squote inside symbols.
13022
13023 1990-06-16 Joseph Arceneaux (jla at geech)
13024
13025 * window.c (Fscroll_other_window): Don't unbind_to. Keep track of
13026 current_buffer and point explicitly.
13027
13028 1990-06-15 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13029
13030 * term.c: (cursor_to): Only add chars_wasted if not calling hook.
13031 (clear_end_of_line_raw): Likewise.
13032 (clear_end_of_line): Check that screen is termcap before using
13033 chars_wasted.
13034 (ins_del_lines): Eliminated local copybuf[].
13035 (calculate_ins_del_char_costs): Now has screen parameter.
13036 DCICcost: Change to char_ins_del_costs and defined with
13037 SCREEN_WIDTH (screen).
13038 DC_ICcost: Changed to char_ins_del_vector.
13039 * term.h: DCICcost no longer defined here. DC_ICcost no longer
13040 declared here.
13041 * dispnew.c: char_ins_del_cost defined here. char_ins_del_vector
13042 declared extern here.
13043
13044 1990-06-14 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13045
13046 * Globally replaced screen_width with macro
13047 SCREEN_WIDTH (selected_screen).
13048 * dispnew.c (init_display): Don't set SCREEN_WIDTH, etc. from
13049 screen_width.
13050 (change_window_size): No longer check output_type and set
13051 ScreenRows.
13052
13053 1990-06-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13054
13055 * indent.c (Findent_to): Don't fail to return value.
13056 (Fmove_to_column, Fcurrent_column): Doc fixes.
13057
13058 1990-06-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13059
13060 * keyboard.c (echo_prompt): Now uses glyphs.
13061 echobuf, echobuf_ptr: These variables now glyphs.
13062
13063 1990-06-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13064
13065 * fileio.c (Fdo_auto_save): Use glyphs_to_str_copy to set
13066 omessage.
13067 * alloc.c (Fgarbage_collect): Ditto.
13068
13069 * xdisp.c (message): message_buf set here, realloced if smaller
13070 than screen width.
13071 message_buf now type GLYF *. New variable message_buf_size holds
13072 its size.
13073 Use temp_buf for call to doprnt, then use str_to_glyph_cpy to set
13074 echo_area_glyphs.
13075
13076 * print.c (printchar, strout): Use message_buf_size. Convert to
13077 glyfs before assigning chars.
13078 (str_to_glyph_cpy, str_to_glyph_ncpy,
13079 glyph_to_str_cpy, glyph_to_str_ncpy): New functions.
13080
13081 1990-06-03 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13082
13083 * keyboard.c (command_loop_1): Clear this_command_key_count here.
13084 (Fread_key_sequence): And here.
13085 (read_key_sequence): Not here.
13086
13087 * dispnew.c (update_screen):
13088 Add missing else in handling cursor_in_echo_area.
13089 * xdisp.c (redisplay_window): Eliminate lpoint. Alter opoint
13090 if point should be changed permanently in the selected window.
13091
13092 * window.c (unshow_buffer): Don't set pt in selected window's buffer.
13093
13094 * xdisp.c (decode_mode_spec): Don't truncate buffer or file name.
13095
13096 * editfns.c (Finsert_buffer_substring): Don't fail to set beg, end.
13097
13098 * keyboard.c (command_loop_level): New variable.
13099 Used in place of RecurseDepth, but different meaning.
13100 (recursive_edit_1): New function.
13101 (Frecursive_edit): Call it.
13102 * minibuf.c (read_minibuf): Call recursive_edit_1.
13103 * xdisp.c (RecurseDepth): Variable deleted.
13104 display_minibuffer_message renamed echo_area_display.
13105
13106 * print.c: Include dispextern.h.
13107 (printchar, strout): Use message_buf.
13108
13109 * scroll.c (CalcIDCosts): Dynamically allocate ILcost, etc.
13110 (ILcost, DLcost, ILncost, DLncost): Now pointers.
13111 (do_scrolling): Use alloca for queue.
13112
13113 * term.c (term_init): selected_screen as arg to calculate_costs.
13114 (calculate_costs):
13115 Dynamically allocate chars_wasted, copybuf, DC_ICcost.
13116 Set RPov based on actual width.
13117 (chars_wasted, copybuf, DC_ICcost): Now pointers.
13118
13119 * xterm.c (x_term_init): Don't set dont_calculate_costs anymore.
13120
13121 1990-06-02 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13122
13123 * term.c (calculate_ins_del_char_costs, string_cost_one_line):
13124 Made static.
13125
13126 * dispnew.c: Declare scrolling_1;
13127
13128 * scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): Renamed
13129 calculate_ins_del_char_costs, ins_del_costs, and line_ins_del.
13130 CalcIDCosts1 and CalcLID also renamed.
13131 (calculate_scrolling): Now void.
13132
13133 * Global renaming: bf_modified -> MODIFF. CharAt -> CHAR_AT_POSITION.
13134 BufferSafe{Floor,Ceiling} -> BUFFER_{FLOOR,CEILING}_OF.
13135 SetPoint -> SET_PT.
13136
13137 * xterm.c (x_term_init): Don't CalcIDCosts here anymore.
13138
13139 1990-06-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13140
13141 * print.c: Include dispextern.h.
13142 (printchar, strout): Use message_buf.
13143
13144 * sysdep.c (get_screen_size): Don't use MscreenWidth, MscreenLenght.
13145 * term.c: Likewise.
13146
13147 * scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): These now take a
13148 screen argument.
13149 (CalcIDCosts): Dynamically allocate ILcost, etc.
13150 (ILcost, DLcost, ILncost, DLncost): Now pointers.
13151 (do_scrolling): Use alloca for queue.
13152
13153 * dispnew.c (remake_screen_structures): Allocate message_buf.
13154 Don't use MscreenWidth, MscreenLenght.
13155
13156 * xdisp.c: bf_cur replaced with current_buffer.
13157 Calls to SetBfx deleted.
13158 message_buf is now char *.
13159 (message): Use SCREEN_WIDTH macro as limit for doprnt.
13160
13161 * indent.c (current_column): Detect special case when point == BEGV.
13162
13163 * buffer.h (struct buffer_text): Component modified renamed to
13164 modiff. All refs changed to macros below.
13165 (MODIFF, BUF_MODIFF): New macros.
13166 Macro SetBfx removed.
13167 Macro SetPoint renamed SET_PT.
13168
13169 * fileio.c (Fexpand_file_name): Simplified.
13170
13171 1990-06-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13172
13173 * dired.c: Doc fix.
13174
13175 1990-05-31 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13176
13177 * search.c (Fsearch_forward): Docstring fix.
13178
13179 1990-05-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13180
13181 * dired.c: Comment added.
13182
13183 1990-05-31 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13184
13185 * process.c (Fprocess_connection): Return the type of a process
13186 object.
13187 (syms_of_process): Initialize pty_process and stream_process.
13188 Declare Fprocess_type.
13189 * process.h New element type to struct Lisp_Process.
13190
13191 * syntax.c (scan_sexps_forward): Initialize curlevel->last to -1.
13192
13193 1990-05-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13194
13195 * fileio.c (Finsert_file_contents): Use new variable how_much to
13196 hold read result.
13197
13198 1990-05-24 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13199
13200 * lread.c (read_char_exclusive): New subr.
13201
13202 1990-05-24 David Lawrence (tale at pogo.ai.mit.edu)
13203
13204 * fileio.c (file_executable_p): New function.
13205
13206 1990-05-23 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13207
13208 * insdel.c (make_gap): Only set BEG_ADDR if BUFFER_REALLOC was
13209 successful.
13210
13211 * editfns.c (syms_of_editfns): DEFVAR the new variables.
13212
13213 * eval.c (Finteractive_p): Don't skip the first frame if the
13214 function was compiled.
13215
13216 * print.c (print): Use ... only for conses, and instead of normal
13217 print.
13218
13219 1990-05-22 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13220
13221 * Renamed meta_flag meta_key.
13222
13223 * termopts.h: Comment changes.
13224
13225 1990-05-20 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13226
13227 * buffer.h: upcase_table and downcase_table are now Lisp_Objects.
13228 * alloc.c (mark_object, gc_sweep): Related changes.
13229 * casetab.c: Ditto.
13230
13231 1990-05-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13232
13233 * minibuf.c (Fall_completions): Protect STRING from gc.
13234 Copy ALIST to TAIL to protect it.
13235
13236 * paths.h-dist: Doc fix.
13237
13238 1990-05-17 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13239
13240 * search.c (Flooking_at, search_buffer): Use new accessors.
13241 * indent.c (Fcurrent_column): Likewise.
13242 * minibuf.c (read_minibuf): Likewise.
13243 * regex.c (re_match_2): Use PTR_CHAR_POS.
13244 * editfns.c (Fbuffer_size, Fnarrow_to_region, Fbuffer_substring):
13245 (Fbuffer_string, Finsert_buffer_substring): Likewise.
13246 (save_restriction_restore): Likewise.
13247 * dispnew.c (direct_output_for_insert): Likewise.
13248 * fileio.c (Fwrite_region, Finsert_file_contents): Likewise.
13249 (Fdo_auto_save): Likewise.
13250 * insdel.c (move_gap, gap_left, gap_right, make_gap): Likewise.
13251 (InsCStr, del_range, modify_region): Likewise.
13252 * process.c (Fprocess_send_region): Likewise.
13253 * xdisp.c (try_window, try_window_id, display_text_line): Likewise.
13254 (redisplay): Likewise.
13255 * buffer.c (list_buffers_1): Likewise.
13256 * marker.c (marker_position, Fset_marker, set_marker_restricted):
13257 (Fmarker_position): Likewise.
13258 * window.c (unshow_buffer, Fset_window_configuration): Likewise.
13259 (Fset_window_buffer): Likewise.
13260
13261 * editfns.c (save_restriction_restore): Use a macro to alter point.
13262
13263 * lread.c (readchar): Use new accessors, and avoid knowing about
13264 the text field of a buffer.
13265 * window.c (Fpos_visible_in_window_p): Likewise.
13266
13267 * buffer.h (struct buffer): Make the syntax table a Lisp object.
13268 * alloc.c (mark_buffer): No need to treat it specially.
13269 * syntax.c (Fsyntax_table, Fset_syntax_table, Fdescribe_syntax):
13270 (Fmodify_syntax_entry): Adjust for this change.
13271 * buffer.c (reset_buffer_local_variables): Need not be special.
13272 (init_buffer_once): Make this slot a defaulted local variable.
13273 * syntax.h: Adjust macros for this change.
13274 (Vstandard_syntax_table): Define as macro, in buffer_defaults.
13275 * syntax.c (syms_of_syntax): Don't staticpro it here.
13276 (Fset_syntax_table): Set the flag in local_var_flags.
13277
13278 * buffer.h (struct text): Represent the buffer dimensions
13279 with new slots, memory, begv, pt, gpt, zv, z and gap_size.
13280 (BEGV, etc.): Use new slots.
13281 (CharAt): Likewise.
13282 (BufferSafeCeiling, BufferSafeFloor): Use new slots; fix old bugs.
13283 (bf_p1, bf_s1, etc.): Old macros deleted.
13284
13285 * buffer.c (Fget_buffer_create): Set up memory and new slots.
13286 (Fkill_buffer): Likewise.
13287
13288 * insdel.c (move_gap, gap_left, gap_right, make_gap): Update new slots.
13289 (del_range, InsCStr): Likewise.
13290 * fileio.c (Finsert_file_contents): Likewise.
13291 * window.c (temp_output_buffer_show): Likewise.
13292 * xdisp.c (decode_mode_spec, try_window_id): Likewise.
13293
13294 * insdel.c (make_gap): Complete rewrite. Arg is amount of new gap
13295 to create. All calls changed.
13296 (gap_left): New argument NEWGAP.
13297
13298 * buffer.c (Fset_buffer): Check for deleted buffer.
13299 (SetBfp): Don't check.
13300 (SetBfp, Frename_buffer): Local cleanups.
13301 * print.c (PRINTPREPARE): Use Fset_buffer.
13302
13303 * buffer.c (SetBfp): Don't bother with selected window or its point.
13304 * window.c (Fselect_window): Always set pointm of old window.
13305
13306 * editfns.c: Eliminate all use of DEFSIMPLE and DEFPRED.
13307 * indent.c, keyboard.c: Ditto.
13308
13309 * search.c (skip_chars): Eliminate PointLeft and PointRight.
13310 * cmds.c (SelfInsert): Likewise.
13311
13312 1990-05-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13313
13314 * xdisp.c (try_window): No return value.
13315 Fix calls to try_window.
13316 * Global variable RedoModes is now redraw_mode_line.
13317
13318 1990-05-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13319
13320 * keymap.c (Fdefine_key, Flookup_key): Local cleanups.
13321
13322 * sysdep.c (sys_suspend): Use save_signal_handlers and
13323 restore_signal_handlers to save and restore signal state.
13324
13325 * indent.c (Findent_to): Merge guts of indentation into here.
13326 (position_indentation): Scan with a pointer, for speed.
13327
13328 * casefiddle.c (operate_on_word): Just return the other end.
13329 (Fupcase_word, Fdowncase_word, Fcapitalize_word):
13330 Pass that value to casify_region.
13331
13332 * editfns.c (init_editfns): Store system and user names as
13333 strings to avoid arbitrary limits.
13334
13335 * keymap.c (describe_vector, describe_alist): Make elt_prefix
13336 and elt_describer responsible for indentation and newlines.
13337 Local cleanups.
13338 (describe_command): Do indentation and newline.
13339 (describe_map): Add space to end of prefix.
13340 * syntax.c (describe_syntax): Do indentation and newline.
13341
13342 1990-05-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13343
13344 * process.c (create_process) [not USG]: Put subproc in pgrp 0.
13345
13346 1990-05-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13347
13348 * dispextern.h: new struct screen_glyfs replaces struct
13349 display_line.
13350 * screen.c: new screen elements current_glyfs, desired_glyfs, and
13351 temp_glyfs.
13352 * dispnew.c: (make_screen_glyfs, free_screen_glyfs,
13353 remake_screen_glyfs): New functions.
13354 (make_display_lines, new_display_line, return_display_line):
13355 Functions deleted.
13356 (change_screen_size, init_display): Use the new functions.
13357 (cancel_line, clear_screen_records, get_display_line):
13358 Rewritten for new data structures. get_display_line no longer
13359 returns anything.
13360 (preserve_other_columns, preserve_my_columns): Likewise.
13361 (cancel_my_columns, direct_output*): Likewise.
13362 (update_screen, update_line, quit_error_check, scrolling): Likewise.
13363 (scroll_screen_lines): Likewise.
13364 (rotate_vector, safe_bcopy): New subroutines.
13365 (line_hash_code, line_draw_cost): Cleaned up.
13366 Args are different, and hash computation too.
13367 (update_screen): Rearrange buffer-emptying code.
13368 * xdisp.c: (display_minibuf_message, redisplay): Rewritten for new
13369 structures.
13370 (display_text_line, display_mode_line): Likewise.
13371 (display_mode_element, display_string): Likewise.
13372 (decode_mode_spec): Local cleanups.
13373 * scroll.c (do_scrolling): Rewritten for new data structures.
13374 * xterm.c (XTflash): Use this new structure.
13375
13376 * editfns.c (in_accessible_range): New function.
13377 (Fgoto_char, save_restriction_restore): Use it.
13378 (save_excursion_save, Fcurrent_time_string): Local cleanups.
13379
13380 * process.c (Fprocess_kill_without_query): New arg; new return value.
13381 (count_active_processes): Function deleted.
13382
13383 * fileio.c (Finsert_file, Fwrite_region): Local cleanups.
13384
13385 * fns.c (Fsubstring): Local cleanup.
13386
13387 * keyboard.c (echo_prompt, echo_char, echo_dash, echo): New functions.
13388 (cancel_echoing): Likewise.
13389 (immediate_echo, echoptr): New variables.
13390 (command_loop_1, request_echo, get_char, read_key_sequence):
13391 (set_waiting_for_input, interrupt_signal): Related changes.
13392 (get_char): No more declaration of request_echo. Local cleanups.
13393
13394 (this_command_key...): New variables.
13395 (Fexecute_extended_command, Fthis_command_keys): Related changes.
13396 (init_keyboard, get_char): Likewise.
13397
13398 * macros.c (Fstart_kbd_macro): Local cleanup.
13399
13400 * minibuf.c (read_minibuf): No more delcaration of
13401 Frestore_screen_configuration.
13402
13403 * search.c (Fregexp_quote): Simplified.
13404
13405 1990-05-08 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13406
13407 * process.c (Fopen_network_stream): Also handle numeric inet
13408 addresses.
13409
13410 1990-05-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13411
13412 * alloca.c: #ifdef __STDC__ rather than X3J11/
13413
13414 1990-05-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13415
13416 * fileio.c (Fmake_symbolic_link): Delete old file if permitted.
13417
13418 1990-05-02 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13419
13420 * data.c (Fstring_to_int): Delete disabled feature
13421 of accepting `yes' and `no'.
13422
13423 * xdisp.c (redisplay, redisplay_preserving_echo_area):
13424 Two functions replace DoDsp. All callers changed.
13425 (redisplay, redisplay_window): Eliminate `inhibit_hairy_id'.
13426 (redisplay_window): No return value. Local cleanups.
13427
13428 * alloc.c (Fmake_marker): Delete `modified' field.
13429 * insdel.c (adjust_markers): Likewise.
13430
13431 * abbrev.c (Fdefine_mode_abbrev): Clean up error message.
13432
13433 1990-05-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13434
13435 * xfns.c (Fx_draw_rectangle, Fx_erase_rectangle): Simplified.
13436
13437 * xterm.c (x_display_cursor): Don't check s->phys_x when drawing
13438 cursor.
13439
13440 * undo.c: New version.
13441 * undo.h: No longer exists.
13442 * alloc.c (Fgarbage_collect): Call truncate_undo_list.
13443 (syms_of_alloc): Define vars undo-threshold and undo-high-threshold.
13444 * buffer.c (Fget_buffer_create): Set undo_list to t or nil.
13445 (Fbuffer_disable_undo, Fbuffer_enable_undo): Likewise.
13446 (Fkill_buffer): Likewise.
13447 (init_buffer_once): Set up local variable buffer-undo-list.
13448 (syms_of_buffer): Likewise.
13449 * buffer.h: New element undo_list in struct buffer.
13450 * fileio.c (Finsert_file_contents): Store nil in undo_list.
13451
13452 * buffer.c: Variable bf_text deleted.
13453 (Fkill_buffer, SetBfp): Delete code that worked with it.
13454 (SetBfx): Now a macro in buffer.h
13455 * editfns.c (Fwiden, Fnarrow_to_region): Related changes.
13456 (save_restriction_save, save_restriction_restore): Likewise.
13457 (Finsert_buffer_substring): Likewise.
13458 * fileio.c (Fdo_auto_save): Likewise.
13459 * insdel.c (make_gap): Likewise.
13460 * lread.c (readchar): Likewise.
13461 * marker.c (Fmarker_position, marker_position): Likewise.
13462 (Fset_marker): Likewise.
13463 * xdisp.c (DoDsp): Likewise.
13464
13465 1990-04-30 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13466
13467 * buffer.h: New macro R_ALLOC_SET_BUFFER for declaring all the
13468 text pointers of a buffer to the relocating allocator.
13469 * buffer.c (Fbury_buffer, SetBfx, SetBfp): Use the macro.
13470 * editfns.c (Finsert_buffer_substring): ditto.
13471 * fileio.c (Fdo_auto_save): ditto.
13472 * insdel.c (make_gap): ditto.
13473 * xfns.c (adjust_scrollbars): Don't set bf_cur->text.
13474
13475 1990-04-26 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13476
13477 * minibuf.c: Declare active_screen struct screen *, not
13478 Lisp_Screen *.
13479
13480 1990-04-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13481
13482 * xterm.c (XTupdate_end): Only x_display_cursor if s is x_input_screen.
13483
13484 1990-04-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13485
13486 * fns.c (Fy_or_n_p): If a C-g comes in and does not quit, quit by hand.
13487
13488 * buffer.c (Frename_buffer): Allow renaming to same name it has.
13489
13490 1990-04-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13491
13492 * xfns.c (Fx_open_connection): Attach xrdb to x_current_display.
13493
13494 1990-04-17 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13495
13496 * xterm.c (dumpborder): Now only used for X10.
13497 (highlight, unhighlight): New functions for X11.
13498
13499 1990-04-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13500
13501 * cm.c (Wcm_init): Return -2 if screen size not specified.
13502 * term.c (term_init): Special error message for that case.
13503
13504 1990-04-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13505
13506 * s-sunos4.h, s-sunos4shr.h (SYSTEM_MALLOC): Define it.
13507
13508 1990-04-15 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13509
13510 * xfns.c (Fx_get_resource): Concatenate invocation_name before
13511 the resource tag.
13512 (Fx_create_screen): Use the latest resource id's.
13513
13514 1990-04-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13515
13516 * xfns.c (Fx_get_resource): New subr.
13517 (Fx_open_connection): Call x_load_resources. New parameter
13518 xrm_string.
13519 * xrdb.c: New file for doing resource manager stuff.
13520
13521 * xscrollbar.h: New file for scrollbar bitmaps.
13522
13523 * xselect.h: New file for the X selection stuff.
13524
13525 * ymakefile: Take note of these new files.
13526
13527 1990-04-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13528
13529 * xterm.c (x_term_init): Use MAXPATHLEN.
13530
13531 1990-04-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13532
13533 * buffer.c (list_buffers_1): Get filename from list-buffers-directory.
13534
13535 1990-04-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13536
13537 * screen.c (coordinates_in_window): Return -1 if in modeline of
13538 window.
13539 (Fcoordinates_in_window_p): Return Qt if in modeline of window.
13540 (Flocate_window_from_coordinates): Use next_screen_window if
13541 MULTI_WINDOW is defined.
13542
13543 1990-04-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13544
13545 * xterm.c (construct_mouse_event): Deal with the motion events
13546 first. Only grab the mouse when in the scrollbar.
13547
13548 1990-04-04 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13549
13550 * screen.c (coordinates_in_window): Include mode line as part of
13551 window.
13552
13553 * xterm.c (XTread_socket): Initialize nbytes to 0.
13554 (x_display_cursor): Don't draw if screen not selected.
13555
13556 * xdisp.c (DoDsp): Additional checks for screen being visible.
13557
13558 1990-04-03 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13559
13560 * editfns.c (Fmessage): If there is a global minbuffer screen,
13561 raise it before displaying the message.
13562
13563 * window.c (window_loop): Parameter SCREENS now affects which
13564 screen is scanned for windows. All subrs calling window_loop must
13565 pass a Lisp_Object here now.
13566
13567 1990-04-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13568
13569 * window.c (window_loop): Additional parameter mini to control
13570 minibuffer selection or not.
13571 (Fget_lru_window):
13572 (Fget_largest_window):
13573 (Fget_buffer_window):
13574 (Fdelete_other_windows):
13575 (Fdelete_windows_on):
13576 (Freplace_buffer_in_windows): Use that parameter.
13577
13578 1990-03-29 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13579
13580 * screen.c (Fselect_screen): Raise the selected screen.
13581
13582 * window.c (Fget_buffer_window):
13583 (Fget_largest_window):
13584 (Fget_lru_window): New parameter all_screens.
13585 (Fdisplay_buffer): Use the new param in Fget_lru_window,
13586 Fget_buffer_window, and Fget_largest_window.
13587 (Fscroll_other_window): Use new param in Fget_buffer_window.
13588 * buffer.c (Fother_buffer): ditto.
13589
13590 * xterm.c (x_display_cursor): Always draw the cursor if ON is
13591 true. Don't check if the screen S is selected or equal to
13592 mouse-screen.
13593
13594 * xfns.c (Fx_track_pointer): Don't turn off cursor, just call
13595 x_display_cursor.
13596
13597 1990-03-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13598
13599 * data.c (Fmake_local_variable): Give the variable value nil if
13600 unbound.
13601
13602 * window.c (Fnext_window, Fprevious_window): For MULTI_SCREEN,
13603 check if Vglobal_minibuffer_screen is non-nil and maybe call
13604 next_screen.
13605
13606 * screen.c (Fscreen_selected_window):
13607 (Fscreen_root_window): If screen is nil, use selected-screen.
13608
13609 1990-03-27 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13610
13611 * xterm.c (XTread_socket): SET_SCREEN_GARBAGED which returning
13612 symbol which causes DoDsp to be invoked.
13613 * keyboard.c (read_key_sequence): Don't SET_SCREEN_GARBAGED here.
13614
13615 * screen.h: New macro SET_SCREEN_GARBAGED.
13616
13617 * xfns.c:
13618 * window.c:
13619 * sysdep.c:
13620 * keyboard.c:
13621 * dispnew.c: Use the new macro.
13622
13623 1990-03-25 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13624
13625 * xfns.c (Fx_own_selection): Only take one argument, string.
13626
13627 1990-03-24 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13628
13629 * xfns.c (select_visual): Catch bullshit machines whose hardware
13630 doesn't support the X server pixel depth by looking at colormap_size.
13631 (x_decode_color): Use x_screen_planes to check for color.
13632
13633 1990-03-23 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13634
13635 * xterm.c (x_display_cursor): Try using vertical bar cursor.
13636 (clear_cursor): Call x_display_cursor for X11.
13637
13638 * xfns.c: Zotzed Vx_pointer_mask.
13639 (Fx_track_pointer): Call x_display_cursor if we just
13640 wasted the cursor. Break out of loop if no display line.
13641 Use mode line cursor if we're there.
13642 (x_y_pos): New function.
13643 (x_set_font): Dont' set x_font_{width,height}, they are gone.
13644
13645 1990-03-22 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13646
13647 * xfns.c (Fx_track_pointer): Check that s == selected_screen each
13648 time through loop. If event is nil, read mouse position.
13649
13650 * keyboard.c (get_char): DoDsp only if selected_screen visible.
13651
13652 * xterm.c (XTread_socket): Mark screen as visible only on expose
13653 event.
13654
13655 * emacs.c (main): Check here for "-d" option and set display_arg.
13656 * dispnew.c (init_display): Set Vwindow_system, etc. if display_arg.
13657
13658 1990-03-21 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13659
13660 * keyboard.c (read_key_sequence): Don't DoDsp if the screen was
13661 just unmapped.
13662 (command_loop_1): Call the mouse motion handler before calling
13663 read_key_sequence.
13664 (interrupt_signal): Fixed typo checking screen type.
13665
13666 * xfns.c (Fx_track_mouse): Don't crash because of null display
13667 line. Don't set obj til call to get_char.
13668
13669 * xterm.c (x_term_init): Disable SIGWINCH here.
13670
13671 * fns.c (Fmember): New subr.
13672
13673 * dispnew.c (init_display): Don't check env variable DISPLAY to
13674 set Vwindow_system. Now done in startup.el.
13675
13676 * emacs.c: Removed variables xargc, xargv.
13677
13678 1990-03-20 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13679
13680 * xfns.c (Fx_track_pointer): Go faster.
13681
13682 * screen.h: New macro SCREENP.
13683
13684 * window.c: (Fminibuffer_window): Rewritten.
13685
13686 1990-03-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13687
13688 * sysdep.c (perror): Control with HAVE_PERROR as well as HPUX.
13689 * s-hpux.h (HAVE_PERROR): Define it.
13690
13691 1990-03-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13692
13693 * keyboard.c (command_loop_1): Restructured handling of X event
13694 things.
13695 (read_key_sequence): Handle new `unmapped-screen' symbol with new
13696 Vunmap_screen_hook.
13697
13698 * xterm.c (XTread_socket): Return unmapped-screen symbol if the
13699 window for UnmapNotify events.
13700
13701 * lread.c (Feval_region): GCPRO opoint.
13702
13703 1990-03-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13704
13705 * keyboard.c (command_loop_1): Call mouse-motion handler with
13706 argument. Also, don't call undo-boundary.
13707
13708 * process.c (create_process): Set the process group for BSD at
13709 the same time as for USG.
13710
13711 1990-03-14 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13712
13713 * xterm.c (x_new_selected_screen): Set x_input_screen here.
13714
13715 1990-03-11 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13716
13717 * xterm.c: Vx_mouse_grabbed now Vmouse_grabbed.
13718 (XTread_socket): Generate exited-window symbols on LeaveNotify
13719 even if screen is focused.
13720
13721 * xfns.c: Vx_mouse_grabbed now Vmouse_grabbed.
13722 (outline_region): Now static.
13723 (Fx_track_pointer): Check x_mouse_screen == s in loop.
13724
13725 1990-03-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13726
13727 * xterm.c (encode_mouse_button): Correctly get the button from
13728 Motion events.
13729
13730 * xfns.c (x11_encode_mouse_button): Nuked.
13731 (encode_mouse_button, Fx_mouse_events, Fx_get_mouse_event): #if 0'd.
13732
13733 * keyboard.c (get_char): Re-set obj if we've keyboard-translated
13734 c.
13735
13736 1990-03-08 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13737
13738 * xterm.c x_focus_screen no longer static.
13739 (x_error_handler): Use XDefaultIOError.
13740
13741 * screen.c (Ffocus_screen): New subr, removed Fscreen_has_focus.
13742 (Fselect_screen): New, optional parameter no_enter.
13743 (Frestore_screen_configuration):
13744 (Fdelete_screen): Pass second parm Qnil to Fselect_screen.
13745
13746 * window.c (Fdisplay_buffer, Fset_window_configuration): Pass
13747 second parm Qnil to Fselect_screen.
13748
13749 1990-03-07 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13750
13751 * screen.c (Fscreen_has_focus): New subr.
13752 (Fselect_screen): Use x_focus_on_screen to physically select the
13753 screen.
13754
13755 1990-03-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13756
13757 * xfns.c (x_set_mouse_position): Moved to xterm.c.
13758
13759 * fileio.c (Fremove_directory): New subr.
13760
13761 * screen.c (Frelease_focused_screen): Just call x_unfocus_screen.
13762
13763 * xterm.c (XTread_socket): On FocusOut, if s isn't mouse screen,
13764 return exited-window. On LeaveNotify, simplify if expression for
13765 dumpborder. Reworked FocusIn/FocusOut events.
13766 (x_unfocus_screen): Check that screen is x_focus_screen.
13767 (x_set_mouse_position): Moved from xfns.c. Use new macro
13768 XWarpPointer.
13769 * xterm.h: New macro XWarpPointer.
13770
13771 * buffer.c: Replaced Fbuffer_flush_undo with
13772 Fbuffer_disable_undo.
13773 * process.c: Ditto.
13774
13775 1990-03-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13776
13777 * xterm.c (XTupdate_end): Use parameter s rather than
13778 updating_screen.
13779 (XTread_socket): On EnterNotify, don't check s != focus_screen
13780 before selecting. On Focus In/Out don't set/reset mouse_screen.
13781
13782 1990-03-04 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13783
13784 * eval.c If using X windows, include xterm.h.
13785 (error): TOTALLY_UNBLOCK_INPUT if using X.
13786
13787 * xterm.h: BLOCK_INPUT, UNBLOCK_INPUT: No signal stuff, just inc
13788 and decrement x_input_blocked.
13789
13790 * xfns.c (adjust_scrollbars): Don't BLOCK_INPUT.
13791 (x_set_font): Check result of x_new_font. Call error if nonzero.
13792 (x_set_icon_type): Check result of x_*_icon, maybe call error.
13793
13794 * screen.c (Fdeiconify_screen): Use x_make_screen_visible rather
13795 than x_deiconify_screen. Return screen.
13796 (Fmake_screen_visible): Don't raise it here. Return screen.
13797
13798 * xterm.c (XTwrite_glyfs): Don't show cursor if screen is
13799 global-minibuffer-screen.
13800 (x_new_selected_screen): Do dumpborder and check auto-raise here,
13801 rather than XEvent switch.
13802 (x_deiconify_screen): No longer exists.
13803 (x_do_pending_expose, x_clear_cursor):
13804 (x_invert_screen, scraplines, stufflines, x_bitmap_icon):
13805 (x_text_icon, x_new_font): Don't BLOCK_INPUT.
13806 (XTins_del_lines): BLOCK_INPUT here.
13807 (XTupdate_end): Don't turn on cursor if minibuffer-screen.
13808 (XTread_socket): On MotionNotify, just that screen is selected before
13809 processing.
13810 (XTtopos): If updating_screen, just set x and y, don't flush.
13811 (x_bitmap_icon):
13812 (x_text_icon):
13813 (x_new_font): Return 1 if failed, don't call error.
13814 (x_make_screen_visible): Raise the screen as well.
13815
13816 1990-03-02 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13817
13818 * screen.c (Frelease_focused_screen): Just check that screen is
13819 selected.
13820
13821 1990-02-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13822
13823 * screen.c (Fselect_screen_focused, Frelease_focused_screen): New
13824 subrs.
13825 * xterm.c (x_focus_on_screen, x_unfocus_screen): New procedures
13826 to implement focusing.
13827
13828 1990-02-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13829
13830 * casefiddle.c: Doc fix.
13831
13832 1990-02-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13833
13834 * xterm.h: Redefined BLOCK_INPUT and UNBLOCK_INPUT to use sigblock
13835 and sigsetmask if available.
13836 * xterm.c: Declare BLOCK_INPUT_mask if have SIGIO and FIONREAD.
13837
13838 1990-02-27 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13839
13840 * minibuf.c (Fread_from_minibuffer): Initialize pos to 0.
13841
13842 1990-02-25 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13843
13844 * keyboard.c (read_key_sequence): Handle mapped-screen event
13845 symbol by calling new hook Vmap_screen_hook.
13846
13847 * xterm.c (x_make_screen_invisible): Use the new Xlib function
13848 XWidthdrawWindow.
13849 (x_iconify_screen): Use the new Xlib function XIconifyWindow.
13850 (XTread_socket): Return mapped-screen symbol to signal
13851 mapped-screen events.
13852
13853 1990-02-23 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13854
13855 * keyboard.c (command_loop_1): Check the character for width 1
13856 before doing direct_output_forward, as well as the cursor position
13857 on the screen.
13858
13859 * xdisp.c (DoDsp): Use redisplay_windows rather than
13860 redisplay_all_windows, which was removed.
13861
13862 1990-02-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13863
13864 * unexencap.c: New file, waiting for papers.
13865
13866 1990-02-22 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13867
13868 * keyboard.c: Removed much debugging stuff.
13869 * xterm.c: Removed much debugging stuff.
13870 (x_error_handler): For X11, if caught BadAlloc error while
13871 converting selection (note new variable x_converting_selection),
13872 just set new variable x_selection_alloc_error.
13873
13874 * xfns.c: Massive changes for crufty selection processing details.
13875 New X atoms: Xatom_clipboard, Xatom_delete, Xatom_insert_selection,
13876 Xatom_insert_property, Xatom_pair.
13877
13878 1990-02-21 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13879
13880 * keyboard.c (kbd_buffer_store_char): Check NULL objects.
13881
13882 * xterm.c (XTread_socket): Correctly advance bufp for all KeyPress
13883 events.
13884
13885 1990-02-20 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13886
13887 * keyboard.c (kbd_buffer_get_char): Use KBD_BUFFER_SIZE rather
13888 than sizeof kbd_buffer.
13889 (read_key_sequence): Upon redraw-display symbol, set
13890 screen_garbaged.
13891
13892 * xterm.c (XTread_socket): On EnterNotify events, make sure to
13893 return mouse event for both scrollbars and windows.
13894
13895 1990-02-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13896
13897 * casefiddle.c (casify_region): Move the new statement.
13898
13899 1990-02-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13900
13901 * casefiddle.c (casify_region): Return if beginning and end same.
13902
13903 1990-02-18 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13904
13905 * keyboard.c (kbd_buffer_store_char): Use KBD_BUFFER_SIZE rather
13906 than sizeof kbd_buffer.
13907
13908 * fns.c (Fy_or_n_p): Only accept ints from get_char.
13909
13910 1990-02-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13911
13912 * minibuf.c (Fread_from_minibuffer): New arg POSITION.
13913
13914 * unexsunos4.c: New file. Waiting for papers.
13915 * s-sunos4shr.h: New file.
13916
13917 * emacs.c (main) [RUN_TIME_REMAP]: Call run_time_remap.
13918
13919 * ymakefile (LD): Let config file override with LD_CMD.
13920
13921 1990-02-14 Joseph Arceneaux (jla at albert.ai.mit.edu)
13922
13923 * keyboard.c (read_avail_input): pass read_socket_hook
13924 KBD_BUFFER_SIZE rather than doing sizeof (buf).
13925
13926 * xterm.c (XTread_socket): Set event.type = MotionNotify when
13927 entering screen or scrollbar to fake motion event.
13928
13929 1990-02-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13930
13931 * window.c (next_screen, prev_screen): moved to screen.c
13932 (Fnext_window): If mini non-nil, count the separate minibuffer
13933 screen.
13934 * screen.c (Fnext_screen): new subr.
13935
13936 1990-02-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13937
13938 * xdisp.c (display_text_line, try_window, try_window_id, DoDsp):
13939 Don't display overlay arrow on more than one line in a window.
13940
13941 1990-02-12 Joseph Arceneaux (jla at albert.ai.mit.edu)
13942
13943 * doprnt.c (doprnt): Expand size of tembuf to 512.
13944
13945 1990-02-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
13946
13947 * minibuf.c (Fread_no_blanks_input): Make second arg optional.
13948
13949 1990-02-09 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13950
13951 * keyboard.c (get_char): Remember to set obj when executing macro.
13952 (read_key_sequence): Handle the exited-scrollbar symbol.
13953 Compare obj, not read_key_sequence_cmd.
13954
13955 * xterm.c (x_make_screen_visible, x_deiconify_screen): Check
13956 window-manager variable.
13957 (x_make_screen_invisible, x_iconify_screen): Don't use new R4
13958 calls (they crash), do it ourselves.
13959 (XTread_socket): Return exited-scrollbar symbol when doing so.
13960
13961 1990-02-08 Joseph Arceneaux (jla at albert.ai.mit.edu)
13962
13963 * xterm.c (construct_mouse_event): Rewritten to do mouse-motion
13964 compression. All mouse processing now done here.
13965 Also, just use nil and t for x-mouse-grabbed. Record buttons
13966 pressed in new variable x_mouse_grabbed. XGrabPointer on button
13967 depression.
13968 * xfns.c (Fx_horizontal_line): use x_mouse_grabbed.
13969
13970 1990-02-07 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13971
13972 * xdisp.c (DoDsp): If only updating selected screen, but there is
13973 a minibuffer screen, update it as well.
13974
13975 1990-02-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13976
13977 * xfns.c (Fx_pixel_width, Fx_pixel_height): New subrs.
13978 * xterm.h New components pixel_width, pixel_height, to x_display.
13979 * xterm.c (XTread_socket): On configure notify, set these components.
13980
13981 * window.c (Fset_window_configuration): Select the screen of the
13982 root window if it's not the selected_screen.
13983 * minibuf.c (read_minibuf): Remove all the screen selection stuff,
13984 now that this is integrated in Fset_window_configuration.
13985
13986 1990-02-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
13987
13988 * screen.h: Declare Vglobal_minibuffer_screen.
13989 * xdisp.c (DoDsp): Set all_windows if using global-minibuffer-screen.
13990
13991 1990-02-03 Joseph Arceneaux (jla at geech)
13992
13993 * window.c (Fset_window_configuration): Make sure to set
13994 window->next to nil for a minibuffer-only screen.
13995
13996 * screen.c (make_minibuffer_screen): Set mini_window->next nil.
13997
13998 1990-02-01 Joseph Arceneaux (jla at albert.ai.mit.edu)
13999
14000 * screen.c (make_screen): Set wants_modeline elt to 1.
14001
14002 * window.c (Fset_window_configuration): Use screen->root_window
14003 as arg to delete_all_subwindows rather than minibuf_window->prev.
14004
14005 * minibuf.c (read_minibuf): Don't unwind with
14006 Frestore_screen_configuration. Save selected_screen if different
14007 than minibuf screen, and re-select it after reading minibuf.
14008 * screen.c: #if 0 Fscreen_configuration,
14009 Frestore_screen_configuration.
14010
14011 1990-02-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14012
14013 * m-ibmps2-aix.h: Undef NEED_SIOCTL.
14014 (SIGN_EXTEND_CHAR): Cast to `signed char'.
14015
14016 1990-01-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
14017
14018 * xfns.c (Fx_track_pointer): rewrote this to loop while there are
14019 mouse events.
14020
14021 * xterm.c (XTread_socket): Return left-window-event symbol upon
14022 LeaveNotify.
14023 * keyboard.c (read_key_sequence): Handle this symbol.
14024
14025 1990-01-27 Joseph Arceneaux (jla at churchy.ai.mit.edu)
14026
14027 * xterm.c (x_display_cursor): Use dumpglyfs with SPACEGLYF for
14028 cursor, as `XFillRectaogle's kill HP-BSD server.
14029
14030 * xterm.h: Added nontext_cursor, modeline_cursor to x_display
14031 structure.
14032 * xfns.c (x_set_mouse_color, Fx_track_pointer): Changes to use
14033 nontext_cursor.
14034
14035 1990-01-25 Joseph Arceneaux (jla at albert.ai.mit.edu)
14036
14037 * xterm.h: Changed the face structure for X11 to handle GCs and
14038 pixmaps.
14039
14040 * xterm.c (XTread_socket): Return a motion event when mouse enters
14041 scrollbar or window.
14042 (x_make_screen_invisible): Use the new X11R4 function XWithdrawWindow.
14043 (x_iconify_screen): Use the X11R4 function XIconfifyWindow.
14044 (dumpglyfs): Use the new face structure.
14045
14046 * xfns.c (install_vertical_scrollbar, install_horizontal_scrollbar):
14047 Accept EnterNotify events. Use XMapSubwindows rather than mapping
14048 each one.
14049 (Fx_set_face_font): New subr for X11 to set face GC.
14050
14051 1990-01-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14052
14053 * dispnew.c (direct_output_for_insert): Give up if buf in 2 windows.
14054
14055 * keyboard.c (command_loop_1):
14056 Dumb bugs disabled special fast display for character motion.
14057
14058 * xdisp.c (DoDsp): For cursor motion within line,
14059 hpos result from compute_motion is relative to window.
14060
14061 1990-01-24 Richard Stallman (rms at albert.ai.mit.edu)
14062
14063 * eval.c (Fmacroexpand): Handle explicit macros ((macro ...) ...).
14064
14065 1990-01-18 Joseph Arceneaux (jla at spiff)
14066
14067 * undo.c (Fundo_more): Fixed typo.
14068
14069 1990-01-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14070
14071 * xdisp.c (display_text_line): When checking HPOS for continuation
14072 line, compensate for w->left.
14073
14074 1990-01-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14075
14076 * dispnew.c [no FIONREAD]: Undefine SIGIO.
14077
14078 * buffer.c (SetBfp): Use XTYPE to test for no selected window yet.
14079
14080 * editfns.c, dispnew.c, fileio.c, process.c, sysdep.c, xterm.c:
14081 Uniformly let NEED_TIME_H control use of time.h instead of sys/time.h.
14082
14083 * xterm.h (TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT): Don't use
14084 SIGIO if no FIONREAD.
14085
14086 1990-01-15 Joseph Arceneaux (jla at spiff)
14087
14088 * xfns.c (x_set_mouse_color): Set non-text pointer shape with new
14089 variable Vx_nontext_pointer_shape.
14090
14091 * keyboard.c: More checks for evil bug which trashes kbd_*_ptr.
14092
14093 * m/hp300bsd.h: Try using BSD load average stuff.
14094
14095 1990-01-11 Joseph Arceneaux (jla at spiff)
14096
14097 * xfns.c (x_draw_pixmap): New routine.
14098
14099 1990-01-10 Jim Kingdon (kingdon at pogo)
14100
14101 * m/hp300bsd.h: New file
14102
14103 1990-01-08 Joseph Arceneaux (jla at spiff)
14104
14105 * xfns.c (Fx_window_id): New subr.
14106
14107 * screen.c (make_screen): Set wants_modeline elt to mini_p.
14108 If mini_p 0, then set root_window->next to nil.
14109
14110 1990-01-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14111
14112 * editfns.c (Fchar_after): Set N after coercing marker.
14113
14114 1990-01-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14115
14116 * buffer.c (Fkill_all_local_variables): Force mode line update.
14117
14118 1990-01-05 Joseph Arceneaux (jla at spiff)
14119
14120 * insdel.c: Declare Vfirst_change_function.
14121
14122 * keyboard.c (read_key_sequence): Function keys are now lisp symbols.
14123 (kbd_buffer_store_char): Abort if store pointer past
14124 buffer. Temproarry; This shouldn't be able to happen.
14125 (read_key_sequence): #ifdef HAVE_X_WINDOWS code
14126 which handles complex objects.
14127 (command_loop_1): Check not termcap screen before
14128 processing non-char input.
14129 (kbd_{store,fetch}_char): More debugging checks.
14130
14131 * screen.c (make_screen): Set root_window height to 9 if mini_p.
14132 (make_minibuffer_screen): Set the mini window's next,
14133 prev, and screen elements.
14134
14135 * xterm.c (x_func_key_to_sym): New function, uses new variable
14136 func_key_syms.
14137 (XTread_socket): Use this in KeyPress event for function keys.
14138 (XTflash): Draw solid rectangle in middle of screen.
14139 (x_set_offset): Set the size hints as well when doing
14140 this.
14141 (XTflash): Just dumpglyfs instead of redrawing the
14142 screen after flashing the rectangle.
14143
14144 * lread.c: (syms_of_lread): defsubr Fread_event.
14145
14146 1990-01-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14147
14148 * buffer.h, buffer.c (Vfirst_change_function): New Lisp variable.
14149 * insdel.c (signal_before_change): Call that function.
14150
14151 * keyboard.c (cmd_error): Don't crash if TAIL is nil.
14152
14153 1989-12-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14154
14155 * minibuf.c: Doc fixes.
14156
14157 1989-12-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14158
14159 * process.c (create_process): Unhold SIGCHLD in the child.
14160
14161 1989-12-27 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14162
14163 * process.c (create_process): Treat HPUX like BSD for sigsetmask.
14164
14165 1989-12-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14166
14167 * fns.c (Fmapconcat): Gcpro SEP around mapcar1.
14168
14169 1989-12-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14170
14171 * dispnew.c (get_display_line): Don't touch X data if not using X.
14172
14173 * syntax.c (Fscan_sexps): Fix fatal documentation typo.
14174
14175 * lread.c: Include commands.h.
14176
14177 * xterm.c (construct_mouse_event): Delete unreached return at end.
14178 (x_wm_set_size_hint): #if 0 some broken code.
14179
14180 * cmds.c (SelfInsert): Set HAIRY if have before or after change hooks.
14181 * editfns.c (Fsubst_char_in_region, Ftranslate_region):
14182 Call signal_after_change for chars changed.
14183 * undo.c (Fundo_more): When undoing Uchange, do signal_after_change.
14184 * casefiddle.c (casify_region): Do modify_region before the change,
14185 signal_after_change afterward.
14186
14187 * insdel.c (prepare_to_modify_buffer): Call signal_before_change.
14188 (del_range, InsCStr): Call signal_after_change.
14189 (signal_after_change, signal_before_change): New functions.
14190
14191 1989-12-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14192
14193 * dispnew.c (init_display) [VMS]: Downcase terminal type.
14194
14195 1989-12-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14196
14197 * sysdep.c: Use NEED_SIOCTL to control use of sioctl.h.
14198 * m/m-mips.h, m/m-iris4d.h: Define that.
14199
14200 * m/m-ibmps2-aix.h (NEED_SIOCTL, HAVE_UNION_WAIT, HAVE_PTYS): Define.
14201 (HAVE_SYSVIPC, HAVE_SOCKETS, X_DEFAULT_FONT): Define.
14202 (sigsetmask): #undef this.
14203
14204 1989-12-15 Joseph Arceoeaux (jla at spiff)
14205
14206 * lread.c (Fread_char): Catch error if read non-char.
14207 (Fread_event): New subr. Return any input object.
14208
14209 1989-12-14 Joseph Arceneaux (jla at spiff)
14210
14211 * xfns.c: New variable Vx_no_window_manager.
14212 (Fx_track_pointer): If bufp < 0, abort.
14213
14214 * xterm.c (XTread_socket): When leaving window, set x_mouse_x and
14215 x_mouse_y to -1.
14216
14217 1989-12-13 Joseph Arceneaux (jla at spiff)
14218
14219 * xterm.c (XTread_socket): On ConfigureNotify events, return
14220 "redraw-screen" symbol.
14221 (dumpborder): Only do border stuff if x-no-window-manager non nil.
14222 Also check if there is a tracking rectangle.
14223 (XTupdate_begin): If there is a mouse tracking rectangle, erase
14224 it.
14225 * keyboard.c (read_key_sequence): Return -2 for symbols.
14226 (command_loop_1): DoDsp when 'redraw-screen arrives as input.
14227 For mouse events, call Fexecute_mouse_event with
14228 read_key_sequence_cmd instead of Vmouse_event.
14229
14230 1989-12-08 Joseph Arceneaux (jla at spiff)
14231
14232 * process.c (create_process): For not USG, properly set the
14233 process group.
14234
14235 1989-12-07 Joseph Arceneaux (jla at spiff)
14236
14237 * term.c (topos): Under X Windows, abort if topos_hook not
14238 correct. Temporary.
14239
14240 * xfns.c (Fx_horizontal_line): New subr.
14241
14242 1989-12-05 Joseph Arceneaux (jla at spiff)
14243
14244 * keyboard.c (Fexecute_mouse_event): Don't set Vmouse_window here
14245 for X11.
14246
14247 * xterm.c (construct_mouse_event): Vx_mouse_grabbed now indicates
14248 which keys are depressed.
14249 (construct_mouse_event): Set Vmouse_window here.
14250
14251 1989-12-04 Joseph Arceneaux (jla at spiff)
14252
14253 * screen.c (coordinates_in_window): New function.
14254 (Fcoordinates_in_window_p): Rewritten to use above.
14255
14256 * dispextern.h: New element bufp for display_line structure when
14257 using X windows.
14258 * xdisp.c (redisplay_window): Set this to the position in the
14259 buffer of the first char in this display line.
14260 * dispnew.c (get_display_line): Set this to -1 here.
14261
14262 1989-12-03 Joseph Arceneaux (jla at spiff)
14263
14264 * alloc: Upped NSTATICS from 200 to 256.
14265
14266 * xterm.c (XTread_socket): Report MotionNotify events only if
14267 mouse has changed character position. Call x_read_mouse_position.
14268 Set Vmouse_event here.
14269 * xfns.c (x_read_mouse_position): Set new global variables
14270 x_mouse_x and x_mouse_y.
14271
14272 * keyboard.c: Vignore_mouse_events: New variable.
14273
14274 * syntax.c (Fscan_sexps): Doc change.
14275
14276 * lread.c (Fread_char): Return only chars. If new variable
14277 Vignore_mouse_events non nil, execute any mouse events which
14278 appear.
14279
14280 1989-12-01 Joseph Arceneaux (jla at spiff)
14281
14282 * xfns.c (Fx_track_pointer): Draw half-sized rectangles for '\n'.
14283 (x_rectangle): Draw half-size if negative argument.
14284
14285 * xterm.c (XTread_socket): abort if garbage collecting when doing
14286 mouse events.
14287
14288 * ymakefile: #define FLOATSUP if LISP_FLOAT_TYPE defined.
14289
14290 * emacs.c (main): If BSD, set pgrp to pid.
14291
14292 1989-11-30 Joseph Arceneaux (jla at spiff)
14293
14294 * callint.c (Fcall_interactively): For case 'e', set varies[i] to
14295 avoid entering in the command history.
14296
14297 * xterm.c: Removed the function x_indicate_pointer_char.
14298 (XTread_socket): When leaving window, erase mouse tracking box if
14299 it exists.
14300 * xfns.c (Fx_track_pointer): New function, does what
14301 x_indicate_pointer_char used to.
14302 (x_read_mouse_position): Subtract internal_border_width.
14303
14304 * screen.c: No rubber-banding function for X11.
14305
14306 * window.c (Fmove_to_window_line): Document string fix.
14307
14308 1989-11-29 Joseph Arceneaux (jla at spiff)
14309
14310 * lread.c (Fread_char): Return a Lisp_Object (directly from
14311 get_char).
14312
14313 * keyboard.c:
14314 * xterm.c: Function keys now arrive as cons cells.
14315
14316 1989-11-27 Joseph Arceneaux (jla at spiff)
14317
14318 * keyboard.c (read_key_sequence): Handle Lisp_Symbols on input
14319 (function keys). Also, handle these and mouse events with
14320 prefixes (by ignoring the prefixes for now).
14321
14322 * xfns.c New variable Vx_mouse_grabbed.
14323 * xterm.c (construct_mouse_event): Use it.
14324 (XTread_socket): Return Lisp_Symbol for function key.
14325
14326 * buffer.c (reset_buffer_local_variables): Set function_key_map to
14327 Qnil.
14328
14329 1989-11-24 Joseph Arceneaux (jla at spiff)
14330
14331 * buffer.h: Per-buffer function key maps.
14332
14333 * keyboard.c (read_avail_input): Convert chars to Lisp_Objects in
14334 case of stdin.
14335
14336 1989-11-22 Joseph Arceneaux (jla at spiff)
14337
14338 * keyboard.c (read_key_sequence): Check type of object returned
14339 from get_char. Handle mouse events (set Vmouse_event) and
14340 function keys.
14341 (get_char_menu_prompt): Return a Lisp_Object.
14342 (Fexecute_mouse_event): No longer set Vmouse_event.
14343 Vmouse_window set here.
14344
14345 * xterm.c (XTread_socket): KeyPress events now return
14346 Lisp_Objects, as do ButtonPress events.
14347 (construct_mouse_event): New function.
14348 (encode_mouse_button): New function.
14349
14350 1989-11-21 Joseph Arceneaux (jla at spiff)
14351
14352 * keyboard.c (kbd_buffer_store_char, kbd_buffer_get_char):
14353 Store and get Lisp_Objects.
14354 (get_char): Use those Lisp_Objects.
14355
14356 * fileio.c (Fread_filename_internal): If exactly complete, but
14357 string was modified, return string.
14358
14359 * minibuf.c (temp_minibuf_message): Pass correct arguments to Fsit_for.
14360
14361 1989-11-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14362
14363 * s-386-ix.h: New file.
14364
14365 1989-11-17 Joseph Arceneaux (jla at spiff)
14366
14367 * xterm.c (dump_rectangle): Flush the X queue.
14368
14369 1989-11-16 Joseph Arceneaux (jla at spiff)
14370
14371 * xmenu.c (xmenu_show): Use ButtonReleaseMask instead of
14372 ButtonRelease.
14373
14374 * fileio.c (Fmake_directory): New subr.
14375
14376 1989-11-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14377
14378 * config.h-dist (C_SWITCH_SITE, LD_SWITCH_SITE): Mention these.
14379 (HAVE_X11): Renamed from X11 and defined by default.
14380 It shoukld have no effect when not using X.
14381
14382 1989-11-14 Joseph Arceneaux (jla at spiff)
14383
14384 * xfns.c (Fx_get_selection, x_selection_arrival): use &event
14385 instead of event.
14386 (x_selection_arrival): For incremental selections, loop on
14387 XGetWindowProperty if one is not enough.
14388
14389 1989-11-13 Joseph Arceneaux (jla at spiff)
14390
14391 * ymakefile: Just link if ../oldXMenu/libXMenu11.a already exists.
14392
14393 1989-11-09 Joseph Arceneaux (jla at spiff)
14394
14395 * m/m-sparc.h: If __GNUC__ use "-O", else "-O2"
14396
14397 1989-11-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14398
14399 * search.c (Fstore_match_data): A marker pointing nowhere, treat as 0.
14400
14401 1989-11-08 Joseph Arceneaux (jla at spiff)
14402
14403 * search.c (Fmatch_data): fixed typo.
14404
14405 * insdel.c (make_gap): Use BUFFER_REALLOC instead of realloc.
14406 * buffer.c (Fget_buffer_create): Use new define BUFFER_ALLOC in
14407 place of malloc, and set b->data.
14408 (Fkill_buffer): Use BUFFER_FREE on b->data, rather than malloc on
14409 b->p1 + 1.
14410 * buffer.h: New element data in buffer_text structure.
14411 New define for it, bf_data.
14412
14413 1989-11-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14414
14415 * marker.c (Fset_marker): Don't force POS into visible range.
14416 * window.c (set_marker_restricted): New function does what
14417 Fset_marker did. All calls in this file now use the new function.
14418
14419 1989-11-07 Joseph Arceneaux (jla at spiff)
14420
14421 * buffer.h: Defines for allocating buffer variables.
14422
14423 * ralloc.c: Completely rewritten.
14424
14425 * alloc.c (xmalloc, xrealloc): Return 0 immediately for requests
14426 of 0 size.
14427
14428 1989-11-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14429
14430 * search.c (Flooking_at, Fstring_match, search_buffer):
14431 Record in search_regs_from_string whether matching against a string.
14432 (Fmatch_data): Save data as integers if from a string.
14433
14434 * s-umips.h: Now include either s-usg5-2-2.h or s-bsd4-3.h
14435 and then override as needed.
14436 * m-mips.h: System dependence deleted.
14437 LD_SWITCH_MACHINE remains w/ options needed on all systems.
14438 * m-pmax.h: A little of that (LIBS_DEBUG) moved here.
14439 No need to undef LIBS_MACHINE.
14440
14441 * fns.c (Fload_average): FIXUP_KERNEL_SYMBOL_ADDR is now general hook.
14442 * s-umips.h: Define it.
14443
14444 * sysdep.c: Handle BROKEN_FIONREAD.
14445
14446 1989-11-03 Joseph Arceneaux (jla at spiff)
14447
14448 * config.h-dist: Mention LISP_FLOAT_TYPE, GNU_MALLOC, and REL_ALLOC.
14449
14450 * s/s-umips.h: New file.
14451
14452 1989-11-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14453
14454 * process.c (Fopen_network_stream): Handle EINTR in connect.
14455 Describe errno in err msg if connect fails.
14456
14457 1989-11-02 Joseph Arceneaux (jla at spiff)
14458
14459 * vm-limit.c: New file.
14460 * ralloc.c: New file.
14461 * ymakefile: Take vm-limit.o into account.
14462
14463 1989-11-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14464
14465 * alloc.c (staticvec): Make this a simple vector of pointers
14466 rather than an alias for a vector of chars.
14467
14468 1989-11-01 Joseph Arceneaux (jla at spiff)
14469
14470 * window.c: Moved some functions (save_window_save,
14471 replace_window, unshow_buffer) around.
14472 * search.c: Moved function place.
14473 * lread.c: Moved function read_escape.
14474 * unexec.c: Declarations for make_hdr, copy_text_and_data,
14475 copy_sym. Declare mark_x as static void.
14476 * dispextern.h: removed declaration of new_display_line.
14477
14478 * emacs.c: Do malloc_init if GNU_MALLOC.
14479 * gmalloc.c: (malloc_init): New function.
14480
14481 * xfns.c (x_rectangle, Fx_draw_rectangle, Fx_erase_rectangle,
14482 outline_region, Fx_countour_region, Fx_uncontour_region): New
14483 subroutines for drawing rectangles and things.
14484 (Fx_point_coordinates): New subr.
14485
14486 1989-10-31 Joseph Arceneaux (jla at spiff)
14487
14488 * All .c and .h files: New copyright header.
14489
14490 1989-10-30 Joseph Arceneaux (jla at spiff)
14491
14492 * gmalloc.c: New GNU malloc.
14493
14494 * emacs.c (main, Fdump_emacs): No malloc init if GNU_MALLOC.
14495
14496 * ymakefile: Check if GNU_MALLOC defined.
14497
14498 1989-10-27 Joseph Arceneaux (jla at spiff)
14499
14500 * xfns.c (Fx_pointer_char): New subr.
14501 * xterm.c (x_indicate_pointer): New procedure.
14502
14503 * alloc.c (Fmake_vector_from_list, make_vector_from_list): New subrs.
14504
14505 1989-10-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14506
14507 * xterm.c (x_term_init):
14508 Negate arg to fcntl F_SETOWN if F_SETOWN_SOCK_NEG.
14509 * keyboard.c (Fset_input_mode) [NO_SOCK_SIGIO]:
14510 No interrupt input if using a socket.
14511 * m-sequent.h: Define NO_SOCK_SIGIO, F_SETOWN_SOCK_NEG, MAIL_USE_FLOCK.
14512
14513 1989-10-26 Joseph Arceneaux (jla at spiff)
14514
14515 * xterm.c (x_handle_error_gracefully): Make sure to completely
14516 release input before returning, using:
14517 * xterm.h New macro TOTALLY_UNBLOCK_INPUT.
14518
14519 * xmenu.c (xmenu_quit): No longer use this error_handler; use
14520 default one.
14521
14522 1989-10-25 Joseph Arceneaux (jla at spiff)
14523
14524 * config.h-dist: Comment fix.
14525
14526 1989-10-24 Joseph Arceneaux (jla at spiff)
14527
14528 * xfns.c (Fx_draw_lines, translate_vectors): New functions.
14529
14530 1989-10-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14531
14532 * search.c (search_buffer): Always find null string.
14533
14534 * window.c (window_loop): For UNSHOW_BUFFER, don't Fset_buffer
14535 unless window is the selected one.
14536
14537 1989-10-20 Joseph Arceneaux (jla at spiff)
14538
14539 * xdisp.c (display_minibuf_message): Choose minibuf screen first
14540 of all. Return if not visible.
14541
14542 1989-10-19 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14543
14544 * xterm.c (x_handle_error_gracefully): New procedure to handle
14545 non-fatal X errors.
14546 (x_error_handler): Use it.
14547 (acceptable_x_error_p): New macro.
14548
14549 * xfns.c (Fx_own_selection): Use second parameter SCREEN.
14550
14551 * xdisp.c: (message, message1): No longer displays messages
14552 when using X but not yet mapped.
14553
14554 1989-10-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14555
14556 * m-pyramid.h (NO_ARG_ARRAY): Define if using GCC.
14557
14558 1989-10-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14559
14560 * vmsfns.c (process_command_input): Call clear_waiting_for_input.
14561
14562 1989-10-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14563
14564 * syntax.c (scan_words): If words_include_escapes not 0,
14565 treat Sescape and Scharquote like Sword.
14566 (syms_of_syntax): Define Lisp variable.
14567
14568 * process.c (wait_reading_process_input): Get rid of kbd_count.
14569 Use detect_input_pending.
14570 * sysdep.c (select, read_input_waiting): Likewise.
14571 (read_input_waiting): Don't read directly into kbd_buffer;
14572 use kbd_buffer_store_char.
14573 * keyboard.c: Don't define kbd_count.
14574
14575 * keyboard.c (read_key_sequence): Reject the prefix char generated
14576 for a Meta char, if it finds a non-prefix definition.
14577
14578 1989-10-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14579
14580 * process.c (wait_reading_process_input): READ_KBD==2 means
14581 wait until have mouse input.
14582 * xfns.c (Fx_get_mouse_event): Use that.
14583 * xterm.c (mouse_event_pending_p): New subroutine.
14584
14585 1989-10-13 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14586
14587 * xfns.c (x_selection_arrival):
14588 (x_send_incremental):
14589 (x_answer_selection_request): New procedures for incremental
14590 selection transfer.
14591
14592 1989-10-12 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14593
14594 * lread.c (complete_filename_p): New function which replaces
14595 absolute_filename_p. This one doesn't consider "~" valid.
14596
14597 1989-10-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14598
14599 * buffer.c: Comment fix.
14600
14601 1989-10-11 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14602
14603 * xfns.c: (Fx_open_connection) New X atoms Xatom_incremental and
14604 Xatom_multiple.
14605
14606 * xterm.h: New macros MAX_SELECTION and SELECTION_LENGTH.
14607
14608 * process.c (child_sig): Check pid <= 0 in case WNOHANG not defined.
14609
14610 1989-10-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14611
14612 * termcap.c (tgetent, gobble_line): Always store null at end of bfr.
14613 Allocate one extra byte at end to ensure space.
14614 Clean up order of arithmetic when updating ptrs into buffer
14615 after xrealloc.
14616
14617 1989-10-10 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14618
14619 * xfns.c (Fx_open_connection): Make all X Atoms here.
14620
14621 * xterm.c: (x_iconify_screen):
14622 (x_iconify_screen): Cleaned up this code.
14623 (x_term_init): Removed warpmouseondeiconify stuff.
14624
14625 1989-10-09 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14626
14627 * xdisp.c (DoDsp): Make sure to call unhold_window_change after
14628 before all returns.
14629
14630 * minibuf.c (read_minibuf): Changed set_mouse_position to
14631 Fset_mouse_position.
14632
14633 * xterm.c (XTread_socket): dumprectangle (whole screen) instead of
14634 DoDsp in ConfigureNotify event.
14635 (x_wm_set_size_hint): New calculations for size_hints.
14636
14637 * screen.c (Fset_mouse_position): No more function
14638 set_mouse_position; use x_set_mouse_position directly.
14639
14640 * xfns.c (x_set_cursor_color): Really decode Vx_cusor_fore_pixel
14641 if set. Define new cursor before freeing old. This may eliminate
14642 a server bug on the Sony.
14643 Also check for invisible cursors.
14644 (x_set_mouse_color): Check for invisible pointers.
14645 (x_resize_scrollbars): BLOCK_INPUT whilst doing operations.
14646 (adjust_scrollbars): Likewise.
14647
14648 1989-10-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14649
14650 * m/m-hp9000s800.h (XUNMARK): Delete definition.
14651 (S_IFLNK): Do not undef it.
14652
14653 1989-10-03 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14654
14655 * dispnew.c (get_display_line): If screen not visible, abort.
14656
14657 1989-10-02 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14658
14659 * xterm.c (x_make_screen_visible): Set s->visible, unset
14660 s->iconified for HAVE_X11.
14661
14662 1989-09-29 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14663
14664 * xterm.c (XTread_socket): Check screen s before proceeding for
14665 MapNotify event.
14666
14667 * xterm.c: No longer sets the variable mouse_down_timestamp.
14668 * xfns.c: (Fx_get_mouse_event) mouse_timestamp
14669 (formerly mouse_down_timestamp) set here. Also, mask out upper 9
14670 bits before doing XSET.
14671
14672 1989-09-28 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14673
14674 * xfns.c (Fx_geometry): Kludge for the case of position `-0'.
14675 (Fx_get_mouse_event): Also return the time stamp as last list elt.
14676 (Fx_color_display_p):
14677 (Fx_defined_color):
14678 (x_decode_color):
14679 (defined_color): Eliminate screen argument.
14680 (Fx_create_screen): No more ColorMap component to display.x.
14681 * xterm.h: Likewise.
14682
14683 1989-09-27 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14684
14685 * xfns.c (Fx_own_selection):
14686 (Fx_get_selection):
14687 (x_disown_selection): new funcs, which use new variables
14688 Vx_selection_value, x_begin_selection_own, mouse_down_timestamp,
14689 requestor_time, requestor_window, property_name, and
14690 x_begin_selection_own.
14691
14692 * xterm.c (XTread_socket): Only do stuff if s for FocusOut under X11.
14693 SelectionClear:
14694 SelectionRequest:
14695 SelectionNotify: New events to handle the selection inter-client
14696 communication mechanism.
14697 ButtonPress: Set mouse_down_timestamp.
14698
14699 1989-09-26 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
14700
14701 * xfns.c: New variable Vx_cursor_fore_pixel.
14702
14703 1989-09-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14704
14705 * lread.c (openp): Don't ! the result of `access'.
14706
14707 1989-09-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14708
14709 * fileio.c (Fread_file_name_internal): Try to work properly
14710 if dirs are specified using environment vars. Preserve use of vars.
14711
14712 1989-09-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14713
14714 * fileio.c: Comment fix.
14715
14716 1989-09-18 Joseph Arceneaux (jla at spiff)
14717
14718 * xfns.c (Fx_get_cut_buffer): XFree the data returned by
14719 XFetchBytes.
14720
14721 1989-09-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14722
14723 * fileio.c (Fwrite_region): Reinstall #if 0 around fstat.
14724
14725 1989-09-12 Joseph Arceneaux (jla at spiff)
14726
14727 * xfns.c (defined_color): New function to test if a color is
14728 currently defined.
14729 (x_decode_color): Use defined_color.
14730 (Fx_defined_color): New subr.
14731 (select_visual): Select the appropriate X11 Visual.
14732 (Fx_open_connection): Use select_visual. screen_visual now
14733 global and used when making emacs windows.
14734 (Fx_color_display_p): New subr.
14735
14736 1989-09-11 Joseph Arceneaux (jla at spiff)
14737
14738 * fileio.c (Fwrite_region): fixed typo.
14739
14740 * keyboard.c (Fdiscard_input): fixed typo.
14741
14742 * window.c (Fnext_window): fixed typos.
14743
14744 * alloc.c (xmalloc, xrealloc): hold_window_changes whilst doing
14745 the associated operations.
14746
14747 * dispnew.c (init_display):
14748 (Fsleep_for, Fsit_for):
14749 * process.c (Faccept_process_output):
14750 * keyboard.c ({clear,set}_waiting_for_input):
14751 (quit_throw_to_get_char, get_char):
14752 * xdisp.c (DoDsp, message, message1): Undid changes of Aug. 23
14753 (see below); accept window changes most of the time.
14754
14755 1989-09-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14756
14757 * keyboard.c: Eliminate kbd_count, and use two pointers,
14758 kbd_fetch_ptr and kbd_store_ptr. Assume buffer is empty when
14759 they are equal. This should eliminate timing error.
14760 (kbd_buffer_store_char): Update kbd_store_ptr when storing.
14761 Don't ever fill the entire buffer.
14762 (kbd_buffer_get_char): Update kbd_fetch_ptr when fetching.
14763 (stuff_buffered_input): Likewise.
14764 (get_input_pending): Compare the two pointers.
14765
14766 * fileio.c (Fwrite_region): Reenable using fstat rather than stat
14767 to get the modtime of the file just written, except on VMS and APOLLO.
14768
14769 1989-09-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14770
14771 * emacs.c, doc.c, filelock.c: Move Emacs header includes after
14772 system header includes, and #undef NULL in between.
14773
14774 1989-08-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14775
14776 * process.c [SYSV_PTYS]: If `titan', include some other files.
14777
14778 1989-08-29 Joseph Arceneaux (jla at spiff)
14779
14780 * fileio.c: read-file-name replaced with new version, formerly
14781 called new-read-file-name.
14782
14783 1989-08-26 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
14784
14785 * window.c (Fscroll_other_window): Use save-excursion (in effect)
14786 to save and restore current buffer and point.
14787 (window_scroll): If selected window's buffer isn't current,
14788 make it current, using save-excursion to go back.
14789
14790 1989-08-24 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
14791
14792 * Use two variables to convey reason for synch process death,
14793 to avoid consing in signal handler.
14794 They are synch_process_death and synch_process_retcode.
14795 * callproc.c (Fcall_process): Use both variables.
14796 * process.c (child_sig): Set both variables.
14797
14798 1989-08-24 Joseph Arceneaux (jla at spiff)
14799
14800 * xterm.c (x_wm_set_size_hint): Use new ICCCM values for size_hints.
14801
14802 1989-08-24 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
14803
14804 * buffer.c: Doc fix.
14805
14806 1989-08-24 Joseph Arceneaux (jla at spiff)
14807
14808 * xfns.c (Fx_create_screen): X11 part. Set height and width to 0
14809 before calling change_screen_size.
14810
14811 * buffer.c (kill-all-local-variables): Changed doc string.
14812
14813 1989-08-23 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
14814
14815 * dispnew.c (init_display): Call hold_window_change.
14816 (Fsleep_for, Fsit_for): Temporarily unhold, while waiting.
14817 * process.c (Faccept_process_output): Likewise.
14818 * keyboard.c ({clear,set}_waiting_for_input): Temporarily unhold.
14819 (quit_throw_to_get_char, get_char): Rehold.
14820 * xdisp.c (DoDsp, message, message1):
14821 Unhold and rehold momentarily before any real work.
14822
14823 * Makefile (CPP): Use $(CC).
14824
14825 1989-08-22 Joseph Arceneaux (jla at spiff)
14826
14827 * xfns.c (x_set_mouse_color): Use new variables Vx_pointer_mask,
14828 Vx_pointer_shape.
14829
14830 1989-08-21 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
14831
14832 * alloc.c (malloc_warning): Do nothing if ignore_warnings.
14833 (init_alloc_once): Set ignore_warnings while initializing allocation.
14834
14835 * buffer.c: Doc fix.
14836
14837 1989-08-21 Joseph Arceneaux (jla at spiff)
14838
14839 * xterm.c (x_calc_absolute_position): New function to calculate
14840 positive screen position.
14841 (x_set_position): Use it.
14842 (x_reset_cursor): No longer exists.
14843
14844 * xfns.c (x_set_mouse_color): Reset the cursor even if there's no
14845 X window.
14846 (x_figure_window_size): Use x_calc_absolute_position.
14847 (x_set_mouse_color): Rewrote this function. Always set cursor and
14848 its color. If the window exists, then attach the cursor to it.
14849 No longer uses x_reset_cursor.
14850 (x_create_window):
14851 (x_set_background):
14852 (x_set_foreground): Use x_set_mouse_color instead of x_reset_cursor.
14853
14854 1989-08-18 Richard Stallman (rms at hobbes.ai.mit.edu)
14855
14856 * vmsfns.c: Define PRV$V_... syms if prvdef.h does not.
14857
14858 1989-08-18 Joseph Arceneaux (jla at spiff)
14859
14860 * xfns.c (Fx_geometry): New subr.
14861 (x_figure_window_size): Don't worry about "geometry" here anymore;
14862 now done in x-win.el.
14863 (x_icon): Look in parms for iconic-startup rather than in variable.
14864
14865 1989-08-16 Joseph Arceneaux (jla at spiff)
14866
14867 * xfns.c (x_set_*_scrollbar): Don't destroy a scrollbar if it
14868 doesn't exist. Also set scrollbar size only if actually creating
14869 one.
14870 (x_set_name): Don't do anything if the X window doesn't exist.
14871 Set the icon name as well.
14872 (x_window): Set the class hints for the window.
14873
14874 1989-08-16 Richard Stallman (rms at hobbes.ai.mit.edu)
14875
14876 * lread.c (Fload): Fix unterminated comment.
14877
14878 * scroll.c (scrolling_max_lines_saved): Replace fixed threshold of 20
14879 with 1/4 of average length of lines.
14880
14881 1989-08-13 Joseph Arceneaux (jla at spiff)
14882
14883 * ymakefile: Do ${make} for oldXMenu.
14884
14885 1989-08-13 Richard Stallman (rms at hobbes.ai.mit.edu)
14886
14887 * eval.c: Doc fix.
14888
14889 1989-08-12 Richard Stallman (rms at hobbes.ai.mit.edu)
14890
14891 * emacs.c (main): Check for failure opening -t device.
14892 Fatal error if terminal isn't a real terminal.
14893
14894 * window.c (Fscroll_other_window): Let Vother_window_scroll_buffer
14895 specify a buffer to scroll.
14896
14897 1989-08-11 Richard Stallman (rms at hobbes.ai.mit.edu)
14898
14899 * dispnew.c: Handle BROKEN_FIONREAD as in other files.
14900
14901 1989-08-09 Joseph Arceneaux (jla at spiff)
14902
14903 * ../oldXMenu/Makefile: Removed all the unneccessary X stuff.
14904
14905 1989-08-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14906
14907 * fileio.c (barf_or_query_if_file_exists): When signalling,
14908 provide the expected args for a file-error.
14909
14910 1989-08-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14911
14912 * process.c: Let NEED_BSDTTY control include of bsdtty.h.
14913
14914 * process.c [BSD or STRIDE]: If ioctl.h fails to define O_NDELAY,
14915 and we need it, try fcntl.h.
14916
14917 * s-bsd*.h, s-rtu.h, s-umax.h, s-unipl*.h: Define HAVE_UNION_WAIT.
14918 * m-stride.h: Likewise.
14919 * process.c: Decide which type to use with `wait'
14920 according to HAVE_UNION_WAIT. If WAITTYPE already defined,
14921 assume everything all set up for this.
14922
14923 * m-hp9000s300.h: Unless NOT_C_CODE or NO_SHORTNAMES,
14924 define WAITTYPE and WRETCODE, and include sys/wait.h.
14925
14926 1989-08-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14927
14928 * callproc.c (child_setup): Get rid of junk in #if 0.
14929
14930 1989-08-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14931
14932 * abbrev.c (Fdefine_abbrev): Allow nil spec'd as expansion.
14933 (Fexpand_abbrev): Eliminate abbrev length limit; use alloca.
14934 Eliminate redundant tests, always true.
14935 Record positions of both start and end of abbrev.
14936 Handle whitespace following the abbrev, before point.
14937
14938 * callproc.c (Fcall_process_region): Use unwind-protect to delete
14939 temp file.
14940
14941 * lread.c (load_unwind): Free the pointer-word malloc'd in Fload.
14942
14943 1989-08-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
14944
14945 * emacs.c (Fdump_emacs): Doc fix.
14946
14947 1989-08-02 Joseph Arceneaux (jla at spiff)
14948
14949 * xfns.c: Reorganized several functions to be in same order as the
14950 enum list.
14951 (x_set_border_color): For X11, don't set pix to -1 for
14952 gray values.
14953 (Fx_create_screen): Simplified this function even more.
14954
14955 1989-07-31 Joseph Arceneaux (jla at spiff)
14956
14957 * keymap.c: New subrs Fuse_local_mouse_map, Fcurrent_local_mouse_map.
14958
14959 * xfns.c (x_set_mouse_color):
14960 (x_set_cur): No need to redraw display after doing these.
14961
14962 (Fx_get_mouse_event): Accept motion events.
14963 (x11_encode_mouse_button): Encoding a la X11, except for one
14964 kludge. This is used only for motion events.
14965
14966 * xterm.c (XTread_socket): Handle motion eveots.
14967
14968 1989-07-26 Joseph Arceneaux (jla at spiff)
14969
14970 * xfns.c (Fx_create_screen): I couldn't take it any more, the
14971 ugliness of this routine offended me too deeply. It is now
14972 completely rewritten for X11 and uses subroutines:
14973 (x_figure_window_size)
14974 (x_create_window)
14975 (x_icon)
14976 (x_make_gc)
14977
14978 (Fx_draw_rectangle):
14979 (Fx_erase_rectangle): New subrs.
14980
14981 * m/m-intel386.h: Changes in LOAD_AVE_TYPE, LOAD_AVE_CVT, and
14982 FSCALE to make loadst work correctly.
14983
14984 1989-07-24 Joseph Arceneaux (jla at spiff)
14985
14986 * xfns.c (Fmodify_screen_parameters): Check s->output_method
14987 before looping through alist.
14988
14989 (Fx_create_screen): Call x_default_parameter for font.
14990 Don't add the scrollbar widths when making the main window: this
14991 is done when the scrollbar is actually made.
14992
14993 (x_set_vertical_scrollbar): Set v_scrollbar_width here instead of
14994 in install_vertical_scrollbar. Also, pass that function macros
14995 PIXEL_WIDTH, PIXEL_HEIGHT as args.
14996
14997 (x_set_horizontal_scrollbar): Likewise.
14998
14999 * xterm.c: (x_set_window_size): Don't call the things called
15000 anyway upon the ConfigureNotify event.
15001 (x_set_offset): Use the screen-size lisp variables for these
15002 calculations.
15003
15004 * xterm.h: Added the screen parameter declarations from xfns.c for
15005 X11.
15006
15007 1989-07-21 Joseph Arceneaux (jla at spiff)
15008
15009 * sysdep.c: Don't include sioctl.h on mips.
15010
15011 * buffer.c (Flist_buffers): Pass prefix as arg.
15012
15013 * editfns.c (Finsert_char): Insert at most 256 chars at a whack.
15014
15015 * xterm.c (x_draw_box): Moved cursor box right by one pixel.
15016
15017 1989-07-20 Joseph Arceneaux (jla at spiff)
15018
15019 * xfns.c: New variable x_screen_visuals, set if Fx_open_display,
15020 to be used in screen-color-p.
15021
15022 * process.c (create_process): Don't call setpgrp_of_tty here.
15023 Also, do setpgrp for USG regardless of HAVE_PTYS.
15024
15025 * callproc.c (child_setup): Ignore argument set_pgrp and always do
15026 setpgrp_of_tty.
15027 (Fcall_process): Don't call setpgrp_of_tty here.
15028
15029 * keyboard.c (command_loop_1): Make sure Vprefix_arg is NULL
15030 before finalizing_kbd_macro_chars;
15031
15032 1989-07-19 Joseph Arceneaux (jla at spiff)
15033
15034 * xfns.c (Fx_rebind_key): Completely rewrote this function for
15035 X11.
15036
15037 1989-07-13 Joseph Arceneaux (jla at spiff)
15038
15039 * emacs.c:
15040 * process.c:
15041 * unexec.c:
15042 * m/m-ibmrt-aix.h: Changed IBMRTAIX to IBMAIX.
15043 * sysdep.c: Likewise. Also, don't define our closedir if IBMAIX.
15044 * m/m-ibmps2-aix.h: New file.
15045
15046 1989-07-12 Joseph Arceneaux (jla at spiff)
15047
15048 * xdisp.c (message, message1): If using x, but haven't mapped the
15049 window yet, use noninteractive output.
15050
15051 * dispnew.c (Fredraw_display): Don't redraw a screen which is not
15052 visible.
15053
15054 * xterm.c (x_set_window_size): Don't DoDsp if screen isn't visible.
15055
15056 * xfns.c (x_set_mouse_color)
15057 (x_set_border_color)
15058 (x_set_cursor_color)
15059 (x_set_background_color)
15060 (x_set_foreground_color): Don't redraw when screen isn't visible.
15061
15062 1989-07-11 Joseph Arceneaux (jla at gluteus)
15063
15064 * xterm.c (x_term_init, XTread_socket): Use ConnectionNumber for
15065 both X10 and X11. This is #defined for X10.
15066
15067 * screen.c (Fset_screen_width, Fset_screen_height): These now take
15068 a SCREEN argument.
15069
15070 1989-07-10 Joseph Arceneaux (jla at gluteus)
15071
15072 * xterm.c (x_set_window_size): Call x_wm_set_size_hint.
15073 (x_new_font): Don't call x_wm_set_size_hint.
15074
15075 * xfns.c (x_set_internal_border_width): Don't call
15076 x_set_resize_hint, and call x_set_window_size after BLOCK_INPUT.
15077
15078 * screen.c, dispnew.c (Fset_screen_width, Fset_screen_height):
15079 These functions have moved to screen.c.
15080
15081 1989-07-07 Joseph Arceneaux (jla at sugar-bombs.ai.mit.edu)
15082
15083 * eval.c (Ffuncall): Handle 6 arguments. Also, print a nice error
15084 message if there are more than 6 args.
15085
15086 * fns.c: (Fyes-or-no-p):
15087 * minibuf.c: (read_minibuf_unwind):
15088 (Fread_minibuffer):
15089 (Fread_no_blanks_input):
15090 (Fcompleting_read): Extra arg to read_minibuf.
15091
15092 * callint.c (Fcall_interactively):
15093 * keyboard.c (Fexecute_extended_command):
15094 * minibuf.c: (Fread_command):
15095 (Fread_function):
15096 (Fread_variable):
15097 (Fread_buffer): Extra arg to Fcompleting_read.
15098
15099 1989-07-05 Joseph Arceneaux (jla at spiff)
15100
15101 * minibuf.c (read_minibuf): New argument back_n is number of
15102 characters to back-up point by.
15103 (Fcompleting_read): Same.
15104 * fileio.c: (Fnew_read_file_name): New version of Fread_file_name
15105 using the above features.
15106 (Finsert_file_contents): Check for negative file length.
15107
15108 1989-07-03 Joseph Arceneaux (jla at spiff)
15109
15110 * xfns.c: (x_pixel_width, x_pixel_height) New functions.
15111 * screen.c: (Fscreen_pixel_size): New subr.
15112
15113 1989-06-30 Joseph Arceneaux (jla at spiff)
15114
15115 * xterm.c: Use invocation_name as argument to XGetDefaults.
15116
15117 1989-06-29 Joseph Arceneaux (jla at spiff)
15118
15119 * xterm.c (x_error_handler) #ifdef sony_news use XDefaultError
15120 instead of XPrintDefaultError due to weirdness in Sony library.
15121 * xterm.c: Avoid infinite raise/lower, enter/leave cycle when both
15122 auto_raise and auto_lower are set by checking times between
15123 consecutive Enter events.
15124
15125 1989-06-27 Joseph Arceneaux (jla at sugar-bombs.ai.mit.edu)
15126
15127 * screen.c: (Fselect_screen)
15128 * window.c: (Fselect_window) The previous strategy was bugging the
15129 lisp stuff, so these are now rewritten.
15130
15131 1989-06-26 Joseph Arceneaux (jla at galapas.ai.mit.edu)
15132
15133 * cm.c (Wcm_init): Don't check for Wcm.cm_ds, since this has been
15134 removed.
15135 (losecursor): This function now a #define in cm.h.
15136
15137 * xterm.c (x_iconify_screen): Send message to root window to do
15138 this, as per latest Inter-Client Communications Conventions. This
15139 is commented out until it's implemented by X. For now, do it with
15140 the iconic_state hint.
15141 (x_deiconify_screen): For X11, just Map the window, as per the new
15142 ICCC.
15143 (x_make_screen_visible): Only handle visible and iconified screen
15144 elements for X10; these variables are handled in event processing
15145 for X11.
15146 (x_make_screen_invisible): Send an UnmapNotify event to the root
15147 window to aprise the window manager of the change.
15148 (XTread_socket): Catch VisibilityNotify events.
15149
15150 1989-06-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15151
15152 * window.c (Fsplit_window): If horizontal, round left window size up.
15153
15154 1989-06-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15155
15156 * cm.h (cmplus): Improve formatting.
15157 Use losecursor when reach end of line, if losewrap.
15158
15159 * cm.h: New fields to handle multi-line and multi-char motion,
15160 and both max and min cost for certain operations.
15161 * term.c (term_init): Init those fields.
15162
15163 * term.c (clear_end_of_line_raw): Don't clear last char of last line
15164 if autowrap.
15165
15166 * abbrev.c (Finsert_abbrev_table_description): Make 2nd arg optional.
15167
15168 1989-06-23 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15169
15170 * xfns.c, lisp/term/x-win.el: C routine Fscreen_color_p now lisp
15171 function x-color-screen-p in x-win.el.
15172 (x_set_cursor_color): New method: first disallow same cursor as
15173 background, then if cursor not foreground, use it as cursor
15174 foreground.
15175
15176 1989-06-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15177
15178 * lisp.h (XPNTR): Don't define if already defined.
15179
15180 1989-06-22 Joseph Arceneaux (jla at cream-of-wheat.ai.mit.edu)
15181
15182 * screen.c: New subrs Ficonify_screen, Fdeiconify_screen,
15183 Fread_mouse_position, Fset_mouse_position.
15184
15185 * xterm.c: New functions x_deiconify_screen, x_iconify_screen.
15186
15187 1989-06-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15188
15189 * window.c (Fsplit_window, change_window_height):
15190 Enforce minimum of 2 for window_min_width and window_min_height.
15191
15192 1989-06-22 Joseph Arceneaux (jla at galapas.ai.mit.edu)
15193
15194 * dispnew.c (unhold_window_change): Don't set and unset in_display
15195 before and after calling change_screen_size.
15196
15197 1989-06-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15198
15199 * buffer.c (Fkill_buffer): Ignore errors deleting auto-save file.
15200 Delete only if delete-auto-save-files.
15201
15202 * data.c (Fmake_local_variable): Don't change value if unbound.
15203
15204 1989-06-20 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15205
15206 * screen.c (Fselect_screen): Use x_set_mouse_position instead of
15207 x_enter_screen.
15208
15209 * xterm.c (x_enter_screen): Deleted, now merged with
15210 * xfns.c (x_set_mouse_position): If the position is negative, use
15211 the center screen position.
15212
15213 * data.c (swap_in_symval_forwarding): Declared tem1.
15214 (Fset): Changed variable name void to voide. Also, set it to a C
15215 true/false, rather than Qt or Qnil.
15216
15217 1989-06-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15218
15219 * eval.c (Fdefvar): Operate on default value if sym is buffer-local.
15220 (Fdefconst): Likewise.
15221
15222 * Allow buffer-local variables to be void in one buffer
15223 or in the default value.
15224 * data.c (swap_in_symval_forwarding): New function.
15225 (Fboundp, Fsymbol_value): Use that.
15226 (default_value): New function.
15227 (Fdefault_value): Use that.
15228 (Fdefault_boundp): New function, uses that.
15229
15230 1989-06-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15231
15232 * ymakefile: New variable OLDXMENU has filename of libXMenu.a
15233 as a target. Make temacs depend on it.
15234
15235 1989-06-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15236
15237 * ymakefile [HAVE_X11, HAVE_X_MENU]: Build oldXMenu.
15238 * xmenu.c: Get XMenu.h from sibling dir.
15239
15240 * buffer.c (Fkill_buffer): Return t if buffer is killed.
15241 Delete auto-save file if any.
15242
15243 1989-06-09 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15244
15245 * window.c: initialize auto_new_screen to 0 (nil).
15246
15247 * screen.c (make_screen): added auto_lower to the list of screen
15248 elements initialized.
15249 (make_minibuffer_screen): likewise.
15250
15251 1989-06-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15252
15253 * window.c (Fset_window_point): Don't lose if window's buffer is
15254 not current.
15255
15256 1989-06-08 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15257
15258 * xfns.c (Fx_open_connection): Added 9 Lisp variables
15259 defined by the screen and server.
15260
15261 1989-06-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15262
15263 * m-pmax.h: New file.
15264
15265 1989-06-08 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15266
15267 * xfns.c: removed superfluous definition of gray_bits.
15268
15269 1989-06-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15270
15271 * m-hp9000s300.h: Define NEED_BSDTTY unless NOMULTIPLEJOBS.
15272
15273 1989-06-07 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15274
15275 * emacs.c (Fkill_emacs): If under X, call
15276 Fx_close_current_connection. This has fixed the "bad file" bug.
15277 * xfns.c (Fx_close_current_connection): Added this subr which for
15278 the moment serves only to close the X-connection when killing emacs.
15279
15280 1989-06-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15281
15282 * m-hp9000s800.h: Define NEED_BSDTTY here.
15283 * s-hpux.h: Not here.
15284
15285 1989-06-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15286
15287 * s/s-hpux.h: Define NEED_BSDTTY.
15288
15289 1989-06-06 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15290
15291 * xterm.c (x_new_selected_screen): Make the new selected_screen
15292 and it's selected_window's screen be the same.
15293 (x_enter_screen): Calculate the middle of the screen, and warp the
15294 mouse there. Also, raise the screen before doing so.
15295
15296 1989-06-05 Joseph Arceneaux (jla at cream-of-wheat.ai.mit.edu)
15297
15298 * xterm.c (x_set_window_size): If not already in DoDsp (checked
15299 with variable in_display) then DoDsp here. Handles redisplay
15300 after screen configuration.
15301 (x_error_handler): Print out stuff about the error if we're in
15302 debug mode.
15303
15304 * dispnew.c (change_screen_size): No longer call DoDsp here.
15305
15306 1989-06-05 Chris Hanson (cph at kleph)
15307
15308 * syntax.c (Fmodify_syntax_entry): Change documentation string to
15309 reflect earlier change to action of `p' syntax bit.
15310
15311 1989-06-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15312
15313 * lread.c (read1): Don't accept "" in middle of string.
15314
15315 1989-05-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15316
15317 * search.c (Freplace_match): If \N has nothing to insert,
15318 insert nothing.
15319
15320 1989-05-29 Joseph Arceneaux (jla at gracilis.ai.mit.edu)
15321
15322 * xfns.c: (Fx_create_screen): If parms is nil and
15323 Vx_screen_defaults isn't, then use them.
15324 (Fdisplay_buffer): Call Fx_create_screen with Qnil.
15325
15326 1989-05-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15327
15328 * syntax.c (scan_lists): Once within a word, treat Squote like Sword.
15329
15330 1989-05-24 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15331
15332 * dispnew.c (change_screen_size): DoDsp if not pretend.
15333
15334 1989-05-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15335
15336 * search.c (skip_chars): Dumb error checking for \.
15337
15338 1989-05-22 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15339
15340 * screen.c (Fselect_screen): Under X, basically just warp the
15341 cursor into the desired screen. The event handler will then do
15342 the right thing.
15343 (Frestore_screen_configuration): Don't set the mouse position.
15344
15345 * window.c (Fselect_window): If window's screen is not selected,
15346 call Fselecte_screen.
15347 (Fdisplay_buffer): Call Fx_create_screen with x-screen-parameters
15348 as argument instead of nil.
15349
15350 * keyboard.c (clear_waiting_for_input): Don't call
15351 x_new_selected_screen here.
15352
15353 * xterm.c (XTread_socket): Add case slots for CirculateNotify and
15354 CirculateRequest events.
15355
15356 1989-05-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15357
15358 * doc.c (Fsubstitute_command_keys): Evaluate \\<...> keymap
15359 in proper buffer.
15360
15361 * keymap.c (Fapropos_internal): New Lisp function, old apropos
15362 but only returns a list.
15363
15364 1989-05-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15365
15366 * process.c (Fopen_network_stream): Don't set kill-without-query.
15367
15368 1989-05-19 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15369
15370 * xterm.c (x_new_selected_screen): This now takes a struct screen
15371 pointer as paramter.
15372 * (XTread_socket): call x_new_selected_screen *before* dumpborder.
15373
15374 1989-05-16 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15375
15376 * xfns.c: (x_window_to_scrollbar): If the caller's not interested
15377 in the names--passing 0 for last two parameters--just return the
15378 screen pointer.
15379
15380 * xterm.c (x_enter_screen): Added this function for warping the
15381 pointer into a screen.
15382
15383 1989-05-16 Chris Hanson (cph at kleph)
15384
15385 * syntax.c (scan_lists, scan_sexps_forward): Treat characters
15386 whose "prefix" bit is on as whitespace when they are encountered
15387 between expressions. When they occur within expressions they are
15388 treated according to their syntax code.
15389
15390 1989-05-16 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15391
15392 * xterm.c: (x_new_selected_screen): Don't call Fselect_screen.
15393 Just do everything here.
15394
15395 * window.c (Fselect_window): If the screen associated with the
15396 window is not selected, warp the mouse, cause an EnterNotify event
15397 which then causes the proper screen to become selected. This does
15398 *not* call Fselect_screen.
15399
15400 * screen.c (Fselect_screen): Now this is *only* a lisp subr. It
15401 just calls Fselect_window on the selected window of the screen.
15402
15403 1989-05-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15404
15405 * editfns.c (Fsubst_char_in_region): If NOUNDO, do increment tick,
15406 but maybe also increment save-tick.
15407
15408 1989-05-15 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15409
15410 * xterm.c (x_set_window_size): Only one #ifdef HAVE_X11 due to new
15411 macro in:
15412 * xterm.h: New macro XChangeWindowSize for both X10 and X11.
15413
15414 * xfns.c (Fx_create_screen): Use XCreateWindow instead of
15415 XCreateSimpleWindow to directly set some extra attributes.
15416
15417 1989-05-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15418
15419 * syntax.h (SYNTAX_PREFIX): New macro.
15420 * syntax.c (Fmodify_syntax_table): Handle `p'; set new flag.
15421 (describe_syntax): Describe new flag.
15422 (Fbackward_prefix_chars): Move back over such chars.
15423
15424 * lread.c (read1): Dumb errors in last change.
15425
15426 1989-05-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15427
15428 * lread.c (read1): Error if EOF after `?' or in string.
15429
15430 * sysdep.c (init_sys_modes) [IBMRTAIX]: Typo; had s for sg.
15431
15432 1989-05-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15433
15434 * s/s-usg5-3.h: Define HAVE_SYSVIPC?
15435
15436 * alloc.c (Fmake_byte_code): If purifying, purecopy all elements.
15437
15438 * ymakefile (LIBXMENU): Use -loldX.
15439 Find libXMenu11.a in special place.
15440
15441 1989-05-12 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
15442
15443 * xfns.c (Fx_create_screen): If user has specified
15444 `x-iconic-startup' then start emacs in iconic form.
15445 Look for icon position in `icon-left' and `icon-top', or use
15446 window postion.
15447
15448 * xterm.c (x_term_init): If server doesn't respond, use fatal
15449 instead of error. Also tell user about -d option.
15450
15451 1989-05-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15452
15453 * sysdep.c (init_sys_modes, reset_sys_modes):
15454 Handle TIOCGLTC even if HAVE_TERMIO.
15455
15456 * print.c (Qprint_escape_newlines): New variable.
15457 * minibuf.c (read_minibuf): Make it t locally in minibuffers.
15458
15459 * fileio.c (Fcopy_file): Check for error on close.
15460
15461 1989-05-10 Joseph Arceneaux (jla at corn-chex.ai.mit.edu)
15462
15463 * xfns.c (adjust_scrollbars): Don't subtract 2 from
15464 h_scrollbar_height when calculating `length'.
15465
15466 1989-05-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15467
15468 * eval.c (call_debugger): Set entering_debugger.
15469 (find_handler_cause): Don't enter debugger if that's set.
15470 (Fbacktrace): Clear it; we are presumably in the debugger.
15471
15472 * m/m-sps7.h: New file.
15473
15474 1989-05-08 Joseph Arceneaux (jla at rice-chex.ai.mit.edu)
15475
15476 * xterm.c (XTread_socket_hook): For X11, on map and unmap events
15477 check the window manager hints for iconification status.
15478
15479 * xterm.c (x_make_widow_icon): For X11, just request
15480 iconification of the window manager.
15481
15482 1989-05-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15483
15484 * m/m-clipper.h: New file.
15485
15486 1989-05-07 Joseph Arceneaux (jla at corn-chex.ai.mit.edu)
15487
15488 * xfns.c (adjust_scrollbars): Don't subtract 2 from
15489 v_scrollbar_width when calculating `height'.
15490
15491 * xfns.c (x_set_foreground, x_set_border_pixel): Finished color
15492 coordination. Scrollbar border, thump-arrows, and slider pixmap
15493 linked with foreground color; slider border with window border.
15494
15495 1989-05-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15496
15497 * lread.c (read1): Handle octal integers.
15498
15499 * macros.c: Doc fix.
15500
15501 * search.c (Fstore_match_data): Allow ints instead of markers.
15502
15503 * keyboard.c (get_char_menu_prompt): New function; does menu prompting
15504 based on current keymaps.
15505
15506 1989-05-05 Joseph Arceneaux (jla at gracilis.ai.mit.edu)
15507
15508 * xfns.c (Fx_set_face): Rewrote the doc-string and renamed the
15509 parameters.
15510
15511 1989-05-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15512
15513 * unexec.c: New control parameters COFF_BSD_SYMBOLS, KEEP_OLD_PADDR,
15514 KEEP_OLD_TEXT_SCNPTR, ADJUST_TEXT_SCNHDR_SIZE, ADJUST_TEXTBASE,
15515 HEADER_INCL_IN_TEXT.
15516
15517 * unexec.c: Define IN_UNEXEC as flag for config.h.
15518
15519 * keymap.c: Fapropos, etc., deleted. (Now in Lisp code.)
15520
15521 * eval.c (Fcommandp): Byte code object is command if interactive slot
15522 exists at all.
15523
15524 1989-05-05 Chris Hanson (cph at kleph)
15525
15526 * process.c [HPUX && !NOMULTIPLEJOBS]: Include <bsdtty.h>, which
15527 defines TIOCGPGRP.
15528
15529 1989-05-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15530
15531 * data.c (Faref, Farray_length): Handle byte-code objects.
15532 * fns.c (Flength, concat): Likewise.
15533
15534 * data.c (Faref, Faset, Farray_length): Rename arg VECTOR to ARRAY.
15535
15536 * m/m-hp9000s300.h: Undefine NOMULTIPLEJOBS.
15537
15538 * keyboard.c (Fcommand_execute): Treat bytecode object as function.
15539
15540 * callint.c (Fcall_interactively): Separate decoding of fcn
15541 from handling of it.
15542
15543 * alloc.c (Fmake_byte_code): Renamed from Fmake_compiled_code.
15544 Make it pure if Vpurify_flag is non-nil.
15545 (Fpurecopy): Handle byte-code objects.
15546
15547 * keyboard.c (get_char): Use Fsit_for for echoing timeout, not alarm.
15548 Do this before timeout for auto-save since the latter is longer.
15549 (request_echo): Function deleted.
15550 ({set,clear}_waiting_for_input): No need for echo_now, echo_flag.
15551
15552 1989-05-04 Joseph Arceneaux (jla at gracilis.ai.mit.edu)
15553
15554 * xterm.c (x_lower_window, x_raise_window): Don't do anything if
15555 the window isn't visible.
15556
15557 * xfns.c (x_set_foreground_color): Recolor the scrollbar windows
15558 appropriately, compatible with xterm.
15559
15560 * xterm.c (x_reset_cursor): Do cursor recoloring.
15561
15562 1989-05-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15563
15564 * fns.c (Frandom): With number as arg, return value < that number.
15565
15566 * sysdep.c [USG, BSD4_1] (random): Call `rand' twice, to get
15567 30 bits of significance.
15568
15569 1989-05-03 Joe Arceneaux (jla at gracilis.ai.mit.edu)
15570
15571 * xterm.c (x_draw_box): Use the cursor_gc.
15572 * xfns.c: (x_set_cursor_color, x_create_screen): Do a better job
15573 with cursor colors, and use 0 line width for the cursor_gc.
15574
15575 1989-05-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15576
15577 * Begin changing representation of compiled functions.
15578 * lisp.h (enum Lisp_Type): New type code Lisp_Compiled, like a vector.
15579 (COMPILED_*): Names for slots in those vectors.
15580 * alloc.c (Fmake_compiled_code): New function.
15581 * eval.c (Fcommandp, Feval, Ffuncall, funcall_lambda):
15582 Handle fcns of type Lisp_Compiled.
15583 (Fcommandp, Fapply): Avoid directly nested ifs.
15584 * print.c (print): Handle Lisp_Compiled objects.
15585 * callint.c (Fcall_interactively): likewise.
15586 * doc.c (Fdocumentation): likewise.
15587
15588 * keyboard.c (Fopen_dribble_file): nil as arg means close it.
15589
15590 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c:
15591 * casefiddle.c, cmds.c, data.c, dired.c, dispnew.c, doc.c, editfns.c:
15592 * eval.c, fileio.c, filelock.c, floatfns.c, fns.c, keyboard.c:
15593 * keymap.c, lread.c, minibuf.c, mocklisp.c, print.c, process.c:
15594 * screen.c, search.c, syntax.c, undo.c, vmsfns.c:
15595 Many doc fixes.
15596
15597 1989-04-30 Joseph Arceneaux (jla at hobbes)
15598
15599 * xterm.c (XTring_bell): Wasn't passing selected_screen to XTflash.
15600 Fixed this.
15601
15602 * xterm.c (XTread_socket): Don't check if server died under
15603 X11. Temporary.
15604
15605 1989-04-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15606
15607 * window.c (Fdelete_other_windows): Bug getting top edge.
15608
15609 1989-04-29 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15610
15611 * keyboard.c (get_char): Auto save if enough time elapses.
15612 (auto_save_timeout): New Lisp variable.
15613
15614 * xdisp.c (try_window, try_window_id): Set w->redo_mode_line
15615 if should show percentage instead of `Bot'.
15616
15617 1989-04-29 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
15618
15619 * xterm.c (x_term_init): Don't set visible bell, as it pre-empts
15620 .emacs control.
15621
15622 1989-04-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15623
15624 * doc.c (syms_of_doc): Make Vdoc_file_name a Lisp variable
15625 named internal-doc-file-name.
15626
15627 1989-04-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15628
15629 * m-news.h: m-news800.h renamed.
15630 Removed EXPLICIT_SIGN_EXTEND and COMPILER_REGISTER_BUG.
15631 Removed SEGMENT_MASK and sigmask.
15632 LOAD_AVE_TYPE is now `double'; LOAD_AVE_CVT changed too.
15633 Define m68000 if not defined.
15634
15635 1989-04-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15636
15637 * ymakefile: If COFF_ENCAPSULATE, define LD as gcc -nostdlib.
15638
15639 * sysdep.c: Unconditionally include sys/ioctl.h.
15640
15641 * m/m-mips.h [USG]: Define LIBS_TERMCAP.
15642 If HAVE_X11, define HAVE_VFORK.
15643
15644 1989-04-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15645
15646 * m/m-altos.h: Use termcap, not terminfo.
15647 Define COFF_ENCAPSULATE if using gcc.
15648 Use built-in alloca if using gcc.
15649 Define PURESIZE.
15650
15651 * lread.c (absolute_filename_p): On ALTOS, @ means absolute.
15652
15653 * process.c: Missing #endif.
15654 * fileio.c (Finsert_file_contents): Define `p' for last change.
15655 * buffer.c, floatfns.c: Typos in DEFUN doc strings.
15656 * keyboard.c: Typo in DEFVAR_LISP doc string.
15657
15658 * window.c (Fdelete_other_windows): Fix confusion about type of W.
15659
15660 1989-04-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15661
15662 * ymakefile (LDFLAGS): Forgot to use LD_SWITCH_SITE.
15663
15664 * xterm.c (XTflash): Draw the bars here.
15665 (x_invert_screen): Change to invert entire window.
15666 (stufflines): Changed args to XClearArea.
15667 (XTread_socket): Clean up handling of KeyPress events.
15668 For LeaveWindow, ignore uninteresting ones and handle autolower.
15669 For FocusIn, ignore if unknown window, and handle autoraise.
15670 For MotionNotify, add real handling for X11.
15671 For ConfigureNotify, count width of scroll bars.
15672 Don't call change_screen_size redundantly; ignore linked expose events.
15673 Update left and top pos if nec.
15674 For button events, ignore if not in known window or scrollbar.
15675 (x_new_selected_screen): Takes screen as arg.
15676 (x_error_handler): Arg type different for X11.
15677 (x_set_window_size) [HAVE_X11]: Call change_screen_size
15678 before x_wm_set_size_hint.
15679 (x_make_window_visible): Make scroll bars visible too, if any.
15680 (x_lower_window): New fn.
15681 (x_wm_set_size_hint): Take account of width of scroll bars.
15682 Ior specified hint flags with those already set.
15683
15684 * xterm.h (HSCROLL_HEIGHT): HSCROLL_WIDTH is renamed.
15685 (MAXWIDTH): Increased to 300.
15686 (MAXHEIGHT): Increased to 100.
15687 (DISPLAY_SCREEN_ARG): Remove parentheses.
15688 (ButtonReleased, WhichMouseButton): Delete definitions.
15689
15690 * xmenu.c: Adapted to new X interface. X11ONLY replaced with xDISPLAY.
15691 Many X11 conditionals removed.
15692
15693 * xfns.c (x_set_cursor_color): Special case if matches foreground.
15694 (Fx_create_screen): Typo for HSCROLL_HEIGHT.
15695 Use BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT.
15696 Set PRETEND arg to change_screen_size.
15697 Delete gray_bits; this value made global.
15698 Don't call install_*_scrollbar here.
15699 (x_set_horizontal_scrollbar): Define this for real.
15700 (x_set_vertical_scrollbar): Corrent args to install_vertical_scrollbar.
15701 (install_vertical_scrollbar): New local slider_pixmap, and set it.
15702 Delete locals GC_values, temp_gc.
15703 Change arrow_width, arrow_height (appears to be undefined) to 16.
15704 Un-if-0 this code.
15705 Use border_pixel, not foreground_pixel, for scrollbar.
15706 (install_horizontal_scrollbar): Define this for real.
15707 (adjust_scrollbars): Handle horizontal scrollbar.
15708 Define XMoveResizeWindow as XConfigureWindow if X10 to simplify.
15709 (x_resize_scrollbars): Remove #if 0 from quick-exit case.
15710 Really handle horizontal scrollbar.
15711 Simplify using new macro.
15712 (Fx_get_mouse_event): Mostly ignore events other than buttons.
15713 Use many new macros to handle X10 and X11.
15714 (encode_mouse_button): New fn: encoding of which button, broken out.
15715
15716 * xfns.c (left_arror_cursor, etc.): New vars.
15717 (x_screen_parm, init_x_parm_symbols, x_set_screen_param):
15718 Define X_PARM_AUTOLOWER.
15719
15720 * xdisp.c (display_string, redisplay-window, DoDsp):
15721 Use SCREEN_WIDTH, SCREEN_HEIGHT.
15722
15723 1989-04-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15724
15725 * indent.c (compute_motion): Use SCREEN_WIDTH.
15726 * dispnew.c (update_line): Use SCREEN_WIDTH.
15727 (update_screen): Use SCREEN_HEIGHT.
15728
15729 1989-04-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15730
15731 * window.c: rename Vauto_new_screen_hook, Vdisplay_buffer_hook, and
15732 Vtemp_buffer_show_hook to ..._function.
15733
15734 * keyboard.c: rename mouse_hook to mouse_event_function.
15735
15736 * buffer.c, buffer.h, cmds.c: blink-paren-hook and auto-fill-hook
15737 renamed to -function.
15738
15739 * fileio.c (Finsert_file_contents): Allow quit in read.
15740 (Fwrite_region): Allow quit in write.
15741
15742 1989-04-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15743
15744 * doprnt.c (doprnt): Comment out %b since sprintf can't do it.
15745
15746 * Change X11 to HAVE_X11 everywhere.
15747
15748 * m-sun3.h: Define C_SWITCH_MACHINE as -fsoft.
15749
15750 1989-04-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15751
15752 * process.c: Don't define wstopsig, wtersig if already defined.
15753
15754 * sysdep.c [VMS] (sys_getenv): Copy the string before returning it.
15755
15756 * m-alliant.h: Define `vector'.
15757
15758 1989-04-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15759
15760 * process.c (wait_reading_process_input) [sun]: If SIGIO failed
15761 to be sent, send it by hand.
15762
15763 1989-04-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15764
15765 * window.c (Fdelete_other_windows): recenter window to avoid scrolling.
15766
15767 1989-04-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15768
15769 * indent.c: Include screen.h.
15770
15771 * indent.c (pos_tab_offset, Fvertical_motion): Compute internal width
15772 correctly and uniformly.
15773
15774 * xdisp.c (try_window, try_window_id): Use exact internal width
15775 to update tab_offset.
15776 (try_window_id): pos_tab_offset value needs adjustment only if
15777 starting a line in middle of a character.
15778
15779 1989-04-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15780
15781 * sysdep.c [USG]: If TIOCGWINSZ defined, include sioctl.h.
15782
15783 1989-04-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15784
15785 * eval.c (Fbacktrace): Set Vprint_level to 3 throughout.
15786
15787 * fns.c (Fload_average): nlist data structure is funny on convex.
15788
15789 * window.c (scroll_command): scroll at least 1 line in specd direction.
15790
15791 * cm.c (calccost): NTABS was off by 1 sometimes; take account of
15792 the starting position modulo 8.
15793
15794 * fileio.c (Fexpand_file_name): Don't simplify /../ at start of name.
15795
15796 * callint.c: doc fixes.
15797
15798 * process.c (create_process):
15799 On all USG systems, not just IRIS and AIX, don't pre-open pty's tty.
15800 Move the setpgrp done for USG (no real change).
15801 Tell child_setup to do a setpgrp.
15802 * callproc.c (child_setup): New arg says whether to setpgrp.
15803 Never setpgrp on USG.
15804 (Fcall_process): Tell child_setup not to setpgrp.
15805
15806 * sysdep.c (init_sys_modes, reset_sys_modes): Don't try to hack
15807 TIOCGLTC, TIOCGETC, etc. if HAVE_TERMIO.
15808 Don't bother to undef these for XENIX.
15809
15810 1989-04-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15811
15812 * ymakefile (LIBES): Put LIBX first; it may depend on LIBS_MACHINE.
15813
15814 * m-sequent.h: Define HAVE_ALLOCA.
15815
15816 1989-04-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15817
15818 * term.c (term_init): Can't use scroll region if no abs positioning.
15819
15820 1989-04-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15821
15822 * process.c (Fopen_network_stream): close desc. if connect fails.
15823
15824 1989-03-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15825
15826 * minibuf.c (Fall_completions): gcprotect ALLMATCHES and TAIL,
15827 not STRING.
15828
15829 * keyboard.c (read_avail_input): Handle EBADSLT like EAGAIN.
15830
15831 1989-03-29 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15832
15833 * term.c (term_init): Either ic or ip or im or IC => can insert chars.
15834
15835 * minibuf.c (read_minibuf_unwind): Ensure minibuf writable for erasure.
15836
15837 1989-02-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15838
15839 * m-convex.h: Undefine NO_ARG_ARRAY.
15840 Changed defns of DATA_SEG_BITS and XINT.
15841 Define alloca for GCC compilation.
15842
15843 1989-02-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15844
15845 * m-ibmrt-aix.h: Define BROKEN_FIONREAD.
15846
15847 1989-02-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15848
15849 * keymap.c (Fdefine_prefix_command): Set both value and fn defn,
15850 with separate syms specified for each purpose.
15851
15852 1989-02-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15853
15854 * callproc.c (Fcall_process): Open /dev/null with O_WRONLY.
15855
15856 1989-02-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15857
15858 * window.c (window_scroll): Allow scrolling to very end (empty screen)
15859 if that's exactly where we wanted to scroll to.
15860
15861 1989-02-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15862
15863 * data.c (Fkill_local_variable): New local to simplify big stmt.
15864
15865 1989-02-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15866
15867 * xdisp.c (display_text_line): cvt chars to glyfs for overlay arrow.
15868
15869 * sysdep.c (init_sys_modes, child_setup_tty) [IBMRTAIX]:
15870 Don't ignore BRK, and don't signal it.
15871
15872 * process.c (pty): An IBMRTAIX conditional.
15873 (create_process): Another here.
15874
15875 1989-02-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15876
15877 * keymap.c (Fdefine_prefix_command): Use Ffset, not Fset.
15878
15879 1989-02-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15880
15881 * fileio.c (Fset_visited_file_modtime): New fn.
15882
15883 * xfns.c (Fx_create_screen) [X10]: XCreateWindow wants pixmaps as args.
15884
15885 1989-02-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15886
15887 * dispnew.c (Fsit_for): It accepts 3 args.
15888
15889 1989-02-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15890
15891 * xterm.c (XTread_socket): For X10, make EVENT an XKeyPressedEvent.
15892 (x_set_resize_hint): Call XSetResizeHint.
15893
15894 * process.c: Declare interrupt_input.
15895
15896 * sysdep.c (init_sys_modes): TIOCSTART, not TCSTART.
15897
15898 1989-01-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15899
15900 * xterm.h (struct x_display): `GC' renamed `gc' in all field names.
15901 Field `ColorMap' renamed to `color_map'.
15902 (face_gc_values): face_GC_values renamed.
15903
15904 1989-01-28 Joe Arceneaux (rms at sugar-bombs.ai.mit.edu)
15905
15906 * xterm.h (face_GC): Var deleted.
15907 (struct x_display): New field face_GC.
15908 (VSCROLL_WIDTH, HSCROLL_WIDTH): Moved here.
15909 (MINWIDTH, MINHEIGHT, MAXWIDTH, MAXHEIGHT): New vars. Eliminate them!
15910 (BLACK_PIX_DEFAULT): Typo in definition.
15911 (WHITE_PIX_DEFAULT): Typos in definitions; was the black default.
15912
15913 * xterm.c: Include ioctl.h only if BSD.
15914 Include termio.h otherwise.
15915 (XMapWindow) [X11]: Typo in definition.
15916 (METABIT): New definition; maybe not needed.
15917 (hostname, id_name, invocation_name, Vcommand_line_args): New vars
15918 declared for main icon title.
15919 (x_debug): Init to 1 if XDEBUG defined.
15920 (dumpglyfs) [X11]: Changed args to XDrawImageString.
15921 If debugging, do XFlushQueue.
15922 Use screen's face_gc rather than old global one.
15923 (XTflash) [not BSD]: avoid `struct itimerval'; use `alarm'.
15924 (events): New table of event type names.
15925 (XTread_socket): EVENT is now an XEvent even on x10.
15926 Translate modifier key 1 into meta-bit.
15927 For EnterNotify event, don't dumpborder or x_new_selected_screen
15928 if there is an x_focus_screen.
15929 For LeaveNotify event, don't ignore due to nonzero subwindow.
15930 For ConfigureNotify, change screen size.
15931 Do `select' check for SIGHUP only if HAVE_SELECT.
15932 (x_new_selected_screen): An arg, SCREEN.
15933 (x_display_cursor): dumpglyfs args changed.
15934 (x_draw_box): Add GC arg to XDrawRectangle; change other args.
15935 (clear_cursor): Change args to XClearArea.
15936 (dumpborder): check x_input_screen, not selected_screen.
15937 (x_text_icon): For X11, new arg to XGetDefault.
15938 Cast values stored in icon_label.
15939 (x_term_init): Hair to calculate name for icon.
15940 Don't init_sigio unless SIGIO defined.
15941 Call Fset_input_mode.
15942 For X11, new arg to XGetDefault.
15943 Set _Xdebug if debugging.
15944 (x_new_font) Use XGetFont.
15945 Get GC values from the screen structure.
15946 (x_reset_cursor): Don't call XRecolorCursor.
15947 (x_set_window_size): Call x_wm_set_size_hint, not x_set_size_hint.
15948 (x_set_resize_hint): For X11, call x_wm_set_size_hint.
15949 (x_wm_set_size_hint, x_wm_set_window_state, x_wm_set_icon_pixmap):
15950 (x_wm_set_icon_position): New fns for X11.
15951
15952 * xfns.c: For X11, include Xutil.h
15953 (VSCROLL_WIDTH): Moved to xterm.h.
15954 (face_GC): Don't declare it.
15955 (id_name): Declare this.
15956 (x_decode_color): Check `white' and `black' first of all.
15957 (x_set_foreground_color) [X11]: Reset foreground and background.
15958 (x_set_background_color) [X11]: Missing arg to XSetWindowBackground.
15959 (x_set_cursor_color) [X11]: Reset foreground and background.
15960 (x_read_mouse_position) [X11]: Changed call to XQueryPointer.
15961 (x_set_mouse_position) [X11]: Add args to XWarpPointer.
15962 (Fx_create_screen): Set some temporary geometry parms at the beginning.
15963 For X11, changed setup of iconidentity, and implement rubber-banding.
15964 For X11, implement merging individual geometry parms.
15965 For X11, changed args to XCreateSimpleWindow.
15966 For X11, call x_wm_set_size_hint.
15967 Specify name when creating icon.
15968 Don't call XSetForeground, XSetBackground before making border tile.
15969 New var `cursor_bits'. Init the screen's GC's.
15970
15971 * screen.c (Frubber_band_rectangle): For X11, just return nil.
15972
15973 1989-01-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15974
15975 * buffer.c (Fbuffer_modified_tick): New fn.
15976
15977 * window.c (Fnext_window): Accept 3 args from Lisp.
15978
15979 1989-01-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15980
15981 * sysdep.c (sys_suspend): Handle case of SIGTSTP but not BSD.
15982
15983 1989-01-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15984
15985 * sysdep.c (init_sys_modes): Do TIOCSTART if def, like TCXONC.
15986
15987 1989-01-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15988
15989 * process.c (wait_reading_process_input): New 2nd arg is extra usecs.
15990 All callers changed.
15991 * dispnew.c (Fsit_for, Fsleep_for): New 2nd arg says 1st arg
15992 counts in milliseconds.
15993
15994 * buffer.c (Fkill_all_local_variables): Implement permanent locals.
15995
15996 1989-01-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
15997
15998 * keymap.c (get_keyelt): Allow indirection within (STRING . DEFN).
15999
16000 1989-01-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16001
16002 * process.c (wait_reading_process_input): If select returns there
16003 is kbd input, but detect_input_pending can't find it, signal SIGIO.
16004 This may avoid the X loop-on-logout bug.
16005
16006 * process.c (wait_reading_process_input): Flush fix_screen_hook.
16007 * termhooks.h, term.c: likewise.
16008
16009 * xdisp.c (Fredraw_display): Don't do set_terminal_modes.
16010 * dispnew.c (Fredraw_screen): likewise.
16011
16012 * eval.c (Fcond): If no args, return nil.
16013
16014 1989-01-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16015
16016 * eval.c (Fbacktrace_frame): Require one arg. Return nil if too high.
16017
16018 1989-01-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16019
16020 * minibuf.c (read_minibuf): Set Vminibuf_scroll_window before
16021 switching windows.
16022
16023 * xterm.c (XTread_socket): If no HAVE_SELECT, wait for input
16024 if new arg WAITP is non0. Do this by not bothering to test for
16025 presence of input before reading some.
16026 Check for dead connection only if new arg EXPECTED is nonzero.
16027 All callers changed (keyboard and sysdep).
16028
16029 * Simplify keyboard input.
16030 * keyboard.c (read_avail_input): Don't assume buffer is empty.
16031 Don't call get_input_pending; do FIONREAD here.
16032 Don't do FIONREAD if read_socket_hook, just tell it don't wait.
16033 Arg EXPECTED is passed to read_socket_hook.
16034 (input_available_signal): Use read_avail_input.
16035 (gobble_input): Use read_avail_input; arg EXPECTED passed along.
16036 (get_input_pending): let gobble_input do the work.
16037
16038 * VMS keyboard input should have interrupt_input nonzero.
16039 * keyboard.c (Fset_input_mode, init_keyboard): [VMS] Always set
16040 interrupt_input to 1.
16041 (get_input_pending): Special case deleted.
16042
16043 1989-01-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16044
16045 * fileio.c (auto_save_1): Always make auto-save file owner-writable.
16046
16047 * eval.c (Fbacktrace_frame): New fn.
16048
16049 * buffer.h: Define `fieldlist' field in a buffer.
16050 * buffer.c (Fregion_fields): Return list of fields overlapping
16051 specified region.
16052 (syms_of_buffer): New variable buffer-field-list.
16053 (reset_buffer): Clear the fieldlist.
16054 (init_buffer_once): Set up default and flag for buffer-field-list.
16055 * insdel.c (prepare_to_modify_buffer): If check_protected_fields,
16056 call Fregion_fields to detect error.
16057 Delete buffer_modify_hook.
16058
16059 * callint.c (Fcall_interactively): Bind `command-debug-status'
16060 for each interactive command.
16061
16062 * keyboard.c (command_loop_1): Count # commands read.
16063 (num_input_keys): New Lisp variable.
16064
16065 * m/m-gould.h, m/m-ibmrt-aix.h, m/m-sequent.h, m/m-sparc.h,
16066 m/m-sun3.h, m/m-symmetry.h: Define A_TEXT_SEEK.
16067 * unexec.c (copy_text_and_data): Don't check A_TEXT_OFFSET,
16068 just A_TEXT_SEEK.
16069 * unexconvex.c: Likewise.
16070
16071 * unexconvex.c: machine/*.h unconditionally.
16072
16073 * process.c (pty): Delete RTU, HPUX, IRIS alternatives to
16074 PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF.
16075 * s/s-hpux.h: Define PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF.
16076 * s/s-rtu.h: Likewise.
16077 * s/s-iris*.h: Define PTY_TTY_NAME_SPRINTF.
16078
16079 * sunfns.c (Fsun_change_cursor_icon): Avoid ambiguity in eval order.
16080
16081 1989-01-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16082
16083 * data.c (Fdefault_value): If var set up with default value as current,
16084 take the current value slot, more up to date than the default slot.
16085
16086 1989-01-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16087
16088 * dispnew.c (init_display): don't handle SIGWINCH if using X.
16089
16090 * fileio.c (Fdo_auto_save): If file has shrunk, turn off auto-save.
16091 This avoids duplicate messages and allows M-x auto-save to turn it on.
16092
16093 * lread.c (Fload): Look in Vafter_load_alist.
16094 (syms_of_load): Define after-load-alist.
16095
16096 1989-01-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16097
16098 * dired.c (Fdirectory_files): 4th arg NOSORT non-nil means don't sort.
16099
16100 * syntax.c (scan_lists): Change Sendcomment case so that
16101 ignoring comments works even for newline-terminated comments.
16102
16103 * minibuf.c (read_minibuf): Default Vminibuf_scroll_window
16104 to the window that was selected.
16105
16106 1989-01-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16107
16108 * fns.c (do_yes_or_no_p): Typo, call2 => call1.
16109
16110 * eval.c (Fbacktrace): Each frame item should have a newline.
16111
16112 * emacs.c (Fkill_emacs): Don't run hook if noninteractive.
16113
16114 * eval.c: Define Vrun_hooks.
16115 (syms_of_eval): Initialize Vrun_hooks.
16116
16117 * indent.c (Fmove_to_column): Use del_range; Fdelete_backward non ex.
16118
16119 * ymakefile (objs, floatfns.o): Re-add this file.
16120 (LIBX): Install X11 case.
16121
16122 * ymakefile (LIB_GCC): Now a cpp macro, like all other LIB_...
16123 Define null if not using GCC.
16124
16125 * lread.c (unreadchar): New function to unread a char
16126 by stuffing it back into its stream. Now unread chars
16127 work properly between multiple reads.
16128 (UNREAD): Now calls that function.
16129 (readchar): Don't us `unrch'; variable deleted.
16130 (various): Don't initialize `unrch'.
16131 (readevalloop): No need to save and restore `unrch'.
16132 (read1): Don't unread a -1.
16133
16134 * keymap.c (get_keyelt): If keymap defn is (STRING . FOO),
16135 remove just FOO. Will help HierarKey.
16136
16137 1989-01-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16138
16139 * unexmips.c [IRIS_4D]: Don't include fcntl.h.
16140 (unexec): Look for LIT8, LIT4 sections iff they are defined.
16141
16142 * buffer.c (Fkill_all_local_variables): Force redisplay of mode lines.
16143
16144 1989-01-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16145
16146 * emacs.c (main): Do the setpgrp before handling -t.
16147
16148 * keyboard.c (Fsuspend_emacs): Use run-hooks to run suspend-hook
16149 and suspend-resume-hook.
16150
16151 * buffer.c (Fkill_buffer): Execute kill-buffer-hooks
16152 with buffer to be killed as current buffer.
16153
16154 * buffer.c (count_modified_buffers): ModExist renamed.
16155
16156 * emacs.c (Fkill-emacs): Execute kill-emacs-hook.
16157
16158 * fileio.c (auto_save_1): Set auto_save_mode_bits from visited file.
16159 (Fwrite_region) [not VMS]: If auto-saving, write file with that mode.
16160
16161 * fileio.c (Fwrite_region): If START is a string, write that string.
16162
16163 1989-01-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16164
16165 * lisp.h (XMARKBIT, XSETMARKBIT): If mark bit is sign bit,
16166 use sign-test for XMARKBIT; value is then 1 or 0.
16167 Make XSETMARKBIT test 2nd arg for nonzeroness only.
16168
16169 * m/m-mips.h: Last batch of changes are only for USG.
16170 (XMARKBIT, XSETMARKBIT): Deleted; the new default ones are good.
16171
16172 * editfns.c (Fformat): Use princ for %s.
16173 New format %S converts everything (even strings) with prin1.
16174 * doprnt.c (doprnt): Treat %s like %S.
16175
16176 * print.c (Fprin1_to_string): Opt 3nd arg non-nil does princ.
16177
16178 1988-12-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16179
16180 * data.c (Fstring_to_int): Correct max # args.
16181
16182 1988-12-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16183
16184 * ymakefile (LIBES, LIB_GCC): If using GCC, link with gnulib.
16185
16186 1988-12-29 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16187
16188 * editfns.c: Many doc improvements.
16189
16190 1988-12-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16191
16192 * lisp.h (CHECK_NATNUM): New macro.
16193
16194 * indent.c (Fmove_to_column): 2nd arg t means indent till spec'd column
16195 or change tab to spaces if necessary.
16196
16197 * m/m-iris4d.h: (conditionally) delete DEFAULT_ENTRY_ADDRESS
16198 and change START_FILES and LIB_STANDARD.
16199
16200 * s/s-iris3-6.h: Define sigblock as no-op.
16201
16202 * m/m-mips.h: Cancel defn of VIRT_ADDR_VARIES, `static'.
16203 Undef SIGIO. Define BROKEN_FIONREAD.
16204 Define various HAVE_... flags a la BSD.
16205 Add options, libraries for linking and compilation.
16206
16207 * unexmips.c (unexec): Handle additional optional sections now likely.
16208 New scheme for recording what sections there are.
16209 Make handling of the LIT8,LIT4 sections conditional (not on IRIS).
16210
16211 * fns.c (do_yes_or_no_p): New interface to Lisp function yes-or-no-p.
16212 Allows the user to redefine that function.
16213 All callers of Fyes_or_no_p changed.
16214
16215 * data.c (Fmakunbound): Don't allow nil or t as arg.
16216
16217 * m/m-orion105.h (LOAD_AVE_TYPE): Now `long'.
16218
16219 1988-12-27 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16220
16221 * dispnew.c (unhold_window_change):
16222 Don't signal SIGWINCH. Instead, do pending size-changes here,
16223 while holding any new size-changes that arrive, so they become
16224 pending. Loop around to get the new pending ones.
16225 (change_screen_size): Clear any previous pending size-change.
16226
16227 * search.c (place): Was clipping to (1- (point-max)) by mistake.
16228
16229 1988-12-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16230
16231 * window.c (Fdelete_window): Give all this window's space
16232 to one adjacent sibling.
16233
16234 1988-12-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16235
16236 * keymap.c (describe_alist): Don't lose on non-cons-cell alist elts.
16237 (Fwhere_is_internal): Don't fail to step down the alist.
16238 (Faccessible_keymaps): Considerable confusion in alist case.
16239
16240 * lread.c (Feval_current_buffer, Feval_region):
16241 Save and restore point as a marker, not a number.
16242 Don't restore it at all if printflag is t.
16243
16244 * print.c (float_to_string): Mostly rewritten; output format
16245 is now a printf %-spec.
16246 (Qfloat_output_format): Doc changed to match.
16247
16248 1988-12-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16249
16250 * ymakefile (obj): Include floatfns.o.
16251 * data.c (syms_of_data): Fix typo Snumberp_or_marker_p.
16252
16253 * Allow keymaps to have other keymaps as tails.
16254 Thus, one keymap can inherit from another.
16255 * keymap.c (Fwhere_is_internal): Ignore non-cons elements of alist.
16256 (Faccessible_keymaps): Support symbols as alist indices.
16257 Ignore alist elements that aren't conses.
16258
16259 * m/m-sun386.h (LDAV_SYMBOL): Define as "avenrun" with no underscore.
16260
16261 * lread.c (read_escape): Support ANSI C `\x...' hex escapes.
16262
16263 * bytecode.c (Fbyte_code): fix jump operators for change in `pc'.
16264
16265 1988-12-21 Joe Arceneaux (jla at gracilis.ai.mit.edu)
16266
16267 * ymakefile: Commented #endif LISP_FLOAT_TYPE. Also changed
16268 the code pertaining to X11 to use the same files as X10.
16269
16270 * bytecode.c (Fbyte_code): Declared unsigned char *pc.
16271
16272 1988-12-19 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
16273
16274 * xterm.c: Finished a first cut of the X11 version.
16275
16276 1988-12-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16277
16278 * sysdep.c (select): `buf' is now unsigned char.
16279
16280 1988-12-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16281
16282 * m/m-elxsi.h: Don't define WORD_MACHINE or CANNOT_DUMP.
16283 Do define symbols for load average.
16284 Define COFF and ADJUST_EXEC_HEADER.
16285
16286 1988-12-16 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
16287
16288 * sink.h,sinkmask.h: Same file now works for both X10 and X11.
16289 * xterm.c,xfns.c (x_text_icon) Can now take new name as parameter.
16290
16291 1988-12-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16292
16293 * m/m-is386.h: No need to undef HAVE_PTYS, HAVE_SOCKETS, SYSV_PTYS
16294 since s-usg5-3.h no longer defines them.
16295
16296 1988-12-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16297
16298 * bytecode.el (Fbyte_code): Cache the pointer in the string
16299 to avoid recalculating it at each fetch.
16300 Also turn off the error check for stack overflow/underflow.
16301
16302 1988-12-14 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
16303
16304 * xfns.c: Made the first cut for X11 version.
16305 * xterm.c: (x_reset_cursor) Did the X11 version.
16306
16307 1988-12-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16308
16309 * keyboard.c (Fexecute_mouse_event): Set Vmouse_event. Doc fix.
16310 Run Vmouse_hook at the end.
16311 (syms_of_keyboard): Define var `mouse-hook'.
16312
16313 1988-12-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16314
16315 * term.c (insert_glyfs): Typo, was fetching G twice.
16316
16317 1988-12-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16318
16319 * keymap.c (describe_buffer_bindings): Print mouse bindings too.
16320 (describe_map): If have a chartab, use mouse-describe-key for prefixes.
16321 * keymap.c (describe_{map,map_tree,alist}, describe_vector):
16322 Extra arg mapping chars to their names. Calls changed.
16323 * syntax.c (describe_syntax_1): Call changed.
16324
16325 * keymap.c (Vglobal_mouse_map): Make it exist unconditionally.
16326
16327 * keymap.c (apropos1): Clean up.
16328 Do where-is-internal only if there is a function definition.
16329 Use mouse-describe-key to turn mouse key sequences into strings.
16330 (Fwhere_is): Check the mouse map too;
16331 (Fwhere_is_internal): New arg is global map to use.
16332 All callers changed in keypad.c and doc.c.
16333 (where_is_string): New fn cvts result of Fwhere_is_internal to string.
16334
16335 1988-12-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16336
16337 * emacs.c (stack_bottom): New variable, set in main.
16338 * alloc.c (Fgarbage_collect): Save a copy of the entire stack contents.
16339
16340 1988-12-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16341
16342 * editfns.c (Funix_umask, Funix_sync): New functions.
16343
16344 * process.c (Fsignal_process): New function.
16345
16346 1988-12-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16347
16348 * editfns.c (Fsubst_char_in_region): Fix typo in when to un-modify buf.
16349
16350 1988-12-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16351
16352 * process.c (create_process): Take the usg's setpgrp and the close-and
16353 -open of the tty outside the TIOCNOTTY conditional, since TIOCNOTTY
16354 is always missing outside BSD. Now the TIOCNOTTY conditional controls
16355 only the TIOCNOTTY.
16356
16357 1988-12-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16358
16359 * lread.c (Feval_current_buffer, Feval_region):
16360 If there is an error, don't restore original point.
16361
16362 * s-hpux.h (SHORT_CAST_BUG): Define this, for HPUX version 6.2.
16363
16364 * ymakefile (THIS_IS_YMAKEFILE): Define macro to tell m- files
16365 to do special things.
16366
16367 * m/m-ns16000.h: (LOAD_AVE_TYPE, etc.): Don't define them if USG.
16368 * m/m-ns16000.h [USG]: Define various macros differently.
16369 (munnari!sibyl.eleceng.ua.oz.au!ian@uunet.uu.net).
16370
16371 * sysdep.c (reset_sys_modes): Don't output a CR here.
16372 * term.c (reset_terminal_modes): Do it here, but first
16373 do a newline if it's a magic cookie terminal.
16374
16375 * sysdep.c (sys_suspend) [USG]: Use `nice' to set subshell pri. to 0.
16376
16377 * sysdep.c (TIOCSETN) [USG]: Use TCSETAW, not TCSETA.
16378
16379 * sysdep.c (setpriority) [USG]: No longer a no-op; use `nice'.
16380
16381 * keymap.c (Fwhere_is_internal): New 4th arg inhibits looking thru
16382 indirect definitions--so you can search for one.
16383
16384 * alloc.c, fns.c, search.c: Doc fix.
16385
16386 1988-12-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16387
16388 * process.c (read_process_output): Insert with insert_before_markers.
16389
16390 * filelock.c (lock_file_1, lock_superlock):
16391 If USG, use chmod instead of fchmod.
16392
16393 * environ.c (Fsetenv): Doc fix.
16394
16395 1988-11-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16396
16397 * eval.c (do_autoload): Verify FUNNAME is a symbol.
16398
16399 1988-11-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16400
16401 * fileio.c (Fread_file_name): New arg specifies initial minibuf cntnts.
16402 * callint.c (Fcall_interactively): Calls changed.
16403
16404 1988-10-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16405
16406 * insdel.c (make_gap): Error if buffer size exceeds range of Lisp int.
16407
16408 1988-10-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16409
16410 * window.c (Fsplit_window): Prevent error in Fset_window_buffer.
16411
16412 * sysdep.c (gettimeofday): Store -1 thru tzp so caller knows invalid.
16413
16414 * xdisp.c (message): Pass 0 as new arg to doprnt.
16415 * callint.c (Fcall_interactively): Likewise.
16416 * editfns.c (format1):
16417 * doprnt.c (doprnt): Allow 0 as FORMAT_END arg meaning null-terminated.
16418
16419 1988-10-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16420
16421 * keyboard.c: If UNIPLUS, include ioctl.h.
16422
16423 * sysdep.c (utime): Use new flag IRIS_UTIME, not IRIS.
16424 * s-iris*.h: Define that flag.
16425
16426 1988-10-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16427
16428 * term.c (term_init): If have `im' capability, permit ins/del char
16429 even without `ic'.
16430
16431 1988-10-03 Richard Stallman (rms at corn-chex.ai.mit.edu)
16432
16433 * m/m-hp9000s300.h: Conditionals for BSD vs HPUX.
16434
16435 * ymakefile: Look for C_SWITCH_SITE, LD_SWITCH_SITE.
16436
16437 1988-09-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16438
16439 * editfns.c (Fformat): Allow nulls in the format.
16440 * doprnt.c (doprnt): likewise. End of format string is new arg.
16441
16442 1988-09-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16443
16444 * m/m-7300.h: Undefine SHORTNAMES. Supposedly newer Unix now.
16445
16446 * print.c (print): Support new var print_length.
16447 (syms_of_print): Define Lisp var print-length.
16448 * eval.c (Fbacktrace): Print unevalled form with print_length = 3.
16449
16450 * Makefile (tags): Add TAGS as alternate target.
16451 Process the files in ../lisp/term.
16452
16453 1988-09-27 Richard Stallman (rms at corn-chex.ai.mit.edu)
16454
16455 * doprnt.c (doprnt): Handle %-20s.
16456 * editfns.c (Fformat): Likewise (make enough space for it).
16457
16458 * minibuf.c (do_completion): If get "Complete but not unique" twice
16459 in a row, display all completions. New var last_exact_completion.
16460
16461 1988-09-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16462
16463 * * dispnew.c (baud_rate): Now a Lisp variable, not a function.
16464 * termcap.c (tputs) [emacs]: Use baud_rate as the speed.
16465
16466 1988-09-19 Richard Stallman (rms at gluteus.ai.mit.edu)
16467
16468 * window.c (Fset_window_configuration): Set deleted windows' buffer
16469 to nil, via new function delete_all_subwindows.
16470 * window.c (Fset_window_buffer): Reject deleted windows.
16471 * window.c (init_window_once): Init the ->buffer fields
16472 to satisfy error check in Fset_window_buffer.
16473
16474 * * xmenu.c (Fx_popup_menu): 1st arg is now ((X Y) WINDOW).
16475
16476 * process.c (child_sig): If synch process terminates, clear
16477 synch_process_pid and record synch_process_death.
16478 * * callproc.c (Fcall_process): return synch_process_death.
16479 Always set synch_process_pid and do it with SIGCHLD masked off.
16480 * sysdep.c (wait_for_termination) [subprocesses and not VMS]:
16481 Use alarms to check every second whether synch_process_pid is 0.
16482
16483 1988-09-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16484
16485 * xdisp.c (redisplay_window): If window-point is outside restriction
16486 then correct it in the window.
16487 * window.c (Fdelete_buffer): Don't change buffer's point to a value
16488 outside its restriction.
16489
16490 * sysdep.c (init_sys_modes) [MULTI_SCREEN]: Set Vterminal_screen's
16491 garbaged bit.
16492
16493 1988-09-16 Richard Stallman (rms at corn-chex.ai.mit.edu)
16494
16495 * keyboard.c (kbd_buffer_get_char): VMS now uses same code as Unix.
16496
16497 * vmsproc.c: New file for VMS only.
16498 * callproc.c [VMS]: Omit Fcall_process and child_setup_tty.
16499 * emacs.c (main) [VMS]: Call init_vmsproc and syms_of_vmsproc.
16500
16501 * lread.c (OBARRAY_SIZE): Change slightly to 509 (prime).
16502
16503 * * keyboard.c, dispnew.c, term.c, xterm.c (meta_flag): MetaFlag renamed.
16504 * keyboard.c (Fset_input_mode): 3rd arg sets meta_flag.
16505 (syms_of_keyboard): Variable meta-flag deleted.
16506 * sysdep.c (init_sys_modes): Don't override parity settings
16507 if meta_flag is 0.
16508
16509 1988-09-15 Richard Stallman (rms at corn-chex.ai.mit.edu)
16510
16511 * * search.c (Fsearch_forward, etc.): All buffer-search functions
16512 return new the value of point if they succeed.
16513
16514 1988-09-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16515
16516 * cmds.c (Fnewline): Correct test of ARG1 to inhibit auto-fill.
16517
16518 1988-09-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16519
16520 * window.c (Fdelete_window): Put nil as buffer of the deleted window.
16521 This makes select-window get an error earlier.
16522
16523 1988-09-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
16524
16525 * search.c (search_buffer, string_match, looking_at):
16526 Report matcher stack overflow as error, not just failure to match.
16527
16528 * data.c (Fmake_local_variable): Add local variable to simplify
16529 too-complex expression.
16530
16531 * fileio.c (Fdo_auto_save): No "file has shrunk" msg if < 5000 chars.
16532
16533 See ChangeLog.2 for earlier changes.