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