-
-
Notifications
You must be signed in to change notification settings - Fork 39
/
ChangeLog.3
16539 lines (11978 loc) · 605 KB
/
ChangeLog.3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* Version 19.10 released.
1993-05-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* keyboard.c (read_key_sequence): If we changed buffers during
read_char, go to replay_sequence.
* frame.c (Ficonify_frame, Fmake_frame_invisible):
Select some other frame. Move minibuffer off this frame.
* frame.c (Fhandle_switch_frame): Don't call Ffocus_frame.
(Fredirect_frame_focus): Call Ffocus_frame here.
* xterm.c (x_bitmap_icon): Don't free icon_bitmap;
create it if it hasn't been created before.
* xterm.c (XTread_socket): For UnmapNotify, if frame was visible,
mark it now as iconified.
(x_make_frame_invisible): If async_iconic, work does need to be done.
Don't let this frame stay highlighted.
(x_iconify_frame): Don't let this frame stay highlighted.
* s/usg5-4-2.h (sigsetmask): #undef this.
* sysdep.c (sys_signal): Use 0, not NULL, to set sa_flags.
1993-05-29 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* linux.h (C_OPTIMIZE_SWITCH): Set this to the empty string;
configure guesses just fine.
* tekXD88.h: New file, from Kaveh Ghazi.
* systty.h (CDISABLE): #undef it before re-#defining it.
* sysdep.c (sys_siglist): Comment out #endif trailer.
* xmenu.c (TRUE, FALSE): Same.
* xterm.c (dumprectangle): Same.
* emacs.c: Don't include termios.h directly--let systty.h do it.
1993-05-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* xfaces.c [HPUX]: Include time.h and define __TIMEVAL__.
* emacs.c (shut_down_emacs): Maybe close X connection. New arg NO_X.
(Fkill_emacs): Don't close it here. Pass new arg.
(fatal_error_signal): Pass new arg.
* xterm.c (x_connection_closed): Pass new arg.
* xdisp.c (syms_of_xdisp): Make highlight-nonselected-windows Lisp var.
(display_text_line): Obey it.
(display_text_line): Really check for just the selected window.
* s/usg5-4-2.h: New file.
* keyboard.c (menu_bar_items): Save Vinhibit_quit by hand
instead of using specbind.
(menu_bar_items): Call Fnreverse before restoring Vinhibit_quit.
* s/hpux8.h (OLDXMENU_OPTIONS): Add quotations.
* m/ibmrt.h (C_SWITCH_MACHINE): Define only if not __GNUC__.
(HAVE_FTIME): Defined.
(EMACS_BITMAP_FILES): Defined.
* xfns.c (Fx_close_current_connection): Clear x_current_display.
* xterm.c (XTring_bell): Do nothing if x_current_connection is 0.
* buffer.c (reset_buffer): Clear mark_active field here.
(reset_buffer_local_variables): Not here.
(Fswitch_to_buffer, Fpop_to_buffer): Return the buffer.
(Fmove_overlay): Fix data types in last change.
* sysdep.c (gettimeofday): Don't store in *tzp if tzp is 0.
* process.c (MAXDESC): Get it from FD_SETSIZE if that exists.
* s/sco4.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
Redefined.
(SIGNALS_VIA_CHARACTERS): Defined.
[HAVE_SOCKETS] (HAVE_GETTIMEOFDAY): Defined.
(MAIL_PROGRAM_NAME): Defined (two alternate definitions).
* xfns.c (Fx_list_fonts): Use CHECK_LIVE_FRAME on the frame arg.
1993-05-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* s/hpux8.h (LIBX11_SYSTEM): Defined.
* ymakefile: Replace config.h as dep with $(config_h).
(really-oldXMenu): Use two make vars to pass values
of C_SWITCH_... within doublequotes.
* xfns.c (x_figure_window_size): Never set PPosition or PSize.
* keymap.c (syms_of_keymap): Create global_map 256 slots long.
* cmds.c (keys_of_cmds): Predefined 0240-0376 as self-insert.
* xterm.c (XTread_socket, case KeyPress) [HPUX]:
Recognize the extended function keys.
* buffer.c (Fgenerate_new_buffer_name): New arg IGNORE.
(Frename_buffer): Pass new arg.
1993-05-28 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* keyboard.c (menu_bar_items): Bind Qinhibit_quit to Qt while we
call the keymap accessors; this gets called during redisplay.
* ymakefile (alloca.o): Call $(CC), not cc.
* s/linux.h (SIGNALS_VIA_CHARACTERS): Try this out for a bit.
* buffer.c (Fmove_overlay): If the overlay is changing buffers,
do a thorough redisplay.
* xfns.c (x_set_frame_parameters): Use the first
position/size parameter we find, not the last.
* s/hpux8.h: Don't define HAVE_RANDOM.
* config.h.in (UNEXEC_SRC): New macro, set by the configure
script.
* ymakefile (UNEXEC_SRC): Give it a default value here, and make
UNEXEC depend on it.
* ymakefile (lispdir): Set this in terms of ${srcdir}.
1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* dispnew.c (Fsleep_for): Don't return without waiting when SEC is 0.
* emacs.c (syms_of_emacs) [CANNOT_DUMP]: Don't defsubr Sdump_emacs*.
* alloc.c (mark_object): Add debugging code to check for ptr clobbered.
1993-05-27 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* Version 19.9 released.
1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* keyboard.c (read_char): Correct previous change.
1993-05-27 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* systty.h: Always terminate comments, to avoid confusion.
* xfns.c: Make resource manager work correctly even when
Vinvocation_name has periods and asterisks in it.
(Vxrdb_name): New variable.
(Fx_get_resource): Use it instead of Vinvocation_name.
(Fx_open_connection): Initialize it to a copy of Vinvocation_name,
with the dots and stars replaced by hyphens.
(syms_of_xfns): staticpro it here.
* xfns.c (Fx_get_resource): Use the proper format string when the
attribute has been specified.
1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* xfns.c (x_get_resource_string): New function.
* ymakefile (ALL_CFLAGS): Put CFLAGS last.
1993-05-26 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* s/sol2.h: (SOLARIS_BROKEN_ACCESS): Don't define this.
* s/aix3-2.h (C_SWITCH_SYSTEM): Don't define this to be "-ma" if
we're using GCC - that's an XLC switch.
* s/aix3-2.h (LIBS_SYSTEM): Put -LIM -Liconv here.
* systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
we have those structures, but *don't* define them if we have
TERMIOS, whose functions take care of those parameters; that
screws up AIX.
(struct emacs_tty): Test those symbols, instead of the ioctl
commands.
* sysdep.c (emacs_get_tty, emacs_set_tty, new_ltchars, new_tchars,
init_sys_modes): Same.
* config.h.in (HAVE_RENAME): Include an #undef for this, so
configure will have something to edit.
1993-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* window.c (window_loop, case GET_LRU_WINDOW):
Get frame's width properly.
* xselect.c (x_get_local_selection): If no conversion function
exists for the requested type, just return nil.
* s/linux.h (HAVE_TCATTR): Defined.
* sysdep.c [HAVE_SOCKETS]: Include socket.h, netdb.h.
(get_system_name) [HAVE_SOCKETS]: Use gethostbyname.
1993-05-26 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* s/hpux8.h (LIB_X11_LIB, C_SWITCH_SYSTEM, LD_SWITCH_SYSTEM,
LD_SWITCH_SYSTEM, OLDXMENU_OPTIONS): Add X11R5 directories to the
search paths in these lists; they shouldn't do any harm if they
don't have X11R5.
* s/aix3-2.h (C_SWITCH_SYSTEM): Don't #define this if we're using
GCC.
1993-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* xrdb.c (magic_searchpath_decoder): Fix typos.
* xdisp.c (display_text_line): Don't call compute_char_face
for a non-X frame.
* xfns.c (Fx_rebind_key, Fx_rebind_keys): X10 definitions deleted.
(syms_of_xfns): Install them only if X11.
* ralloc.c (r_alloc_sbrk): Declare already_available as long, not SIZE.
* xfns.c (x_set_cursor_type): If arg not recognized, use box cursor.
* s/hpux8.h (LD_SWITCH_SYSTEM) [__GNUC__]: Pass -a archive to ld.
(HAVE_RANDOM): Defined.
* s/hpux.h (rand, srand): Definitions deleted.
* keyboard.c (Fcurrent_input_mode): Fix the call to Flist.
(make_lispy_event): Fix off-by-1 error with hpos in menu bar.
* s/sunos4-1-3.h: New file.
* ymakefile (XOBJ) [!HAVE_X_MENU]: Add xfaces.o.
* s/irix4-0.h (SIGNALS_VIA_CHARACTERS): Defined.
* xterm.c (x_wm_set_size_hint): Don't set hints for max size.
1993-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* m/ibmrs6000.h (LIBS_MACHINE): Add -lIM and -liconv.
(HAVE_GETTIMEOFDAY): Deleted.
* sysdep.c (wait_for_termination): Don't use the BSD alternative
for LINUX. Use the UNIPLUS alternative.
* keyboard.c (read_char): If kbd_buffer_get_event returns nil,
redisplay and retry.
(kbd_buffer_get_event): If event is handled here, return nil.
(swallow_events): New function.
* process.c (wait_reading_process_input): Call that.
* ralloc.c (POINTER): Always use char *.
* s/sol2.h (C_SWITCH_X_SYSTEM): Deleted.
(LD_SWITCH_SYSTEM): Delete the -L option, leave just -R.
* m/symmetry.h (PTY_TTY_NAME_SPRINTF, PTY_NAME_SPRINTF):
Use pty_name, not ptyname.
* syntax.c (Fforward_comment): Arg is a Lisp_Object.
Convert it to an int.
* ymakefile (alloca.o): Get alloca.c and alloca.s from ${srcdir}.
* floatfns.c (logb): Don't declare if hpux.
* syntax.c (Fforward_comment): Always set point.
* s/dgux.h, s/hpux.h, s/esix.h (HAVE_GETTIMEOFDAY): Deleted.
* s/irix4-0.h (C_ALLOCA, alloca): Definitions deleted.
[!NOT_C_CODE]: Include alloca.h.
(NEED_SIOCTL): #undef this.
* xterm.h (PIXEL_TO_CHAR_COL, PIXEL_TO_CHAR_ROW):
Fix mismatch in arg names.
* xfns.c (Fx_open_connection): Set xrm_option correctly.
1993-05-25 David J. MacKenzie (djm@wiki.eng.umd.edu)
* xfns.c (x_figure_window_size): Make the default frame coords (0,0).
1993-05-25 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* Version 19.8 released.
1993-05-25 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* xfns.c: Clear out the old face stuff.
(x_face_table, n_faces, x_set_face, x_set_glyph, Fx_set_face_font,
Fx_set_face, Fx_get_face): Removed.
(syms_of_xfns): Remove defsubr for Fx_set_face.
Arrange for font names to get fully resolved - no wildcards.
* xfns.c (x_set_frame_parameters): Store the value in the frame
parameter alist before we call the setter function, so the setter
function can touch up the value if it chooses.
(x_set_foreground_color, x_set_background_color): Call
recompute_basic_faces, so their GC's will reflect the changes.
(x_new_font): Add extern declaration - this returns a Lisp_Object
now, the fully resolved font name.
(x_set_font): Accept the fully resolved name from x_new_font, and
put it in the frame's parameter alist. Call recompute_basic_faces.
* xterm.c (x_new_font): Return the fully resolved font name, Qnil
(if no match), or Qt (match, but unacceptable metrics).
* xterm.c (x_new_font): Don't call init_frame_faces.
* xterm.h: New section for declarations for xfaces.c.
(init_frame_faces, free_frame_faces, intern_face,
face_name_id_number, same_size_fonts, recompute_basic_faces,
compute_char_face, compute_glyph_face): Declare these here.
* xfaces.c (same_size_fonts): We can now remove this extern
declaration.
* xfns.c (face_name_id_number): Likewise.
* xterm.c (intern_face): Likewise.
* xterm.c (dumpglyphs): Remember that the default faces can have
null fonts, too.
* xfns.c (Fx_list_fonts): Remember that FACE may not have a font
specified. Don't specify 30000 as the maximum limit on the number
of fontns returned - 2000 is more reasonable.
* xfaces.c (build_face, unload_font, free_frame_faces): Don't
forget to block input while making X calls.
Treat faces as structures specifying modifications to the frame's
parameters, rather than things which need to specify a complete
set of parameters by themselves.
* xfaces.c (init_frame_faces): Don't set up the two frame display
faces by querying the GC - just leave all their fields blank, and
call recompute_basic_faces, letting build_face do the work of
consulting the frame when necessary.
(recompute_basic_faces): New function.
(compute_base_faces): New function for obtaining the "identity"
for compute_char_face and compute_glyph_face.
(compute_char_face, compute_glyph_face): Call it, instead of copying
FRAME_DEFAULT_FACE.
* xfns.c (x_make_gc): No need to call init_frame_faces here.
* xfaces.c (intern_frame_face): This can be static.
* dispextern.h (struct face): New field - `copy', to help us with
resource allocation.
* xfaces.c (free_frame_faces): Do free the first two faces; don't
free anything from a face that's a copy.
(intern_frame_face): Mark every face we intern as a copy; its
resources are actually a combination of the real faces.
(Fset_face_attribute_internal): No need to check if we're trying
to free one of the frame's GC's; they never enter into the
picture.
* casetab.c: Fix formatting, so as not to confuse etags.
* xfns.c (Fx_list_fonts): New function.
(face_name_id_number): Add extern declaration for this.
* xfaces.c (face_name_id_number): Make this externally visible,
and make the FRAME argument a FRAME_PTR, not a Lisp_Object.
(compute_char_face): Call face_name_id_number properly.
* xfaces.c (unload_color): Don't free the pixel for now.
* xfaces.c (merge_faces): You can't tell if a font is a
character-cell font or not by testing whether or not it has a
per_char table. They all do.
* xterm.c (x_new_font): Same deal.
* xfns.c (Fx_list_fonts): Same deal.
* m/iris4d.h: Dyke out the section which specifies how to get the
load average.
* paths.h (PATH_INFO): New path, to edited by the configuration
process.
* callproc.c (Vconfigure_info_directory): New variable, used
internally by build process.
(syms_of_callproc): DEFVAR it and initialize it.
* keyboard.c (Fcurrent_input_mode): Use XFASTINT to build the last
element of the return value, not XSETINT.
1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
Changes for OSF/1:
* mem-limits.h [__osf__ && (__mips || mips)]: #include
<sys/time.h> and <sys/resource.h>.
(get_lim_data): OSF wants a definition like BSD4_2's.
* s/osf1.h: #include "bsd4-3.h", not "s-bsd4-3.h".
* ymakefile (LIBX): Put LD_SWITCH_X_SITE before the libraries, so
it actually has an effect.
Some makes can't handle form feed characters in their makefiles.
* s/usg5-3.h: Remove form feed.
* s/template.h, m/template.h: Remove form feeds.
* xfns.c (select_visual): Include the screen number in the
template of things XGetVisualInfo must match.
1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* s/dgux.h (NO_GET_LOAD_AVG): Test _M88KBCS_TARGET, not __GNUC__.
* xterm.c (XTread_socket, ConfigureNotify case):
Convert from parent window, not Emacs window.
(XTread_socket): Handle ReparentNotify events.
* m/i860.h: New file.
* keyboard.c (lispy_function_keys): Add kp-numlock. Fix kp-backspace.
1993-05-24 Thorsten Ohl (ohl@chico.harvard.edu)
* m/next.h (C_SWITCH_MACHINE): Definition deleted.
* lread.c: Don't #undef NULL.
1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* buffer.c (Fmake_overlay): Put beg and end in the right order.
(Fmove_overlay): If beg and end are markers, make sure they're in
the right buffer.
1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* keyboard.c (modify_event_symbol): If a name_table elt is null,
generate a name to use. Don't crash.
* fileio.c (Fread_file_name): If input is empty, do return the default
even if !insert_default_directory.
* xterm.c (XTread_socket): For ConfigureNotify event,
translate coordinates if send_event field is false
provided the x-coord value is not large.
1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* s/irix4-0.h (NO_MATHERR): Defined.
* floatfns.c [NO_MATHERR]: Undef HAVE_MATHERR.
1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* fileio.c (Ffile_writable_p): Pass XSTRING (foo)->data to
ro_fsys, not XSTRING (foo).
* xterm.c (x_new_font): Reject fonts with varying spacing. We
don't support them yet.
* xfns.c (x_set_font): Report the error message properly.
* xfns.c (Fx_parse_geometry): No need to call check_x here; it
doesn't interact with the server at all, and we need it in order
to create our first frame.
1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* s/linux.h (HAVE_SETSID): Defined.
(HAVE_SOCKETS): Defined.
* process.c (create_process): Ignore retval from TIOCSTTY.
(sys_siglist) [LINUX]: Don't even declare it.
1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* syssignal.h (sys_signal): Declare the second argument to have
type signal_handler_t. We're told this is necessary for Linux.
1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* s/dgux.h (NO_GET_LOAD_AVG): Define, if __GNUC__.
1993-05-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* s/hpux8.h (NO_SIOCTL_H): Defined.
1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* s/linux.h (HAVE_DUP2, HAVE_ALLOCA_H): Deleted.
1993-05-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* syssignal.h: Don't #include <signal.h>
* alloc.c: #include <signal.h>, but before "config.h".
1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* xfaces.c (Fset_face_attribute_internal): Don't call unload_font
for the frame's own font.
* xfns.c (check_x): New function.
Call it in almost every Lisp function in this file.
(x_set_menu_bar_lines_1): Pass both args in recursive call.
1993-05-23 Paul Eggert (eggert@twinsun.com)
* editfns.c (Fcurrent_time_zone): Make `am' an int, not long.
1993-05-23 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
Changes for SGI from Matthew J Brown <mjb@doc.ic.ac.uk>.
* m/iris4d.h, m/iris5d.h: Don't use the --cckr CC switch if we're
using GCC.
* m/iris4d.h (NEED_SIOCTL): Move this to...
* s/irix3-3.h (NEED_SIOCTL): ... here; apparently it's not
necessary in irix4-0.h.
* s/irix4-0.h: Remove declaration of getpty; apparently Irix 4.0
already declares this elsewhere.
(PTY_TTY_NAME_SPRINTF): #undef this before re-#defining it.
* m/ibmps2-aix.h, m/pfa50.h, s/hpux.h, s/isc2-2.h, s/linux.h,
s/sco4.h, s/usg5-4.h: Remove HAVE_RENAME; configure guesses that now.
* config.h.in (LD_SWITCH_X_SITE, C_SWITCH_X_SITE): Change the
#defines to #undef's, so ../configure knows it should tweak them.
* xterm.c (x_scroll_bar_report_motion): Set *TIME whether or not
the mouse is over a scroll bar.
* xfaces.c (Fset_face_attribute_internal): Don't free the frame's
normal_gc or reverse_gc.
* keyboard.c (make_lispy_movement): Deal properly with mouse
motion outside of all windows.
* lisp.h (GLYPH_FACE): Remember that the face portion of a glyph
can be 24 bits, not just eight.
1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* xterm.c: Move signal.h and stdio.h before config.h.
* editfns.c (Fcurrent_time_zone): Assign gmt, instead of init.
1993-05-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* Version 19.7 released.
* Makefile.in (SUBMAKEFLAGS): Add CFLAGS to the list.
* puresize.h [not HAVE_X_WINDOWS] (PURESIZE): Make this 185k,
not 196k. We're actually using ~180k.
* editfns.c: #include <sys/types.h>, to get time_t for Eggert's
changes.
1993-05-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* ymakefile (FRAME_SUPPORT): Add mouse.elc, select.elc, scroll-bar.elc.
* xdisp.c (display_text_line): Highlight in any frame's sel window.
* keyboard.c (modifier_names): Update to match *_modifier in termhooks.
1993-05-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* xterm.c (x_scroll_bar_handle_click): Never grab the scroll bar;
that feature requires more support to work correctly.
* keyboard.c (make_ctrl_char): New function.
(read_char): Call it.
(kbd_buffer_store_event): Call it to see if the new character is
the quit or stop character.
(make_lispy_event): Call it.
1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* xfns.c (x_window_to_frame): Use XGCTYPE.
1993-05-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* process.c (Fopen_network_stream): Deal with older systems, which
only have the h_addr field in their struct hostent.
* systty.h [SYSV_PTYS]: #include <sys/types.h>. Francesco
Potorti` <pot@fly.CNUCE.CNR.IT> says it's necessary on his
machine, and it should be harmless.
1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* sysdep.c (wait_for_termination): Copy code from 18.59
(but sans BSD4_1 alternatives).
1993-05-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* ymakefile (alloca.o): #define malloc and free to be xmalloc and
xfree on the command line of this compilation.
* s/sco4.h: (TIME_WITH_SYS_TIME): This is no longer needed.
* s/linux.h: Remove copyright notices by Michael K. Johnson and
Rik Faith. They have both sent in papers now which make their
changes public domain.
* sysdep.c (sys_suspend): Set synch_process_alive, so that
wait_for_termination has something to wait for.
1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* xdisp.c (display_text_line): Highlight only in selected window.
* xfns.c (syms_of_xfns): Don't make Lisp vars
x-mode-pointer-shape and x-nontext-pointer-shape.
1993-05-20 Ian Lance Taylor (ian@cygnus.com)
* s/sco4.h (SCO): Don't define (no longer needed).
(HAVE_SYS_TIME_H): Don't define (set by configure).
(TIME_WITH_SYS_TIME): Define.
1993-05-20 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* dispnew.c (preserve_other_columns): Remember to multiply the
size argument to bcopy by the size of a glyph.
1993-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* keyboard.c (read_key_sequence): Reexamine this_command
after pre-command-hook runs.
* xterm.c (x_find_modifier_meanings): If some keys are meta and alt,
make them just meta, not alt.
1993-05-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
Some time-handling patches from Paul Eggert:
* editfns.c (Fcurrent_time_zone): Take an optional argument specifying
what (absolute) time should be used to determine the current time zone.
Yield just offset and name of time zone, including DST correction.
Yield time zone offset in seconds, not minutes.
(lisp_time_argument, difftm): New functions.
(Fcurrent_time_string): Use lisp_time_argument.
* systime.h (EMACS_CURRENT_TIME_ZONE, EMACS_GET_TZ_OFFSET,
EMACS_GET_TZ_NAMES): Remove.
* config.h.in: Add HAVE_TM_ZONE.
Some more changes from Michael K. Johnson for Linux.
* s/template.h: Mention that you should #define HAVE_TERMIO or
HAVE_TERMIOS, but not both, and that HAVE_TERMIOS is preferred.
* systty.h (EMACS_SET_TTY_PGRP): Don't assign the return value of
tcsetpgrp to *pgid; it's just a status value.
* config.h.in (HAVE_RANDOM): This shouldn't be defined on Linux
systems using XFree386, and perhaps is inappropriate in general.
* m/intel386.h: #undefine the integer size macros, since the Linux
<values.h> file #defines them itself.
* mem-limits.h (get_lim_data): Linux has the ulimit call; if it
fails, fall back on ULIMIT_BREAK_VALUE.
* process.c: Linux needs the WAITTYPE, etc. definitions.
* unexec.c (hdr, ohdr): Linux has the ordinary `struct exec' type;
no need to use SYSV names.
* s/linux.h: New file.
Some changes from Michael K. Johnson for Linux.
* sysdep.c (sys_siglist): Don't define this if HAVE_SYS_SIGLIST is
#defined. That lets the system provide it, if it has it.
* syssignal.h (sigmask): Only define this if <signal.h> hasn't
given us a definition already.
* syssignal.h (sys_sigpause): Fix argument in prototype.
* sysdep.c (init_signals): The masks are called empty_mask and
full_mask, not signal_empty_mask and signal_full_mask.
(signal_handler_t): Moved ....
* syssignal.h: ... to here.
* systty.h (EMACS_SET_TTY_PGRP): Call tcsetpgrp with the correct
arguments.
* emacs.c (main): Don't try to establish signal handlers for
SIGBUS and SIGSYS unless they're actually #defined.
* systty.h [HAVE_TERMIO, __DGUX]: #include <sys/ioctl.h>.
* xdisp.c (redisplay_window): Compute the scrollbar start and end
properly.
1993-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* keyboard.c (Fcurrent_input_mode): Return META as 3-way flag.
1993-05-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* fileio.c (Ffind_file_name_handler): Check that FILENAME is a
string.
* process.c (wait_reading_process_input): Undo change of April
29th, since that re-introduces the race condition the comments are
warning about. Call clear_waiting_for_input before calling
status_notify, though.
* process.c (wait_reading_process_input): Don't forget to call
clear_waiting_for_input when we exit the loop because process
input has arrived.
Changes for Silicon Graphics Iris 5D.
* unexelfsgi.c: New file; like unexelf.c, but tolerates program
segments above BSS.
* m/iris5d.h: New file.
* s/irix5-0.h: New file.
* process.c [__sgi] (allocate_pty): Give up immediately if pty is
inaccessible.
1993-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* keyboard.c (follow_key): Check char in range before UPPERCASEP.
1993-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* xfns.c (x_set_menu_bar_lines): Fix typo in last change.
* keyboard.c (make_lispy_event): Controlify lower case letters too.
1993-05-18 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
* xdisp.c (display_text_line): If the newline (or C-m, in
selective-display) has a non-default face, apply that face to the
remainder of the line, so that the fill occupies the entire line.
* xterm.c (x_new_font): Tell the frame display faces about the
newly chosen font.
Make sure that all the display faces use fonts of the
same dimensions as the default face, so as not to confuse the rest
of the redisplay code.
* xfaces.c (same_size_fonts): New function.
(merge_faces): Only merge in a new font from the FROM face if it
is the same size as the font in the TO face.
* xfns.c (x_set_menu_bar_lines): Minibuffer-only frames can't have
menu bars.
* keyboard.c (read_key_sequence): Don't lay down an unwind_protect
to restore the original buffer until we actually get a mouse click.
* window.c (window-dedicated-p): Doc fix.
1993-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* xterm.c (XTread_socket): Turn off ControlMask for XLookupString.
* keyboard.c (make_lispy_event): Controlify here.
1993-05-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
* xdisp.c (redisplay_window): Make the scrollbar reflect the
extent of the visible region, not the whole buffer.
* xfaces.c (free_frame_faces): Don't free the resources from the
first two faces.
* lisp.h (malloc, realloc): Declare these to return void *, to
avoid conflicts with ANSI header files.
* sysdep.c (reset_sys_modes): Test the return value of
EMACS_SET_TTY properly.
* systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Document the return
values.
1993-05-16 Jim Blandy (jimb@totoro.cs.oberlin.edu)
* config.h.in (STDC_HEADERS, TIME_WITH_SYS_TIME,
CRAY_STACKSEG_END, STACK_DIRECTION): Add #undef clauses for these,
since otherwise the autoconf tests in configure.in won't do us
much good.
1993-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* buffer.c (overlays_at): New arg EXTEND.
(Foverlays_at, Fnext_overlay_change): Pass 1.
* xfaces.c (compute_char_face): Pass 0.
Try first with small overlay_vec, then use a big enough one.
* lread.c (syms_of_lread): Make Vcurrent_load_list ordinary Lisp var.
Set up Qcurrent_load_list.
(readevalloop): Specbind Qcurrent_load_list instead of ad-hoc saving.
(build_load_history): Do nothing when loading pure files.
* xterm.c (dumpglyphs): Create a temporary merged gc
when cursor falls on char with non-default face.
* xterm.h (x_display): New field cursor_foreground_pixel.
* xfns.c (x_set_cursor_color): Set cursor_foreground_pixel.
* casefiddle.c (casify_region): Remove mistaken arg to record_change.
1993-05-15 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* xfaces.c (Fset_face_attribute_internal): Jolt redisplay, so it
knows something has changed.
* xfaces.c (unload_color): Don't try to unload the standard black
or white pixel.
More changes from David Mackenzie.
* ymakefile (emacs): No need to edit srcdir into a lisp file and
then load it; we can just take advantage of the PATH_DUMPLOADSEARCH.
(crt0.o): Remember that crt0.c is in ${srcdir}.
Install David Mackenzie's patches to make ${srcdir} work.
* Makefile.in (srcdir, VPATH): Get this value from the top-level
Makefile.
(xmakefile): Use ${srcdir} to find the files from which we produce
xmakefile. Edit the values for srcdir and VPATH into xmakefile.
* ymakefile (srcdir, VPATH): New definitions for the Makefile
to edit.
(ALL_CFLAGS): Remove `-Is' and `-Im'; add `-I${srcdir}', and
`-I.'.
(emacs): Adjust dumping commands to deal with a separate source
directory.
(${etc}DOC): Pass `-d ${srcdir}' to make-docfile, to tell it where
to find the source files.
(prefix-args): Find the source code in ${srcdir}.
* process.c (wait_reading_process_input): If we're running
Solaris, it's not necessary to check if we should redeliver SIGIO,
according to David Mackenzie.
* s/sol2.h: #include "usg5-4.h", and #define const.
* systime.h: Borrow CPP sequence from getdate.y to include the
proper combination of <time.h> and <sys/time.h>.
1993-05-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* window.h (struct window): New slot region_showing.
* xdisp.c (mark_window_display_accurate): Set region_showing fields.
(redisplay_window): Update region_showing field.
(display_text_line): Set region_showing to t if will show one.
* xselect.c (Fx_selection_exists_p): Handle nil, t as SELECTION arg.
Don't die if SELECTION is not recognized.
* dispnew.c (direct_output_forward_char): Just give up
if region is being highlighted.
* xdisp.c (redisplay, redisplay_window): Don't use the cursor-motion
special-case code if the region is or was highlighted.
* xfaces.c (compute_char_face): New args REGION_BEG, REGION_END.
Don't sort if noverlays is 0 or 1.
* dispnew.c (direct_output_for_insert): Pass those args.
* xdisp.c (display_text_line): Pass those args,
describing the region if the mark is transient and active.
1993-05-14 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* buffer.c (Fmove_overlay): If the overlay is in no buffer and the
BUFFER argument has been omitted, put it in the current buffer,
for symmetry with move-marker.
* buffer.c (Fdelete_overlay): Make the overlay's markers point
nowhere, not at 1. Do this after calling redisplay_region, so
that code knows what section has changed.
1993-05-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* xdisp.c (display_menu_bar): Update FRAME_MENU_BAR_ITEMS here.
* keyboard.c (command_loop_1): Don't do it here.
* keymap.c (access_keymap): Handle any length vector.
(store_in_keymap): Likewise.
(Fcopy_keymap): Likewise.
1993-05-14 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* buffer.c (Foverlay_start, Foverlay_end, Foverlay_buffer,
Foverlay_properties): Functions moved here from subr.el.
1993-05-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
* xfaces.c (compute_char_face): When merging the overlays,
traverse sortvec, not overlay_vec; the latter isn't the one we
sorted.
* xterm.c (dumpglyphs): Give the cursor higher priority than the
face specified by the glyph under it.
* xterm.c (dumpglyphs): Move the underline up a row. I dislike
the way X addresses pixels. Quickdraw is much nicer.
* xfaces.c (intern_face): If the face has a GC, but it's not the
default or modeline face, abort. Nothing but those two faces
should have a GC *and* be passed to intern_face.
(compute_char_face, compute_glyph_face): After copying
the frame's default face into face, to use as a base case for
calculation, set the `gc' member to zero; that way we don't have
things lying around that look like display faces but aren't.
* xfaces.c (intern_frame_face): When copying the new face into the
frame's face array, remember that the number of bytes to copy is
sizeof (*new_face), not sizeof (new_face).
* xfaces.c (compute_char_face): Assume that W is displaying the
current buffer. Abort if it isn't.
* lisp.h (Lisp_Overlay): New tag.
(OVERLAYP): New predicate.
(CHECK_OVERLAY): New type-checker.
(Qoverlayp): New extern declaration.
* buffer.c (Foverlayp): New function.
(Qoverlayp): New atom.
(overlays_at, recenter_overlay_lists): Abort if we encounter an
invalid overlay.
(syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp.
(Fdelete_overlay): Set the overlay's markers to point nowhere.
Use CHECK_OVERLAY instead of signalling a special error.
(Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of
signalling a special error.
(Foverlay_get): Use CHECK_OVERLAY.
* fns.c (internal_equal): Define this for overlays.
* buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP.
* print.c (print): Give overlays their own print syntax.
* alloc.c (mark_object): Treat overlays like conses.
* lisp.h (FLOATP): Define this appropriately when LISP_FLOAT_TYPE
is not defined.
* buffer.c (Foverlay_get): Return Qnil if the requested property
is missing from the property list.
The text property routines can now modify buffers other
than the current one.
* insdel.c (modify_region): New argument BUFFER. Select that
buffer while we prepare for the modification, and switch back when
we're done.
* textprop.c (add_properties, remove_properties): Pass
the buffer being modified as the first argument to modify_region.
* editfns.c (Fsubst_char_in_region, Ftranslate_region): Pass the
current_buffer as the first argument to modify_region.
* casefiddle.c (casify_region): Same.
* dispnew.c (direct_output_for_insert): Compute the face of the
character we're inserting properly.
* xterm.c (dumpglyphs): Pass the proper arguments to intern_face.
* xterm.c (dumpglyphs): Don't increment left twice.
* intervals.c (set_point): Check for point out of bounds before
checking for an empty interval tree.
* cmds.c (Fforward_char): Check proposed new position, and then
set point, instead of setting point to a potentially invalid
position.
* lread.c, data.c: If STDC_HEADERS is #defined, include <stdlib.h>
to get the extern declarations for atof. That's where it is in
POSIX.
1993-05-12 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
* ymakefile (xfaces.o): Add window.h to the dependencies.
* xfaces.c (intern_frame_face): Exchange order of arguments, to
make callers correct.
* xfaces.c (compute_char_face): Notice the next property change
location correctly.
* xfaces.c (face_name_id_number): Return 0 (the default face) if
the name is undefined.
* xfaces.c (Fset_face_attribute_internal): Do nothing unless FRAME
is an X frame.
* xdisp.c (copy_rope, copy_part_of_rope): Add face argument.
(display_text_line): Initialize current_face to zero. Apply it
to characters as we write them to the display matrix.
(display_string): Pass the new argument to copy_rope.
* xdisp.c (display_text_line): Handle the locations of face
changes properly.
* textprop.c (Fnext_single_property_change,
Fprevious_single_property_change): Pass arguments to textget in
the right order.
* ymakefile (xfns.o): Remove duplication of buffer.h in dependencies.
* ymakefile ($(OLDXMENU)): Remove extraneous call to `rm'.
1993-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
* keymap.c (Faccessible_keymaps): Use whatever size the vector has.
(Fwhere_is_internal): Likewise.
(describe_vector): Likewise.
(current_minor_maps): Call Findirect_function, so symbols
can be used in place of actual maps.
* xdisp.c (display_text_line): Use break; to exit loop at eol.
Duplicate the short MAKE_GLYPH loop after the main loop.
If no display table, do obey selective_display_ellipses.
(copy_part_of_rope): Arg FROM is now Lisp_Object *.
* xfaces.c: Do include window.h.
(compute_char_face): Supply third arg of Fget_text_property.
* keyboard.c (make_lispy_event): Don't set shift modifier for C-^.
* callproc.c (child_setup): Omit duplicates from new env array.
1993-05-10 Jim Blandy (jimb@geech.gnu.ai.mit.edu)