XEmacs 21.2.31 "Iris".
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2000-02-23  Martin Buchholz <martin@xemacs.org>
2
3         * XEmacs 21.2.31 is released.
4
5 2000-02-22  Ben Wing <ben@xemacs.org>
6
7         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
8
9 2000-02-22  Andy Piper  <andy@xemacs.org>
10
11         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
12
13 2000-02-21  Mike Sperber <mike@xemacs.org>
14
15         * .dbxrc: 
16         * .gdbinit:
17         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
18         variables.
19
20 2000-02-21  Mike Sperber <mike@xemacs.org>
21
22         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
23
24 2000-02-21  Martin Buchholz <martin@xemacs.org>
25
26         * XEmacs 21.2.30 is released.
27
28 2000-02-20  Martin Buchholz  <martin@xemacs.org>
29
30         Performance hacking.
31         * *.c (syms_of_*):
32         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
33         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
34         * emacs.c (main_1):
35         * lisp.h (DEFUN):
36         * console.c (DEFVAR_CONSOLE_LOCAL_1):
37         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
38         * symeval.h (DEFVAR_SYMVAL_FWD):
39         * symbols.c (guts_of_unbound_marker):
40         Make all c_readonly objects also lisp_readonly and marked for life.
41         * lrecord.h (struct lrecord_implementation):
42         Document flags better.
43         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
44         * lrecord.h (DECLARE_LRECORD):
45         * lrecord.h (XSETRECORD):
46         * lrecord.h (RECORDP):
47         * lrecord.h (RECORD_TYPEP):
48         * lrecord.h (RECORD_MARKER): New.
49         * lrecord.h (error_check_*):
50         * lrecord.h (CONCHECK_NONRECORD):
51         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
52         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
53         * lrecord.h (set_lheader_implementation):
54         * lrecord.h (enum lrecord_type): New.
55         * symeval.h (SYMBOL_VALUE_MAGIC_P):
56         * alloc.c (disksave_object_finalization_1):
57         * alloc.c (mark_object):
58         * alloc.c (lrecord_type_index):
59         * alloc.c (tick_lcrecord_stats):
60         * alloc.c (Fgarbage_collect):
61         * alloc.c (init_alloc_once_early):
62         * alloc.c (pdump_load):
63         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
64         * alloc.c (lrecord_type_index): Delete.
65         Make lisp object type indexes be constant.  
66           Makes (byte-compile) 5% faster.
67         Put all marker functions into their own array.  
68           Makes (garbage-collect) 5% faster.
69         Optimize SYMBOL_VALUE_MAGIC_P.
70           Makes (byte-compile) 2-3% faster.
71         * config.h.in (gc_checking_assert): New.
72         * alloc.c: Use gc_checking_assert().
73         * .dbxrc: Make compatible with new object type implementation.
74         * .gdbinit: Make compatible with new object type implementation.
75         * alloc.c: Delete all symbols defined only for debugging, such as
76         Lisp_Type_Vector and lrecord_charset.
77
78 2000-02-21  Andy Piper  <andy@xemacs.org>
79
80         * gui-msw.c (Fmswindows_shell_execute): fix file location
81         problems.
82
83         * buffer.c (Fkill_buffer): remove buffer from alist buffer
84         unshowing so that set_window_buffer doesn't undo
85         kill_buffer_hook's hard work.
86
87         * glyphs-widget.c (tab_control_query_geometry): don't count the
88         first item when calculating geometry.
89
90         * glyphs.c (map_subwindow): remove redundant code.
91         (update_frame_subwindows): be more circumspect about when to
92         update subwindows.
93
94         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
95         when items haven't changed. Update faces if faces have changed as
96         well as just the widget face.
97         (x_tab_control_update): Update faces if faces have changed as well
98         as just the widget face.
99
100 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
101
102         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
103         registration.
104         (build_syscolor_string): Use mswindows_color_to_string to try to
105         get a named color.
106         (mswindows_device_system_metrics): Reverse the foreground and
107         background colors so that they match the documentation.
108
109         * objects-msw.c: (mswindows_X_color_map): tweak some values so
110         they match the default Windows palette.
111         (mswindows_color_to_string): New function.
112         
113 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
114
115         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
116
117 2000-02-18  Olivier Galibert  <galibert@pobox.com>
118
119         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
120         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
121         
122         * symbols.c (init_symbols_once_early): Removed obsolete
123         DATA_SEG_BITS related kludge.
124         (defvar_magic): Ditto.
125
126         * malloc.c: Removed obsolete DATA_SEG_BITS
127         * ralloc.c: Ditto.
128         * mem-limits.h: Ditto.
129
130         * Makefile.in.in: Removed obsolete HAVE_SHM
131         * emacs.c: Ditto.
132
133 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
134
135         *  device-msw.c (mswindows_delete_device): Free DDE string
136         handles.
137
138 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
139
140         * keymap.c (get_keyelt): 
141         * unexnt.c (unexec):
142         * vm-limit.c (memory_warnings):
143         * ntheap.c (recreate_heap):
144         * ntheap.h (UNINIT_PTR):
145         * select-msw.c (Fmswindows_get_clipboard): 
146         (Fmswindows_set_clipboard):
147         * objects-msw.h (MSWINDOWS_BAD_HFONT):
148         * objects-msw.c:
149         * menubar-msw.c (displayable_menu_item):
150         * glyphs-msw.c:
151         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
152         * sysdep.c (sys_subshell):
153         * process-nt.c (nt_create_process):
154         * nt.c (normalize_filename):
155         (dostounix_filename): 
156         (unixtodos_filename):
157         * ntproc.c (win32_executable_type):
158         * ntplay.c (play_sound_data_1):
159         (play_sound_file): 
160         * editfns.c (get_home_directory): 
161         * event-msw.c (struct winsock_stream): 
162         (mswindows_dde_callback): 
163         * device-msw.c (msprinter_init_device): 
164         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
165
166         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
167         mswindows_clear_toolbar were swapped!
168
169         * objects-msw.c:(colormap_t):
170         (fontmap_t):
171         * emacs.c (struct standard_args): Fixed const jumble.
172
173         * glyphs-widget.c (update_widget): Fixed comparison notation.
174
175         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
176         
177         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
178         __declspec(noreturn) syntax.
179
180 2000-02-19  Martin Buchholz  <martin@xemacs.org>
181
182         * eldap.c (Fldap_open): 
183         (Fldap_search_basic): 
184         (Fldap_add): 
185         (Fldap_modify): 
186         Use new coding system conversion macros.
187
188 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
189
190         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
191
192 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
193
194         * eldap.h (Fldap_search) Renamed from Fldap_search_internal: 
195         (Fldap_add, Fldap_modify, Fldap_delete): New functions
196
197         * eldap.c (Qadd, Qreplace): New constant symbols
198         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
199         interruptions by XEmacs signals
200         Remove unnecessary calls to slow_down_interrupts and
201         speed_up_interrupts
202         (Fldap_search_basic): Renamed from Fldap_search_internal
203         Added new optional parameter VERBOSE that triggers the 
204         display of progress messages
205         Remove unnecessary calls to slow_down_interrupts and
206         speed_up_interrupts
207         LDAP result code analysis rewritten
208         (Fldap_add, Fldap_modify, Fldap_delete): New functions
209         (syms_of_eldap): Define the new symbols and functions
210
211
212 2000-02-17  Martin Buchholz  <martin@xemacs.org>
213
214         * realpath.c: Determine PATH_MAX maximally portably.
215
216         * insdel.c (bytecount_to_charcount): Optimize.
217         The function used to be optimized for entirely ASCII sequences.
218         Now it is optimized for successive characters from the same
219         charset.  This also wins big for _mostly_ ASCII sequences.
220
221         * fileio.c (Ffile_truename): convert return from realpath() using
222         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
223         - Rewrite GCPROing slightly.
224
225         * sysdep.c (sys_open): Do filename conversion, like all other
226         sys_* functions.  Fixes bug:
227         (let ((file-name-coding-system 'iso-8859-2))
228            (write-region x y latin2-name))
229         ==> writes filename using internal encoding.
230
231 2000-02-18  Martin Buchholz  <martin@xemacs.org>
232
233         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
234         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
235         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
236         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
237         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
238         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
239         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
240         (CONST_IF_NOT_DEBUG): Delete.
241         * alloc.c (this_one_is_unmarkable): Delete.
242         (mark_object): Don't check for this_one_is_unmarkable. Use the
243         c_readonly flag instead.
244         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
245
246 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
247
248         * event-msw.c (mswindows_drain_windows_queue):
249         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
250         away redundant repaint events.
251
252 2000-02-17  Andy Piper  <andy@xemacs.org>
253
254         * redisplay.h: declare mark_redisplay_structs.
255
256         * redisplay.c (redisplay_window):
257         (redisplay_frame): don't check subwindows_state_changed.
258         (mark_redisplay): mark gutters here.
259
260         * glyphs.c: (instantiate_image_instantiator): always layout if we
261         haven't done so already.
262         (allocate_image_instance): don't mark as dirty.
263         (update_subwindow): bind inhibit_quit.
264
265         * gutter.c (mark_gutters): new function.
266
267         * glyphs-x.c (x_update_widget): Always resize to get round a
268         widget bug.
269
270         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
271         breaking absolutely everything.
272
273         * gutter.h: declare mark_gutters.
274
275 2000-02-16  Martin Buchholz <martin@xemacs.org>
276
277         * XEmacs 21.2.29 is released.
278
279 2000-02-15  Olivier Galibert  <galibert@pobox.com>
280
281         * fns.c (size_bit_vector): Fix computation of the size.
282
283 2000-02-15  Martin Buchholz  <martin@xemacs.org>
284
285         * *.[ch]: Change CONST to const globally.
286         find -name '*.[ch]' | \
287         xargs global-replace \
288         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
289         - Remove vestigial references to CONST_IS_LOSING
290
291 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
292
293         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
294         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
295         events instead of dispatching them directly.
296         (mswindows_handle_paint): New function to do repainting.
297         (mswindows_wnd_proc):
298         (emacs_mswindows_handle_magic_event): Call above function.
299
300 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
301
302         * objects-msw.c (mswindows_create_font_variant): Return the new
303         font handle.
304         (initialize_font_instance): Get font metrics from the underlined
305         variant of the font to cope with the case where the underlined
306         font has a bigger descent.
307
308 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
309
310         * gui.c (gui_item_accelerator): Return the first underlined
311         character in item name.
312
313 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
314
315         * lisp.h: Added Qprinter.
316
317         * general.c (syms_of_general): Initialized it.
318
319         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
320         (get_frame_dc):
321         (get_frame_compdc): Made inline.
322
323         * console.h (struct console_methods): Added eject_page method.
324
325         * frame.h: Added FRAME_DISPLAY_P and friends.
326         Aligned backslahes in many macros in more readable fashion.
327         Added page_number to struct frame, and an accessor macro
328         for it.
329
330         * defice.h: Added DEVICE_DISPLAY_P and friends.
331
332         * device.c (Fdevice_printer_p): Used these.
333
334         * frame.c (allocate_frame_core): Initialize page number.
335         (Fprint_job_page_number):
336         (Fprint_job_eject_page): Implemented.
337
338         * frame-msw.c (msprinter_eject_page): Added method.
339         (msprinter_start_page): Added.
340
341         * window.c (Fwindow_truncated_p): Fixed docstring.
342         (Fwindow_last_line_visible_height): Implemented.
343
344 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
345
346         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
347
348 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
349
350         * syntax.c (scan_words): Always advance at least one character.
351
352 2000-02-13  Andy Piper  <andy@xemacs.org>
353
354         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
355         to make sure the glyph is in the cachels.
356
357         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
358         global image instance flag.
359         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
360         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
361
362         * glyphs.c (allocate_image_instance): set dirty bits correctly.
363         (Fset_image_instance_property): mark layout as changed.
364         (invalidate_glyph_geometry_maybe): mark layout as changed.
365         (glyph_width): use new NEEDS_LAYOUT macro.
366         (glyph_ascent): ditto.
367         (glyph_descent): ditto.
368         (glyph_height): ditto.
369         (image_instance_layout): mark layout as clean after laying out.
370         (update_subwindow): don't mark layout as clean here.
371
372         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
373         should no longer be needed.
374
375         * glyphs-x.c (x_update_widget): sanitize asserts.
376         (x_finalize_image_instance): sanitize assignment to widgets.
377
378         * glyphs-widget.c (widget_instantiate): don't need to clear the
379         layout flag here.
380
381 2000-02-13  Martin Buchholz  <martin@xemacs.org>
382
383         * sysdep.c (getcwd): Use standard prototype.
384         * sysdep.h (getcwd): Use standard prototype.
385
386         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
387         (sequence, start, end).
388         Remove redundant type checking.
389         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
390         view of `caller-protects') to avoid a crash where the real fix was
391         found elsewhere.
392
393 2000-02-12  Martin Buchholz  <martin@xemacs.org>
394
395         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
396
397         * s/sol2.h: Remove feature macro initialization.
398
399         * alloc.c (alloc_lcrecord): Add more type checking assertions.
400         (vector_hash): New.  Code from internal_hash.
401         * lrecord.h:
402         Fix up allocation subsystem comments.
403
404         * config.h.in: Add __EXTENSIONS__ for Solaris.
405
406         * systime.h (EMACS_GETTIMEOFDAY): New.
407         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
408         Remove Solaris-specific code.
409         Use void* for the (ignored) second arg for gettimeofday().
410
411         * elhash.c (hash_table_hash): Implement it, finally.
412         * elhash.c:  Use hashcode_t.
413
414         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
415         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
416
417         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
418         * fns.c (size_bit_vector):
419         * alloc.c (size_vector):
420         (make_vector_internal):
421         (make_bit_vector_internal):
422         (sweep_bit_vectors_1):
423         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
424
425 2000-02-10  Martin Buchholz  <martin@xemacs.org>
426
427         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
428         Include strings.h to avoid warnings for bzero and strcasecmp.
429
430 2000-02-10  Olivier Galibert  <galibert@pobox.com>
431
432         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
433         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
434
435         * fns.c (size_bit_vector): New.  Declare bit vectors as a
436         sequence.
437
438 2000-02-10  Olivier Galibert  <galibert@pobox.com>
439
440         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
441         use a value field instead.
442         (symbol_value_forward_forward): Use value field.
443         (DEFVAR_SYMVAL_FWD): Use value field.
444         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
445         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
446         (DEFVAR_CONST_INT): Ditto.
447         (DEFVAR_BOOL): Ditto.
448         (DEFVAR_CONST_BOOL): Ditto.
449         (DEFVAR_INT_MAGIC): Ditto.
450         (DEFVAR_BOOL_MAGIC): Ditto.
451
452         * symbols.c (guts_of_unbound_marker): Use value field.
453         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
454         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
455
456         * lisp.h: Declare dumpopaque and noninteractive1.
457
458         * alloc.c (dumpopaque): Added.
459         (pdump_dump_opaquevec): Added.
460         (pdump): Call pdump_dump_opaquevec to dump opaque data.
461         (pdump_load): Reload opaque data.  Sync noninteractive1 with
462         noninteractive.
463
464 2000-02-10  Andy Piper  <andy@xemacs.org>
465
466         * glyphs.c (image_instance_layout): if the size changes, mark it
467         as such.
468
469         * redisplay-output.c (redisplay_output_layout): Update the
470         subwindow here.
471         (redisplay_output_subwindow): ditto.
472
473         * glyphs.c (update_subwindow): make sure we reset flags for
474         layouts as well as everything else.
475
476         * glyphs-widget.c (layout_layout): don't need to set the instances
477         dimensions here.
478
479 2000-02-09  Martin Buchholz  <martin@xemacs.org>
480
481         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
482         not HAVE_DLOPEN, which is a lower-level thing.
483
484         * .cvsignore: Ignore gmon.out
485
486 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
487
488         * .cvsignore: Ignore portable dumper xemacs.dmp file
489
490 2000-02-09  Andy Piper  <andy@xemacs.org>
491
492         * redisplay-output.c (redisplay_output_layout): be more clever
493         about when we output based on the changed flags.
494
495         * glyphs.h (struct image_instantiator_methods): add update_method.
496         (struct Lisp_Image_Instance): add changed flags. Declare new
497         macros for manipulating them.
498
499         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
500         (image_instance_parent_glyph): find an image_instance's parent
501         glyph or image_instance.
502         (image_instance_layout): mark the size as changed.
503         (set_image_instance_dirty_p): new function. mark an image
504         instance, plus all of its parents, as dirty.
505         (Fset_image_instance_property): use it.
506         (Fglyph_animated_timeout_handler): use it.
507         (update_subwindow): call update_widget and device methods for
508         update_subwindow. Mark all changed flags as clean.
509         (Fresize_subwindow): mark size as changed.
510
511         * glyphs-x.c (x_finalize_image_instance): try and detect gc
512         failures.
513         (x_update_subwindow): only resize subwindows here.
514         (x_update_widget): new function. Update all changed properties of
515         a widget.
516         (x_resize_subwindow): deleted.
517         (x_widget_set_property): deleted.
518         (x_progress_gauge_set_property): deleted.
519         (x_progress_gauge_update): new function. Implement recorded
520         changes.
521         (x_tab_control_update): ditto.
522         (x_tab_control_set_property): deleted.
523         (console_type_create_glyphs_x): declare new functions.
524         (image_instantiator_format_create_glyphs_x): ditto.
525
526         * glyphs-widget.c (widget_set_property): mark text changed.
527         (update_widget): new function. Update properties of a widget.
528         (widget_instantiate): for layouts make sure we set their
529         children's parent correctly.
530         (tab_control_set_property): new function. Record changes that will
531         take place under redisplay's control.
532         (progress_gauge_set_property): ditto.
533         (image_instantiator_progress_guage): declare new functions.
534         (image_instantiator_tab_control): ditto.
535
536         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
537         now.
538         (mswindows_update_widget): new function. Update all properties on
539         a widget that have changed.
540         (mswindows_button_update): new function. Update a button's set
541         state.
542         (mswindows_tab_control_update): new function. Update the items in
543         a tab.
544         (mswindows_tab_control_set_property): deleted.
545         (mswindows_progress_gauge_update): new function. Update the
546         progress gauge's progress.
547         (mswindows_widget_set_property): deleted. This is all done
548         asynchronously now.
549         (mswindows_progress_gauge_set_property): ditto.
550         (console_type_create_glyphs_mswindows): declare new methods.
551         (image_instantiator_format_create_glyphs_mswindows): ditto.
552
553         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
554         (msprinter_set_frame_properties): ditto.
555
556         * console.h (struct console_methods): Add update_widget_method.
557
558 2000-02-09  Andy Piper  <andy@xemacs.org>
559
560         * gui-msw.c (Fmswindows_shell_execute): Make
561         mswindows-shell-execute industrial strength.
562
563 2000-02-08  Martin Buchholz  <martin@xemacs.org>
564
565         * lrecord.h: Make macro argument `props' match member function `plist'.
566         * fns.c (Fget):
567         * fns.c (Fput):
568         * fns.c (Fremprop):
569         * fns.c (Fobject_plist):
570         * alloc.c:
571         * symbols.c:
572         Object property list frobbing cleanup.
573         - Allow any lisp object (compared with `eq'), not just symbols, as
574           keys in object plists.
575         - Move symbol plist frobbing into symbols.c, where it belongs.
576         - Move string plist frobbing into alloc.c, where it belongs.
577         - Everything's an lrecord now, so no need to test for symbolp, etc.
578         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
579
580         * extents.c: Reorder code to remove declarations.
581
582         * frame.h (store_in_alist): Remove useless declaration.
583
584 2000-02-07  Martin Buchholz  <martin@xemacs.org>
585
586         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
587         * config.h.in: Add HAVE_XCONVERTCASE.
588
589 2000-02-07  Andy Piper  <andy@xemacs.org>
590
591         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
592         it breaks many things.
593
594 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
595
596         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
597         actually can start a common comment type.
598         * src/syntax.h (SYNTAX_END_P): ditto for end.
599
600 2000-02-07  Martin Buchholz <martin@xemacs.org>
601
602         * XEmacs 21.2.28 is released.
603
604 2000-02-06  Martin Buchholz  <martin@xemacs.org>
605
606         * event-Xt.c (x_keysym_to_character): New.
607         (maybe_define_x_key_as_self_inserting_character): New.
608         (x_has_keysym): New.
609         Auto-define all keys on the keyboard as self-insert-key.
610
611 2000-02-02  Martin Buchholz  <martin@xemacs.org>
612
613         * menubar.c (vars_of_menubar): A small code simplification.
614
615         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
616
617         * ExternalShell.c:
618         * ExternalClient.c:
619         * EmacsShell-sub.c:
620         * EmacsManager.c:
621         * EmacsFrame.c:
622         Use consistent style for specifying X resources.
623
624         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
625         This makes (dontusethis-set-symbol-value-handler) actually usable.
626
627         * lrecord.h (lrecord_decription_type):
628         * alloc.c (pdump_register_sub):
629         (pdump_dump_data):
630         (pdump_reloc_one):
631         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
632         Comply with XEmacs coding style.
633         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
634         args, and XD_LISP_OBJECT_ARRAY with 3 args.
635
636         * keymap.c (Faccessible_keymaps):
637         Make (accessible-keymaps map "\C-h") do the Right Thing.
638         Make (accessible-keymaps map []) do the Right Thing.
639         Make (accessible-keymaps map "") do the Right Thing.
640         (check_keymap_definition_loop): New function.
641         (keymap_store_internal): Keep luser from shooting self in foot,
642           via (define-key ctl-x-4-map "p" global-map).
643         Remove fullness slot from struct Lisp_Keymap, since hash tables
644         are now reliable.
645         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
646
647 2000-01-30  Martin Buchholz  <martin@xemacs.org>
648
649         * redisplay.c (init_redisplay): Fix small memory leak.
650         * elhash.h:
651         * elhash.c (pdump_reorganize_hash_table):
652         Rename from reorganize_hash_table. Change prototype.
653         Reuse the original memory for hentries.  Save 100k.
654         * alloc.c (PDUMP_READ): new macro.
655         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
656         * alloc.c: No need to #ifndef before #undef.
657
658         * print.c: Allow debug_print() to print readably by modifying
659         debug_print_readably.  Use consistent variable names.
660
661         * .dbxrc: Try to get things to work even if stopped in a function
662         without source available by explicitly specifying source files.
663 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
664
665         * unexnt.c (_start): Removed bogus code which caused loading heap
666         from differrent executable file.
667         Removed bogus assignment to _fmode, which caused inconsistencies.
668
669 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
670
671         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
672         Have spawnve encapsulation regard DONT_ENCAPSULATE.
673         Do not preliminary `#define signal sigset'.
674
675         * systime.h: Do not prototype environ on windows nt and cygwin,
676         this conflicts with system header.
677
678         * syssignal.h: Use correct define for WINDOWSNT
679
680         * sysdep.h: Do not prototype environ on windows nt, this conflicts
681         with system header.
682
683         * sysdep.c (near start of file): Fixed commentary and rearranged
684         ifdefs in readable order.
685         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
686         (start_of_text):
687         (end_of_text):
688         (end_of_data): Do not compile in if using PDUMP.
689
690         * symsinit.h: Protptyped vars_of_nt().
691
692         * ntproc.c (windows9x_p): Added, instead of os_subtype.
693         (find_child_console): Use it.
694         (sys_kill): Use it.
695
696         * ntheap.h: Do not extern os_subtype.
697
698         * ntheap.c (cache_system_info): Do not cache unneeded:
699         nt_major_version, nt_minor_version and os_subtype.
700         (recreate_heap): Do not compile in when PDUMPing.
701
702         * nt.c (geteuid and friends): Use the new varibale
703         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
704         (init_user_info): Removed the above mentioned hackery.
705         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
706         stat has been fixed in the C runtime.
707         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
708
709         * file-coding.c (struct file_coding_dump): Do not define
710         ucs_to_mule_table in the struct if not MULE.
711         (struct struct lrecord_description fcd_description_1): Do not dump
712         the above.
713
714         * emacs.c (main_1): Call vars_of_nt().
715         (right before Fdump_emacs_data): Don't need lastfile if using both
716         portabe dumper and system malloc.
717
718         * alloc.c (Fmemory_limit): Conditionalized out.
719         (pdump): Use OPEN_BINARY for the portable dump file.
720         (pdump_load): Ditto.
721
722 2000-02-02  Mike Alexander  <mta@arbortext.com>
723
724         * nt.c (convert_time): Set tm_isdst before calling mktime and
725         avoid calling it at all if the compiler supports 64 bit integers.
726         Also initialize utc_base_ft before using it.
727
728 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
729
730         * frame.c (change_frame_size_1): Take f->internal_border_width
731         into consideration when calculating the width of the frame.
732
733 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
734
735         * window.c (frame_min_height):
736         (frame_size_valid_p):
737         (frame_pixsize_valid_p): Added.
738         (check_frame_size): Generalized.
739
740         * window.h: Prototyped the above.
741
742         * lisp.h:
743         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
744         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
745         Deleted Vwin32_* and Vbinary_process_* unused variables.
746
747         * device-msw.c (msprinter_init_device): Do not get printer font
748         list; Added DEVMODE functions.
749
750         * frame-msw.c: Added lots of printer code.
751
752         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
753         general.c.
754
755         * console-msw.h: Added more msprinter device private slots.
756
757 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
758
759         * event-msw.c (key_needs_default_processing_p): Added.
760         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
761
762 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
763
764         * glyphs.c (image_instance_layout): Mark image instance as clean
765         after layout.
766         (glyph_dirty_p): Removed redundant function.
767         (invalidate_glyph_geometry_maybe): Added.
768         (update_glyph_cachel_data): Call it.
769
770         * glyphs.h: Prototyped it.
771
772         * redisplay.c (add_glyph_rune): Call it.
773         (redisplay_window): Reset glyphs cachels when frame faces has
774         changed, thus forcing recomputation of built-in border glyphs.
775
776 2000-01-30  Martin Buchholz  <martin@xemacs.org>
777
778         * Makefile.in.in: Make portable dumper and purify play well together.
779         Add imperfect, but better than nothing, support for pdump.
780         Remove xemacs.dmp when temacs is re-generated.
781         Don't ignore errors when dumping xemacs.
782
783         * symbols.c (maybe_call_magic_handler): Remove one magic number.
784
785 2000-01-28  Andy Piper  <andy@xemacs.org>
786
787         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
788         (setup_normal_frame): ditto.
789         (setup_frame_without_minibuffer): ditto.
790         (setup_minibuffer_frame): ditto.
791         (delete_frame_internal): ditto.
792         (Fmake_frame_invisible): ditto.
793         (Ficonify_frame): ditto.
794
795         * window.h: change Fset_window_buffer signature.
796
797         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
798         (Fset_window_buffer): allow recording of buffer if the window is
799         the selected window.
800         (window_loop): Use new Fset_window signature.
801
802 2000-01-23  Daniel Pittman  <daniel@danann.net>
803
804         * config.h.in: Added template for `HAVE_ATHENA_3D'
805
806 2000-01-29  Andy Piper  <andy@xemacs.org>
807
808         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
809
810         * gutter.c (output_gutter): Don't output if the window isn't live.
811
812 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
813
814         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
815         of 01/12/00: Moved SetFocus back here where it belongs.
816
817 2000-01-23  Andy Piper  <andy@xemacs.org>
818
819         * s/cygwin32.h: declare printer things.
820
821 2000-01-26  Andy Piper  <andy@xemacs.org>
822
823         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
824         Alexander.
825
826 2000-01-24  Andy Piper  <andy@xemacs.org>
827
828         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
829         (mswindows_button_instantiate): Make sure glyph is a pixmap.
830
831         * glyphs-widget.c (widget_instantiate): Avoid shadows.
832
833         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
834
835         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
836
837         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
838         (mswindows_output_display_block): Avoid local shadows.
839
840         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
841         (mswindows_enqueue_mouse_button_event): ditto.
842         (mswindows_handle_gui_wm_command): remove declaration.
843
844         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
845         warnings.
846
847         * console-msw.h: Avoid shadows.
848         (mswindows_get_toolbar_button_text):
849         (emacs_mswindows_create_stream_pair):
850         (emacs_mswindows_delete_stream_pair):
851         (mswindows_handle_toolbar_wm_command): declare.
852
853         * device-msw.c (build_syscolor_string): Avoid shadows.
854
855 2000-01-23  Andy Piper  <andy@xemacs.org>
856
857         * glyphs-widget.c (widget_instantiate): reverse the items for
858         layouts so that children are in the expected order.
859
860 2000-01-28  Martin Buchholz  <martin@xemacs.org>
861
862         * ralloc.c: safe_bcopy ==> memmove
863         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
864         * s/msdos.h: Remove BCOPY macros.
865         * insdel.c (gap_right): Remove BCOPY conditional code.
866         * insdel.c (gap_left): Remove BCOPY conditional code.
867         XEmacs demands a working ANSI C compiler - hence memmove.
868
869         * regex.c (regex_compile): Remove accidental use of trigraphs.
870
871 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
872
873         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
874         event timestamp.
875
876 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
877
878         * event-msw.c (mswindows_drain_windows_queue): Added the
879         parameter.
880         (mswindows_need_event): Commented the call to
881         mswindows_drain_windows_queue().
882         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
883         only.
884
885         * console-msw.h: Moved a few function prototypes here from
886         event-msw.c.
887
888         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
889         parameter from unsigned short to unsigned long.
890         (Fmswindows_shell_execute): Added return value.
891
892 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
893
894         * sysdep.c (init_system_name):
895           process-unix.c (unix_canonicalized_host_name):
896         Don't call freeaddrinfo() if getaddrinfo() fails.
897
898         * process-unix.c (unix_open_unix_network_stream):
899         Moved the code to get a port # into address loop.
900
901 2000-01-27  Martin Buchholz  <martin@xemacs.org>
902
903         * buffer.c (reinit_vars_of_buffer):
904         The right place to initialize conversion_in_dynarr and
905         conversion_out_dynarr.
906
907         * alloc.c (pdump): Use the real open() till sys_open() is functional.
908
909         * process-unix.c (unix_canonicalize_host_name): Muleize.
910         (unix_open_network_stream): Muleize.
911
912         * buffer.h: Fix up prototypes for ralloc.c functions.
913
914 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
915         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
916         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
917                 instead of gethostbyname()
918         * process-unix.c: In unix_canonicalize_host_name() and
919                 unix_open_network_stream(), add code to use getaddrinfo()
920                 instead of gethostbyname().
921
922 2000-01-27  Daniel Pittman <daniel@danann.net>
923
924         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
925         libs when built with flat Athena.
926
927 2000-01-27  Martin Buchholz  <martin@xemacs.org>
928
929         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
930         Use coding standards for function prototypes.
931
932 2000-01-25  Martin Buchholz  <martin@xemacs.org>
933
934         * dialog-msw.c (push_lisp_string_as_unicode):
935         * doc.c (unparesseuxify_doc_string):
936         * dired.c (Fuser_name_completion_1):
937         * dired.c (Fuser_name_all_completions):
938         * dired.c (free_user_cache):
939         * dired.c (user_name_completion):
940         * console-x.c (get_display_arg_connection):
941         * minibuf.c (clear_echo_area_internal):
942         * minibuf.c (echo_area_append):
943         * eldap.c (Fldap_open):
944         * eldap.c (Fldap_search_internal):
945         * frame-x.c (x_set_frame_text_value):
946         * frame-x.c (x_set_frame_properties):
947         * frame-x.c (x_create_widgets):
948         * redisplay-tty.c (term_get_fkeys_1):
949         * objects-x.c (x_parse_nearest_color):
950         * objects-x.c (x_valid_color_name_p):
951         * objects-x.c (x_initialize_font_instance):
952         * objects-x.c (x_list_fonts):
953         * objects-x.c (x_find_charset_font):
954         * tooltalk.c (Fadd_tooltalk_message_arg):
955         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
956         * tooltalk.c (Fadd_tooltalk_pattern_arg):
957         * process-unix.c (unix_create_process):
958         * ntproc.c (sys_spawnve):
959         * sound.c (Fplay_sound_file):
960         * sound.c (Fplay_sound):
961         * buffer.c (init_initial_directory):
962         * buffer.c (init_buffer):
963         * editfns.c (init_editfns):
964         * editfns.c (Ftemp_directory):
965         * editfns.c (Fuser_full_name):
966         * editfns.c (uncache_home_directory):
967         * editfns.c (get_home_directory):
968         * editfns.c (Fuser_home_directory):
969         * editfns.c (Fformat_time_string):
970         * editfns.c (Fcurrent_time_string):
971         * gui-x.c (button_item_to_widget_value):
972         * database.c (Fopen_database):
973         * event-Xt.c (x_to_emacs_keysym):
974         * event-Xt.c (x_event_to_emacs_event):
975         * event-Xt.c (describe_event_window):
976         * event-msw.c (mswindows_wnd_proc):
977         * glyphs-eimage.c (jpeg_instantiate):
978         * glyphs-eimage.c (gif_instantiate):
979         * glyphs-eimage.c (png_instantiate):
980         * glyphs-eimage.c (tiff_instantiate):
981         * glyphs-x.c (xbm_instantiate_1):
982         * glyphs-x.c (x_xbm_instantiate):
983         * glyphs-x.c (x_xface_instantiate):
984         * glyphs-x.c (autodetect_instantiate):
985         * glyphs-x.c (cursor_font_instantiate):
986         * glyphs-x.c (x_widget_instantiate):
987         * glyphs-x.c (x_widget_set_property):
988         * glyphs-x.c (x_widget_property):
989         * glyphs-x.c (BUILD_GLYPH_INST):
990         * print.c (write_string_to_stdio_stream):
991         * print.c (output_string):
992         * print.c (Falternate_debugging_output):
993         * print.c (Fexternal_debugging_output):
994         * glyphs-msw.c (extract_xpm_color_names):
995         * glyphs-msw.c (mswindows_xpm_instantiate):
996         * glyphs-msw.c (bmp_instantiate):
997         * glyphs-msw.c (resource_name_to_resource):
998         * glyphs-msw.c (mswindows_resource_instantiate):
999         * glyphs-msw.c (xbm_instantiate_1):
1000         * glyphs-msw.c (mswindows_xbm_instantiate):
1001         * glyphs-msw.c (mswindows_xface_instantiate):
1002         * glyphs-msw.c (mswindows_widget_instantiate):
1003         * glyphs-msw.c (add_tree_item):
1004         * glyphs-msw.c (add_tab_item):
1005         * glyphs-msw.c (mswindows_combo_box_instantiate):
1006         * glyphs-msw.c (mswindows_widget_property):
1007         * glyphs-msw.c (mswindows_combo_box_property):
1008         * glyphs-msw.c (mswindows_widget_set_property):
1009         * console.c (stuff_buffered_input):
1010         * objects-msw.c (mswindows_initialize_color_instance):
1011         * objects-msw.c (mswindows_valid_color_name_p):
1012         * objects-msw.c (mswindows_list_fonts):
1013         * objects-msw.c (mswindows_font_instance_truename):
1014         * bytecode.c (optimize_compiled_function):
1015         * select-x.c (symbol_to_x_atom):
1016         * select-x.c (x_atom_to_symbol):
1017         * select-x.c (hack_motif_clipboard_selection):
1018         * select-x.c (selection_data_to_lisp_data):
1019         * select-x.c (lisp_data_to_selection_data):
1020         * select-x.c (Fx_get_cutbuffer_internal):
1021         * select-x.c (Fx_store_cutbuffer_internal):
1022         * buffer.h (TO_EXTERNAL_FORMAT): New function.
1023         * buffer.h (TO_INTERNAL_FORMAT): New function.
1024         * emacs.c (make_arg_list_1):
1025         * emacs.c (make_argc_argv):
1026         * emacs.c (main_1):
1027         * emacs.c (Fdump_emacs):
1028         * emacs.c (split_string_by_emchar_1):
1029         * file-coding.h:
1030         * lisp.h:
1031         * lstream.h:
1032         * symsinit.h:
1033         * device-x.c (x_init_device):
1034         * device-x.c (Fx_valid_keysym_name_p):
1035         * device-x.c (Fx_get_font_path):
1036         * device-x.c (Fx_set_font_path):
1037         * glyphs.c (bitmap_to_lisp_data):
1038         * glyphs.c (pixmap_to_lisp_data):
1039         * alloc.c (make_ext_string): Use coding system arguments.  Update
1040         all callers.
1041         * alloc.c (build_string):
1042         * callproc.c (child_setup):
1043         * callproc.c (init_callproc):
1044         * fileio.c (lisp_strerror):
1045         * fileio.c (directory_file_name):
1046         * fileio.c (Fexpand_file_name):
1047         * fileio.c (Ffile_truename):
1048         * fileio.c (Fsysnetunam):
1049         * fileio.c (Fdo_auto_save):
1050         * sysdep.c (sys_readdir):
1051         * tests.c: New file.  Allow adding C tests.
1052         Replace GET_* macros with a more comprehensible and flexible
1053         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
1054         Modify all calls.
1055         Any coding system can be used to do format conversion.
1056         Eliminate enum external_data_format.
1057         Eliminate convert_to_external_format.
1058         Eliminate convert_to_internal_format.
1059         Make sure file-name, keyboard, terminal, and ctext are always
1060         defined as coding systems or aliases.  Make
1061         file-name-coding-system, terminal-coding-system, and
1062         keyboard-coding-system magical variables that are equivalent to
1063         defining the corresponding coding system aliases.
1064
1065         * file-coding.c (Fcoding_system_canonical_name_p): New function.
1066         * file-coding.c (Fcoding_system_alias_p): New function.
1067         * file-coding.c (Fcoding_system_aliasee): New function.
1068         * file-coding.c (append_suffix_to_symbol): New function.
1069         * file-coding.c (dangling_coding_system_alias_p): New function.
1070         * file-coding.c (Ffind_coding_system):
1071         * file-coding.c (Fcopy_coding_system):
1072         * file-coding.c (encode_coding_no_conversion):
1073         * file-coding.c (syms_of_file_coding):
1074         * file-coding.c (vars_of_file_coding):
1075         Rewrite coding system alias code.
1076         Allow nested aliases, like symbolic links.
1077         Allow redefinition of coding system aliases.
1078         Prevent existence of dangling coding system aliases.
1079
1080         * dired.c (Fuser_name_completion_1):
1081         * dired.c (Fuser_name_all_completions):
1082         A crash would happen if user did QUIT in the middle of building
1083         user_name_cache.  Remove redundant code in mainline and unwind_protect.
1084
1085         * lisp.h:
1086         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
1087
1088         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
1089         an unsigned char *.  Update all callers.
1090
1091 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1092
1093         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
1094
1095 2000-01-25  Martin Buchholz  <martin@xemacs.org>
1096
1097         * elhash.c (hentry_description): Use more portable definition.
1098         (resize_hash_table): Initialize new hentries using
1099         xnew_array_and_zero, thereby simplifying the code.
1100
1101         * mule-charset.c (make_charset): Make sure entire object is
1102         intialized, to avoid Purify warnings.
1103
1104         * alloc.c (resize_string): Fix unlikely crash with big strings.
1105
1106 2000-01-24  Martin Buchholz  <martin@xemacs.org>
1107
1108         * realpath.c (xrealpath):
1109         Don't call getwd().
1110
1111 2000-01-25  Martin Buchholz  <martin@xemacs.org>
1112
1113         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
1114
1115 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
1116
1117         * unexelfsgi.c (unexec): Change the way we decide which segment
1118         should be extended.
1119
1120         Assumption that .bss section should be outside the PT_LOADable
1121         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
1122         it's present) is inside the 'data' segment. This would fail the
1123         test which was used to find a segment to grow and cover new
1124         heap. Instead of this assumption, I created another one - on IRIX
1125         the segment to grow should start below .bss and it's address
1126         should extent above the end of .bss. Once this segment is
1127         identified, it's grown to accommodate the new heap and new
1128         zero-length .bss section is added at the end of .data2.
1129
1130 2000-01-25  Martin Buchholz  <martin@xemacs.org>
1131
1132         * eval.c (Feval): Wrong number of arguments should use original
1133         function, not the indirect_function version of it.
1134
1135 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
1136
1137         * glyphs-x.c (x_button_instantiate): Don't add image if
1138         it is not a pixmap.
1139         (x_locate_pixmap_file): Call Fexpand_file_name when file name
1140         is relative.
1141
1142 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
1143
1144         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
1145         declaration.
1146         (DEFVAR_INT_MAGIC): Ditto.
1147         (DEFVAR_BOOL_MAGIC): Ditto.
1148         * glyphs.h: Reindent backslash.
1149
1150 2000-01-24  Martin Buchholz  <martin@xemacs.org>
1151
1152         * glyphs-widget.c (layout_query_geometry):
1153         (layout_layout): Use correct types for gheight, gwidth.
1154
1155 2000-01-24  Martin Buchholz  <martin@xemacs.org>
1156
1157         * EmacsManager.c (QueryGeometry): Purified.
1158
1159 2000-01-23  Martin Buchholz  <martin@xemacs.org>
1160
1161         * alloc.c (make_float): Make sure entire object is intialized, to
1162         avoid Purify warnings.
1163         (pdump_register_sub): Remove useless assignment.
1164         (pdump): Use xmalloc, not malloc.
1165         (pdump_load): Use xmalloc, not malloc.
1166
1167 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1168
1169         * callproc.c:
1170         * dired-msw.c:
1171         * fileio.c:
1172         * process-nt.c:
1173         * redisplay-msw.c:
1174         * sysdep.c: Removed redundant #include <windows.h>
1175
1176 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1177
1178         * frame.c (delete_frame_internal): Do not delete device when its
1179         implementation so declares.
1180         (delete_frame_internal): Set device selected frame to nil when
1181         last frame goes away.
1182
1183         * device-msw.c (msprinter_device_system_metrics): Implemented.
1184         (mswindows_device_system_metrics): Added 'device-dpi property.
1185
1186         * device.c: (Fdevice_printer_p): Added.
1187         Added 'offset-workspace device metric.
1188
1189         * console.h (device_metrics): Declared DM_offset_workspace.
1190
1191 2000-01-23  Martin Buchholz  <martin@xemacs.org>
1192
1193         * fileio.c (Ffile_truename): Remove pointless and confusing
1194         initialization of elen.
1195
1196         * glyphs-widget.c: Compiler warning fixes.
1197
1198 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1199
1200         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
1201         instead of a Lisp_Object as argument to make it consistent with
1202         the other LIVE_P macros.
1203         (CHECK_LIVE_PROCESS): New macro.
1204
1205         * process.c: Declare Qprocess_live_p.
1206         (Fprocess_live_p): New function.
1207         (create_process): Use PROCESS_LIVE_P.
1208         (read_process_output): Ditto.
1209         (set_process_filter): Ditto.
1210         (Fdelete_process): Ditto.
1211         (kill_buffer_processes): Ditto
1212         (process_send_signal): Use CHECK_LIVE_PROCESS.
1213         (Fprocess_input_coding_system): Check whether process is still
1214         alive (fix PR#1061).
1215         (Fprocess_output_coding_system): Ditto.
1216         (Fprocess_coding_system): Ditto.
1217         (Fset_process_input_coding_system): Ditto.
1218         (Fset_process_output_coding_system): Ditto.
1219
1220 2000-01-23  Andy Piper  <andy@xemacs.org>
1221
1222         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
1223         layout and widget.
1224
1225         * glyphs.c (mark_image_instance): take into account changed
1226         image_instance format.
1227         (image_instance_equal): ditto.
1228         (image_instance_hash): ditto.
1229
1230         * glyphs-widget.c (widget_instantiate): Incorporate layout
1231         instantiation here. Delay layout of the layout until later.
1232         (layout_instantiate): deleted.
1233         (layout_query_geometry): new function. get the geometry of a
1234         layout.
1235         (layout_layout): layout a layout dynamically.
1236         (image_instantiator_widget): New function - splitting up
1237         image_instantiator_format_create_glyphs_widget for netwinder
1238         compilation.
1239         (image_instantiator_buttons):
1240         (image_instantiator_edit_fields):
1241         (image_instantiator_combo_box):
1242         (image_instantiator_scrollbar):
1243         (image_instantiator_progress_guage):
1244         (image_instantiator_tree_view):
1245         (image_instantiator_tab_control):
1246         (image_instantiator_labels):
1247         (image_instantiator_layout): ditto.
1248         (image_instantiator_format_create_glyphs_widget): Call preceeding
1249         functions.
1250
1251 2000-01-22  Martin Buchholz  <martin@xemacs.org>
1252
1253         * process.c (Fset_process_coding_system):
1254         * device-x.c (Fx_keysym_hash_table):
1255         Docstring fixes.
1256
1257         * lstream.c (Lstream_write): Return documented value, not 0.
1258
1259         * fileio.c (directory_file_name):
1260         (Fsubstitute_in_file_name):
1261         (Fsubstitute_insert_file_contents_internal):
1262         (Fwrite_region_internal):
1263         * emacs.c:
1264         * sysdep.c:
1265         * getloadavg.c:
1266         * systty.h:
1267         Remove vestigial APOLLO-conditional code.
1268
1269 2000-01-21  Martin Buchholz  <martin@xemacs.org>
1270
1271         * getpagesize.h: Add guard macros.
1272         * libsst.h: Add guard macros.
1273         * libst.h: Add guard macros.
1274         * line-number.h: Add guard macros.
1275         * ndir.h: Add guard macros.
1276         * sysfloat.h: Add guard macros.
1277         * sysfile.h: Add guard macros.
1278         * sysproc.h: Add guard macros.
1279         * syswait.h: Add guard macros.
1280         * xintrinsic.h: Add guard macros.
1281         * xintrinsicp.h: Add guard macros.
1282         * xmmanager.h: Add guard macros.
1283         * xmmanagerp.h: Add guard macros.
1284         * xmprimitive.h: Add guard macros.
1285         * xmu.h: Add guard macros.
1286         * gpmevent.h: Add copyright statement. Add guard macros.
1287         * miscplay.h: Add guard macros.
1288         * *.h: Use consistent C-standards-approved guard macro names.
1289
1290         * opaque.c (make_opaque): Switch parameter order.
1291         * opaque.h (make_opaque): Switch parameter order.
1292         Update all callers.
1293         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
1294
1295         * config.h.in (type_checking_assert): Added.
1296         (bufpos_checking_assert): Added.
1297
1298 2000-01-21  Martin Buchholz  <martin@xemacs.org>
1299
1300         * alloc.c: Harmless pdump changes.
1301         - Use countof().
1302         - spell alignment correctly.
1303         * sysdep.c: Use countof()
1304
1305 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1306
1307         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
1308         initially_selected_for_input() console method, default to 0.
1309         (semi_canonicalize_console_connection): Try to delegate to
1310         canonicalize_console_connection if no such console method.
1311         (canonicalize_console_connection): Vice versa.
1312         (print_console): Do not print nil connection.
1313
1314         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
1315         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
1316         (XDEVIMPF_FRAMELESS_OK): Added.
1317         (CONSOLE_INHERITS_METHOD): Added.
1318
1319         * console-msw.c (mswindows_canonicalize_console_connection):
1320         Added.
1321         (mswindows_canonicalize_device_connection): Added.
1322
1323         * console-msw.h (struct msprinter_device): Added this struct and
1324         accessor macros.
1325         (mswindows_device): Made fontlist a lisp object.
1326
1327         * device.c (semi_canonicalize_device_connection):  Try to delegate
1328         to canonicalize_device_connection if no such console method.
1329         (canonicalize_device_connection): Vice versa.
1330         (print_device): Do not print nil connection.
1331
1332         * device-msw.c (mswindows_init_device): Call InitCommonControls
1333         when have widgets.
1334         (mswindows_delete_device): Removed fontlist deallocation.
1335         (mswindows_mark_device): Added.
1336
1337         * events.c (event_equal): Added abort() at unreached code.
1338         (event_hash): Ditto.
1339
1340         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
1341         fallback tags of Windows devices.
1342
1343         * general.c (syms_of_general): Initialized Qmsprinter.
1344
1345         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
1346         of fallback tags of Windows devices.
1347
1348         * lisp.h: Declared Qmsprinter.
1349
1350         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
1351         of strings.
1352         (mswindows_list_fonts): Ditto.
1353         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
1354         that it can be used by both mswindows and msprinter devices.
1355         (initialize_font_instance): Added.
1356         (mswindows_initialize_font_instance): Use it.
1357         (msprinter_initialize_font_instance): Added.
1358
1359         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
1360         and implementation flags check.
1361         (redisplay_without_hooks): Changed the call to the above.
1362         (Fredraw_device): Ditto.
1363         (Fredisplay_device): Ditto.
1364
1365         * redisplay-msw.c (get_frame_dc): Implemented.
1366         (get_frame_compdc): Implemented.
1367         (many functions): Use the two functions above to get device
1368         contexts, ether for a window or a printer.
1369
1370 2000-01-21  Olivier Galibert  <galibert@pobox.com>
1371
1372         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
1373         initialization here.
1374         (init_symbols_once_early): Call it.
1375         * emacs.c (main_1): Call it.
1376         * symsinit.h: Declare it.
1377
1378 2000-01-19  Olivier Galibert  <galibert@pobox.com>
1379
1380         * alloc.c: Use a lrecord_header * in the backtrace instead of a
1381         Lisp_Object.
1382         (pdump_backtrace): Ditto.
1383         (pdump_register_object): Ditto.  Cleanup use of the pointers.
1384         (pdump_get_entry): Abort if trying to register a null pointer.
1385         (pdump_dump_data): Cleanup types when relocating.
1386         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
1387         (pdump_dump_rtables): Remove bad casts.
1388         (pdump_load): Cleanup relocation w.r.t union type.  Use a
1389         Lisp_Object instead of a EMACS_INT for the hashtable
1390         reorganization.
1391
1392 2000-01-20  Martin Buchholz  <martin@xemacs.org>
1393
1394         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
1395
1396         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
1397
1398         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
1399
1400         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
1401
1402 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1403
1404         * faces.h (FACE_STRIKETHRU_P): Added.
1405
1406         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
1407         of font variants.
1408
1409         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
1410         (mswindows_set_dc_font): New function, aware of font variants,
1411         separated from mswindows_update_dc.
1412
1413         * objects-msw.h (struct mswindows_font_instance_data): Added
1414         definition.
1415
1416         * objects-msw.c (mswindows_finalize_font_instance): Delete all
1417         cached fonts and the data structure.
1418         (mswindows_initialize_font_instance): Added creation of font data
1419         structure.
1420         (mswindows_print_font_instance): Print at least something.
1421         (mswindows_create_font_variant): Implemented.
1422         (mswindows_get_hfont): Implemented.
1423
1424 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
1425
1426         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
1427         prototyping problem with msvc.
1428
1429         * emacs.c (main_1): added syms_of_gui_mswindows() call
1430
1431         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
1432         syms_of_gui_mswindows() function
1433
1434         * symsinit.h: added the prototype for syms_of_gui_mswindows()
1435
1436 2000-01-18  Martin Buchholz <martin@xemacs.org>
1437
1438         * XEmacs 21.2.27 is released.
1439
1440 2000-01-18  Martin Buchholz  <martin@xemacs.org>
1441
1442         * glyphs-eimage.c (struct tiff_error_struct):
1443         (tiff_error_func):
1444         (tiff_warning_func):
1445         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
1446
1447         * unexmips.c:
1448         * unexhp9k3.c:
1449         * unexfreebsd.c:
1450         * unexec.c: Remove vestigial Lucid C code.
1451         * unexalpha.c:
1452         * unexaix.c:
1453         * termcap.c:
1454         * libsst.c: Ansify.
1455         Remove declarations of errno and strerror().
1456
1457         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
1458
1459         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
1460
1461 2000-01-16  Martin Buchholz  <martin@xemacs.org>
1462
1463         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
1464         Optimize.
1465
1466 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1467
1468         * md5.c:
1469         * file-coding.c:
1470         * file-coding.h:
1471         Change enum eol_type to eol_type_t.
1472
1473 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1474
1475         * gui.c (get_gui_callback): Check cons before accessing car.
1476
1477 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1478
1479         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
1480         (XSETSPECIFIER_TYPE): Ditto.
1481
1482 2000-01-17  Didier Verna  <didier@xemacs.org>
1483
1484         * redisplay.c (generate_fstring_runes): compute string size in
1485         characters, not bytes.
1486
1487 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
1488
1489         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
1490
1491 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
1492
1493         * print.c (print_error_message): Call print_prepare().
1494
1495 2000-01-14  Martin Buchholz  <martin@xemacs.org>
1496
1497         * .dbxrc: Renamed from dbxrc.
1498
1499         * events.c (event_to_character):
1500         Use `assert (foo)' instead of `if (!foo) abort()'
1501
1502         * .gdbinit (xtype): Add documentation.
1503         * .gdbinit (check-temacs): New function.
1504         * .gdbinit (check-xemacs): New function.
1505         * dbxrc (check-xemacs): New function.
1506         * dbxrc (check-xemacs): New function.
1507
1508 2000-01-14  Andy Piper  <andy@xemacs.org>
1509
1510         * glyphs-widget.c (widget_query_geometry): Make sure that we
1511         calculate default dimensions correctly.
1512
1513 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1514
1515         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
1516
1517         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
1518         pdump_wire'd variable.
1519
1520         * emacs.c: (main_1): Conditionalized calls to
1521         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
1522
1523 2000-01-13  Martin Buchholz  <martin@xemacs.org>
1524
1525         * window.c (Fset_window_configuration):
1526         * sysdep.c (_start):
1527         * input-method-motif.c (res):
1528         * event-Xt.c (Xt_process_to_emacs_event):
1529         Simple compiler warning fixes.
1530
1531         * bytecode.c (funcall_compiled_function): Use the original
1532         function symbol on the backtrace list in preference to the
1533         compiled_function object in error messages.
1534
1535 2000-01-13  Andy Piper  <andy@xemacs.org>
1536
1537         * glyphs-x.c (update_widget_face): Make sure we update the widget
1538         background as well as foreground.
1539
1540 2000-01-13  Andy Piper  <andy@xemacs.org>
1541
1542         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
1543         fields to subwindow.
1544         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
1545         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
1546         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
1547         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
1548
1549         * glyphs-widget.c (check_valid_tab_orientation): new function.
1550         (initialize_widget_image_instance): zero orientation and
1551         justification.
1552         (widget_instantiate): pick up orientation.
1553         (tab_control_query_geometry): return appropriate values for
1554         vertical tabs.
1555
1556         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
1557         appropriate creation flags for left, right and bottom tabs.
1558
1559         * s/cygwin32.h: add tab definitions.
1560
1561 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1562
1563         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
1564         frame upon hiding a subwindow.
1565         (mswindows_button_instantiate): Changed the push button style to
1566         BS_PUSHBUTTON.
1567         (mswindows_button_instantiate): Removed button BS_NOTIFY
1568         style.
1569         (mswindows_button_instantiate): Removed redundant check for
1570         a disabled gui item.
1571         (mswindows_button_instantiate): Made use of WS_TABSTOP
1572         consistent: "operable" controls (edit, button, tree, scroll) have
1573         this style, "display-only" ones (static, progress gauge) do
1574         not. This style is currently ignored by XEmacs though. Also,
1575         removed the WS_EX_CONTROLPARENT style - it is not for children,
1576         it is for their parents!
1577         (mswindows_edit_field_instantiate): Ditto.
1578         (mswindows_progress_gauge_instantiate): Ditto.
1579         (mswindows_tree_view_instantiate): Ditto.
1580         (mswindows_tab_control_instantiate): Ditto.
1581         (mswindows_scrollbar_instantiate): Ditto.
1582         (mswindows_combo_box_instantiate): Ditto.
1583         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
1584         style to the "clip" window.
1585         (mswindows_button_instantiate): Removed compilation warning by
1586         equally typing terms of the ?: operator.
1587
1588 2000-01-12  Didier Verna  <didier@xemacs.org>
1589
1590         * redisplay.c (generate_fstring_runes): new parameter holding the
1591         last modeline-format extent.
1592         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
1593         extent, fill the glyph block with it.
1594         (generate_fstring_runes): handle these parameters.
1595         (generate_formatted_string_db): ditto.
1596
1597         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
1598         glyphs'extents in the modeline.
1599
1600 1999-01-11  Mike Woolley  <mike@bulsara.com>
1601
1602         * ntheap.c: Reduced the reserved heap space from 1Gb down to
1603         256Mb, as a workaround for the non-starting problem many people
1604         have experienced.
1605
1606 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1607
1608         * console-tty.c (Fset_console_tty_output_coding_system):
1609         Force redrawing tty frame.
1610
1611 2000-01-10  Didier Verna  <didier@xemacs.org>
1612
1613         * redisplay.c (generate_fstring_runes): fix size computation bug.
1614
1615 2000-01-09  William M. Perry <wmperry@aventail.com>
1616
1617         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
1618
1619 2000-01-09  Andy Piper  <andy@xemacs.org>
1620
1621         * glyphs-msw.c: index -> i to avoid shadows.
1622         (xbm_create_bitmap_from_data): make static.
1623         (check_valid_string_or_int): deleted.
1624         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
1625
1626         * glyphs-x.c (x_update_subwindow): remove unused args.
1627
1628         * glyphs.c (glyph_image_instance): return the thing. Don't set the
1629         back pointer - this is done in allocate_image_instance.
1630         (query_string_font): return Qnil to make the compiler happy.
1631         (unmap_subwindow): set to ~0 to make the compiler happy.
1632         (glyph_query_geometry): comment out until used.
1633         (glyph_layout): ditto.
1634
1635 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
1636
1637         * insdel.c (signal_after_change): Remove extraneous unbind_to().