XEmacs 21.2.41 "Polyhymnia".
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2001-01-17  Martin Buchholz <martin@xemacs.org>
2
3         * XEmacs 21.2.41 "Polyhymnia" is released.
4
5 2001-01-16  Didier Verna  <didier@xemacs.org>
6
7         * glyphs.c (image_instantiate): don't use fallbacks when
8         instantiating a face's background pixmap by inheritance.
9
10 2001-01-14  Mike Sperber <mike@xemacs.org>
11
12         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
13         Conditionalize accordingly.
14
15 2001-01-16  Martin Buchholz  <martin@xemacs.org>
16
17         * dumper.c (pdump_file_get): Fix a compiler warning.
18
19 2001-01-15  Martin Buchholz  <martin@xemacs.org>
20
21         Make Purify happy when pdumping.
22         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
23         iniitalizing all bits of new lisp object memory.
24         * symbols.c (Fmake_local_variable): Likewise.
25         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
26         * symbols.c (Fdefvaralias): Likewise.
27         * mule-charset.c (vars_of_mule_charset): Likewise.
28
29 2001-01-15  Martin Buchholz  <martin@xemacs.org>
30         Add the `-nd' flag when running pre-dump operations under the debugger.
31         * .dbxrc (run-temacs): Add `-nd'.
32         * .dbxrc (update-elc): Likewise.
33         * .dbxrc (dump-temacs): Likewise.
34         * .gdbinit (run-temacs): Likewise.
35         * .gdbinit (check-temacs): Likewise.
36         * .gdbinit (update-elc): Likewise.
37         * .gdbinit (dump-temacs): Likewise.
38
39 2001-01-14  Martin Buchholz  <martin@xemacs.org>
40
41         Allow building 64-bit executables on AIX with GNU malloc, e.g.
42         export OBJECT_MODE=64
43         configure --pdump --use-union-type=no
44         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
45         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
46
47         * miscplay.c (sndcnv8U_2mono):
48         Avoid two uses of `++' in the same expression.
49         Suppresses a GCC warning.
50
51 2001-01-13  Martin Buchholz  <martin@xemacs.org>
52
53         Make sure future compilers don't miscompile alloc.c.
54         * alloc.c:
55         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
56         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
57
58 2001-01-12  Martin Buchholz  <martin@xemacs.org>
59
60         * dumper.c: A little post-pdump-rename comment fixup.
61
62 2001-01-09  Jerry James  <james@eecs.ku.edu>
63
64         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
65
66 2001-01-13  Martin Buchholz  <martin@xemacs.org>
67
68         * *.[ch]: Globally rename symbols using the following `pdump-rename'
69         script:
70         #!/bin/sh
71         replace_symbol () {
72           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
73         }
74
75         replace_symbol pdump_wire_lists pdump_weak_object_chains
76         replace_symbol pdump_wire_list dump_add_weak_object_chain
77
78         replace_symbol pdump_wires pdump_root_objects
79         replace_symbol pdump_wire dump_add_root_object
80
81         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
82         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
83
84         replace_symbol dumpstructinfos pdump_root_struct_ptrs
85         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
86         replace_symbol dumpstructinfo pdump_root_struct_ptr
87         replace_symbol dumpstruct dump_add_root_struct_ptr
88
89         replace_symbol dumpopaque dump_add_opaque
90         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
91         replace_symbol dumpopaqueinfos pdump_opaques
92         replace_symbol dumpopaqueinfo pdump_opaque
93
94         replace_symbol nb_structdump nb_root_struct_ptrs
95         replace_symbol nb_opaquedump nb_opaques
96
97         replace_symbol align_table pdump_align_table
98         replace_symbol dump_header pdump_header
99
100         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
101         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
102
103
104 2001-01-12  Martin Buchholz  <martin@xemacs.org>
105
106         * s/aix4.h: Keep the C for AIX compiler from overaggressively
107         optimizing bytecount_to_charcount().
108
109 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
110
111         * config.h.in:
112         (HAVE_DLFCN_H): Removed.
113         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
114
115 2001-01-06  Martin Buchholz  <martin@xemacs.org>
116
117         Portable dumper maintainability improvements.
118         * alloc.c (staticpro):
119         * alloc.c (staticpro_nodump):
120         * alloc.c (garbage_collect_1):
121         * alloc.c (reinit_alloc_once_early):
122         * alloc.c (init_alloc_once_early):
123         * alloc.c: Move dumper functions to alloc.c.
124         * dumper.c (pdump_backtrace):
125         * dumper.c (pdump_dump_structs):
126         * dumper.c (pdump_dump_opaques):
127         * dumper.c (pdump_dump_rtables):
128         * dumper.c (pdump_dump_wired):
129         * dumper.c (pdump):
130         * dumper.c (pdump_load_check):
131         * dumper.c (pdump_load_finish):
132         * dumper.c (pdump_file_unmap):
133         * dumper.c (pdump_file_get):
134         * dumper.c (pdump_resource_free):
135         * dumper.c (pdump_resource_get):
136         * dumper.c (pdump_file_free):
137         * dumper.c (pdump_file_try):
138         * dumper.c (pdump_load):
139         Remove fixed size limits on staticpro(), staticpro_nodump(),
140         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
141         Remove custom code for dumping lrecord_implementations_table - use
142         dumpopaque instead.
143         Remove (most of the) custom code for dumping staticpros - dump it
144         like any other dynarr.
145
146         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
147         * dumper.c: Moved functions from alloc.c.
148         * alloc.c (dumpstruct): Moved to dumper.c.
149         * alloc.c (dumpopaque): Likewise.
150         * alloc.c (pdump_wire): Likewise.
151         * alloc.c (pdump_wire_list): Likewise.
152
153         * lisp.h (Dynarr_sizeof): New.
154         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
155         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
156         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
157
158         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
159         * lisp.h (dumpopaque): ditto.
160         * lisp.h (pdump_wire): ditto.
161         * lisp.h (pdump_wire_list): ditto.
162
163 2001-01-09  Martin Buchholz  <martin@xemacs.org>
164
165         * make-src-depend (PrintPatternDeps):
166         Use `sort' to make output independent of perl version.
167
168 2001-01-08  Martin Buchholz  <martin@xemacs.org>
169
170         Port to Netbsd 1.5.
171         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
172         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
173
174 2001-01-03  Didier Verna  <didier@xemacs.org>
175
176         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
177         that `focus_frame' is alive before thinking of calling
178         `redisplay_redraw_cursor' on it.
179
180 2001-01-08  Martin Buchholz <martin@xemacs.org>
181
182         * XEmacs 21.2.40 is released.
183
184 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
185
186         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
187
188 2001-01-06  Martin Buchholz  <martin@xemacs.org>
189
190         * alloc.c (dbg_valmask): Make const.
191         * alloc.c (dbg_typemask): Make const.
192         * alloc.c (dbg_USE_UNION_TYPE): Make const.
193         * alloc.c (dbg_valbits): Make const.
194         * alloc.c (dbg_gctypebits): Make const.
195
196 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
197
198         * redisplay-x.c (x_bevel_area):
199         redisplay.h (struct rune):
200         Typo fixes in comments.
201
202 2001-01-05  Andy Piper  <andy@xemacs.org>
203
204         * glyphs-x.c (x_redisplay_widget): use size changed for offset
205         adjustment.
206
207         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
208
209 2001-01-05  Martin Buchholz  <martin@xemacs.org>
210
211         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
212
213         * mule-ccl.c (stack_idx_of_map_multiple):
214         Non const global data must not be initialized!
215         Found by MIYASHITA Hisashi.
216
217 2001-01-02  Andy Piper  <andy@xemacs.org>
218
219         * frame.c (change_frame_size): make sure frame size is always
220         marked as changed.
221
222         * glyphs.c (image_instance_layout): minor code reuse.
223
224         * window.c (Fcurrent_window_configuration): revert previous
225         change.
226
227 2001-01-02  Martin Buchholz  <martin@xemacs.org>
228
229         * glyphs.h:
230         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
231
232 2000-12-31  Andy Piper  <andy@xemacs.org>
233
234         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
235         when widget gets unmapped.
236
237         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
238         function. Make sure widgets losing focus don't just drop it.
239         (handle_focus_event_1): record the widget with focus.
240
241 2000-12-31  Andy Piper  <andy@xemacs.org>
242
243         * window.c (allocate_window): use
244         make_image_instance_cache_hash_table.
245         (make_dummy_parent): ditto.
246         (Fset_window_configuration): ditto.
247
248         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
249
250         * glyphs.c (process_image_string_instantiator): use
251         INSTANTIATOR_TYPE.
252         (get_image_instantiator_governing_domain): ditto.
253         (normalize_image_instantiator): ditto.
254         (instantiate_image_instantiator): ditto.
255         (make_image_instance_1): ditto.
256         (image_instantiate): ditto. Key on glyph *and* instantiator type.
257         (instantiator_eq_equal): new function for use with instance hash
258         tables.
259         (instantiator_eq_hash): ditto.
260         (make_image_instance_cache_hash_table): create a suitable hash
261         table for storing image instances.
262
263         * elhash.h (hash_table_weakness): new internal weakness type
264         HASH_TABLE_KEY_CAR_VALUE_WEAK.
265         declare new functions.
266
267         * elhash.c (finish_marking_weak_hash_tables): introduce yet
268         another weakness type for glyphs.
269         (make_standard_lisp_hash_table): new function split out from
270         make_general_lisp_hash_table.
271         (make_lisp_hash_table): call make_standard_lisp_hash_table.
272         (hash_table_instantiate): ditto.
273         (Fmake_hash_table): ditto.
274
275 2000-12-31  Martin Buchholz <martin@xemacs.org>
276
277         * XEmacs 21.2.39 is released.
278
279 2000-12-29  Andy Piper  <andy@xemacs.org>
280
281         * menubar.c (menubar_visible_p_changed): signal the frame changed.
282
283         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
284         the frame has changed so that we pick up geometry changes such as
285         menubar visibility.
286
287 2000-12-28  Andy Piper  <andy@xemacs.org>
288
289         * lastfile.c (my_ebss): make a char array so we can pad the
290         bss. Fixes cygwin unexec.
291
292         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
293
294 2000-12-26  Andy Piper  <andy@xemacs.org>
295
296         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
297         comments and try and be more precise about a non-/SIGIO world.
298         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
299         SIGIO.
300
301         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
302         we don't normalize to zero width or height.
303
304 2000-12-24  Andy Piper  <andy@xemacs.org>
305
306         * Makefile.in.in (ldflags): add -mwindows when appropriate.
307
308 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
309
310         * s/sco5.h: SCO 5 has pty support.
311
312 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
313
314         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
315         input-method-xlib.c contains whole contents of input-method-xfs.c,
316         so we can use input-method-xlib.c's code for USE_XFONTSET
317         using #ifdefs.
318         * input-method-xfs.c: removed.
319
320 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
321
322         * file-coding.h (enum coding_category_type): reorder enumerators to
323         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
324         (now one greater than largest real coding_category_type enumerator).
325         * file-coding.c (coding_category_symbol, coding_category_by_priority,
326         coding_category_system, fcd_descriptihon_1, decode_coding_category,
327         Fcoding_category_list, Fset_coding_priority_list,
328         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
329         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
330
331 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
332
333         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
334         * redisplay-output.c (redisplay_output_window): Clear top of window
335         when face is changed.
336         * redisplay-x.c (x_redraw_exposed_window): Call
337         redisplay_clear_top_of_window.
338         * redisplay.h: Publish redisplay_clear_top_of_window.
339
340 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
341
342         * buffer.c (Fkill_buffer): Map over all devices.
343         * window.c (window_loop): Remove UNSHOW_BUFFER code.
344         (list_windows): New function.
345         (list_all_windows): Ditto.
346         (Freplace_buffer_in_windows): Use them.
347
348 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
349
350         * database.c (berkdb_subtype): Recognize new subtype `queue'.
351         (Fopen_database): Use `db_create' instead of `db_open'.
352         (syms_of_database): Initialize Qqueue.
353
354 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
355
356         * buffer.c (common_init_complex_vars_of_buffer): Initialize
357         buffer_local_face_property.
358         * buffer.h (struct buffer): New member buffer_local_face_property.
359         * window.c (Fset_window_buffer):  Mark window's face as changed
360         when buffer has buffer local face.
361         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
362         * objects.c (color_after_change): Set buffer_local_face_property
363         when locale of face specifier is buffer.
364         * objects.c (font_after_change): Ditto.
365         * objects.c (face_boolean_after_change): Ditto.
366         * glyphs.c (image_after_change): Ditto.
367
368 2000-12-09  Dan Holmsand  <dan@eyebee.com>
369
370         * nt.c (mswindows_fstat): Report file permissions, volume serial
371         number, etc. Code adapted from FSF Emacs 20.7.
372
373 2000-12-09  Dan Holmsand  <dan@eyebee.com>
374
375         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
376         of stat when we don't have symbolic links, to make sure
377         mswindows_stat is called on mswindows.
378
379 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
380
381         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
382
383 2000-12-12  Martin Buchholz  <martin@xemacs.org>
384
385         * doprnt.c (emacs_doprnt_1): More printing fixes.
386         Make printing of numbers compatible with libc and FSF Emacs.
387         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
388         Use the system printf to do most of the hard work of formatting,
389         instead of doprnt_1().
390         Calculate memory to allocate for format string.
391         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
392         (doprnt_1): Cleaner code and documentation.
393
394 2000-12-01  Jerry James  <james@eecs.ukans.edu>
395
396         * Makefile.in.in: Use the loop variable to install headers.
397
398 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
399
400         * window.c (Fsplit_window): Don't invalidate face cache.
401
402 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
403
404         * minibuf.c (Fall_completions): Undo the previous change
405         which removed checking elements start with space.
406
407 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
408
409         * mule-canna.c: Didier suppression.
410
411 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
412
413         * mule-canna.c: rename static unsigned char buf[] to key_buffer
414         (warning suppression).  Add English comment translations.
415
416 2000-12-05  Martin Buchholz  <martin@xemacs.org>
417
418         * unexelfsgi.c (unexec): Better test for mmap failure.
419
420 2000-12-05  Martin Buchholz <martin@xemacs.org>
421
422         * XEmacs 21.2.38 is released.
423
424 2000-12-05  Martin Buchholz  <martin@xemacs.org>
425
426         * redisplay.c (bar-cursor): Make a user variable.
427
428         * symsinit.h: Add init_postgresql_from_environment.
429
430 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
431
432         * regex.c: Convert to clean C.
433
434 2000-12-05  Dan Holmsand  <dan@eyebee.com>
435
436         * realpath.c:
437         Don't #include sysfile.h. Revert to duplicating PATH_MAX
438         initialization.
439         (sys_readlink): renamed to system_readlink to avoid conflict with
440         the other sys_readlink.
441
442 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
443
444         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
445
446 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
447
448         * postgresql.c (init_postgresql_from_environment): new function.
449         (vars_of_postgresql): Move code initializing Lisp variables out and
450         into init_postgresql_from_environment.
451         emacs.c (main_1): Call init_postgresql_from_environment if and only
452         if running a dumped XEmacs.
453
454 2000-08-31  Dan Holmsand  <dan@eyebee.com>
455
456         * buffer.c: Make find-file-compare-truenames default to true on
457         windows.
458
459         * realpath.c (win32_abs_start):
460         (cygwin_readlink):
461         (win32_readlink): New functions.
462         (xrealpath): Return really real filenames on windows.
463
464         * fileio.c (Ffile_truename): Make file-truename work on windows.
465
466 2000-11-29  Didier Verna  <didier@xemacs.org>
467
468         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
469         * faces.c (update_face_cachel_data): use it.
470         * faces.c (add_face_cachel): use it. Complete background pixmap
471         frobbing in face cache if `update_face_cachel_data' has not done so.
472
473 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
474
475         * search.c (string_match_1): Don't set last_thing_searched
476         when search failed.
477
478 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
479
480         * buffer.c: Include casetab.h
481         (common_init_complex_vars_of_buffer): Use new case-table object.
482         * buffer.h: Include casetab.h
483         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
484         (DOWNCASE_TABLE_OF): Ditto.
485         * bufslots.h: Remove char-tables and add case-table.
486         * casetab.c: Include casetab.h
487         (CASE_TABLE_P): Removed.
488         (mark_case_table): New function.
489         (allocate_case_table): New function.
490         (Fcase_table_p): Use new case-table.
491         (case_table_char): New function.
492         (Fget_case_table): Ditto.
493         (Fput_case_table): Ditto.
494         (Fput_case_table_pair): Ditto.
495         (Fcopy_case_table): Ditto.
496         (Fcurrent_case_table): Return case-table.
497         (Fstandard_case_table): Return case-table.
498         (Fset_case_table): Fix doc-string.
499         (set_case_table): Use case-table
500         (syms_of_casetab): DEFSUBR new functions.
501         (complex_vars_of_casetab): Set up standard case-table.
502         * casetab.h: New file.
503         * editfns.c: Include casetab.h
504         (Fcompare_buffer_substrings): Use case-table.
505         * inline.c: Include casetab.h
506         * lisp.h: Remove bogus extern.
507         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
508         * search.c: Include casetab.h
509         (TRANSLATE_ASCII): Removed.
510         (TRANSLATE): Unconditionally translate character.
511         (looking_at_1): Use case-table.
512         (string_match_1): Ditto.
513         (fast_string_match): Ditto.
514         (search_command): Ditto.
515         (search_buffer): Separate boyer_moore.  Check whether
516         boyer_moore is poosible.
517         (simple_search): New function.
518         (boyer_moore): Separated from search_buffer. Translate char.
519
520 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
521
522         * regex.c (RE_TR_ASCII): Removed.
523         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
524         (PATFETCH): Call PATFETCH_RAW.
525         (PATFETCH_RAW): Fetch Emchar.
526         (PATUNFETCH): Decrement charptr.
527         (GET_BUFFER_SPACE): Rename b to buf_end.
528         (BUF_PUSH): Ditto.
529         (BUF_PUSH_2): Ditto.
530         (BUF_PUSH_3): Ditto.
531         (EXTEND_BUFFER): Ditto.
532         (SET_LIST_BIT): Ditto.
533         (regex_compile): Ditto.  Translate non ASCII char.
534         (compile_range): Ditto.
535         (re_search_2): Ditto.
536         (re_match_2_internal): Compare Emchar.
537         (bcmp_translate): Ditto.
538
539 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
540
541         * lisp.h (basic char/int typedefs):  comment improvement.
542
543 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
544
545         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
546         unstomp inhibit_site_lisp.  Improve comments.
547
548 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
549
550         * mule-charset.c (Fcharset_property):  improve type checking, comments.
551
552 2000-11-28  Andy Piper  <andy@xemacs.org>
553
554         * redisplay-output.c (redisplay_output_subwindow): make sure we do
555         clipped display for windows in the gutter also.
556         (redisplay_display_boxes_in_window_p): change semantics of return
557         codes to be more intuitive.
558
559         * gutter.h: declare display_boxes_in_gutter_p.
560
561         * gutter.c (display_boxes_in_gutter_p): new function for
562         redisplay.
563
564 2000-11-22  Andy Piper  <andy@xemacs.org>
565
566         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
567         autodetect domain.
568
569 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
570
571         * callproc.c (Fold_call_process_internal):
572         * gpm.c (Freceive_gpm_event):
573         (tty_get_foreign_selection): Might be just warning supression.
574         * fileio.c (Fwrite_region_internal):
575         (Fset_visited_file_modtime):
576         * keymap.c (event_matches_key_specifier_p):
577         Initialize GCPROed variable.
578
579         * menubar-x.c (command_builder_find_menu_accelerator):
580         Initialize before use.
581
582 2000-11-23  Andy Piper  <andy@xemacs.org>
583
584         * unexcw.c (unexec): make the resulting executable executable.
585
586 2000-11-21  Martin Buchholz  <martin@xemacs.org>
587
588         * doc.c (get_doc_string):
589         Use size_t, not int, for result of XSTRING_LENGTH.
590
591         * cmds.c (Fdelete_char):
592         * cmds.c (Fpoint_at_eol):
593         * cmds.c (Fself_insert_command):
594         Use EMACS_INT, not int, for result of XINT.
595         Someday, someone will want to insert more than 2**31 identical characters.
596
597         * cmds.c (Fdelete_char):
598         * cmds.c (Fdelete_backward_char):
599         * syntax.c (Fforward_word):
600         * syntax.c (Fforward_comment):
601         Make COUNT argument optional, for consistency with forward-char et al.
602
603 2000-11-22  Martin Buchholz  <martin@xemacs.org>
604
605         * lisp.h:
606         * print.c (long_to_string):
607         Return a useful value: the pointer at end of data written.
608
609         * doprnt.c:
610         Use `static const char * const' for constant strings.
611         (union printf_arg): Delete `i', `ui' members.
612         (get_doprnt_args):
613         (emacs_doprnt_1):
614         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
615         Do all printf-ing via the `l' specifier.
616         Use EMACS_INT instead of int.
617         Optimize.
618
619 2000-11-20  Didier Verna  <didier@xemacs.org>
620
621         * faces.c (update_face_cachel_data): don't frob the background
622         pixmap when the window is being created. The face is needed but
623         does not exist yet.
624
625 2000-11-20  Andy Piper  <andy@xemacs.org>
626
627         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
628         messing with a debug environment.
629
630 2000-11-20  Martin Buchholz  <martin@xemacs.org>
631
632         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
633
634 2000-11-20  Martin Buchholz  <martin@xemacs.org>
635
636         * casetab.c (Fcase_table_p): Fix compile error and crash.
637
638 2000-11-18  Philip Aston  <philipa@mail.com>
639
640         * s/cygwin32.h: Cygwin has SVR4-like pty support.
641
642 2000-11-18  Martin Buchholz  <martin@xemacs.org>
643
644         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
645         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
646
647 2000-11-17  Martin Buchholz  <martin@xemacs.org>
648
649         * config.h.in: Define HAVE_ELF_H if elf.h exists.
650         * unexelf.c: Use HAVE_ELF_H.
651         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
652         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
653         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
654         Greg Harrington <greg_harrington@hotmail.com> provided a machine
655         for testing.
656         So this is an unexelfsgi.c from a different line of development.
657
658 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
659
660         * regex.c (RE_TR_ASCII): New function.
661         (RE_TRANSLATE): Call it.
662
663 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
664
665         * buffer.h (TRT_TABLE_OF): Remove assert.
666         (IN_TRT_TABLE_DOMAIN): Removed.
667
668 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
669
670         * free-hook.c (log_gcpro):
671         (show_gcprohist): Add support for GCPRO5.
672
673 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
674
675         * emacs.c (main_1): Improve -sd error message when --pdump=no.
676
677 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
678
679         * symeval.h: Declare flush_all_buffer_local_cache.
680
681         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
682         (flush_buffer_local_cache): Added.
683         (flush_all_buffer_local_cache): Added.
684
685         * lrecord.h: Remove unused XD_LO_RESET_NIL.
686
687         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
688         (pdump_dump_data): Ditto.
689         (pdump_reloc_one): Ditto.
690         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
691         before dumping.
692
693
694 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
695
696         * buffer.c: Remove if 0'ed entry.
697         * buffer.h: Rewrite TRT to use char-table.
698         * bufslots.h: Remove mirror tables.
699         * casetab.c: Remove mirror tables.
700         (CASE_TABLE_P): New macro.
701         (Fcase_table_p): Element of a case table is string or char-table.
702         (make_mirror_trt_table): Removed.
703         (set_case_table): Setup char-table from strings for backward
704         compatibility.
705         * dired.c (Fdirectory_files):
706         * dired-msw.c: (mswindows_get_files):
707         * lisp.h: Change prototype of re_pattern_buffer.
708         * regex.c: (RE_TRANSLATE): New macro.
709         (TRANSLATE_P): Ditto.
710         Change translate to type RE_TRANSLATE_TYPE.
711         * regex.h: Define RE_TRANSLATE_TYPE
712         * search.c (TRANSLATE): New macro.
713         (TRANSLATE_ASCII): New macro.
714         Translate table is changed to Lisp_Object.
715         (signal_failure): Inhibit return.
716
717 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
718
719         * device-msw.c:
720         * eldap.c:
721         * event-Xt.c:
722         * event-stream.c:
723         * print.c:
724         Do UNGCPRO before return.
725
726 2000-11-14  Martin Buchholz <martin@xemacs.org>
727
728         * XEmacs 21.2.37 is released.
729
730 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
731
732         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
733         Add comments about discarded return value.
734
735 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
736
737         * callint.c:
738         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
739
740 2000-10-27  Andy Piper  <andy@xemacs.org>
741
742         * gutter.c (Fset_default_gutter_position): default left and right
743         gutters to visible.
744         (calculate_gutter_size): calculate resonable heuristic for left
745         and right gutter sizes.
746         (specifier_vars_of_gutter): change left and right gutter sizes to
747         autodetect.
748         (calculate_gutter_size_from_display_lines): new function.
749         (output_gutter): check for resizing on left and right gutters.
750         (clear_gutter): don't special case top and left gutters.
751         (specifier_vars_of_gutter): use new signature for
752         set_specifier_caching.
753
754         * glyphs-x.c (x_redisplay_widget): spelling fix.
755         * glyphs.c (specifier_vars_of_glyphs):
756         * menubar.c (specifier_vars_of_menubar):
757         * redisplay.c (specifier_vars_of_redisplay):
758         * toolbar.c (specifier_vars_of_toolbar):
759         * window.c (specifier_vars_of_window):
760         * scrollbar.c (specifier_vars_of_scrollbar):
761         (complex_vars_of_scrollbar): use new signature for
762         set_specifier_caching.
763
764         * specifier.c (set_specifier_caching): include recompute flag.
765         (recompute_one_cached_specifier_in_window): always recompute if
766         flag set.
767         (recompute_one_cached_specifier_in_frame): ditto.
768
769         * specifier.h (struct specifier_caching): add recompute flag.
770
771 2000-10-24  Andy Piper  <andy@xemacs.org>
772
773         * unexcw.c (copy_executable_and_dump_data_section): add new
774         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
775         5.0 happy.
776
777 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
778
779         * console-x.h (x_device): New member modifier_release_time.
780         * event-Xt.c (x_handle_sticky_modifiers):
781         Bound interval modifier keys are sticky.
782         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
783         * events.h: extern it.
784
785 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
786
787         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
788
789 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
790
791         * event-stream.c (execute_command_event): Preserve current_events
792         and the like when event is misc-user-event.
793         Inhibit quit during the call to maybe_echo_keys.
794
795 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
796
797         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
798         symlink when buffer is killed.
799         (inhibit_clash_detection): New variable.
800
801 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
802
803         * console.c (Fset_input_method): Trigger redisplay on tty.
804
805 2000-11-07  Martin Buchholz  <martin@xemacs.org>
806
807         * process.c (Fprocess_status): Revert to previous behavior:
808         (process-status "nosuchprocess") ==> nil
809
810 2000-11-06  Martin Buchholz  <martin@xemacs.org>
811
812         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
813         Work around another GCC 2.95.2 optimizer bug.
814
815 2000-11-02  Martin Buchholz  <martin@xemacs.org>
816
817         * process.c (Fget_process): Use LIST_LOOP_2.
818         (kill_buffer_processes): Use LIST_LOOP_2.
819
820         * minibuf.c (Fall_completions):
821         Delete old non-functional code for FSF fourth argument.
822
823         * frame.c (frame_matches_frame_spec):
824         Renamed from `frame_matches_frametype'.  Update all callers.
825         (device_matches_device_spec):
826         Renamed from 'device_matches_console_spec'.  Update all callers.
827
828         * doc.c (Fsubstitute_command_keys):
829         Remove buffer overflow crash.  Small code cleanups.
830
831         * casetab.c (check_case_table): Simpler code.
832
833         * window.c (Freplace_buffer_in_windows):
834         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
835         (and similar implementation) as Fdelete_windows_on.
836         Update all callers.
837
838         * alloc.c (Fmake_list):
839         * alloc.c (make_vector):
840         * alloc.c (Fmake_vector):
841         * alloc.c (make_bit_vector):
842         * alloc.c (Fmake_bit_vector):
843         * alloc.c (Fbit_vector):
844         * alloc.c (Fmake_string):
845         * alloc.c (Fpurecopy):
846         * alloc.c (Fmemory_limit):
847         * buffer.c:
848         * buffer.c (Fget_buffer):
849         * buffer.c (Fkill_buffer):
850         * buffer.c (complex_vars_of_buffer):
851         * bytecode.c (Fcompiled_function_stack_depth):
852         * callint.c (Fprefix_numeric_value):
853         * event-stream.c:
854         * event-stream.c (Fread_key_sequence):
855         * casetab.c:
856         * casetab.c (Fcase_table_p):
857         * casetab.c (check_case_table):
858         * casetab.c (Fset_case_table):
859         * casetab.c (Fset_standard_case_table):
860         * chartab.c:
861         * chartab.c (Fchar_table_type):
862         * chartab.c (Freset_char_table):
863         * chartab.c (Fget_char_table):
864         * chartab.c (Fget_range_char_table):
865         * chartab.c (Fput_char_table):
866         * chartab.c (Fmap_char_table):
867         * chartab.c (Fcategory_table_p):
868         * chartab.c (Fcheck_category_at):
869         * chartab.c (Fchar_in_category_p):
870         * chartab.c (Fcategory_table):
871         * chartab.c (Fcopy_category_table):
872         * chartab.c (Fset_category_table):
873         * chartab.c (Fcategory_designator_p):
874         * chartab.c (Fcategory_table_value_p):
875         * cmds.c (Fdelete_char):
876         * cmds.c (Fdelete_backward_char):
877         * cmds.c (Fself_insert_command):
878         * cmds.c (Fself_insert_internal):
879         * console.c (Fvalid_console_type_p):
880         * console.c (Fcdfw_console):
881         * console.c (Fconsole_type):
882         * console.c (Fconsole_name):
883         * console.c (Fconsole_device_list):
884         * console.c (Fconsole_on_window_system_p):
885         * data.c:
886         * data.c (Feq):
887         * data.c (Fold_eq):
888         * data.c (Fsubr_interactive):
889         * data.c (Fchar_to_int):
890         * data.c (Fint_to_char):
891         * data.c (Fsetcar):
892         * data.c (Fsetcdr):
893         * data.c (Fnumber_to_string):
894         * data.c (Fstring_to_number):
895         * data.c (Frem):
896         * database.c (mark_database):
897         * database.c (finalize_database):
898         * database.c (Fdatabase_live_p):
899         * database.c (Fdatabasep):
900         * device-x.c (Fx_get_resource):
901         * device.c (Fdfw_device):
902         * dired.c:
903         * dired.c (Ffile_name_completion):
904         * dired.c (Ffile_name_all_completions):
905         * dired.c (Fuser_name_completion):
906         * dired.c (Fuser_name_completion_1):
907         * dired.c (Fuser_name_all_completions):
908         * doc.c (Fdocumentation):
909         * doc.c (Fdocumentation_property):
910         * doc.c (Fsubstitute_command_keys):
911         * editfns.c:
912         * editfns.c (Fchar_to_string):
913         * editfns.c (Fstring_to_char):
914         * editfns.c (Ftemp_directory):
915         * editfns.c (Finsert_char):
916         * editfns.c (Fbuffer_substring_no_properties):
917         * editfns.c (Fnarrow_to_region):
918         * editfns.c (Fchar_equal):
919         * editfns.c (Fchar_Equal):
920         * editfns.c (Ftranspose_regions):
921         * emacs.c (Fdump_emacs):
922         * eval.c (Fthrow):
923         * eval.c (Fcommand_execute):
924         * eval.c (Fautoload):
925         * eval.c (Fbacktrace):
926         * eval.c (Fbacktrace_frame):
927         * events.c:
928         * events.c (Fcopy_event):
929         * events.c (Fcharacter_to_event):
930         * events.c (Fevent_button):
931         * events.c (Fevent_process):
932         * extents.c:
933         * extents.c (Fnext_extent_change):
934         * extents.c (Fextent_property):
935         * faces.c (Ffacep):
936         * faces.c (Fmake_face):
937         * file-coding.c:
938         * file-coding.c (Fencode_shift_jis_char):
939         * file-coding.c (Fencode_big5_char):
940         * fileio.c (Ffile_name_directory):
941         * fileio.c (Ffile_name_nondirectory):
942         * fileio.c (Ffile_name_as_directory):
943         * fileio.c (Fdirectory_file_name):
944         * fileio.c (Ffile_truename):
945         * fileio.c (Fsubstitute_in_file_name):
946         * fileio.c (Ffile_modes):
947         * fileio.c (Fset_file_modes):
948         * fileio.c (Fset_default_file_modes):
949         * fileio.c (Fverify_visited_file_modtime):
950         * floatfns.c (Facos):
951         * floatfns.c (Fasin):
952         * floatfns.c (Fatan):
953         * floatfns.c (Fcos):
954         * floatfns.c (Fsin):
955         * floatfns.c (Ftan):
956         * floatfns.c (Fbessel_j0):
957         * floatfns.c (Fbessel_j1):
958         * floatfns.c (Fbessel_jn):
959         * floatfns.c (Fbessel_y0):
960         * floatfns.c (Fbessel_y1):
961         * floatfns.c (Fbessel_yn):
962         * floatfns.c (Ferf):
963         * floatfns.c (Ferfc):
964         * floatfns.c (Flog_gamma):
965         * floatfns.c (Fexp):
966         * floatfns.c (Fexpt):
967         * floatfns.c (Flog):
968         * floatfns.c (Flog10):
969         * floatfns.c (Fsqrt):
970         * floatfns.c (Fcube_root):
971         * floatfns.c (Facosh):
972         * floatfns.c (Fasinh):
973         * floatfns.c (Fatanh):
974         * floatfns.c (Fcosh):
975         * floatfns.c (Fsinh):
976         * floatfns.c (Ftanh):
977         * floatfns.c (Fabs):
978         * floatfns.c (Ffloat):
979         * floatfns.c (Flogb):
980         * floatfns.c (Fceiling):
981         * floatfns.c (Ffloor):
982         * floatfns.c (Fround):
983         * floatfns.c (Ftruncate):
984         * floatfns.c (Ffceiling):
985         * floatfns.c (Fffloor):
986         * floatfns.c (Ffround):
987         * floatfns.c (Fftruncate):
988         * fns.c (Fstring_equal):
989         * fns.c (Fstring_lessp):
990         * fns.c (concat2):
991         * fns.c (concat3):
992         * fns.c (vconcat2):
993         * fns.c (vconcat3):
994         * fns.c (Fsubstring):
995         * fns.c (Fassoc):
996         * fns.c (Fold_assoc):
997         * fns.c (assoc_no_quit):
998         * fns.c (Fassq):
999         * fns.c (Fold_assq):
1000         * fns.c (assq_no_quit):
1001         * fns.c (Frassoc):
1002         * fns.c (Fold_rassoc):
1003         * fns.c (Frassq):
1004         * fns.c (Fold_rassq):
1005         * fns.c (rassq_no_quit):
1006         * fns.c (Fremassoc):
1007         * fns.c (remassoc_no_quit):
1008         * fns.c (Fremassq):
1009         * fns.c (remassq_no_quit):
1010         * fns.c (Fremrassoc):
1011         * fns.c (Fremrassq):
1012         * fns.c (remrassq_no_quit):
1013         * fns.c (Fsort):
1014         * fns.c (Fplist_get):
1015         * fns.c (Fplist_put):
1016         * fns.c (Fplist_remprop):
1017         * fns.c (Fplist_member):
1018         * fns.c (Flax_plist_get):
1019         * fns.c (Flax_plist_put):
1020         * fns.c (Flax_plist_remprop):
1021         * fns.c (Flax_plist_member):
1022         * fns.c (Fequal):
1023         * fns.c (Fold_equal):
1024         * fns.c (Frequire):
1025         * fns.c (Fbase64_encode_region):
1026         * fns.c (Fbase64_encode_string):
1027         * fns.c (Fbase64_decode_region):
1028         * frame.c:
1029         * frame.c (frame_matches_frame_spec):
1030         * frame.c (device_matches_device_spec):
1031         * frame.c (next_frame):
1032         * frame.c (previous_frame):
1033         * frame.c (Fnext_frame):
1034         * frame.c (Fprevious_frame):
1035         * frame.c (Fframe_property):
1036         * frame.c (Fset_frame_height):
1037         * frame.c (Fset_frame_size):
1038         * frame.h:
1039         * glyphs.c:
1040         * glyphs.c (if):
1041         * glyphs.c (decode_error_behavior_flag):
1042         * glyphs.c (Fmake_image_instance):
1043         * indent.c (Findent_to):
1044         * intl.c (Fignore_defer_gettext):
1045         * keymap.c (Fkeymapp):
1046         * keymap.c (Flookup_key):
1047         * lread.c:
1048         * lread.c (Fload_internal):
1049         * lread.c (Feval_buffer):
1050         * lread.c (Feval_region):
1051         * macros.c (Fexecute_kbd_macro):
1052         * marker.c (set_marker_internal):
1053         * marker.c (Fset_marker):
1054         * marker.c (set_marker_restricted):
1055         * marker.c (Fcopy_marker):
1056         * marker.c (noseeum_copy_marker):
1057         * menubar.c:
1058         * menubar.c (Fpopup_menu):
1059         * minibuf.c:
1060         * mule-charset.c (Fcharset_name):
1061         * mule-charset.c (Fchar_charset):
1062         * mule-charset.c (Fchar_octet):
1063         * mule-charset.c (Fsplit_char):
1064         * mule-wnnfns.c (Fwnn_open):
1065         * mule-wnnfns.c (Fwnn_dict_comment):
1066         * mule-wnnfns.c (Fwnn_quit_henkan):
1067         * mule-wnnfns.c (Fwnn_word_toroku):
1068         * mule-wnnfns.c (Fwnn_word_sakujo):
1069         * mule-wnnfns.c (Fwnn_word_use):
1070         * mule-wnnfns.c (Fwnn_hindo_set):
1071         * objects.c:
1072         * objects.c (Fmake_color_instance):
1073         * objects.c (Fmake_font_instance):
1074         * print.c (Fwrite_char):
1075         * process.c:
1076         * process.c (mark_process):
1077         * process.c (print_process):
1078         * process.c (get_process_from_usid):
1079         * process.c (Fprocessp):
1080         * process.c (Fprocess_live_p):
1081         * process.c (Fget_process):
1082         * process.c (Fget_buffer_process):
1083         * process.c (get_process):
1084         * process.c (Fprocess_id):
1085         * process.c (Fprocess_name):
1086         * process.c (Fprocess_command):
1087         * process.c (init_process_io_handles):
1088         * process.c (start_process_unwind):
1089         * process.c (Fstart_process_internal):
1090         * process.c (Fopen_multicast_group_internal):
1091         * process.c (Fset_process_window_size):
1092         * process.c (read_process_output):
1093         * process.c (send_process):
1094         * process.c (Fprocess_tty_name):
1095         * process.c (Fset_process_buffer):
1096         * process.c (Fprocess_buffer):
1097         * process.c (Fprocess_mark):
1098         * process.c (set_process_filter):
1099         * process.c (Fset_process_filter):
1100         * process.c (Fprocess_filter):
1101         * process.c (Fprocess_send_region):
1102         * process.c (Fprocess_send_string):
1103         * process.c (exec_sentinel):
1104         * process.c (Fset_process_sentinel):
1105         * process.c (Fprocess_sentinel):
1106         * process.c (status_notify):
1107         * process.c (Fprocess_status):
1108         * process.c (Fprocess_exit_status):
1109         * process.c (process_send_signal):
1110         * process.c (Fprocess_send_eof):
1111         * process.c (deactivate_process):
1112         * process.c (remove_process):
1113         * process.c (Fdelete_process):
1114         * process.c (kill_buffer_processes):
1115         * process.c (Fprocess_kill_without_query):
1116         * process.c (Fprocess_kill_without_query_p):
1117         * rangetab.c:
1118         * rangetab.c (Fget_range_table):
1119         * rangetab.c (Fput_range_table):
1120         * rangetab.c (Fremove_range_table):
1121         * rangetab.c (Fclear_range_table):
1122         * search.c:
1123         * search.c (Fskip_chars_forward):
1124         * search.c (Fskip_chars_backward):
1125         * search.c (Fskip_syntax_forward):
1126         * search.c (Fskip_syntax_backward):
1127         * search.c (search_command):
1128         * search.c (Freplace_match):
1129         * search.c (Fregexp_quote):
1130         * select.c (Fown_selection_internal):
1131         * select.c (Fselection_owner_p):
1132         * select.c (Fselection_exists_p):
1133         * select.c (Fget_selection_internal):
1134         * specifier.c:
1135         * symbols.c:
1136         * symbols.c (Fintern):
1137         * symbols.c (Fintern_soft):
1138         * symbols.c (Funintern):
1139         * symbols.c (Fapropos_internal):
1140         * symbols.c (Fset_default):
1141         * syntax.c:
1142         * syntax.c (Fsyntax_table_p):
1143         * syntax.c (Fcopy_syntax_table):
1144         * syntax.c (Fset_syntax_table):
1145         * syntax.c (Fchar_syntax):
1146         * syntax.c (syntax_match):
1147         * syntax.c (Fmatching_paren):
1148         * syntax.c (Fforward_word):
1149         * syntax.c (scan_lists):
1150         * syntax.c (Fscan_lists):
1151         * syntax.c (Fscan_sexps):
1152         * syntax.c (Fparse_partial_sexp):
1153         * toolbar.c (Fcheck_toolbar_button_syntax):
1154         * tooltalk.doc:
1155         * window.c:
1156         * window.c (Fwindowp):
1157         * window.c (Fwindow_live_p):
1158         * window.c (Fwindow_point):
1159         * window.c (Fdelete_window):
1160         * window.c (Fnext_window):
1161         * window.c (Fprevious_window):
1162         * window.c (Fother_window):
1163         * window.c (window_loop):
1164         * window.c (Fget_lru_window):
1165         * window.c (Fsplit_window):
1166         * window.c (Fenlarge_window):
1167         * window.c (Fenlarge_window_pixels):
1168         * window.c (Fshrink_window):
1169         * window.c (Fshrink_window_pixels):
1170         * window.c (change_window_height):
1171         * window.c (Fwindow_configuration_p):
1172         * window.c (Fcurrent_window_configuration):
1173         * window.h:
1174         * casefiddle.c (casify_object):
1175         * casefiddle.c (Fupcase):
1176         * casefiddle.c (Fdowncase):
1177         * casefiddle.c (Fcapitalize):
1178         * casefiddle.c (Fupcase_initials):
1179         * casefiddle.c (casify_region_internal):
1180         * casefiddle.c (casify_region):
1181         * casefiddle.c (Fupcase_region):
1182         * casefiddle.c (Fdowncase_region):
1183         * casefiddle.c (Fcapitalize_region):
1184         * casefiddle.c (Fupcase_initials_region):
1185         * casefiddle.c (Fupcase_word):
1186         * casefiddle.c (Fdowncase_word):
1187         * casefiddle.c (Fcapitalize_word):
1188         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1189         Replace 0 with '\0' when working with bytes.
1190         Replace initial "(" with "\(" in docstrings.
1191
1192 2000-11-01  Martin Buchholz  <martin@xemacs.org>
1193
1194         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
1195
1196         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
1197
1198 2000-10-31  Martin Buchholz  <martin@xemacs.org>
1199
1200         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
1201
1202 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1203
1204         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
1205         correctly.
1206
1207 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1208
1209         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
1210         (inhibit_auto_save_session): New variable.
1211         (vars_of_fileio): Declare and initialize them.
1212         * fileio.c (Fdo_auto_save): Don't create session file if
1213         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
1214
1215 2000-10-31  Martin Buchholz  <martin@xemacs.org>
1216
1217         * sgiplay.c (play_internal): C++ compilability.
1218         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
1219         * callproc.c (Fold_call_process_internal):
1220         Remove unused vars `env', `first'.
1221         * scrollbar.c (update_scrollbar_instance):
1222         #### unused var `current_window'.
1223         * redisplay-tty.c: Put currently unused vars insert_mode_on,
1224         etc. within #ifdef NOT_YET.
1225         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
1226         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
1227         * specifier.c (specifier_instance):
1228         #### unused var `tag'.
1229         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
1230
1231 2000-10-27  Martin Buchholz  <martin@xemacs.org>
1232
1233         * fns.c (Fbutlast):
1234         * fns.c (list_sort):
1235         * fns.c (Ffillarray):
1236         * fns.c (bytecode_nconc2):
1237         * fns.c (Fnconc):
1238         * fns.c (mapcar1):
1239         * fns.c (Fmapconcat):
1240         Be pedantically 64-bit correct.  For the time when someone will
1241         want to have a list with length > 2**32.
1242
1243         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
1244         Work around MIPSpro compiler bug.
1245
1246         * process-unix.c (unix_kill_child_process): Add snarky comment.
1247         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
1248
1249         * config.h.in: Oops, _getpt ==> _getpty
1250
1251 2000-10-26  Martin Buchholz  <martin@xemacs.org>
1252
1253         * config.h.in:
1254         * regex.c:
1255         Use void*, not char*, as return type of alloca().
1256
1257         * alloc.c (free_marker): Side effect inside assert expression!
1258
1259 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
1260
1261         * mule-charset.c (Fset_charset_ccl_program): To check
1262         if the given ccl program is valid, use setup_ccl_program()
1263         instead of CHECK_VECTOR().
1264         (Fmake_charset): Likewise.
1265
1266 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
1267
1268         * faces.c (get_extent_fragment_face_cache_index):
1269         Fix cachel.merged_faces memory leak.
1270
1271 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
1272
1273         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
1274         Reset MSB of octets obtained by DECODE_SJIS
1275         because of the incompatibility with Emacs.
1276         (ccl_driver)<CCL_ENCODE_SJIS>:
1277         Set MSB of octets before passing them to
1278         ENCODE_SJIS because of the incompatibility
1279         with Emacs.
1280
1281 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
1282
1283         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
1284         (DECLARE_LRECORD): Undo the last change.
1285         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
1286
1287 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
1288
1289         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
1290         the implementation to lrecord_implementations_table.
1291
1292 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
1293
1294         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
1295         initial value of `lrecord_type_##c_name' and
1296         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
1297         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
1298         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
1299         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
1300         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
1301
1302 2000-10-17  Martin Buchholz  <martin@xemacs.org>
1303
1304         * miscplay.c (sndcnv8S_2mono):
1305         (sndcnv2monounsigned):
1306         (sndcnvULaw_2linear):
1307         (sndcnv16swap):
1308         Remove implementation-defined behavior.
1309
1310 2000-10-12  Martin Buchholz  <martin@xemacs.org>
1311
1312         * input-method-xlib.c: Warning suppression.
1313
1314 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
1315
1316         * mule-ccl.c: Sync up with Emacs 21.0.90.
1317         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
1318         Do nothing.
1319         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
1320         Likewise.
1321         (ccl_driver[WriteMultibyteChar2]): Bug fix.
1322         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
1323         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
1324         leading char belongs to official 2-dimensional charset.
1325         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
1326         write the given character as is.  Otherwise,
1327         if it is a multibyte char, convert it by
1328         non_ascii_set_charptr_emchar, then write it.
1329         (CCL_WRITE_STRING): Likewise.
1330         (ccl_get_compiled_code): New function.
1331         (setup_ccl_program): When ccl_prog is invalid,
1332         return -1.
1333         (Fregister_code_conversion_map): New function.
1334         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
1335
1336         * mule-ccl.h: Sync up with Emacs 21.0.90.
1337         (Fregister_ccl_program): export it.
1338
1339         * redisplay-msw.c (separate_textual_runs):
1340         If ccl program is not valid, don't do ccl conversion.
1341
1342         * redisplay-x.c (separate_textual_runs): Ditto.
1343
1344         * file-coding.c (Fmake_coding_system):
1345         When type is ccl and value is vector, register it
1346         with a proper symbol.  And checks whether the
1347         given ccl program is valid.
1348         (mule_decode): When calling ccl_driver, if src indicates
1349         NULL pointer, set an empty string instead.
1350         (mule_encode): Likewise.
1351
1352 2000-10-11  Martin Buchholz  <martin@xemacs.org>
1353
1354         The following large batch of changes gets us back to a state of
1355         C++ compilability.  Extbyte is now a char, which means that
1356         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
1357
1358         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
1359
1360         * sound.c (Fplay_sound): Type correctness.
1361
1362         * select-x.c (hack_motif_clipboard_selection): Type correctness.
1363         (x_get_window_property): Type correctness.
1364         (receive_incremental_selection): unsigned char ==> Extbyte
1365         (selection_data_to_lisp_data): unsigned char ==> Extbyte
1366         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
1367         (Fx_store_cutbuffer_internal): Type correctness.
1368
1369         * process-unix.c (try_to_initialize_subtty): Type correctness.
1370
1371         * objects-x.c (x_print_color_instance): Type correctness.
1372         (x_print_font_instance): Type correctness.
1373         (x_list_fonts): SExtbyte ==> Extbyte.
1374         (valid_x_font_name_p): SExtbyte ==> Extbyte.
1375         (x_find_charset_font): SExtbyte ==> Extbyte.
1376         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
1377         (truename_via_XListFonts): SExtbyte ==> Extbyte.
1378         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
1379         Use bufbyte_strcmp.
1380
1381         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
1382         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
1383         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
1384         (BYTE_C0_P): Use bit ops for char-signedness safety.
1385         (BYTE_C1_P): Use bit ops for char-signedness safety.
1386         (CHARSET_BY_LEADING_BYTE):
1387         (CHARSET_BY_ATTRIBUTES):
1388         Always use inline function.
1389         Use type_checking_assert.
1390         Hide chlook.
1391
1392         * mule-charset.c (non_ascii_charptr_copy_char):
1393         Modify to work with both ASCII and non-ASCII characters.
1394         Improve docs and variable names.
1395         Replace over-clever fall-through switch with a simple loop.
1396         (Lstream_get_emchar_1):
1397         Replace over-clever fall-through switch with a simple loop.
1398
1399         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
1400         Warning suppression.
1401
1402         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
1403         the return value of Lstream_getc, which could be EOF as well.
1404
1405         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
1406
1407         * lisp.h: Make Extbyte a char, not unsigned char, so that external
1408         APIs can be used on Extbytes without casts.  Risky!
1409         (SExtbyte): Remove.
1410         (UExtbyte): Remove.
1411
1412         * input-method-xlib.c (XIM_init_device):
1413         Use Xlib.h instead of IntrinsicP.h.
1414         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
1415         which will break in X11R7.
1416         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
1417         to call XRegisterIMInstantiateCallback with correct types.
1418
1419         * gui-x.c (button_item_to_widget_value): Type correctness.
1420
1421         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
1422
1423         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
1424         (xbm_instantiate_1): Type correctness.
1425         (BUILD_GLYPH_INST):  Type correctness.
1426
1427         * fileio.c (Fsubstitute_in_file_name): Type correctness.
1428
1429         * file-coding.c:
1430         (decode_coding_sjis):
1431         (decode_coding_big5):
1432         (decode_coding_ucs4):
1433         (decode_coding_utf8):
1434         (decode_coding_iso2022):
1435         (decode_coding_no_conversion):
1436         Make all decoding functions take an Extbyte * arg.
1437         (encode_coding_sjis):
1438         (encode_coding_big5):
1439         (encode_coding_ucs4):
1440         (encode_coding_utf8):
1441         (encode_coding_iso2022):
1442         (encode_coding_no_conversion):
1443         Make all encoding functions take a Bufbyte * arg.
1444         Use size_t instead of unsigned int for memory sizes.
1445         Only cast to unsigned char whenever dereferencing Extbyte *.
1446
1447         * doc.c (unparesseuxify_doc_string): Type correctness.
1448
1449         * console-x.c (split_up_display_spec):
1450         Rewrite without using details of internal string representation.
1451         (x_semi_canonicalize_device_connection): Type correctness.
1452
1453         * config.h.in:
1454         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
1455         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
1456         (HAVE_XFREE386): Removed.
1457
1458         * buffer.h (DEC_CHARPTR): `const' correctness.
1459         (bufbyte_strcmp): New.
1460         (bufbyte_memcmp): New.
1461
1462         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
1463
1464         * buffer.h (XCHAR_OR_CHAR_INT):
1465         Always use inline function.
1466         Remove redundant type checking assert() - XINT will abort quite nicely.
1467
1468 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
1469
1470         * search.c (Freplace_match): Set newtext to an empty string.
1471
1472 2000-10-10  Martin Buchholz  <martin@xemacs.org>
1473
1474         * s/decosf1-3.h: Remove #include of stropts.h
1475         * s/ptx.h: Remove #include of stropts.h
1476         * s/usg5-4.h: Remove #include of stropts.h
1477         * sysproc.h:
1478         * config.h.in:
1479         Use stropts.h, not sys/stropts.h.
1480         Use strtio.h, not sys/strtio.h.
1481
1482 2000-10-04  Martin Buchholz <martin@xemacs.org>
1483
1484         * XEmacs 21.2.36 is released.
1485
1486 2000-09-21  Andy Piper  <andy@xemacs.org>
1487
1488         * glyphs-x.c (x_redisplay_widget): make sure non-structural
1489         changes still involve copying the widget tree.
1490         (update_widget_face): make sure a change is register in the widget
1491         tree. Call update_tab_widget_face appropriately.
1492         (update_tab_widget_face): ditto.
1493         (x_tab_control_redisplay): make sure non-structural changes still
1494         involve copying the widget tree.
1495
1496 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
1497
1498         * lread.c (locate_file): Check the path element is non-nil.
1499
1500 2000-10-02  Martin Buchholz  <martin@xemacs.org>
1501
1502         * lisp.h: Warning suppression for SCO compilers.
1503
1504         * redisplay-tty.c (reset_tty_modes): Fix crash.
1505         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
1506
1507 2000-09-27  Martin Buchholz  <martin@xemacs.org>
1508
1509         Big signal/process handling overhaul.  Bugs fixed:
1510         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
1511         M-x comint-kill-subjob should work for both values nil and t of
1512         process-connection-type. It was broken on most platforms.
1513         Testing on Irix and Cygwin still needed.  Other plaforms tested.
1514         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
1515         * process-unix.c: Signal/Process handling overhaul.
1516         (pty_name): make 64 bytes, as `expect' does, for paranoia.
1517         (allocate_pty): Use all available modern methods of allocating
1518         ptys, falling back to old style BSD allocation as a last resort.
1519         Use allegedly more secure Unix98 pty allocation by default.
1520         (allocate_pty_the_old_fashioned_way): New. the last resort.
1521         (unix_create_process): Push ptem, ldterm, ttcompat where
1522         available.  Autoconfiscate.
1523         (try_to_initialize_subtty): New.
1524         (unix_kill_child_process): Proper signal handling for ptys on most
1525         platforms, using special knowledge of AIX, BSD, etc...
1526         (unix_create_process): Always disconnect_controlling_terminal() for
1527         subprocesses, whether using ptys or not.
1528         * process.h: Remove old getpt-dependent PTY code.
1529         * process.c (Fprocess_send_signal): New, obvious generic function.
1530         (decode_signal): New.
1531         (Finterrupt_process):
1532         (Fkill_process):
1533         (Fquit_process):
1534         (Fstop_process):
1535         (Fcontinue_process):
1536         (Fsignal_process): Use decode_signal.
1537         (process_send_signal):
1538         Many docstring corrections.
1539         Allow any signal to be sent to a process object.
1540         * config.h.in: Add symbols for big signal/process overhaul.
1541         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
1542         * sysproc.h: Include process-related headers, where available:
1543         sys/stropts.h sys/strtio.h pty.h libutil.h
1544         * s/irix4-0.h:
1545         * s/irix5-0.h:
1546         * s/cygwin32.h:
1547         * s/gnu.h:
1548         * s/linux.h:
1549         * s/hpux.h:
1550         * s/aix3-1.h:
1551         Remove old S&M pty stuff.
1552         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
1553         * systty.h: Simplify cpp hackery, improve comments.
1554         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
1555
1556         * editfns.c (Fformat_time_string):
1557         Be a little more paranoid with the return value of ctime.
1558
1559         * fileio.c (check_executable):
1560         (check_writable):
1561         Use symbolic constants X_OK, W_OK.
1562
1563         * console-x.c (split_up_display_spec): Fix a warning.
1564
1565 2000-10-02  Martin Buchholz  <martin@xemacs.org>
1566
1567         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
1568         * ntproc.c (sys_spawnve): make_string ==> build_string
1569         Small clarity improvements.
1570
1571 2000-09-30  Martin Buchholz  <martin@xemacs.org>
1572
1573         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
1574
1575         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
1576
1577         * config.h.in (HAVE_STRCASECMP): Remove.
1578
1579 2000-09-29  Martin Buchholz  <martin@xemacs.org>
1580
1581         * redisplay-output.c (redisplay_output_pixmap):
1582         Cleaner and possibly more 64-bit correct code.
1583
1584 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
1585
1586         * dumper.c (pdump_load_finish): move restoration of
1587         `noninteractive1' to emacs.c (main_1).
1588         * emacs.c (main_1): protect LISP-visible command-line flags
1589         from pdump_load().
1590
1591 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
1592
1593         * Makefile.in.in (versionclean):  Use EXE_TARGET and
1594         DUMP_TARGET instead of literal program names.
1595
1596 2000-09-20  Martin Buchholz  <martin@xemacs.org>
1597
1598         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
1599
1600 2000-09-19  Martin Buchholz  <martin@xemacs.org>
1601
1602         * *: Spelling mega-patch
1603
1604 2000-09-19  Martin Buchholz  <martin@xemacs.org>
1605
1606         * fns.c (bad_bad_turtle):
1607         Delete "Eek!" comment, since we fixed the bug to which it refers.
1608
1609 2000-09-16  Martin Buchholz  <martin@xemacs.org>
1610
1611         * alloca.c: Replace REGISTER with register.
1612
1613 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
1614
1615         * file-coding.c (ucs_to_char): Use countof.
1616
1617 2000-09-16  Martin Buchholz  <martin@xemacs.org>
1618
1619         * file-coding.c: (ucs_to_char):
1620         (complex_vars_of_file_coding):
1621         Use countof instead of sizeof.
1622         Use CHECK_NATNUM instead of CHECK_INT.
1623
1624         * sysdep.c (strcasecmp): Remove.
1625         * device-x.c (ascii_strcasecmp): New.
1626         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
1627         Avoid using non-standard non-portable strcasecmp.
1628
1629 2000-09-16  Martin Buchholz  <martin@xemacs.org>
1630
1631         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
1632         * font-lock.c: remove reference to emacsfns.h.
1633         * search.c: small doc improvement.
1634         * event-Xt.c: correct file names in comments.
1635         * console-x.h Correct file names in comments.
1636         * frame.c: Correct file names in comments.
1637         * event-stream.c: remove Energize from comments.
1638
1639 2000-09-15  Martin Buchholz  <martin@xemacs.org>
1640
1641         * symeval.h (DEFERROR_STANDARD):
1642         (DEFERROR):
1643         (DEFSYMBOL):
1644         (DEFSYMBOL_NO_DUMP):
1645         (DEFSYMBOL_MULTIWORD_PREDICATE):
1646         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
1647         (DEFKEYWORD):
1648         The construct &##name is not sensible C.
1649         Fixes compilation errors with Unixware native compiler.
1650
1651 2000-09-14  Martin Buchholz  <martin@xemacs.org>
1652
1653         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
1654         (next_frame_internal): Removed.  We now just have next_frame.
1655         (next_frame):
1656         Write a simpler and cleaner one-pass algorithm.
1657         Remove called_from_delete_device arg and #ifdefed-out code.
1658         (previous_frame):
1659         Renamed from prev_frame.  Update callers.
1660         Cleaned up to have an analogous implementation to next_frame.
1661         (other_visible_frames_internal): Remove the
1662         called_from_delete_device bogus arg, and hence, remove this
1663         function.  Just use other_visible_frames().
1664
1665         * window.c (Fnext_window):
1666         Prettify docstring.
1667         Since next_frame() is guaranteed to return a frame, remove check
1668         for nil inserted in previous patch.
1669         (Fprevious_window):
1670         Prettify docstring.
1671         Make code look more like Fnext_window.
1672         (window_loop):
1673         Respect the `console' arg when iterating through windows.
1674         Fixes bug: (get-buffer-window buffer t device) not respecting
1675         the `device' arg.
1676         This function needs more work, as others have pointed out.
1677
1678         * frame.h: Rename prev_frame to previous_frame.
1679         device_matches_console_spec no longer takes a `frame' arg.
1680
1681         * s/gnu.h:
1682         * s/linux.h:
1683         * s/hpux.h:
1684         Use EMACS_BLOCK_SIGNAL instead of sigblock.
1685         From "Golubev I. N." <gin@mo.msk.ru>.
1686
1687         * make-src-depend: Fix typo.
1688
1689 2000-09-13  Martin Buchholz  <martin@xemacs.org>
1690
1691         * window.c (Fnext_window):
1692         next_frame() might return nil, not a frame.
1693         Fixes this crash:
1694         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
1695
1696         * frame.c (next_frame_internal):
1697         We've passed a frame if we've passed its device.
1698         Fixes this crash:
1699         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
1700 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
1701
1702 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1703
1704         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
1705         Allow option to suppress accelerators in menu/dialog items.
1706         (populate_or_checksum_helper): Pass dialog title through above.
1707
1708 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1709
1710         * event-msw.c (mswindows_key_to_emacs_keysym):
1711         Add "pause" key, fix "menu" key.
1712
1713 2000-09-09  Martin Buchholz  <martin@xemacs.org>
1714
1715         * eval.c (reinit_vars_of_eval):
1716         Increase max_lisp_eval_depth to 1000,
1717         required for thai-xtis.el to byte-compile under some circumstances.
1718
1719 2000-09-04  Martin Buchholz  <martin@xemacs.org>
1720
1721         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
1722         From Kenichi Handa.
1723
1724 2000-09-01  Martin Buchholz  <martin@xemacs.org>
1725
1726         * make-src-depend: Make the generated Makefiles smaller.
1727
1728         * s/hpux.h (SETUP_SLAVE_PTY):
1729         Provide a %d in the format string for the errno argument.
1730
1731         * editfns.c (Ftemp_directory):
1732         Warning fix.
1733         Avoid buffer overrun on very long file name.
1734
1735         * input-method-xlib.c (XIM_init_device):
1736         6th parameter of XRegisterIMInstantiateCallback has different
1737         pointer types on different OSes, so simply cast to (void *).
1738
1739         * unexhp9k800.c: Warning fixes.  Fiddly changes.
1740
1741         * sysdll.c (dll_open):
1742         shl_load will hang hard if passed a NULL filename.
1743         Simply return NULL for compatibility with dlopen.
1744         * sysdll.c: Conform to XEmacs coding standards.
1745
1746         * sysdep.c (get_pty_max_bytes):
1747         Support pty input lines longer than 512 bytes on HP-UX 10.20.
1748
1749 2000-08-31  Martin Buchholz  <martin@xemacs.org>
1750
1751         * tooltalk.c: Add #include <syssignal.h>
1752
1753 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
1754
1755         * s/hpux.h: Don't use undefined function sigunblock().
1756
1757 2000-08-31  Martin Buchholz  <martin@xemacs.org>
1758
1759         * config.h.in: Add HAVE_BALLOON_HELP.
1760         * emacs.c: Use HAVE_BALLOON_HELP.
1761         * Makefile.in.in (x_objs):
1762         Make Balloon Help conditional on finding shape.h.
1763
1764 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
1765
1766         * syntax.c (regex_emacs_buffer_p): New variable.
1767         * syntax.h (regex_emacs_buffer_p): extern.
1768         * search.c (looking_at_1):
1769         (string_match_1):
1770         (fast_string_match):
1771         (search_buffer): Set regex_emacs_buffer_p.
1772         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
1773         when before_dot, at_dot, after_dot.
1774
1775 2000-08-23  Andy Piper  <andy@xemacs.org>
1776
1777         * gui-x.c (popup_selection_callback): Only set action_occurred
1778         when we really have an image instance.
1779         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
1780
1781 2000-08-23  Andy Piper  <andy@xemacs.org>
1782
1783         * gui-msw.c (mswindows_handle_gui_wm_command): set
1784         action_occurred.
1785         * gui-x.c (popup_selection_callback): ditto.
1786
1787         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
1788         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
1789         (struct Lisp_Image_Instance): add action_occurred flag.
1790
1791         * glyphs.c (redisplay_subwindow): use action_occurred flag.
1792         (image_instance_changed): ditto.
1793         (reset_frame_subwindow_instance_cache): only unmap windows - do
1794         not remove them from the cache also.
1795
1796         * glyphs-widget.c (tab_control_update): better debug.
1797         (progress_gauge_update): ditto.
1798         (layout_update): ditto.
1799         (layout_instantiate): ditto.
1800         (tab_control_order_only_changed): cope with null pending items.
1801
1802         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
1803         debug. Force selection of an item when an action occurred. Cope
1804         with null pending_items.
1805         (mswindows_progress_gauge_redisplay): better debug.
1806         * glyphs-x.c (x_tab_control_redisplay): ditto.
1807
1808         * redisplay.c (redisplay_frame): reset the frame cache if the
1809         frame is garbaged.
1810
1811         * window.c (Fset_window_configuration): potentially re-enable
1812         frame cache reset.
1813         (window_unmap_subwindows): need to finalize instances here since
1814         it is only used in mark_window_as_deleted.
1815
1816 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
1817
1818         * nas.c (SndOpenDataForReading):
1819         nas.c (WaveOpenDataForReading):
1820         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
1821         Somehow escaped from the 2000-08-14 patch.
1822
1823 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
1824
1825         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
1826         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
1827
1828 2000-08-21  Andy Piper  <andy@xemacs.org>
1829
1830         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
1831         window if it is not already displayed.
1832
1833         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
1834         it is not already displayed.
1835
1836         * window.c (Fset_window_configuration): don't reset the frame
1837         cache.
1838
1839         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
1840         instances from the frame cache if we are actually finalizing them.
1841         (reset_frame_subwindow_instance_cache): reset frame cache only
1842         after unmapping everything.
1843         (map_subwindow): set displayed flag after mapping.
1844
1845 2000-08-21  Martin Buchholz  <martin@xemacs.org>
1846
1847         * data.c (indirect_function):
1848         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
1849
1850         * eval.c (function_argcount):
1851         Use original function when signaling errors.
1852
1853 2000-08-18  Andy Piper  <andy@xemacs.org>
1854
1855         * frame.c (delete_frame_internal): use new
1856         free_frame_subwindow_instances name.
1857
1858         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
1859         (add_tab_item): make return type correct.
1860         (mswindows_tab_control_instantiate): assert index of tab.
1861         (mswindows_tab_control_redisplay): Re-code to use
1862         gui_item_equal_sans_selected and gui_item_list_find_selected.
1863
1864         * glyphs-widget.c (tab_control_update): Correct comment.
1865
1866         * window.c (window_unmap_subwindows): use new
1867         unmap_subwindow_instance_cache_mapper.
1868         (window_unmap_subwindows_cache_mapper): deleted.
1869         (Fset_window_configuration): comparisons should now be with
1870         EQ. Preserve the subwindow instance cache across configuration
1871         changes.
1872         (allocate_window): ditto.
1873         (make_dummy_parent): ditto.
1874
1875         * glyphs.c (free_frame_subwindow_instances): rename from
1876         free_frame_subwindow_instance_cache. finalize all instances rather
1877         than just those in the display cache.
1878         (finalize_all_subwindow_instances): walk windows unmapping and
1879         finalizing subwindows.
1880         (unmap_subwindow_instance_cache_mapper): moved from
1881         window.c. Allow finalization as well as unmapping.
1882
1883         * gui.c (gui_item_list_find_selected): new function.
1884
1885         * gui.h (gui_item_list_find_selected): declare.
1886
1887         * glyphs-x.c (x_tab_control_redisplay): pick tab
1888         explicitly. Re-code to use gui_item_equal_sans_selected and
1889         gui_item_list_find_selected.
1890
1891         * glyphs-x.h: add lwlib-utils.h
1892
1893         * buffer.c (Frecord_buffer): undo previous change.
1894
1895 2000-08-09  Vin Shelton  <acs@xemacs.org>
1896
1897         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
1898         possible.  Create temporary files more securely.  The patch was
1899         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
1900         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
1901         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
1902         for details.
1903
1904 2000-08-07  Ben Wing  <ben@xemacs.org>
1905
1906         * getloadavg.c: remove duplicate (and windows-breaking)
1907         includes of fcntl.h and sys/file.h.
1908
1909         * nt.c: remove duplicate getloadavg() definition.
1910
1911         * sysdll.h (Qdll_filename_encoding): add missing stand-in
1912         encodings.
1913
1914 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1915
1916         * eval.c (function_argcount): If function needs to be autoloaded
1917         actually use the loaded definition.
1918         GCPRO function.
1919
1920 2000-08-05  Ben Wing  <ben@xemacs.org>
1921
1922         * getloadavg.c: add prototype for getloadavg().  remove
1923         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
1924         of the code).  remove duplicate header includes.
1925
1926         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
1927
1928         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
1929         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
1930         useful load average.
1931
1932         * alloc.c (reinit_alloc_once_early): removed references to
1933         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
1934         the lisp vars are the only things referencing the malloc_sbrk_*
1935         vars, and they were already if 0'd out.  these vars only exist
1936         in the older malloc.c, which is basically unused, and they're
1937         only for informational purposes.
1938
1939         * m\*.h: removed useless VIRT_ADDR_VARIES.
1940
1941         * m\powerpc.h: removed stray NO_ARG_ARRAY.
1942
1943 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
1944
1945         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
1946         color if the image is a mono pixmap.
1947
1948 2000-07-30  Ben Wing  <ben@xemacs.org>
1949
1950         * Makefile.in.in (release):
1951         Remove stray @.
1952
1953         * buffer.c (directory_is_current_directory):
1954         * dired-msw.c (mswindows_get_files):
1955         * dired.c:
1956         * dired.c (Fdirectory_files):
1957         * dired.c (file_name_completion_stat):
1958         * dired.c (Ffile_attributes):
1959         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
1960         preprocessor tricks, to avoid problems on some machines
1961         (e.g. SCO).
1962
1963         * callproc.c (egetenv): GC docs.
1964
1965         * console-msw.h:
1966         * console-msw.h (struct mswindows_dialog_id):
1967         * lrecord.h (lrecord_type):
1968         New object for use with MSW dialogs.
1969
1970         * console.h (struct console_methods):
1971         New enable/disable frame methods, for proper modal dialogs.
1972
1973         * device-msw.c (msprinter_default_printer): Fix to follow
1974         proper Mule conventions.
1975
1976         * device-msw.c:
1977         * device-msw.c (signal_open_printer_error):
1978         * device-msw.c (msprinter_init_device):
1979         * device-msw.c (ensure_not_printing):
1980         * device-msw.c (plist_get_margin):
1981         * device-msw.c (Fmsprinter_select_settings):
1982         * device-msw.c (finalize_devmode):
1983         * device-msw.c (Fmsprinter_settings_despecialize):
1984         * device-msw.c (signal_enum_priner_error):
1985         * extents.c (decode_extent):
1986         * extents.c (decode_map_extents_flags):
1987         * extents.c (decode_extent_at_flag):
1988         * extents.c (Fextent_at):
1989         * extents.c (Fextents_at):
1990         * extents.c (symbol_to_glyph_layout):
1991         [[[[2]]]] Use structured errors.
1992
1993         * dialog-msw.c:
1994         * dialog-msw.c (mswindows_is_dialog_msg):
1995         * dialog-msw.c (mark_mswindows_dialog_id):
1996         * dialog-msw.c (dialog_proc):
1997         * dialog-msw.c (handle_question_dialog_box):
1998         * dialog-msw.c (syms_of_dialog_mswindows):
1999         Define new object to clean up marking; use it as a dialog identifier.
2000         Call new delete-dialog-box-hook.
2001
2002         * dialog-x.c (dbox_selection_callback):
2003         * dialog-x.c (dbox_descriptor_to_widget_value):
2004         * dialog-x.c (x_make_dialog_box_internal):
2005         Call new delete-dialog-box-hook.
2006         Return an id.
2007
2008         * dialog.c:
2009         * dialog.c (syms_of_dialog):
2010         * dialog.c (vars_of_dialog):
2011         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
2012
2013         * eval.c:
2014         * eval.c (signal_call_debugger):
2015         when noninteractive, output stack traces on the console instead
2016         of in a (never-seen) buffer.
2017
2018         * eval.c (signal_type_error):
2019         * eval.c (invalid_argument_2):
2020         * lisp.h:
2021         new funs for use w/structured errors.
2022
2023         * event-Xt.c:
2024         * event-Xt.c (x_to_emacs_keysym):
2025         * event-Xt.c (describe_event):
2026         * event-Xt.c (emacs_Xt_event_handler):
2027         * event-Xt.c (vars_of_event_Xt):
2028         * event-msw.c:
2029         * event-msw.c (mswindows_wnd_proc):
2030         * event-msw.c (vars_of_event_mswindows):
2031         rename {x,mswindows}-debug-events to debug-{}-events for
2032         consistency with other debug-foo variables.
2033
2034         * event-stream.c:
2035         document next-event more clearly.
2036
2037         * fileio.c (Ffile_name_directory):
2038         * fileio.c (Ffile_name_nondirectory):
2039         * fileio.c (Funhandled_file_name_directory):
2040         * fileio.c (file_name_as_directory):
2041         * fileio.c (Ffile_name_as_directory):
2042         * fileio.c (directory_file_name):
2043         * fileio.c (Fdirectory_file_name):
2044         * fileio.c (Fmake_temp_name):
2045         * fileio.c (Ffile_truename):
2046         * fileio.c (Fsubstitute_in_file_name):
2047         * fileio.c (expand_and_dir_to_file):
2048         * fileio.c (barf_or_query_if_file_exists):
2049         * fileio.c (check_executable):
2050         * fileio.c (Ffile_exists_p):
2051         * fileio.c (Ffile_writable_p):
2052         * fileio.c (Ffile_directory_p):
2053         * fileio.c (Ffile_regular_p):
2054         * fileio.c (Ffile_modes):
2055         * fileio.c (Ffile_newer_than_file_p):
2056         * fileio.c (Fverify_visited_file_modtime):
2057         * fileio.c (Fset_visited_file_modtime):
2058         * fileio.c (auto_save_1):
2059         (1). (2).
2060         fix up gcpro's.
2061
2062         * frame-msw.c:
2063         * frame-msw.c (mswindows_init_frame_1):
2064         * frame-msw.c (mswindows_enable_frame):
2065         * frame-msw.c (error_frame_unsizable):
2066         * frame-msw.c (msprinter_init_frame_1):
2067         * frame-msw.c (msprinter_init_frame_3):
2068         * frame-msw.c (console_type_create_frame_mswindows):
2069         (2).
2070         implement new enable/disable frame methods.
2071
2072         * frame-x.c:
2073         * frame-x.c (x_enable_frame):
2074         * frame-x.c (console_type_create_frame_x):
2075         implement new enable/disable frame methods.
2076
2077         * frame.c:
2078         * frame.c (Fdisable_frame):
2079         * frame.c (syms_of_frame):
2080         * frame.h (struct frame):
2081         implement new enable/disable frame methods/functions.
2082
2083         * general-slots.h:
2084         add initial-focus.
2085
2086         * glyphs-msw.c (mswindows_widget_instantiate):
2087         comment that initial-focus should be implemented.
2088
2089         * glyphs-widget.c:
2090         * glyphs-widget.c (check_valid_instantiator):
2091         * glyphs-widget.c (check_valid_orientation):
2092         * glyphs-widget.c (check_valid_tab_orientation):
2093         * glyphs-widget.c (check_valid_justification):
2094         * glyphs-widget.c (check_valid_border):
2095         * glyphs-widget.c (check_valid_callback):
2096         * glyphs-widget.c (check_valid_int_or_function):
2097         * glyphs-widget.c (check_valid_string_or_vector):
2098         * glyphs-widget.c (check_valid_item_list_1):
2099         * glyphs-widget.c (widget_validate):
2100         * glyphs-widget.c (combo_box_validate):
2101         * glyphs-widget.c (widget_instantiate):
2102         * glyphs-widget.c (syms_of_glyphs_widget):
2103         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
2104         * glyphs-widget.c (image_instantiator_combo_box):
2105         * glyphs-widget.c (image_instantiator_scrollbar):
2106         * glyphs-widget.c (image_instantiator_tab_control):
2107         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
2108         (2).
2109         support (unimplemented) keyword initial-focus.
2110         reindent long macros.
2111
2112         * glyphs-x.c (x_redisplay_widget):
2113         * glyphs-x.c (x_button_instantiate):
2114         * glyphs-x.c (x_button_redisplay):
2115         * glyphs-x.c (x_progress_gauge_instantiate):
2116         * glyphs-x.c (x_edit_field_instantiate):
2117         * glyphs-x.c (x_combo_box_instantiate):
2118         * glyphs-x.c (x_tab_control_instantiate):
2119         * glyphs-x.c (x_label_instantiate):
2120         * gui-x.c:
2121         * gui-x.c (button_item_to_widget_value):
2122         * gui-x.c (gui_items_to_widget_values_1):
2123         * gui-x.c (gui_item_children_to_widget_values):
2124         * gui-x.c (gui_items_to_widget_values):
2125         * gui-x.h:
2126         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
2127         add new flag to gui-parsing routines to indicate whether
2128         accelerator specs should be supported.
2129
2130         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
2131
2132         * glyphs.h (struct Lisp_Image_Instance):
2133         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
2134         add initial-focus flag.
2135
2136         * gui.c:
2137         * gui.c (syms_of_gui):
2138         * gui.c (vars_of_gui):
2139         clean up menu-no-selection-hook.
2140
2141         * gui.h:
2142         support delete-dialog-box-hook.
2143
2144         * lread.c (Fload_internal):
2145         * lread.c (locate_file_in_directory_mapper):
2146         (1).
2147
2148         * lrecord.h:
2149         * lrecord.h (struct toolbar_button):
2150         * lrecord.h (syms_of_toolbar):
2151         document how to create a new object.
2152
2153         * menubar-msw.c (mswindows_char_is_accelerator):
2154         may be called on frames w/o menus.
2155
2156         * menubar.c (vars_of_menubar):
2157         clean up :filter docs.
2158
2159         * nt.c (readdir):
2160         * ntproc.c:
2161         (1).
2162
2163         * process-nt.c:
2164         * process-nt.c (validate_signal_number):
2165         * process-nt.c (signal_cannot_launch):
2166         * process-nt.c (nt_create_process):
2167         * process-nt.c (nt_send_process):
2168         * process-nt.c (nt_kill_child_process):
2169         * process-nt.c (nt_open_network_stream):
2170         * process-nt.c (syms_of_process_nt):
2171         (2).
2172         delete quote-handling.  call new lisp code that does it better.
2173
2174         * process-unix.c (connect_to_file_descriptor):
2175         * process-unix.c (allocate_pty):
2176         * process-unix.c (unix_send_process):
2177         * process-unix.c (unix_kill_child_process):
2178         * process-unix.c (unix_open_network_stream):
2179         * process-unix.c (unix_open_multicast_group):
2180         (1). (2).
2181
2182         * process.c:
2183         * process.c (Fstart_process_internal):
2184         (2).  need to canonicalize process path even if absolute.
2185
2186         * select-msw.c (symbol_to_ms_cf):
2187         * select-msw.c (ms_cf_to_symbol):
2188         * select-msw.c (cf_is_autofreed):
2189         * select-msw.c (mswindows_destroy_selection):
2190         * select.c:
2191         * select.c (syms_of_select):
2192         * select.h:
2193         support dibv5, fix bugs. (from Mike Alexander)
2194
2195         * select.c (Fget_selection_internal):
2196         * select.c (select_convert_out):
2197
2198         * sysdep.c:
2199         * sysdep.c (xemacs_stat):
2200         renamed.
2201
2202         * sysdep.c (mkdir):
2203         * sysdep.c (rmdir):
2204         but keep original stat() here because we provide encapsulation
2205         around these funs.
2206
2207         * sysfile.h:
2208         * sysfile.h (fstat):
2209         remove stat garbage.
2210
2211         * syswindows.h:
2212         fix X/MSW conflict.
2213         don't include tchar.h.  it's inappropriate because it makes
2214         compile-time distinctions when we want runtime distinctions.
2215         (we provide our own tchar replacements)
2216
2217         * toolbar.c:
2218         use default object printer for toolbar-button.
2219
2220         * unexcw.c:
2221         make sure we don't encapsulate.
2222
2223         * window.c (vars_of_window):
2224         emphasize that temp-buffer-show-hook is obsolete.
2225
2226 2000-08-05  Martin Buchholz  <martin@xemacs.org>
2227
2228         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
2229         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
2230
2231         * events.c (Fevent_timestamp_lessp):
2232         Not 64-bit clean.  Use EMACS_INT, not int.
2233
2234 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
2235
2236         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
2237         unsigned int and changed the last enum to
2238         lrecord_type_last_built_in_type.
2239         (lrecord_implementations_table): changed prototype to know how
2240         long the array is supposed to be.
2241         (lrecord_type_count): new unsigned int to keep track of the
2242         current number of lisp lrecord types.
2243         (DEFINE_EXTERNAL_LRECORD):
2244         (DECLARE_EXTERNAL_LRECORD): Added these two for external
2245         dynamic-modules to declare new lisp types. They are the same
2246         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
2247         int for each new type, and increment lrecord_type_count by 1.
2248
2249         * alloc.c (lrecord_implementations_table): Changed to reference
2250         lrecord_type_last_built_in_type for the size of the array.
2251         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
2252
2253 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
2254
2255         * glyphs.h (check_valid_item_list): Renamed from
2256         check_valid_item_list_1.
2257
2258 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
2259
2260         * select.c (Qselect_coerce): New.
2261         * select.c (Vselection_coercion_alist): New.
2262         * select.c (syms_of_select): Declare.
2263         * select.c (get-selection-internal): Use it.
2264         Use the new select-coerce functionality.
2265
2266         * select.c (select_coerce): New.
2267         * select.h (select_coerce): Declare.
2268         New function to coerce one type of data into another.
2269
2270 2000-08-03  Martin Buchholz  <martin@xemacs.org>
2271
2272         * callproc.c (Fcall_process_internal):
2273         (Fcall_process_internal):
2274         * process-unix.c (unix_create_process):
2275         Save and restore the value of errno, so that error messages are accurate.
2276
2277 2000-08-01  Martin Buchholz  <martin@xemacs.org>
2278
2279         * elhash.c (print_hash_table):
2280         Fix printing of hash tables to also use `key-and-value' instead of `t'.
2281         Prettify docstrings and indentation.
2282
2283 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
2284
2285         * window.c (Fwindow_pixel_edges): Subtract frame border and
2286         gutter size.
2287
2288 2000-07-31  Andy Piper  <andy@xemacs.org>
2289
2290         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
2291         will acknowledge the change.
2292
2293         * glyphs.h: declare tab_control_order_only_changed.
2294
2295         * glyphs-x.c (x_tab_control_redisplay): use
2296         tab_control_order_only_changed.
2297
2298         * glyphs-widget.c (tab_control_order_only_changed): new function.
2299
2300         * glyphs-msw.c (mswindows_tab_control_redisplay): use
2301         tab_control_order_only_changed.
2302
2303         * gui.c (gui_item_equal_sans_selected): new function.
2304         (gui_item_equal): use it.
2305
2306         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
2307         :properties in favor of :items..
2308
2309         * glyphs-widget.c (check_valid_item_list): rename from
2310         check_valid_item_list_1.
2311         (check_valid_item_list_1): renamed.
2312         (combo_box_validate): deprecate :properties in favor of :items.
2313         (widget_instantiate): ditto.
2314         (tab_control_update): ditto.
2315         (image_instantiator_combo_box): ditto.
2316         (image_instantiator_tree_view): ditto.
2317         (image_instantiator_tab_control): ditto.
2318         (layout_post_instantiate): remove dead code.
2319
2320         * print.c (debug_print_no_newline): only write to debugger if in
2321         WIN32_NATIVE.
2322
2323         * elhash.c (Fmake_hash_table): update doc string.
2324
2325         * event-msw.c (mswindows_wnd_proc): don't allow processing of
2326         messages whilst in GC. This at least stops XEmacs crashing but has
2327         the potential for wierd behaviour.
2328
2329 2000-07-31  Martin Buchholz  <martin@xemacs.org>
2330
2331         * config.h.in:
2332         Make existence of s&m files optional.
2333
2334         * s/bsd386.h: Remove HAVE_GETLOADAVG.
2335         * s/freebsd.h: Remove HAVE_GETLOADAVG.
2336         * s/gnu.h: Remove HAVE_GETLOADAVG.
2337         * s/netbsd.h: Remove HAVE_GETLOADAVG.
2338         * s/sol2.h: Remove HAVE_GETLOADAVG.
2339         * lisp.h: Remove getloadavg() declaration.
2340         * fns.c:
2341         Include <sys/loadavg.h> if available.
2342         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
2343         * config.h.in:  Group together getloadavg()-related macros.
2344         Use only configure-time tests to detect getloadavg().
2345
2346 2000-07-30  Martin Buchholz  <martin@xemacs.org>
2347
2348         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
2349
2350 2000-07-25  Andy Piper  <andy@xemacs.org>
2351
2352         * syswindows.h: add tchar.h for native builds.
2353
2354         * frame.c (syms_of_frame): remove set-glyph-image.
2355
2356         * general-slots.h: add Qset_glyph_image.
2357
2358         * glyphs-widget.c (layout_update): add domain arg to
2359         set-glyph-image.
2360         (syms_of_glyphs_widget): remove set-glyph-image.
2361
2362 2000-07-23  Ben Wing  <ben@xemacs.org>
2363
2364         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
2365         Vpopup_frame_list.
2366
2367 2000-07-22  Andy Piper  <andy@xemacs.org>
2368
2369         * symsinit.h: add syms_of_win32().
2370
2371         * gui-msw.c (syms_of_gui_mswindows): remove
2372         Fmswindows_shell_execute.
2373         (Fmswindows_shell_execute): moved to win32.c.
2374
2375         * emacs.c (main_1): add syms_of_win32 ().
2376
2377         * win32.c (init_potentially_nonexistent_functions): rewrite in
2378         compiler-friendly terms.
2379         (Fmswindows_shell_execute): move here from gui-msw.c.
2380         (syms_of_win32): new.
2381
2382         * device-msw.c (Fmswindows_printer_list): clean up args to
2383         EnumPrinters.
2384         Don't include tchar under cygwin or mingw.
2385         (msprinter_default_printer): make cygwin-friendly.
2386
2387 2000-07-21  Andy Piper  <andy@xemacs.org>
2388
2389         * glyphs-widget.c (image_instantiator_tree_view): use tab
2390         control's update function.
2391         (layout_property): new function. Retrieve items.
2392
2393         * glyphs-msw.c (mswindows_tree_view_redisplay): new
2394         function. Re-populate the tree view from the pending items.
2395
2396         * glyphs.c (instantiate_image_instantiator): Make sure the domain
2397         is designated the parent if the domain is an image instance. This
2398         is needed so that dirtiness can be cascade up the hierarchy and
2399         thus for layout children to be redisplayed correctly.
2400         (allocate_image_instance): rename glyph -> parent.
2401
2402         * redisplay.h: change redisplay_output_layout signature.
2403
2404         * redisplay-msw.c (mswindows_output_display_block): use domain
2405         arg.
2406
2407         * redisplay-x.c (x_output_display_block): use domain arg.
2408
2409 2000-07-10  Andy Piper  <andy@xemacs.org>
2410
2411         * window.c (Fset_window_configuration): add comment.
2412
2413         * redisplay-output.c (compare_runes):
2414         (redisplay_output_subwindow): redisplay rather than update subwindow.
2415         (redisplay_output_layout): ditto.
2416
2417         * redisplay-msw.c (mswindows_frame_output_end):
2418         (mswindows_frame_output_end): make defer window pos optional.
2419
2420         * lisp.h: add Flast.
2421
2422         * glyphs.h (struct image_instantiator_methods): add dest_mask top
2423         normalize method. Change update method to be for changed
2424         instantiators. Add redisplay method. Change signature of layout
2425         method.
2426         (struct Lisp_Image_Instance): add instantiator.
2427         (IMAGE_INSTANCE_INSTANTIATOR): new.
2428         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
2429         (XIMAGE_INSTANCE_INSTANTIATOR): new.
2430         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
2431
2432         * glyphs.c:
2433         (find_instantiator_differences): new function.
2434         (Fset_instantiator_property): new convenience function.
2435         (check_image_instance_structure): strictly check for vector
2436         instantiators.
2437         (normalize_image_instantiator): make non-static.
2438         (instantiate_image_instantiator): pass on dest_mask and use new
2439         signatures for image_instance_layout and friends.
2440         (mark_image_instance): mark the instantiator. Mark the subwindow
2441         face not the widget face.
2442         (image_instance_equal): add instantiator.
2443         (image_instance_hash): ditto.
2444         (allocate_image_instance): ditto.
2445         (Fset_image_instance_property): removed.
2446         (Fimage_instance_file_name): ditto.
2447         (Fcolorize_image_instance): ditto.
2448         (image_instance_layout): add offsets to be set.
2449         (update_image_instance): new function. update an image instance
2450         from its changed instantiator.
2451         (inherit_normalize): add dest_mask.
2452         (xbm_normalize): ditto.
2453         (xface_normalize): ditto.
2454         (xpm_normalize): ditto.
2455         (text_update): set_property -> update.
2456         (image_instantiate): use the glyph identity as a hash key, not the
2457         instantiator.
2458         (glyph_width): use new image_instance_layout signature.
2459         (glyph_ascent): ditto.
2460         (glyph_descent): ditto.
2461         (glyph_height): ditto.
2462         (glyph_query_geometry): ressurrect.
2463         (glyph_layout): ditto.
2464         (redisplay_subwindow): update -> redisplay.
2465         (syms_of_glyphs): add Fset_instantiator_property.
2466         (image_instantiator_format_create): set_property -> update.
2467
2468         * glyphs-x.c:
2469         (autodetect_normalize): add dest_maks to signature.
2470         (x_redisplay_subwindow): update -> redisplay.
2471         (x_redisplay_widget): ditto.
2472         (x_button_redisplay): ditto.
2473         (x_progress_gauge_redisplay): ditto.
2474         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
2475         stacking order.
2476         (console_type_create_glyphs_x): update -> redisplay.
2477         (image_instantiator_format_create_glyphs_x): ditto.
2478
2479         * glyphs-widget.c:
2480         (check_valid_instantiator): disallow glyphs in the instantiator,
2481         they must now be vectors.
2482         (check_valid_instantiator_list): ditto.
2483         (glyph_instantiator_to_glyph): use internal symbol rather than
2484         intern.
2485         (widget_update): renamed from widget_set_property. Call cascaded
2486         update methods.
2487         (redisplay_widget): renamed from update_widget.
2488         (widget_layout): image_instance_layout now takes position as well
2489         as size.
2490         (widget_normalize): ditto.
2491         (widget_instantiate): ditto.
2492         (tab_control_query_geometry) ditto.:
2493         (tab_control_update): renamed from tab_control_set_property.
2494         (progress_gauge_update): set_property -> update.
2495         (layout_normalize): rewrite so that child instantiators are
2496         normalized also.
2497         (layout_update): new function. Create glyphs from the normalized
2498         children and cope with any other layout keywords. We do not
2499         instantiate children here that will be take care of by
2500         redisplay_output_layout.
2501         (layout_instantiate): call layout_update and not much else.
2502         (layout_post_instantiate): not sure whether this is needed
2503         anymore.
2504         (layout_query_geometry): query glyph geometry rather than
2505         image_instance geometry.
2506         (layout_layout): set offsets from pass in parameters. Use glyph
2507         geometry and layout functions rather than image instance ones.
2508         (native_layout_layout): ditto.
2509         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
2510         (image_instantiator_widget): set_property -> update.
2511         (image_instantiator_buttons): ditto.
2512         (image_instantiator_progress_guage): ditto.
2513         (image_instantiator_tab_control): ditto.
2514         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
2515         (image_instantiator_layout): add update method.
2516
2517         * glyphs-msw.c (bmp_normalize):
2518         (mswindows_resource_normalize): add dest_mask so that it can be
2519         proprogated by layout_normalize.
2520         (begin_defer_window_pos): make optional because it may not be the
2521         right thing to do and it introduces differences with X.
2522         (mswindows_unmap_subwindow): ditto.
2523         (mswindows_map_subwindow): ditto.
2524         (mswindows_redisplay_subwindow): renamed from
2525         mswindows_update_subwindow.
2526         (mswindows_redisplay_widget): ditto.
2527         (mswindows_button_redisplay): renamed from
2528         mswindows_button_update. Update is now what the instantiation
2529         function does for a changed instantiator.
2530         (mswindows_progress_gauge_instantiate): set the progress value
2531         here if appropriate.
2532         (mswindows_tab_control_redisplay): cope with re-ordering of the
2533         members of the tab widget by simply selecting the new top
2534         widget. This makes things appear ok if you click on a tab.
2535         (mswindows_combo_box_instantiate): image_instance_layout now takes
2536         position as well as size.
2537         (mswindows_progress_gauge_redisplay): renamed from
2538         mswindows_progress_gauge_update.
2539         (console_type_create_glyphs_mswindows): fix update -> redisplay.
2540         (image_instantiator_format_create_glyphs_mswindows): ditto.
2541
2542         * glyphs-eimage.c (jpeg_normalize):
2543         (gif_normalize):
2544         (png_normalize):
2545         (tiff_normalize): add dest_mask so that it can be proprogated by
2546         layout_normalize.
2547
2548         * elhash.c:
2549         (print_hash_table):
2550         (hash_table_weakness_validate):
2551         (decode_hash_table_weakness):
2552         (Fhash_table_weakness):
2553         (Fhash_table_type):
2554         (syms_of_elhash): use Ben's naming scheme for hashtable types..
2555
2556         * console.h (struct console_methods): move update_* to
2557         redisplay_*.
2558
2559 2000-07-20  Ben Wing  <ben@xemacs.org>
2560
2561         * *.[ch] (XSETOBJ): remove unused middle argument.
2562         lisp-disunion.h: correct wrap_object() to one argument.
2563
2564 2000-07-15  Ben Wing  <ben@xemacs.org>
2565
2566         * s/cygwin32.h:
2567         * s/cygwin32.h (CYGWIN_CONV_PATH):
2568         Add missing logb prototype for v1.1.
2569         Use post-b20 names and alias to pre-b20 names when pre-b20.
2570
2571         * s/windowsnt.h: [5].
2572
2573 2000-07-15  Ben Wing  <ben@xemacs.org>
2574
2575         * Makefile.in.in (x_objs):
2576         * Makefile.in.in (sheap_objs):
2577         * Makefile.in.in (objs):
2578         added win32.o, cosmetic cleanups.
2579
2580         * alloc.c (Fmake_byte_code):
2581         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
2582         etc. macros which declare their own args now.
2583
2584         * alloc.c (syms_of_alloc):
2585         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
2586
2587         * buffer.c:
2588         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
2589
2590         * buffer.c (Fget_file_buffer):
2591         Fixed GCPRO problem.
2592
2593         * buffer.c (get_truename_buffer):
2594         Fixed comment about GC checking.
2595
2596         * buffer.c (syms_of_buffer):
2597         Undeclared those dedicated frame funs.
2598         [2].
2599
2600         * buffer.h:
2601         Define convenience macros for internal/external conversions.
2602         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
2603         and Qenvironment_variable_encoding for cleaner code.
2604
2605         * bufslots.h:
2606         Remove dedicated-frame; in lisp.
2607
2608         * bytecode.c (funcall_compiled_function):
2609         [1].
2610
2611         * bytecode.c (syms_of_bytecode):
2612         [2].
2613
2614         * console-msw.c:
2615         * console-msw.c (mswindows_show_console): Rewrote.
2616
2617         * console-msw.c (Fmswindows_debugging_output): New.
2618         Sends to OutputDebugString (special MSWin debugger interface).
2619
2620         * console-msw.c (Fmswindows_message_box):
2621         Fixed stupid bugs so it works when called from kill-emacs.
2622
2623         * console-msw.c (syms_of_console_mswindows):
2624         Declare Fmswindows_debugging_output.
2625
2626         * console-msw.h:
2627         New MSWin prototypes.
2628
2629         * console-msw.h (struct mswindows_frame):
2630         New entry last-click-mods for improved button-modifier support.
2631
2632         * console-msw.h (FRAME_MSWINDOWS_POPUP):
2633         New struct entry `popup' with corresponding accessor.
2634
2635         * console-x.c:
2636         * console-x.c (split_up_display_spec):
2637         * console-x.c (get_display_arg_connection):
2638         * console-x.c (x_semi_canonicalize_console_connection):
2639         * console-x.c (x_canonicalize_device_connection):
2640         [[[6]]]: Change char to more specific type.
2641         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
2642
2643         * console-x.c (x_semi_canonicalize_console_connection):
2644         * console-x.c (x_canonicalize_device_connection):
2645         [[[9]]]: Fix up error signalling to use new structured error system.
2646
2647         * console-x.h:
2648         [[[4]]]: Define codesys aliases:
2649         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
2650         Qx_color_name_encoding, Qx_display_name_encoding.
2651
2652         * console.h (struct console_methods):
2653         New method make_dialog_box_internal supersedes older
2654         popup_dialog_box method.
2655
2656         * data.c:
2657         Define many new errors, part of new structured errors.
2658
2659         * data.c (init_errors_once_early):
2660         * data.c (syms_of_data):
2661         [2].
2662
2663         * device-msw.c (mswindows_init_device):
2664         [[[5]]]: Cleanup to support NT 3.51.
2665
2666         * device-msw.c (decode_devmode): Cleanup.
2667
2668         * device-msw.c (mswindows_handle_print_setup_dialog_box):
2669         * device-msw.c (mswindows_handle_print_dialog_box):
2670         * device-msw.c (mswindows_handle_page_setup_dialog_box):
2671         * device-msw.c (syms_of_device_mswindows):
2672         Delete the dialog box primitives recently introduced by Kirill and
2673         instead interface to general dialog box interface.
2674
2675         * device-x.c:
2676         * device-x.c (compute_x_app_name):
2677         * device-x.c (x_init_device):
2678         * device-x.c (Fx_valid_keysym_name_p):
2679         * device-x.c (Fx_set_font_path):
2680         [6].
2681         [7].
2682
2683         * device.h (wrap_device): New.
2684         First of its kind; meant to replace XSETDEVICE.
2685
2686         * dialog-msw.c: Many file-dialog symbols.
2687
2688         * dialog-msw.c (mswindows_register_popup_frame): New.
2689         * dialog-msw.c (mswindows_is_dialog_msg): New.
2690         For supporting kbd traversal in dialog boxes.
2691
2692         * dialog-msw.c (dialog_proc):
2693         Support hitting ESC in dialogs.
2694
2695         * dialog-msw.c (struct):
2696         Common dialog box errors.
2697
2698         * dialog-msw.c (handle_file_dialog_box): New.
2699         Add file dialog code.
2700
2701         * dialog-msw.c (handle_question_dialog_box):
2702         Redo existing code to support new question dialog syntax.
2703
2704         * dialog-msw.c (console_type_create_dialog_mswindows):
2705         We support new dialog console method.
2706
2707         * dialog-msw.c (syms_of_dialog_mswindows):
2708         * dialog-msw.c (vars_of_dialog_mswindows):
2709         New file dialog symbols, vars.
2710
2711         * dialog-x.c:
2712         * dialog-x.c (maybe_run_dbox_text_callback):
2713         * dialog-x.c (dbox_descriptor_to_widget_value):
2714         * dialog-x.c (x_make_dialog_box_internal):
2715         * dialog-x.c (console_type_create_dialog_x):
2716         Mule-ize entire file.
2717         Redo to support question dialog syntax.
2718         [6].
2719
2720         * dialog.c:
2721         * dialog.c (Fmake_dialog_box_internal):
2722         * dialog.c (syms_of_dialog):
2723         Kill old popup-dialog-box, replace with new primitive.
2724         Just call device method or signal error.
2725
2726         * eldap.c (Fldap_open):
2727         * eldap.c (Fldap_search_basic):
2728         * eldap.c (Fldap_add):
2729         * eldap.c (Fldap_modify):
2730         [1].
2731         [7].
2732
2733         * emacs.c:
2734         * emacs.c (make_arg_list_1):
2735         * emacs.c (make_arg_list):
2736         Mule-ize call to dll_init().
2737         [6].
2738         [8].
2739
2740         * emacs.c (make_argc_argv):
2741         * emacs.c (free_argc_argv):
2742         * emacs.c (init_cmdargs):
2743         * emacs.c (main_1):
2744         * emacs.c (Fkill_emacs):
2745         * emacs.c (Fdump_emacs):
2746         Update comments about what can be used in syms_* etc.
2747         Call init_win32() when necessary.
2748         Fix up MS Win dialog box in kill-buffer to actually work right.
2749         [7].
2750
2751         * eval.c:
2752         * eval.c (For):
2753         * eval.c (Fand):
2754         * eval.c (Fprogn):
2755         * eval.c (Fprog1):
2756         * eval.c (Fprog2):
2757         * eval.c (FletX):
2758         * eval.c (Flet):
2759         * eval.c (condition_case_3):
2760         * eval.c (Feval):
2761         * eval.c (function_argcount):
2762         * eval.c (funcall_lambda):
2763         [1].
2764
2765         * eval.c (type_error): New.
2766         * eval.c (maybe_type_error): New.
2767         * eval.c (continuable_type_error): New.
2768         * eval.c (maybe_continuable_type_error): New.
2769         * eval.c (type_error_with_frob): New.
2770         * eval.c (maybe_type_error_with_frob): New.
2771         * eval.c (continuable_type_error_with_frob): New.
2772         * eval.c (maybe_continuable_type_error_with_frob): New.
2773         New functions for use with structured errors.
2774
2775         * event-Xt.c:
2776         * event-Xt.c (x_event_to_emacs_event):
2777         Buttons are now modifiers too.
2778
2779         * event-Xt.c (emacs_Xt_current_event_timestamp):
2780         Implement new event method.
2781         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
2782
2783         * event-msw.c:
2784         * event-msw.c (ntpipe_shove_writer): [5].
2785         * event-msw.c (mswindows_enqueue_mouse_button_event):
2786         * event-msw.c (mswindows_drain_windows_queue):
2787         * event-msw.c (mswindows_wnd_proc): [7].
2788         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
2789         * event-msw.c (mswindows_modifier_state):
2790         Throughout: support new button modifiers.
2791
2792         * event-msw.c (emacs_mswindows_current_event_timestamp):
2793         Implement new event method.
2794         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
2795
2796         * event-stream.c:
2797         * event-stream.c (event_stream_current_event_timestamp): New.
2798         * event-stream.c (maybe_kbd_translate): New functionality.
2799         * event-stream.c (vars_of_event_stream):
2800         Document new kbd-translate-table functionality.
2801
2802         * event-stream.c (Fcurrent_event_timestamp): New.
2803         New primitive for use in fabricated events.
2804         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
2805
2806         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
2807
2808         * events.c:
2809         * events.c (Fmake_event):
2810         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
2811         [1].
2812         [9].
2813
2814         * events.c (format_event_object): fix gcc warnings.
2815
2816         * events.c (Fevent_timestamp): Document new primitives.
2817
2818         * events.c (TIMESTAMP_HALFSPACE): New.
2819
2820         * events.c (Fevent_timestamp_lessp): New.  New primitive for
2821         comparing timestamps correctly (half-space algorithm).
2822
2823         * events.c (Fevent_modifier_bits): Doc fix.
2824
2825         * events.c (Fevent_modifiers): Major doc addition.
2826         * events.c (event_x_y_pixel_internal): Typo fix.
2827         * events.c (syms_of_events): Declare new primitives.
2828
2829         * events.h:
2830         Update long comment for button modifiers, timestamps.
2831
2832         * events.h (struct event_stream):
2833         New current_event_timestamp method.
2834
2835         * extents.c:
2836         * extents.c (extent_in_region_p):
2837         * extents.c (decode_extent):
2838         * extents.c (Fset_extent_parent):
2839         * extents.c (decode_map_extents_flags):
2840         Fix gcc warnings.
2841         [9].
2842
2843         * extents.c (struct extent_at_arg):
2844         * extents.c (decode_extent_at_flag):
2845         * extents.c (extent_at_mapper):
2846         * extents.c (extent_at_bytind):
2847         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
2848         * extents.c (Fextents_at): New primitive. [9].
2849         * extents.c (symbol_to_glyph_layout): [9].
2850         Support new primitive `extents-at'.
2851
2852
2853         * extents.c (get_text_property_bytind):
2854         extent_at_bytind has another arg.
2855         [9].
2856
2857         * extents.c (syms_of_extents): New primitive.
2858
2859         * file-coding.c (Fmake_coding_system): [1].
2860         * file-coding.c (subsidiary_coding_system): fix gcc warning
2861         * file-coding.c (syms_of_file_coding): [2].
2862
2863         * fileio.c (Fexpand_file_name):
2864         * fileio.c (Fsysnetunam):
2865         * fileio.c (Ffile_exists_p):
2866         * fileio.c (Ffile_executable_p):
2867         * fileio.c (Fverify_visited_file_modtime):
2868         Clean up GCPROing.
2869
2870         * fileio.c (syms_of_fileio): [2].
2871
2872         * filelock.c (lock_file_1):
2873         * filelock.c (current_lock_owner):
2874         * filelock.c (lock_if_free):
2875         * filelock.c (lock_file):
2876         * filelock.c (unlock_file):
2877         Clean up GCPROing.
2878
2879         * fns.c (concat): Fix gcc warning.
2880
2881         * fns.c (Fmember):
2882         * fns.c (Fold_member):
2883         * fns.c (Fmemq):
2884         * fns.c (Fold_memq):
2885         * fns.c (memq_no_quit):
2886         * fns.c (Fassoc):
2887         * fns.c (Fold_assoc):
2888         * fns.c (Fassq):
2889         * fns.c (Fold_assq):
2890         * fns.c (assq_no_quit):
2891         * fns.c (Frassoc):
2892         * fns.c (Fold_rassoc):
2893         * fns.c (Frassq):
2894         * fns.c (Fold_rassq):
2895         * fns.c (rassq_no_quit):
2896         * fns.c (Fdelete):
2897         * fns.c (Fold_delete):
2898         * fns.c (Fdelq):
2899         * fns.c (Fold_delq):
2900         * fns.c (delq_no_quit):
2901         * fns.c (Fremassoc):
2902         * fns.c (Fremassq):
2903         * fns.c (remassq_no_quit):
2904         * fns.c (Fremrassoc):
2905         * fns.c (Fremrassq):
2906         * fns.c (remrassq_no_quit):
2907         * fns.c (Freverse):
2908         * fns.c (mapcar1):
2909         [1].
2910
2911         * frame-msw.c (mswindows_init_frame_1):
2912         * frame-msw.c (mswindows_delete_frame):
2913         Register popups with dialog code so keyboard traversing works.
2914
2915         * frame-tty.c (tty_raise_frame_no_select): [1].
2916
2917         * frame-x.c:
2918         * frame-x.c (x_set_frame_text_value):
2919         * frame-x.c (x_set_frame_properties):
2920         * frame-x.c (x_create_widgets):
2921         [7].
2922
2923         * frame.c:
2924         * frame.c (Fmouse_pixel_position): Minor doc fixes.
2925
2926         * frame.h (wrap_frame): New.
2927         Macro like wrap_device.
2928
2929         * general.c:
2930         * general.c (SYMBOL):
2931         * general.c (syms_of_general):
2932         Major reorg.  This is now just a wrapper and symbols themselves
2933         are listed in general-slots.h.
2934
2935         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
2936         * glyphs-msw.c (mswindows_resource_instantiate): [5].
2937
2938         * glyphs-msw.c (mswindows_native_layout_instantiate):
2939         Add DS_CONTROL so keyboard traversal will work.
2940
2941         * glyphs-widget.c:
2942         * glyphs-widget.c (syms_of_glyphs_widget):
2943         Move some symbols to general-slots.h.
2944
2945         * glyphs-x.c:
2946         * glyphs-x.c (xbm_instantiate_1):
2947         * glyphs-x.c (x_xbm_instantiate):
2948         * glyphs-x.c (x_xface_instantiate):
2949         * glyphs-x.c (autodetect_instantiate):
2950         * glyphs-x.c (cursor_font_instantiate):
2951         * glyphs-x.c (x_update_widget):
2952         * glyphs-x.c (x_widget_instantiate):
2953         * glyphs.c (bitmap_to_lisp_data):
2954         * glyphs.c (pixmap_to_lisp_data):
2955         [7].
2956
2957         * glyphs.c (syms_of_glyphs):
2958         [2].
2959
2960         * gui-x.c:
2961         * gui-x.c (print_widget_value):
2962         * gui-x.c (menu_separator_style_and_to_external):
2963         * gui-x.c (add_accel_and_to_external):
2964         * gui-x.c (button_item_to_widget_value):
2965         * gui-x.c (gui_items_to_widget_values_1):
2966         * gui-x.c (gui_items_to_widget_values):
2967         * gui-x.c (syms_of_gui_x):
2968         * gui-x.c (vars_of_gui_x):
2969         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
2970         [9].
2971
2972         * gui-x.h:
2973         Muleize, prototype changes matching gui-x.c.
2974
2975         * gui.c:
2976         * gui.c (separator_string_p):
2977         * gui.c (gui_item_add_keyval_pair):
2978         * gui.c (make_gui_item_from_keywords_internal):
2979         * gui.c (signal_too_long_error):
2980         * gui.c (parse_gui_item_tree_item):
2981         * gui.c (syms_of_gui):
2982         * gui.c (vars_of_gui):
2983         * gui.h:
2984         menu-no-selection-hook moved here (used by MSWin).
2985         Move some symbols to general-slots.h.
2986         [6].
2987         [9].
2988
2989         * insdel.c (get_buffer_pos_char):
2990         * insdel.c (get_buffer_range_char):
2991         Add GC comments.
2992
2993         * keymap.c (keymap_lookup_directly):
2994         * keymap.c (keymap_store):
2995         * keymap.c (ensure_meta_prefix_char_keymapp):
2996         * keymap.c (describe_map):
2997         * keymap.h:
2998         Support new button modifiers.
2999
3000         * lisp-disunion.h (wrap_object):
3001         * lisp-disunion.h (XSETOBJ):
3002         Rename make_obj to wrap_object.
3003
3004         * lisp-union.h:
3005         * lisp-union.h (make_int):
3006         * lisp-union.h (make_char):
3007         Support wrap_object.
3008
3009         * lisp.h:
3010         * lisp.h (LIST_LOOP):
3011         * lisp.h (EXTERNAL_LIST_LOOP):
3012         * lisp.h (LIST_LOOP_2):
3013         * lisp.h (EXTERNAL_LIST_LOOP_1):
3014         * lisp.h (EXTERNAL_LIST_LOOP_2):
3015         * lisp.h (EXTERNAL_LIST_LOOP_3):
3016         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
3017         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
3018         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
3019         * lisp.h (EXTERNAL_ALIST_LOOP_5):
3020         * lisp.h (EXTERNAL_ALIST_LOOP_6):
3021         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
3022         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
3023         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
3024         * lisp.h (struct Lisp_Symbol):
3025         * lisp.h (maybe_continuable_error_with_frob):
3026         Fix up section comments.
3027         Add new types for char to indicate usage.
3028         Delete symbols auto-generated from general-slots.h.
3029         Add prototypes for structured error functions.
3030         Add long comments describing looping macros and change interface
3031         so that lvalues are automatically declared.
3032         Add NO_DECLARE macro in case callers want to declare lvalues
3033         themselves.
3034
3035         * lread.c (read_syntax_error):
3036         * lread.c (continuable_read_syntax_error):
3037         * lread.c (read_structure):
3038         * lread.c (sequence_reader):
3039         * lread.c (read_list_conser):
3040         * lread.c (read_compiled_function):
3041         Rename syntax_error and continuable_syntax_error to avoid clash
3042         with same-named structured error functions.
3043
3044         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
3045         * menubar-msw.c (populate_menu_add_item):
3046         * menubar-msw.c (populate_or_checksum_helper):
3047         [5].
3048         [9].
3049
3050         * menubar-x.c:
3051         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
3052         Mule-ize whole file.
3053
3054         * menubar.c (Fnormalize_menu_item_name): Add optimization.
3055
3056         * mule-charset.c (Fmake_charset):
3057         * mule-wnnfns.c (Fwnn_set_param):
3058         [1].
3059
3060         * ntproc.c (create_child):
3061         * ntproc.c (Fwin32_set_current_locale):
3062         Add comments portending doom.
3063
3064         * objects-msw.c:
3065         * objects-msw.c (old_font_enum_callback_2):
3066         * objects-msw.c (font_enum_callback_1):
3067         * objects-msw.c (mswindows_enumerate_fonts):
3068         [5].
3069
3070         * objects-x.c:
3071         * objects-x.c (allocate_nearest_color):
3072         * objects-x.c (x_parse_nearest_color):
3073         * objects-x.c (x_initialize_color_instance):
3074         * objects-x.c (x_print_color_instance):
3075         * objects-x.c (x_finalize_color_instance):
3076         * objects-x.c (x_valid_color_name_p):
3077         * objects-x.c (x_initialize_font_instance):
3078         * objects-x.c (x_print_font_instance):
3079         * objects-x.c (valid_x_font_name_p):
3080         * objects-x.c (truename_via_FONT_prop):
3081         * objects-x.c (truename_via_random_props):
3082         * objects-x.c (truename_via_XListFonts):
3083         * objects-x.c (x_font_truename):
3084         * objects-x.c (x_font_instance_truename):
3085         * objects-x.c (x_font_instance_properties):
3086         * objects-x.c (x_list_fonts):
3087         * objects-x.c (x_find_charset_font):
3088         Mule-ize entire file.
3089         [7].
3090
3091         * objects-x.h:
3092         Mule-verify.
3093
3094         * print.c:
3095         * print.c (std_handle_out_external):
3096         * print.c (debug_print_no_newline):
3097         * print.c (syms_of_print):
3098         Output to all debugger kinds in debug-print.
3099         Fix console-output code under MSWin to actually work.
3100
3101         * process-nt.c (send_signal):
3102         * process-nt.c (nt_create_process):
3103         Use newer Unicode macros.
3104
3105         * process-unix.c (unix_create_process):
3106         * process-unix.c (unix_canonicalize_host_name):
3107         * process-unix.c (unix_open_network_stream):
3108         [7].
3109
3110         * scrollbar-x.c:
3111         Mule-verify.
3112
3113         * search.c (syms_of_search):
3114         [2].
3115
3116         * select-msw.c (mswindows_destroy_selection):
3117         Use LIST_LOOP_2.
3118
3119         * select-x.c (symbol_to_x_atom):
3120         [7].
3121
3122         * select.c (syms_of_select):
3123         [2].
3124
3125         * sound.c (Fplay_sound_file):
3126         [7].
3127
3128         * specifier.c:
3129         * specifier.c (decode_specifier_type):
3130         * specifier.c (Fvalid_specifier_locale_type_p):
3131         * specifier.c (check_valid_locale_or_locale_type):
3132         * specifier.c (decode_locale):
3133         * specifier.c (decode_locale_type):
3134         * specifier.c (decode_locale_list):
3135         * specifier.c (check_valid_domain):
3136         * specifier.c (decode_specifier_tag_set):
3137         * specifier.c (Fcanonicalize_tag_set):
3138         * specifier.c (Fdefine_specifier_tag):
3139         * specifier.c (Fspecifier_tag_predicate):
3140         * specifier.c (check_valid_inst_list):
3141         * specifier.c (check_valid_spec_list):
3142         * specifier.c (decode_how_to_add_specification):
3143         * specifier.c (check_modifiable_specifier):
3144         * specifier.c (specifier_add_spec):
3145         * specifier.c (boolean_validate):
3146         * specifier.c (display_table_validate):
3147         [9].
3148
3149         * specifier.c (syms_of_specifier):
3150         Move some symbols to general-slots.h.
3151         [2].
3152
3153         * symbols.c:
3154         * symbols.c (Fmapatoms):
3155         * symbols.c (Fapropos_internal):
3156         Add GCPROs.
3157
3158         * symbols.c (set_default_buffer_slot_variable):
3159         * symbols.c (set_default_console_slot_variable):
3160         [1].
3161
3162         * symbols.c (defsymbol_massage_name_1):
3163         * symbols.c (defkeyword_massage_name):
3164         * symbols.c (deferror_1):
3165         * symbols.c (deferror):
3166         * symbols.c (deferror_massage_name_and_message):
3167         * symeval.h:
3168         * symeval.h (DEFSYMBOL):
3169         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
3170
3171         * symbols.c (syms_of_symbols):
3172         [2].
3173
3174         * symsinit.h:
3175         * symsinit.h (init_win32): New.
3176         Also new is syms_of_dialog_mswindows.
3177
3178         * syswindows.h:
3179         Add new Unicode macros, missing Cygwin wide-char functions,
3180         convenience conversion macros for Qmswindows_tstr, macros for
3181         encapsulating required MSWin <-> Cygwin filename conversions,
3182         prototype for dynamically-extracted (not in NT 3.51) functions.
3183
3184         * toolbar-x.c:
3185         Mule-verify.
3186
3187         * tooltalk.c (Fadd_tooltalk_message_arg):
3188         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
3189         * tooltalk.c (Fadd_tooltalk_pattern_arg):
3190         [7].
3191
3192         * tooltalk.c (syms_of_tooltalk):
3193         [2].
3194
3195         * unexnt.c:
3196         * unexnt.c (unexec):
3197         Fix up headers, declaration of unexec() to be more standard.
3198
3199 2000-07-20  Martin Buchholz  <martin@xemacs.org>
3200
3201         * offix.h: Revert change to guard macros - they're used in offix.c!
3202
3203 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3204
3205         * lisp.h: Defsubred Fdelete.
3206
3207         * console-msw.h:  (msprinter_default_printer): Added.
3208
3209         * console-msw.c (msprinter_canonicalize_console_connection):
3210         (msprinter_canonicalize_device_connection): Added.
3211
3212         * device-msw.c (msprinter_default_printer):
3213         (Fmswingows_get_default_printer):
3214         (signal_enum_priner_error):
3215         (Fmswingows_printer_list): Added.
3216
3217 2000-07-19  Martin Buchholz <martin@xemacs.org>
3218
3219         * XEmacs 21.2.35 is released.
3220
3221 2000-07-19  Martin Buchholz  <martin@xemacs.org>
3222
3223         * select-x.c (x_handle_selection_request):
3224         Text selected in xemacs and pasted into xterm failed to appear.
3225         Spelling fixes and cosmetic changes.
3226
3227 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3228
3229         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
3230         XEmacs frame (fix for doubling chars in dialog boxes).
3231
3232 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
3233
3234         * select.c (select_convert_in, select_convert_out):
3235         Don't call intern() every time.
3236
3237         * select.c (Qselect_convert_in, Qselect_convert_out): New.
3238         * select.c (vars_of_select): Initialise them.
3239
3240 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
3241
3242         * select.c (selection-coercible-types): New.
3243
3244         * select.c (own-selection-internal):
3245         * select.c (get-selection-internal):
3246         MULE bug fix - these should default to COMPOUND_TEXT and not
3247         STRING for MULE. I think.
3248
3249         * select.c (select_convert_out): Use selection-coercible-types
3250         to find types that we can attempt to perform coercions on.
3251
3252 2000-07-18  Martin Buchholz  <martin@xemacs.org>
3253
3254         * mule-wnnfns.c:
3255         * mule-canna.c:
3256         Add coding: cookie to identify encoding.
3257
3258         * mule-canna.c (CANNA_mode_keys): make static.
3259         Use proper prototypes, even for functions of no arguments.
3260         Remove external prototype for Fding().
3261
3262         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
3263
3264         * select.c (syms_of_select): Add missing DEFSUBR.
3265
3266 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
3267
3268         * select.c (get_selection_internal, own_selection_internal):
3269         Make the type default to STRING, rather than placing a nil type
3270         into Vselection_alist.
3271
3272 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
3273
3274         * gpmevent.c (tty_selection_exists_p):
3275         * gpmevent.c (tty_own_selection):
3276         Updated parameter lists.
3277
3278 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
3279
3280         * select.h (selection-alist): Removed declaration.
3281
3282         * select.h (get_local_selection):
3283         * select.c (get_local_selection):
3284         Made static.
3285
3286         * select.h (convert_selection): Removed declaration.
3287         * select.c (convert_selection): Removed.
3288         This function belongs in Lisp.
3289
3290         * select.h (select_convert_in): Declare.
3291         * select.h (select_convert_out): Declare.
3292         * select.c (select_convert_in): New.
3293         * select.c (select_convert_out): New.
3294         New conversion functions for other files to call.
3295
3296         * select.h (select_notify_buffer_kill): Declare.
3297         * select.c (select_notify_buffer_kill): New.
3298         New functions that get called from kill-buffer.
3299
3300         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
3301         X-specific lisp code.
3302
3303         * select.h: Declare some of the lisp-visible functions for
3304         external use.
3305
3306         * select.c (clean_local_selection_data): Removed. This was
3307         a disgusting function, and previously should have been in
3308         select-x.c in any case. The functionality is now provided
3309         in select-convert-from-integer (select.el).
3310
3311         * select.c (available-selection-types): Fixed stupidity where
3312         INTEGER and ATOM got added twice. Also add STRING when we see an
3313         extent.
3314
3315         * select.c (get-selection-internal): Removed symbol stripping. No
3316         longer causes conversion when data comes from the internal cache.
3317
3318         * select.c (syms_of_select): Added new functions.
3319
3320         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
3321         error checking - previously this called abort!
3322
3323         * select-x.c (x_own_selection): Changed comment.
3324
3325         * select-x.c (x_handle_selection_request): Use select_convert_out.
3326         Don't mess with selection-alist; it's an internal variable of select.c.
3327
3328         * select-x.c (x_get_foreign_selection): Use select_convert_in.
3329
3330         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
3331         rather than messing with selection-alist.
3332
3333         * select-msw.c (mswindows_get_foreign_selection):
3334         Use TO_INTERNAL_FORMAT rather than hacking.
3335
3336 2000-07-14  Martin Buchholz  <martin@xemacs.org>
3337
3338         * process-unix.c (unix_open_multicast_group):
3339         (unix_open_multicast_group): Remove useless casts.
3340
3341 2000-07-13  Martin Buchholz  <martin@xemacs.org>
3342
3343         * sound.c (Fplay_sound): Fix `unused variable' warning.
3344
3345         * emacs.c (main): Use correct type for _environ on SCO5.
3346
3347 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
3348
3349         * console.h (own_selection_method):
3350         * console.h (selection_exists_p_method):
3351         * console.h (available_selection_types_method): New.
3352         * console.h (register_selection_data_type_method): New.
3353         * console.h (selection_data_type_name): New.
3354
3355         * console-msw.h (mswindows_destroy_selection): Declare it.  New
3356         function & alist to track GlobalAlloc()'d handles that need
3357         releasing when the clipboard data gets replaced or emptied.
3358
3359         * event-msw.c (mswindows_wnd_proc): Call it.
3360
3361         * lisp.h, general.c (Qappend): New symbol representing a
3362         `how-to-add' mode.
3363
3364         * select.c (own-selection-internal):
3365         * select.c (selection-exists-p):
3366         * select.c (available-selection-types): New.
3367         * select.c (register-selection-data-type): New.
3368         * select.c (selection-data-type-name): New.  New functions to deal
3369         with device-specific selection data formats.
3370         * select.c (selection-converter-out-alist): Renamed.
3371         * select.c (selection-converter-in-alist): New.
3372         * select.c (selection-appender-alist): New.  Added new alists.
3373         * select.c (syms_of_select, vars_of_select): Added new symbols &
3374         variables.
3375         * select.c (get_local_selection): Split.
3376         * select.c: Removed spurious type checking - selections may now be
3377         of any type, not just strings.
3378         * select.c (own-selection-internal):
3379
3380         * select.h, select.c (convert_selection): New. Created
3381         convert_selection() function based on get_local_selection().
3382         * select.h, select.c (QCF_*): New symbols representing mswindows
3383         clipboard formats.
3384         * select.h, select.c (Qreplace_all, Qreplace_existing): New
3385         symbols representing `how-to-add' modes.
3386
3387         * select-msw.c (x_sym_p): New.
3388         * select-msw.c (symbol_to_ms_cf): New.
3389         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
3390         symbols & clipboard formats. Can also handle string names.
3391         * select-msw.c (mswindows_own_selection):
3392         * select-msw.c (mswindows_selection_exists_p):
3393         Added `data-type' parameter. Use it.
3394         * select-msw.c (mswindows_available_selection_types): New.
3395         * select-msw.c (mswindows_register_selection_data_type): New.
3396         * select-msw.c (mswindows_selection_data_type_name): New.
3397         * select-msw.c (mswindows_own_selection):
3398         * select-msw.c (mswindows_get_foreign_selection):
3399         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
3400         * select-msw.c (console_create_select_mswindows): Added new methods.
3401         * select-msw.c (mswindows_destroy_selection): New.
3402         * select-msw.c (Vhandle_alist): New list.
3403         * select-msw.c (mswindows_own_selection):
3404
3405         * select-x.c (x_own_selection):
3406         * select-x.c (x_selection_exists_p):
3407         * select-x.c: Added some comments about maybe using new
3408         functionality.
3409         * select-x.c (x_own_selection):
3410
3411         * specifier.c: Remove definition of Qappend (now in general.c)
3412         * specifier.c (syms_of_specifier): Remove Qappend.
3413
3414 2000-07-12  Martin Buchholz  <martin@xemacs.org>
3415
3416         * config.h.in: Add socklen_t.
3417
3418         * s/decosf4-0.h: No special compiler flags needed or desired.
3419         In particular, undefine _BSD for DEC OSF 4.0.
3420
3421 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3422
3423         * redisplay-msw.c (msprinter_frame_output_end): Added.
3424         (console_type_create_redisplay_mswindows): Referred the above.
3425
3426         * frame.c (setup_frame_without_minibuffer): Do not create a
3427         default minibuffer frame on a printer device.
3428
3429         * frame-msw.c (apply_dc_geometry): Added.
3430         (msprinter_start_page):
3431         (msprinter_init_frame_3):
3432         (msprinter_eject_page): Use it.
3433
3434         * console-msw.h (struct msprinter_frame): Added pix_left and top,
3435         and removed residual duplex and orientation properties.
3436
3437 2000-07-11  Martin Buchholz  <martin@xemacs.org>
3438
3439         * eval.c (function_argcount): Work around a DEC CC compiler bug.
3440
3441         * unexalpha.c: Remove system prototypes from C sources!
3442
3443 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
3444
3445         * eval.c: Remove references to M-x edit-options in DEFUNs for
3446         `defvar' and `defconst'.
3447
3448 2000-07-09  Martin Buchholz  <martin@xemacs.org>
3449
3450         * config.h.in: Remove SMART_INCLUDE hackery.
3451
3452         PostgreSQL hacking:
3453         * config.h.in: Don't use SMART_INCLUDE.
3454
3455         * postgresql.h: Include libpq-fe.h here.  Fix typo.
3456         * inline.c: Simply #include "postgresql.h"
3457         * postgresql.c:
3458         - Don't use SMART_INCLUDE
3459         - Use simply "const".
3460         - Use standard doc string conventions.
3461         - Use correct type for result of PQstatus.
3462
3463 2000-07-09  Martin Buchholz  <martin@xemacs.org>
3464
3465         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
3466
3467         C++ compilation changes.
3468         * config.h.in (EXTERN_C): Define.
3469         * config.h.in (not): This is also a C++ keyword.
3470         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
3471         * cm.c: Use EXTERN_C.
3472         * redisplay-tty.c: Use EXTERN_C.
3473         * sysdep.c: Use EXTERN_C.  Remove Gould support.
3474
3475 2000-07-09  Martin Buchholz  <martin@xemacs.org>
3476
3477         * general.c: Remove duplicate definition for Qfunction.
3478
3479 2000-07-08  Ben Wing  <ben@xemacs.org>
3480
3481         * device-msw.c (msprinter_init_device):
3482         * device-msw.c (sync_printer_with_devmode):
3483         * device-msw.c (handle_devmode_changes):
3484         * device-msw.c (print_dialog_worker):
3485         * device-msw.c (Fmsprinter_apply_settings):
3486         * device-msw.c (hash_devmode):
3487         * device-msw.c (Fmsprinter_settings_despecialize):
3488         use Qmswindows_tstr, not Qctext.
3489
3490         * vm-limit.c (check_memory_limits):
3491         avoid infinite loop printing warning messages.
3492
3493 2000-07-05  Craig Lanning  <lanning@scra.org>
3494
3495         * Makefile.in.in: Add support for including the Windows resources
3496         when building with the cygwin and mingw targets.
3497
3498         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
3499         not set or not correct.
3500         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
3501         (init_initial_directory): Don't try to use $PWD on the
3502         WIN32_NATIVE target.
3503
3504         * s\cygwin32.h:
3505         [[Add -mwindows to eliminate console window.]] not required --ben
3506         (HAVE_NATIVE_SOUND): removed; now handled by configure.
3507         (MAIL_USE_POP): removed; now handled by configure.
3508
3509         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
3510         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
3511         (HAVE_NATIVE_SOUND): removed; now handled by configure.
3512         (MAIL_USE_POP): removed; now handled by configure.
3513         (ENCAPSULATE_STAT): from Dan Holmsand, added.
3514         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
3515         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
3516         constant string.
3517         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
3518         up from <winsock.h> via systime.h.
3519         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
3520         (getpagesize): from Dan Holmsand, added.
3521         Added #endif which was left dangling by Ben's mega patch; added
3522         comment to help prevent this in the future.
3523
3524         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
3525
3526 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3527
3528         * console-msw.h (struct mswindows_device): Removed unnecessary
3529         cached device geometry values.
3530         Added update_tick and an accessor macro.
3531         (Lisp_Devmode): Added lrecord declaration.
3532         (struct msprinter_device): Contain devmode as a Lisp object.
3533         Added mswindows_get_selected_frame_hwnd();
3534
3535         * console.h (struct console_methods): Indentation nitpicking.
3536
3537         * device-msw.c (mswindows_init_device): Do not initialize geometry
3538         cache. Initialize update tick.
3539         (mswindows_device_system_metrics): Ask the device for its geometry.
3540         (global_free_2_maybe):
3541         (devmode_to_hglobal):
3542         (handle_printer_changes):
3543         (ensure_not_printing):
3544         (print_dialog_worker):
3545         (Fmsprinter_print_setup_dialog):
3546         (Fmsprinter_print_dialog):
3547         (plist_get_margin):
3548         (plist_set_margin):
3549         (Fmsprinter_page_setup_dialog): Added functions.
3550         (sync_printer_with_devmode):
3551         (handle_devmode_changes):
3552         (Fmsprinter_get_settings):
3553         (Fmsprinter_select_settings):
3554         (Fmsprinter_apply_settings):
3555         (allocate_devmode):
3556         (Fmsprinter_settings_copy):
3557         (Fmsprinter_settings_despecialize):
3558         (print_devmode):
3559         (finalize_devmode):
3560         (equal_devmode):
3561         (hash_devmode): Added functions
3562         (syms_of_device_mswindows): Init devmode lrecord class.
3563
3564         * device.h: Added an exfun for find-device.
3565
3566         * event-msw.c (mswindows_wnd_proc): Do not update the cached
3567         geometry; although, recreate the device compatible DC.
3568
3569         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
3570         (msprinter_init_frame_3):
3571         (msprinter_frame_property):
3572         (msprinter_internal_frame_property_p):
3573         (msprinter_frame_properties):
3574         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
3575         print job properties (will move to device settings).
3576
3577         * lisp.h: Added symbols.
3578
3579         * general.c (syms_of_general): Declared them.
3580
3581         * hash.c (string_hash): Added.
3582
3583         * lrecord.h (lrecord_type): Added devmode lrecord type.
3584
3585 2000-07-02  Mike Sperber <mike@xemacs.org>
3586
3587         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
3588         FreeBSD 4.0.
3589
3590 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3591
3592         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3593         integer.
3594
3595 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3596
3597         * data.c (Fstring_to_number): Don't recognize floating point if
3598         base is not 10.
3599
3600 2000-06-22  Martin Buchholz  <martin@xemacs.org>
3601
3602         * glyphs-widget.c (tab_control_query_geometry):
3603         (widget_query_geometry):
3604         (button_query_geometry):
3605         * glyphs.c (text_query_geometry):
3606         Enforce type correctness.
3607
3608 2000-06-18  Martin Buchholz  <martin@xemacs.org>
3609
3610         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
3611         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
3612
3613 2000-06-17  Martin Buchholz  <martin@xemacs.org>
3614
3615         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
3616         conflicts with gcc's fixincluded version of FOO.h.
3617
3618         * glyphs.h (image_instance_geometry): Remove trailing `,'
3619
3620 2000-06-08  Mike Alexander  <mta@arbortext.com>
3621
3622         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
3623         (shove_thread): Don't write the same output twice
3624         (make_ntpipe_output_stream): Increase priority of shove thread
3625         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
3626         chance to run
3627         (ntpipe_shove_closer): Don't delete the pipe until we're done with
3628         it.
3629
3630 2000-06-12  Ben Wing  <ben@xemacs.org>
3631
3632         * s\mingw32.h (sigset):
3633         * s\windowsnt.h (sigset):
3634         rename msw_ to mswindows_ for consistency with general convention.
3635
3636 2000-06-12  Ben Wing  <ben@xemacs.org>
3637
3638         * console-msw.c:
3639         * console-msw.c (mswindows_get_console_hwnd):
3640         * console-msw.c (mswindows_ensure_console_allocated):
3641         * console-msw.c (mswindows_hide_console):
3642         * console-msw.c (mswindows_show_console):
3643         * console-msw.c (mswindows_ensure_console_buffered):
3644         * console-msw.c (mswindows_output_console_string):
3645         * console-msw.c (mswindows_windows9x_p):
3646         * console-msw.h:
3647         * device-msw.c (mswindows_get_workspace_coords):
3648         * device-msw.c (mswindows_device_system_metrics):
3649         * dialog-msw.c (mswindows_popup_dialog_box):
3650         * event-msw.c (mswindows_wnd_proc):
3651         * frame-msw.c (mswindows_size_frame_internal):
3652         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
3653         * menubar-msw.c (displayable_menu_item):
3654         * menubar-msw.c (mswindows_char_is_accelerator):
3655         * nt.c:
3656         * nt.c (mswindows_sigset):
3657         * nt.c (mswindows_sigrelse):
3658         * nt.c (mswindows_sigpause):
3659         * nt.c (mswindows_raise):
3660         * nt.c (timer_proc):
3661         * ntproc.c:
3662         * ntproc.c (find_child_console):
3663         * ntproc.c (sys_kill):
3664         * print.c:
3665         * print.c (std_handle_out_external):
3666         * process-nt.c (find_child_console):
3667         * process-nt.c (send_signal_the_95_way):
3668         * process-nt.c (ensure_console_window_exists):
3669         * process-nt.c (nt_create_process):
3670         * syssignal.h:
3671         rename msw_ to mswindows_ for consistency with general convention.
3672
3673         * emacs.c:
3674         * dumper.c:
3675         include nt.h, not syswindows.h.
3676
3677         * nt.c (mswindows_fstat):
3678         * nt.c (mswindows_stat):
3679         prefix mswindows_ instead of attempting to directly override the
3680         library functions.  fix declarations.
3681
3682         * nt.h:
3683         include syswindows.h.  move some sysdep.h stuff here.
3684
3685         * ntheap.h:
3686         include syswindows.h, not <windows.h>.
3687
3688         * ntplay.c:
3689         clean up headers.
3690
3691         * sysdep.c:
3692         clean up headers.
3693
3694         * sysdep.c (sys_fstat):
3695         * sysdep.c (sys_stat):
3696         call mswindows versions when appropriate.
3697
3698         * sysdep.h:
3699         move mswin decls to nt.h.
3700
3701         * syswindows.h:
3702         add long comment describing appropriate use of the various windows
3703         headers.
3704
3705 2000-06-11  Ben Wing  <ben@xemacs.org>
3706
3707         * device-x.c: Correct doc string for sixth arg of x-get-resource.
3708
3709 2000-06-10  Ben Wing  <ben@xemacs.org>
3710
3711         * Makefile.in.in (release):
3712         Correction to make sure xemacs.exe always dumped when correct.
3713
3714         * alloca.c:
3715         * balloon_help.c:
3716         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
3717
3718         * buffer.c (set_buffer_internal):
3719         [[[[2]]]]: Remove HAVE_FEP code.
3720
3721         * buffer.c (init_initial_directory):
3722         [3].
3723
3724         * bytecode.c:
3725         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
3726         individual files.
3727
3728         * callproc.c:
3729         * callproc.c (call_process_cleanup):
3730         * callproc.c (Fold_call_process_internal):
3731         * callproc.c (child_setup):
3732         * callproc.c (getenv_internal):
3733         * callproc.c (init_callproc):
3734         * callproc.c (vars_of_callproc):
3735         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
3736         __CYGWIN32__ -> CYGWIN.
3737         DOS_NT -> WIN32_NATIVE.
3738         Remove MSDOS support/references, converting to WIN32_NATIVE
3739           where correct.
3740         __MINGW32__ -> MINGW.
3741         Fix windows.h includes.
3742         Remove bogus HAVE_NTGUI.
3743
3744         * config.h.in:
3745         [2].
3746
3747         * console-msw.c:
3748         mswindows_message_outputted added for use in allowing startup
3749         errors on the console to be seen.
3750
3751         * console-msw.c (msw_ensure_console_allocated):
3752         * console-msw.c (msw_output_console_string):
3753         * console-msw.c (DHEADER):
3754         * console-msw.c (DOPAQUE_DATA):
3755         * console-msw.c (DEVENT):
3756         * console-msw.c (DCONS):
3757         * console-msw.c (DCONSCDR):
3758         * console-msw.c (DSTRING):
3759         * console-msw.c (DVECTOR):
3760         * console-msw.c (DSYMBOL):
3761         * console-msw.c (DSYMNAME):
3762         Fix warnings.
3763
3764         * console-stream.c (stream_init_console):
3765         Fix text/binary problems.
3766
3767         * device-msw.c:
3768         * device-msw.c (mswindows_finish_init_device):
3769         * device-msw.c (mswindows_delete_device):
3770         [1].
3771
3772         * device.c (handle_asynch_device_change):
3773         [3].
3774
3775         * dgif_lib.c:
3776         * dgif_lib.c (DGifOpenFileName):
3777         * dgif_lib.c (DGifOpenFileHandle):
3778         * dgif_lib.c (DGifGetLine):
3779         * dgif_lib.c (DGifGetPixel):
3780         Added config.h/lisp.h, fix up includes.
3781         [1].
3782
3783         * dired-msw.c:
3784         [4].
3785
3786         * dired.c:
3787         * dired.c (file_name_completion):
3788         * dired.c (Ffile_attributes):
3789         * dired.c (syms_of_dired):
3790         [1].
3791
3792         * dumper.c:
3793         * dumper.c (pdump_file_unmap):
3794         * dumper.c (pdump_load):
3795         [1].
3796
3797         * editfns.c:
3798         * editfns.c (Ftemp_directory):
3799         * editfns.c (user_login_name):
3800         * editfns.c (Fuser_real_login_name):
3801         * editfns.c (get_home_directory):
3802         [1].
3803
3804         * elhash.c (finish_marking_weak_hash_tables):
3805         [[[[5]]]]: Fix GCC warnings.
3806
3807         * emacs.c:
3808         * emacs.c (mswindows_handle_hardware_exceptions):
3809         * emacs.c (make_arg_list_1):
3810         * emacs.c (main_1):
3811         * emacs.c (Fkill_emacs):
3812         * emacs.c (Fdump_emacs):
3813         [1].
3814         Fix problems with nested crashes, add long comment.
3815
3816         * event-Xt.c (init_event_Xt_late):
3817         [1].
3818
3819         * event-msw.c:
3820         * event-msw.c (mswindows_dde_callback):
3821         * event-msw.c (mswindows_handle_sticky_modifiers):
3822         * event-msw.c (mswindows_wnd_proc):
3823         [1].
3824         [5].
3825
3826         * events.c (character_to_event):
3827         [1].
3828
3829         * fileio.c:
3830         * fileio.c (Ffile_name_directory):
3831         * fileio.c (Ffile_name_nondirectory):
3832         * fileio.c (directory_file_name):
3833         * fileio.c (Fexpand_file_name):
3834         * fileio.c (Fsubstitute_in_file_name):
3835         * fileio.c (Ffile_name_absolute_p):
3836         * fileio.c (check_executable):
3837         * fileio.c (Ffile_readable_p):
3838         * fileio.c (Ffile_accessible_directory_p):
3839         * fileio.c (Ffile_modes):
3840         * fileio.c (Funix_sync):
3841         * fileio.c (vars_of_fileio):
3842         [1]. [4].
3843
3844         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
3845
3846         Expand getdefdir defn.
3847         Fix bogus rename() comment.
3848
3849         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
3850         to use standard XEmacs include files, e.g. sysfile.h, rather
3851         than system-specific includes.
3852
3853         * fns.c:
3854         * fns.c (Fsubseq):
3855         [5]. [6].
3856
3857         * frame.c (vars_of_frame):
3858         [1].
3859
3860         * getloadavg.c:
3861         * getloadavg.c (getloadavg):
3862         [1]. [6].
3863         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
3864         (We don't use it elsewhere in the code; just add a comment.)
3865
3866         * gif_io.c:
3867         [6].
3868         Add config.h.
3869
3870         * glyphs-msw.c:
3871         * glyphs-msw.c (mswindows_resource_instantiate):
3872         [1].
3873
3874         * glyphs-x.c (x_native_layout_instantiate):
3875         [5].
3876
3877         * gui-msw.c (Fmswindows_shell_execute):
3878         [1].
3879
3880         * insdel.c:
3881         [4].
3882
3883         * lisp.h:
3884         [4]. [5].
3885
3886         * lread.c (locate_file_in_directory_mapper):
3887         [1].
3888
3889         * lstream.c:
3890         [4].
3891
3892         * mem-limits.h:
3893         * mem-limits.h (get_lim_data):
3894         [1].
3895
3896         * menubar-msw.c:
3897         [4].
3898
3899         * ndir.h:
3900         [1].
3901
3902         * nt.c:
3903         * nt.c (getwd):
3904         * nt.c (closedir):
3905         * nt.c (rva_to_section):
3906         * nt.c (mswindows_executable_type):
3907         [1]. [6].
3908         Fix closedir() defn.
3909
3910         * nt.h:
3911         [[[[8]]]]: *_OK defs moved to sysfile.h.
3912
3913         * ntproc.c:
3914         [6]. [7].
3915
3916         * objects-x.c:
3917         [4].
3918
3919         * print.c:
3920         * print.c (std_handle_out_external):
3921         [1]. [4].
3922
3923         * process-nt.c:
3924         * process-nt.c (nt_create_process):
3925         [6].
3926         try to fix process quoting somewhat.
3927
3928         * process-unix.c (unix_create_process):
3929         [1].
3930
3931         * process.c:
3932         * process.c (vars_of_process):
3933         Add Vnull_device.
3934
3935         * process.h:
3936         [1].
3937
3938         * realpath.c:
3939         * realpath.c (xrealpath):
3940         [1].
3941
3942         * redisplay-tty.c (init_tty_for_redisplay):
3943         [3].
3944
3945         * redisplay.c:
3946         [4]. [6].
3947
3948         * scrollbar-msw.c:
3949         [4].
3950
3951         * sheap.c:
3952         * sheap.c (more_static_core):
3953         * sheap.c (report_sheap_usage):
3954         [5]. [6].
3955
3956         * signal.c:
3957         * signal.c (alarm_signal):
3958         [1]. [6].
3959
3960         * sound.c:
3961         [6].
3962
3963         * strftime.c:
3964         * strftime.c (zone_name):
3965         [1]. [5].
3966
3967         * symsinit.h (init_sunpro):
3968         [1].
3969
3970         * syscommctrl.h:
3971         commctrl.h not in Cygwin b20.1.
3972
3973         * sysdep.c:
3974         * sysdep.c (endif):
3975         * sysdep.c (sys_subshell):
3976         * sysdep.c (init_baud_rate):
3977         * sysdep.c (emacs_get_tty):
3978         * sysdep.c (emacs_set_tty):
3979         * sysdep.c (tty_init_sys_modes_on_device):
3980         * sysdep.c (init_system_name):
3981         * sysdep.c (sys_open):
3982         * sysdep.c (interruptible_open):
3983         * sysdep.c (sys_fopen):
3984         * sysdep.c (sys_mkdir):
3985         * sysdep.c (sys_rename):
3986         * sysdep.c (get_process_times_1):
3987         [1]. [6].
3988
3989         * sysdep.h:
3990         [1].
3991
3992         * sysdir.h:
3993         * sysdir.h (DIRENTRY_NONEMPTY):
3994         [1]. [6].
3995
3996         * sysdll.c (dll_init):
3997         * sysdll.h:
3998         [1].
3999
4000         * sysfile.h:
4001         [1]. [6]. [8].
4002         added text/binary defs.
4003
4004         * sysfloat.h:
4005         [1].
4006
4007         * sysproc.h:
4008         * sysproc.h (EDESTADDRREQ):
4009         * sysproc.h (poll_fds_for_input):
4010         [1]. [6].
4011
4012         * syspwd.h:
4013         [6].
4014
4015         * syssignal.h:
4016         [1].
4017
4018         * systime.h:
4019         [1]. [6].
4020
4021         * systty.h:
4022         [1].
4023
4024         * syswindows.h:
4025         [1].
4026         Always define WIN32_LEAN_AND_MEAN.
4027
4028         * unexcw.c (unexec):
4029         [5].
4030
4031         * unexec.c:
4032         * unexec.c (copy_text_and_data):
4033         * unexec.c (adjust_lnnoptrs):
4034         [1].
4035
4036         * unexnt.c:
4037         * unexnt.c (_start):
4038         [1].
4039
4040 2000-06-07  Ben Wing  <ben@xemacs.org>
4041
4042         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
4043         was used only as a model.  We've long since extracted any useful
4044         logic or code out of this. (I just did an exhaustive search.)
4045
4046         * s\msdos.h: Removed.
4047
4048         * s\windows95.h: Removed.
4049
4050 2000-06-10  Ben Wing  <ben@xemacs.org>
4051
4052         * s\cygwin32.h:
4053         [1]. [5].
4054         Don't use extern with fun defs.
4055
4056         * s\mingw32.h:
4057         [1]. [7].
4058         Remove nt\inc include.
4059         Remove getdisk, getdefdir. (The former is unused, the latter
4060         expanded in fileio.h.)
4061
4062         * s\windowsnt.h:
4063         * s\windowsnt.h (WIN32_NATIVE):
4064         * s\windowsnt.h (HAVE_STRCASECMP):
4065         [1]. [7].
4066         Add long comment about preprocessor changes.
4067         Remove getdisk, getdefdir. (The former is unused, the latter
4068         expanded in fileio.h.)
4069
4070 2000-06-10  Ben Wing  <ben@xemacs.org>
4071
4072         * m\arm.h:
4073         * m\delta.h:
4074         * m\intel386.h:
4075         * m\sequent.h:
4076         * m\template.h:
4077         * m\windowsnt.h:
4078         [1].
4079         Remove bogus/unused NO_SOCK_SIGIO.
4080
4081 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
4082
4083         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
4084         not an Emchar.
4085
4086 2000-06-04  Mike Sperber <mike@xemacs.org>
4087
4088         * casetab.c (set_case_table): For `set-standard-case-table',
4089         actually deposit the new case tables where the rest of XEmacs can
4090         see them.
4091
4092 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
4093
4094         * data.c (Faset): Don't cast XCHAR() to unsigned char.
4095
4096 2000-06-05  Ben Wing  <ben@xemacs.org>
4097
4098         * callproc.c (child_setup): Don't do close_load_descs() under
4099         MS Windows.  Put in a comment explaining why.
4100
4101 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
4102
4103         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
4104         Toolkit shell" which breaks `kill-compilation' on Windows NT
4105         native, retaining STDERR handling improvements.
4106
4107 2000-06-01  Andreas Jaeger  <aj@suse.de>
4108
4109         * s/s390.h: Support for S390, based on a patch by Martin
4110         Schwidefsky <schwidefsky@de.ibm.com>.
4111
4112 2000-05-30  Andy Piper  <andy@xemacs.org>
4113
4114         * window.c (allocate_window):
4115         (make_dummy_parent):
4116         (Fset_window_configuration): use new hashtable type.
4117
4118         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
4119         (struct image_instantiator_methods):
4120         (struct Lisp_Image_Instance): make instance geometry signed.
4121
4122         * glyphs.c (instantiate_image_instantiator):
4123         (image_instance_query_geometry):
4124         (image_instance_layout):
4125         (image_instance_layout):
4126         (query_string_geometry):
4127         (text_query_geometry):
4128         (image_instantiate):
4129         (image_instantiate):
4130         (cache_subwindow_instance_in_frame_maybe):
4131         (subwindow_query_geometry): make instance geometry signed.
4132
4133         * glyphs-widget.c (widget_query_geometry):
4134         (widget_layout):
4135         (button_query_geometry):
4136         (tree_view_query_geometry):
4137         (tab_control_query_geometry):
4138         (layout_query_geometry):
4139         (layout_layout):
4140         (native_layout_layout): make instance geometry signed.
4141
4142 2000-05-29  Olivier Galibert  <galibert@pobox.com>
4143
4144         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
4145         constant.
4146
4147         * general.c (syms_of_general): Add Qfull_assoc symbol.
4148
4149         * data.c (finish_marking_weak_lists): Mark full-assoc lists
4150         correctly.
4151         (decode_weak_list_type): Decode full-assoc type.
4152         (encode_weak_list_type): Encode full-assoc type.
4153         (Fmake_weak_list): Update doc string.
4154
4155 2000-05-30  Andy Piper  <andy@xemacs.org>
4156
4157         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
4158
4159         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
4160         (decode_hash_table_weakness): ditto.
4161         (Fhash_table_weakness): ditto.
4162         (Fhash_table_type): ditto.
4163         (finish_marking_weak_hash_tables): ditto.
4164         (hash_table_weakness_validate): ditto.
4165         (syms_of_elhash): ditto.
4166
4167 2000-05-28  Martin Buchholz <martin@xemacs.org>
4168
4169         * XEmacs 21.2.34 is released.
4170
4171 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
4172
4173         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
4174         start cache.
4175         (updating_line_start_cache): Gone.
4176         (regenerate_window): Replace resetting of VERTICAL_CLIP by
4177         generic code to force a minimum of 1 line laid out in the
4178         CMOTION_DISP case.
4179
4180 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
4181
4182         * glyphs.c (instantiate_image_instantiator): Check for initialized
4183         height & width no longer special cases IMAGE_NOTHING.
4184         (nothing_instantiate): Set height and width of instance.
4185
4186 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4187
4188         * unexelf.c (unexec): Search for ".data" section.
4189         Initialize new_data2_offset from old_data_index.
4190         Remove redundant check for ElfW.
4191
4192 2000-05-23  Andy Piper  <andy@xemacs.org>
4193
4194         * glyphs.c (get_image_instantiator_governing_domain): allow more
4195         specific domains as the governing domain rather than expecting an
4196         exact match. This fixes problems with layouts.
4197
4198 2000-05-22  Andy Piper  <andy@xemacs.org>
4199
4200         * redisplay-output.c (compare_runes): check for non-images
4201
4202         * glyphs.c (set_glyph_dirty_p): ditto.
4203         (update_glyph_cachel_data): ditto.
4204
4205         * glyphs-widget.c (layout_post_instantiate): ditto.
4206         (layout_post_instantiate): ditto.
4207
4208         * event-msw.c (mswindows_wnd_proc): warning removal.
4209
4210 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
4211
4212         * s\mingw32.h: Added #undef for CLASH_DETECTION.
4213
4214         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
4215
4216         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
4217
4218         * nt.c (rva_to_section): mingw32 needs rva_to_section.
4219         (mswindows_executable_type): mingw32 now has enough headers for
4220         this to work.
4221
4222 2000-05-20  Andy Piper  <andy@xemacs.org>
4223
4224         * console-msw.c (mswindows_output_last_error): ; -> ,
4225
4226 2000-05-12  Andy Piper  <andy@xemacs.org>
4227
4228         * console-msw.c (FROB): compare ints with ints.
4229
4230 2000-05-11  Andy Piper  <andy@xemacs.org>
4231
4232         * glyphs-x.c (x_finalize_image_instance): make minimal build
4233         happy.
4234
4235 2000-05-20  Ben Wing  <ben@xemacs.org>
4236
4237         * event-Xt.c:
4238         * event-Xt.c (vars_of_event_Xt):
4239         move modifier-keys-are-sticky to event-stream.c.
4240
4241         * event-msw.c:
4242         * event-msw.c (mswindows_enqueue_mouse_button_event):
4243         * event-msw.c (key_needs_default_processing_p):
4244         * event-msw.c (XEMSW_LCONTROL):
4245         * event-msw.c (mswindows_handle_sticky_modifiers):
4246         * event-msw.c (FROB):
4247         * event-msw.c (clear_sticky_modifiers):
4248         * event-msw.c (output_modifier_keyboard_state):
4249         * event-msw.c (output_alt_keyboard_state):
4250         * event-msw.c (mswindows_wnd_proc):
4251         * event-msw.c (mswindows_modifier_state):
4252         * event-msw.c (emacs_mswindows_handle_magic_event):
4253         implement sticky modifiers.
4254
4255         * event-stream.c:
4256         * event-stream.c (vars_of_event_stream):
4257         move modifier-keys-are-sticky here.
4258
4259         * lisp.h:
4260         add CHECK_FUNCTION.
4261
4262         * rangetab.c:
4263         implement map-range-table.
4264
4265
4266 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
4267
4268         * redisplay-tty.c (reset_tty_modes):
4269         (tty_redisplay_shutdown): Adjust argument type to
4270         tty_frame_output_end.
4271
4272 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
4273
4274         * eval.c (Fbacktrace): Don't output a line with only right
4275         parenthesis.
4276
4277 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
4278
4279         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
4280         (Fpq_reset_poll): Ditto.
4281
4282 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
4283
4284         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
4285
4286 2000-05-16  Ben Wing  <ben@xemacs.org>
4287
4288         * buffer.c:
4289         * buffer.c (dfc_convert_to/from_internal_format):
4290         * buffer.c (reinit_vars_of_buffer):
4291         Fix conversion functions to allow reentrancy.
4292
4293         * console-msw.c:
4294         * console-msw.c (mswindows_output_last_error):
4295         New fun, generally useful -- output a human-readable
4296         version of GetLastError() on the console.
4297
4298         * console-msw.h:
4299         * console-msw.h (struct mswindows_frame):
4300         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
4301
4302         * console-stream.c (stream_output_begin):
4303         * console-stream.c (stream_output_end):
4304         * console-stream.c (stream_output_vertical_divider):
4305         * console-stream.c (stream_clear_region):
4306         * console-stream.c (stream_flash):
4307         * console-stream.c (console_type_create_stream):
4308         Delete blank stream methods, not needed.
4309
4310         * console.h (struct console_methods):
4311         Split begin/end methods into window and frame.
4312
4313         * event-msw.c:
4314         * event-msw.c (mswindows_handle_paint):
4315         * event-msw.c (output_alt_keyboard_state):
4316         * event-msw.c (mswindows_wnd_proc):
4317         * event-msw.c (vars_of_event_mswindows):
4318         Comment about problems with ignored-expose.
4319         Define mswindows-debug-events; not really implemented.
4320
4321         * frame-msw.c (mswindows_init_frame_1):
4322         random cleanups.
4323
4324         * glyphs-msw.c:
4325         * glyphs-msw.c (begin_defer_window_pos):
4326         * glyphs-msw.c (mswindows_unmap_subwindow):
4327         * glyphs-msw.c (mswindows_map_subwindow):
4328         * glyphs-msw.c (mswindows_resize_subwindow):
4329         Use DeferWindowPos to reduce flashing when mapping/unmapping.
4330
4331         * glyphs.c (make_image_instance_1):
4332         Fix crash.
4333
4334         * gutter.c (Fredisplay_gutter_area):
4335         Use new begin/end methods.
4336
4337         * lisp.h (Dynarr_new2):
4338         New creation fun.
4339
4340         * redisplay-msw.c:
4341         * redisplay-msw.c (mswindows_frame_output_begin):
4342         * redisplay-msw.c (mswindows_frame_output_end):
4343         * redisplay-msw.c (console_type_create_redisplay_mswindows):
4344         New begin/end methods -- handle DeferWindowPos.
4345
4346         * redisplay-output.c (redisplay_move_cursor):
4347         * redisplay-output.c (redraw_cursor_in_window):
4348         * redisplay-output.c (redisplay_update_line):
4349         * redisplay-output.c (redisplay_output_window):
4350         New begin/end methods.
4351
4352         * redisplay-tty.c:
4353         * redisplay-tty.c (tty_frame_output_begin):
4354         * redisplay-tty.c (tty_frame_output_end):
4355         * redisplay-tty.c (console_type_create_redisplay_tty):
4356         New begin/end methods.
4357
4358         * redisplay-x.c:
4359         * redisplay-x.c (x_window_output_begin):
4360         * redisplay-x.c (x_window_output_end):
4361         * redisplay-x.c (console_type_create_redisplay_x):
4362         New begin/end methods.
4363
4364         * redisplay.c (redisplay_frame):
4365         * redisplay.c (Fredisplay_echo_area):
4366         New begin/end methods.
4367         use MAYBE_DEVMETH for clear_frame; it may not exist.
4368
4369         * window.h (WINDOW_XFRAME):
4370         WINDOW_XFOO macros -- get locale and decode struct pointer.
4371
4372
4373 2000-05-12  Ben Wing  <ben@xemacs.org>
4374
4375         * emacs.c:
4376         * emacs.c (ensure_no_quitting_from_now_on):
4377         * emacs.c (fatal_error_signal):
4378         * emacs.c (mswindows_handle_hardware_exceptions):
4379         * emacs.c (main):
4380         * emacs.c (Fkill_emacs):
4381         * emacs.c (shut_down_emacs):
4382         * emacs.c (assert_failed):
4383         various improvements in fatal error handling.
4384
4385         * eval.c:
4386         move preparing_for_armageddon to emacs.c.
4387
4388         * lisp.h:
4389         declare fatal_error_in_progress.
4390
4391         * print.c:
4392         * print.c (std_handle_out_external):
4393         * print.c (std_handle_out_va):
4394         * print.c (stderr_out):
4395         * print.c (stdout_out):
4396         use console under mswin when no standard output.
4397         don't do code conversion during fatal error.
4398
4399         * scrollbar.c (Fscrollbar_page_up):
4400         * scrollbar.c (Fscrollbar_page_down):
4401         fix missing else.  reindent.
4402
4403 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
4404
4405         Emergency fix.
4406
4407         * glyphs.h (GLYPH_CACHEL_DESCENT):
4408         (GLYPH_CACHEL_DESCENT):
4409         (GLYPH_CACHEL_DESCENT):
4410         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
4411         used in case these are inline functions.
4412         Use more absurd values to error check.
4413
4414         include window.h for error check functions.
4415
4416 2000-05-11  Ben Wing  <ben@xemacs.org>
4417
4418         * cmdloop.c (Freally_early_error_handler):
4419         Display message box under windows; otherwise, message will disappear
4420         before it can be viewed.
4421
4422         * console-msw.c:
4423         * console-msw.c (Fmswindows_message_box):
4424         * console-msw.c (FROB):
4425         * console-msw.c (syms_of_console_mswindows):
4426         Define new fun `mswindows-message-box'.
4427         #### I will merge this into `popup-dialog-box'; just give me
4428         a bit of time.
4429
4430         * general.c:
4431         * general.c (syms_of_general):
4432         Some new symbols used in `mswindows-message-box'.
4433
4434         * glyphs.c:
4435         * glyphs.c (Fset_image_instance_property):
4436         put warning in this fun.
4437
4438         * glyphs.h:
4439         * glyphs.h (GLYPH_CACHEL_WIDTH):
4440         * glyphs.h (GLYPH_CACHEL_ASCENT):
4441         * glyphs.h (GLYPH_CACHEL):
4442         * glyphs.h (GLYPH_CACHEL_GLYPH):
4443         define error-checking versions to try to catch a bug i've seen --
4444         redisplay gets in an infinite loop because the glyph width of the
4445         continuation glyph is 65535.
4446
4447         * lisp.h:
4448         Extern message-box stuff.
4449
4450         * window.c (allocate_window):
4451         * window.c (make_dummy_parent):
4452         * window.c (Fset_window_configuration):
4453         Use EQUAL not EQ for subwindow caches to make them work a bit
4454         better. (Something is still very broken.)
4455
4456
4457 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
4458
4459         * glyphs.c (image_instantiate): Suppress gcc warnings.
4460         (Fmake_image_instance): Fix doc string.
4461         * specifier.c (Fmake_specifier): Ditto.
4462
4463 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
4464
4465         * paths.h.in (PATH_LOCK): Removed.
4466         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
4467         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
4468
4469 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
4470
4471         * fns.c (Ffeaturep): Update e-mail address in doc-string.
4472         Document (featurep '(and xemacs 21.02)).
4473
4474 2000-05-09  Ben Wing  <ben@xemacs.org>
4475
4476         * buffer.c (complex_vars_of_buffer):
4477         update modeline-format doc.
4478
4479         * device.h:
4480         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
4481
4482         * emacs.c:
4483         timeline of all released versions of Emacs, for use in creating
4484         authorship comments and in synching up.
4485
4486         * glyphs-widget.c (image_instantiator_buttons):
4487         * glyphs-widget.c (image_instantiator_edit_fields):
4488         * glyphs-widget.c (image_instantiator_combo_box):
4489         * glyphs-widget.c (image_instantiator_scrollbar):
4490         * glyphs-widget.c (image_instantiator_progress_guage):
4491         * glyphs-widget.c (image_instantiator_tree_view):
4492         * glyphs-widget.c (image_instantiator_tab_control):
4493         * glyphs-widget.c (image_instantiator_labels):
4494         * glyphs-widget.c (image_instantiator_layout):
4495         * glyphs-widget.c (image_instantiator_native_layout):
4496         rename decode_domain method to governing_domain.
4497
4498         * glyphs.c:
4499         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
4500         * glyphs.c (add_entry_to_device_ii_format_list):
4501         make sure we don't put an entry more than once into the list.
4502         * glyphs.c (check_instance_cache_mapper):
4503         *************************************************************
4504         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
4505         HAVE BEEN GETTING.
4506         *************************************************************
4507         * glyphs.c (get_image_instantiator_governing_domain):
4508         clean up, expand on new concept of governing domain.
4509         * glyphs.c (instantiate_image_instantiator):
4510         * glyphs.c (allocate_image_instance):
4511         use governing_domain instead of cache_domain in naming.
4512         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
4513         * glyphs.c (make_image_instance_1):
4514         * glyphs.c (Fmake_image_instance):
4515         allow for any domain (not just device), and process the
4516         governing domain correctly.  very big doc fix.
4517         * glyphs.c (Fimage_instance_domain):
4518         new primitive, to retrieve the governing domain of an image instance.
4519         * glyphs.c (image_instantiate):
4520         use new governing_domain stuff.  this fixes a crash you could get
4521         by instantiating certain widget glyphs in frame locales. (should
4522         signal an error instead of crashing.)
4523         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
4524         * glyphs.c (Fglyphp): clean up doc.
4525         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
4526         * glyphs.c (syms_of_glyphs):
4527         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
4528         * glyphs.c (image_instantiator_format_create): add some comments about
4529         bogus code.
4530         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
4531         for current-display-table. (Apparently Hrjove implemented in 1998 a
4532         design I wrote up in 1996, but didn't update the doc string.)
4533
4534         * glyphs.h: clean up a doc string.
4535         * glyphs.h (governing_domain):
4536         * glyphs.h (struct image_instantiator_methods):
4537         changes for governing_domain stuff.
4538
4539         * gutter.c:
4540         * gutter.c (Fgutter_specifier_p):
4541         * gutter.c (Fgutter_size_specifier_p):
4542         * gutter.c (Fgutter_visible_specifier_p):
4543         * objects.c:
4544         * objects.c (Fcolor_specifier_p):
4545         * objects.c (Ffont_specifier_p):
4546         * objects.c (Fface_boolean_specifier_p):
4547         doc strings moved to make-*-specifier.
4548
4549         * redisplay.c (add_disp_table_entry_runes_1):
4550         * redisplay.c (generate_fstring_runes):
4551         * redisplay.c (screen):
4552         add random comments and doc strings.
4553
4554         * specifier.c:
4555         * specifier.c (Fmake_specifier):
4556         major overhaul of this doc string.
4557
4558         * specifier.c (Fvalid_specifier_domain_p):
4559         comment about the bogosity of image instances being domains.
4560         * specifier.c (decode_domain):
4561         now non-static, used in glyphs.c.
4562         * specifier.c (specifier_instance):
4563         comment about the bogosity of image instances being domains.
4564         * specifier.c (Fgeneric_specifier_p):
4565         move doc string to make-generic-specifier.
4566         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
4567         rebackslashify.
4568
4569         * specifier.h:
4570         * specifier.h (DOMAIN_FRAME):
4571         * specifier.h (DOMAIN_LIVE_P):
4572         * specifier.h (DOMAIN_XDEVICE):
4573         rebackslashify.
4574         add comments about problems with these macros.
4575         prototype for decode_domain.
4576
4577         * toolbar.c:
4578         * toolbar.c (Ftoolbar_specifier_p):
4579         move doc string to `make-toolbar-specifier'.
4580
4581         * window.c (window_unmap_subwindows_cache_mapper):
4582         *************************************************************
4583         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
4584         HAVE BEEN GETTING.
4585         *************************************************************
4586
4587 2000-05-09  Andy Piper  <andy@xemacs.org>
4588
4589         * glyphs.h: declare reset_frame_subwindow_instance_cache.
4590
4591         * window.c (Fset_window_configuration): reset the frame subwindow
4592         cache and re-initialize the window subwindow caches.
4593
4594         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
4595
4596 2000-05-09  Ben Wing  <ben@xemacs.org>
4597
4598         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
4599         DWORD.
4600
4601 2000-04-26  Mike Woolley  <mike@bulsara.com>
4602
4603         * ntheap.c: Changed recreate_heap to limit the amount reserved
4604         for the heap to that which is actually available. Also now
4605         displays a message box (with some dignostics) in the event that
4606         it still can't start.
4607
4608 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
4609
4610         * callproc.c (Fold_call_process_internal): GCPRO path
4611
4612 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
4613
4614         Patch by Bill Perry.
4615
4616         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
4617         back data instead of #ifdef.
4618         (Fscrollbar_page_down): ditto.
4619
4620 2000-05-07  Ben Wing  <ben@xemacs.org>
4621
4622         * buffer.h:
4623         Kludge for defining Qmswindows_tstr.
4624
4625         * nt.c:
4626         * nt.c (open_input_file):
4627         * nt.c (open_output_file):
4628         * nt.c (rva_to_section):
4629         * nt.c (mswindows_executable_type):
4630         Move all memory-mapped-file routines here (some were in unexnt.c,
4631         which is bad because they are used by process-nt.c, and unexnt
4632         won't be around when portable dumping).  Synched the above routines
4633         with FSF 20.6.
4634
4635         * nt.h:
4636         Removed ifdef'd out bogus code.
4637         Fixed some prototypes.
4638
4639         * nt.h (file_data):
4640         * nt.h (OFFSET_TO_RVA):
4641         * nt.h (RVA_TO_OFFSET):
4642         * nt.h (RVA_TO_PTR):
4643         Moved the memory-mapped-file structures, macros and prototypes
4644         here, to parallel nt.c.  ntheap.h should really be removed
4645         entirely, and it's a non-portable-dumper specific file.
4646
4647         * ntheap.h (round_to_next):
4648         Moved the memory-mapped-file structures, macros and prototypes
4649         to nt.h.
4650
4651         * ntproc.c (compare_env):
4652         Moved rva_to_section and mswindows_executable_type to nt.c.
4653         Moved compare_env to process-nt.c.
4654         ntproc.c will die, one day.
4655
4656         * ntproc.c (sys_spawnve):
4657         Account for win32_ -> mswindows_.
4658
4659         * process-nt.c:
4660         * process-nt.c (struct nt_process_data):
4661         * process-nt.c (ensure_console_window_exists):
4662         * process-nt.c (compare_env):
4663         * process-nt.c (nt_create_process):
4664         * process-nt.c (nt_kill_process_by_pid):
4665         * process-nt.c (syms_of_process_nt):
4666         * process-nt.c (vars_of_process_nt):
4667         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
4668         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
4669         changes).  Eliminate our old `nt-quote-process-args' mechanism.
4670         Synch up nt_create_process with FSF 20.6 sys_spawnve.
4671         Move compare_env here from ntproc.c.
4672
4673         * process.c (Fprocess_send_region):
4674         Takes an optional fourth argument, BUFFER, which should fix some
4675         problems with call-process.
4676
4677         * syscommctrl.h:
4678         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
4679
4680         * syswindows.h:
4681         Move ICC_BAR_CLASSES to syscommctrl.h.
4682         Add preliminary macros for MSWindows/Mule.  More to come.
4683
4684         * unexnt.c:
4685         * unexnt.c (unexec):
4686         open_output_file moved to nt.c.
4687
4688
4689 2000-05-05  Andy Piper  <andy@xemacs.org>
4690
4691         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
4692         instance from the frame cache also since GC may catch up too late
4693         to make frame deletion sane.
4694
4695 2000-05-04  Andy Piper  <andy@xemacs.org>
4696
4697         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
4698         (x_finalize_image_instance): ungcpro on deletion.
4699
4700         * glyphs.c (image_instantiator_format_create): give pointers a
4701         query geometry method so that the geometry is at least set.
4702
4703         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
4704         initialize layouts if using widgets.
4705
4706 2000-05-03  Andy Piper  <andy@xemacs.org>
4707
4708         * nt.c: remove bogus reference to sysmmsystem.h
4709
4710         * gui-x.c (popup_selection_callback): fix no selection abort.
4711
4712 2000-05-02  Andy Piper  <andy@xemacs.org>
4713
4714         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
4715         (mswindows_widget_instantiate): ditto.
4716
4717         * glyphs-widget.c (initialize_widget_image_instance): initialize
4718         children correctly.
4719         (widget_instantiate): cope with children and items in the same
4720         instance.
4721
4722         * glyphs.c (mark_image_instance): cope with children as a first
4723         class member.
4724         (image_instance_equal): ditto.
4725         (image_instance_hash): ditto.
4726         (image_instance_changed): ditto.
4727
4728 2000-04-30  Andy Piper  <andy@xemacs.org>
4729
4730         * glyphs.c (subwindow_query_geometry): new function. Return some
4731         defaults.
4732         (subwindow_instantiate): don't assign dimensions if none have been
4733         given.
4734         (image_instantiator_format_create): add subwindow_query_geometry.
4735         (print_image_instance): cope with layouts as widgets.
4736
4737 2000-04-29  Andy Piper  <andy@xemacs.org>
4738
4739         * frame.c (delete_frame_internal): call
4740         free_frame_subwindow_instance_cache so that all subwindows are
4741         finalized before their parent.
4742         (mark_frame): remove subwindow_cachels.
4743         (Fmake_frame): remove subwindow_cachel manipulation.
4744         (allocate_frame_core): subwindow_instance_cache is a weak list.
4745         (delete_frame_internal): set subwindow_instance_cache to nil.
4746
4747         * glyphs-msw.c (mswindows_finalize_image_instance): make double
4748         finalization safe.
4749         (mswindows_finalize_image_instance): use the device
4750         not the domain as the domain may have died already.
4751
4752         * glyphs-x.c (x_finalize_image_instance): ditto.
4753         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
4754         HEIGHT.
4755
4756         * redisplay-output.c (redisplay_unmap_subwindows): update for
4757         subwindow instance cache as a weak list.
4758         (redisplay_unmap_subwindows_maybe): ditto.
4759         (redisplay_unmap_subwindows_except_us): ditto.
4760
4761         * glyphs.c (unmap_subwindow): error checking will check the domain
4762         so don't deal with it here. Don't use cachels anymore.
4763         (map_subwindow): ditto.
4764         (update_subwindow_cachel_data): remove old accessor names.
4765         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
4766         (Fresize_subwindow): don't update cachel.
4767         (mark_subwindow_cachels):
4768         (update_subwindow_cachel_data):
4769         (add_subwindow_cachel):
4770         (get_subwindow_cachel_index):
4771         (update_subwindow_cachel):
4772         (reset_subwindow_cachels):
4773         (mark_subwindow_cachels_as_not_updated): deleted.
4774         (cache_subwindow_instance_in_frame_maybe): new function. Add a
4775         subwindow instance to the frame cache.
4776         (find_matching_subwindow): update for subwindow instance cache as
4777         a weak list.
4778         (update_widget_instances): ditto.
4779         (image_instance_type_to_mask):inlined.
4780         (free_frame_subwindow_instance_cache): new function. finalize all
4781         subwindows that are instantiated.
4782
4783         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
4784         of cachel information.
4785         (IMAGE_INSTANCE_DISPLAY_X):
4786         (IMAGE_INSTANCE_DISPLAY_Y):
4787         (IMAGE_INSTANCE_DISPLAY_WIDTH):
4788         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
4789         (XIMAGE_INSTANCE_DISPLAY_X):
4790         (XIMAGE_INSTANCE_DISPLAY_Y):
4791         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
4792         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
4793         remove subwindow_cachel structure and function references.
4794         (image_instance_type_to_mask): inline from glyphs.c
4795
4796         * redisplay.c (redisplay_frame): remove subwindow_cachel
4797         references.
4798
4799         * frame.h (struct frame): remove subwindow_cachels.
4800         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
4801
4802         * frameslots.h: add subwindow_instance_cache.
4803
4804         * window.c (replace_window): check subwindow cache of replacement.
4805         (window_unmap_subwindows_cache_mapper):
4806         (window_unmap_subwindows): new functions. Unmap all subwindows
4807         cached on this window.
4808         (mark_window_as_deleted): unmap all subwindows.
4809
4810 2000-04-27  Andy Piper  <andy@xemacs.org>
4811
4812         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
4813
4814         * glyphs-widget.c (widget_layout): return something.
4815         (layout_layout): return something. Fail if not initialized.
4816         (layout_query_geometry): ditto.
4817         (image_instantiator_native_layout): new function. Initialized the
4818         native layout type.
4819         (widget_instantiate): don't do layout stuff here.
4820
4821         * glyphs.c (instantiate_image_instantiator): reorded calling or
4822         instantiate and post_instantiate with layout in between.
4823         (image_instance_layout): be more selective about deciding whether
4824         the layout has been done or not.
4825
4826         * glyphs.h (struct image_instantiator_methods): return a value
4827         from layout_method.
4828
4829 2000-04-26  Andy Piper  <andy@xemacs.org>
4830
4831         * glyphs.c (allocate_image_instance): make initial width and
4832         height unspecified. Set initialized to 0.
4833
4834         * syscommctrl.h new file. Encapsulates commctrl.h.
4835
4836         * syswindows.h new file. Encapsulates windows.h.
4837
4838         * ntplay.c: use new syswindows.h and syscommctrl.h header.
4839         * nt.c: ditto.
4840         * console-msw.h: ditto.
4841
4842         * redisplay-tty.c (tty_output_display_block): remove layout references.
4843
4844         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
4845         window handle rather than just the frame.
4846
4847         * glyphs.c (mark_image_instance): remove layout references.
4848         (print_image_instance): ditto.
4849         (image_instance_equal): ditto.
4850         (image_instance_hash): ditto.
4851         (decode_image_instance_type): ditto.
4852         (encode_image_instance_type): ditto.
4853         (image_instantiate): ditto.
4854         (allocate_glyph): ditto.
4855         (Fimage_instance_height): ditto.
4856         (Fimage_instance_width): ditto.
4857         (update_subwindow): ditto.
4858
4859         * redisplay-x.c (x_output_display_block): recode for layouts as
4860         widgets.
4861
4862         * redisplay-output.c (redisplay_output_layout): recode for layouts
4863         as widgets.
4864         (compare_runes): remove layout references.
4865
4866         * redisplay-msw.c (mswindows_output_display_block): recode for
4867         layouts as widgets.
4868
4869         * glyphs-widget.c (image_instantiator_layout): remove
4870         layout_possible_dest_types.
4871         (layout_possible_dest_types): deleted.
4872
4873         * glyphs.h (image_instance_type): remove layout references.
4874         (struct Lisp_Image_Instance): ditto. Add initialized flag.
4875         (IMAGE_INSTANCE_INITIALIZED): new accessor.
4876         (XIMAGE_INSTANCE_INITIALIZED): ditto.
4877
4878 2000-04-25  Andy Piper  <andy@xemacs.org>
4879
4880         * glyphs-widget.c (image_instantiator_buttons):
4881         (image_instantiator_edit_fields):
4882         (image_instantiator_combo_box):
4883         (image_instantiator_scrollbar):
4884         (image_instantiator_progress_guage):
4885         (image_instantiator_tree_view):
4886         (image_instantiator_tab_control):
4887         (image_instantiator_labels):
4888         (image_instantiator_layout): call default post_instantiate method.
4889         (widget_post_instantiate): new function. Simply lays out the
4890         widgets.
4891
4892         * glyphs.h (struct image_instantiator_methods): add
4893         post_instantiate method.
4894
4895         * glyphs.c (instantiate_image_instantiator): add post_instantiate
4896         method calls.
4897
4898 2000-04-23  Andy Piper  <andy@xemacs.org>
4899
4900         * glyphs.h (struct image_instantiator_methods): add
4901         decode_domain_method.
4902         (struct Lisp_Image_Instance): remove subwindow frame - it can be
4903         derived from the domain.
4904         (IMAGE_INSTANCE_FRAME): new accessor.
4905         (XIMAGE_INSTANCE_FRAME): ditto.
4906
4907         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
4908         instead of _SUBWINDOW_FRAME.
4909         (finalize_image_instance): ditto.
4910         (Fimage_instance_foreground): ditto.
4911         (Fimage_instance_background): ditto.
4912         (image_instantiate): ditto.
4913         (update_subwindow_cachel): ditto.
4914         (update_subwindow): ditto.
4915         (unmap_subwindow): ditto.
4916         (map_subwindow): ditto
4917         (subwindow_instantiate): ditto.
4918         * glyphs-msw.c (mswindows_update_widget): ditto.
4919         (mswindows_progress_gauge_instantiate): ditto.
4920         (mswindows_tab_control_update): ditto.
4921         * glyphs-x.c (x_update_widget): ditto.
4922         (x_widget_instantiate): ditto.
4923         (x_tab_control_instantiate): ditto.
4924         (x_tab_control_update): ditto.
4925         * event-msw.c (mswindows_wnd_proc): ditto
4926
4927         * glyphs-widget.c (image_instantiator_layout): use
4928         subwindow_decode_domain.
4929         (image_instantiator_buttons): ditto.
4930         (image_instantiator_edit_fields): ditto.
4931         (image_instantiator_combo_box): ditto.
4932         (image_instantiator_scrollbar): ditto.
4933         (image_instantiator_progress_guage): ditto.
4934         (image_instantiator_tree_view): ditto.
4935         (image_instantiator_tab_control): ditto.
4936         (image_instantiator_labels): ditto.
4937         (image_instantiator_layout): ditto.
4938
4939         * glyphs.c: add instance error checking to many functions.
4940         (instantiate_image_instantiator): decode device from cache_domain.
4941         (image_instantiate): partially rewrite by using
4942         decode_image_instantiator_domain to determine what domain the
4943         instance needs to be cached in.
4944         (decode_image_instantiator_domain): new function. Determine what
4945         domain the image needs to be cached in.
4946         (check_window_subwindow_cache): new error checking function.
4947         (check_instance_cache_mapper): ditto.
4948         (check_image_instance_structure): ditto.
4949         (subwindow_decode_domain): new function. Encodes a window as a
4950         subwindow's cache domain.
4951         (image_instantiator_format_create): use it for text and
4952         subwindows.
4953
4954 2000-04-21  Andy Piper  <andy@xemacs.org>
4955
4956         * glyphs.c (image_instance_device): new function.
4957         (image_instance_frame): new function.
4958         (image_instance_window): new function.
4959         (image_instance_live_p): new function.
4960
4961         * window.c (mark_window_as_deleted): reset the subwindow_instance_
4962         cache to nil.
4963
4964         * glyphs.h (struct Lisp_Image_Instance): device->domain.
4965         (IMAGE_INSTANCE_DOMAIN): new accessor.
4966         (XIMAGE_INSTANCE_DOMAIN): ditto.
4967
4968         * glyphs-x.c (x_finalize_image_instance): device->domain.
4969
4970         * glyphs-msw.c (init_image_instance_geometry): device->domain.
4971         (mswindows_finalize_image_instance): ditto.
4972
4973         * glyphs-eimage.c (jpeg_instantiate): device->domain.
4974         (gif_instantiate): ditto.
4975         (png_instantiate): ditto.
4976         (tiff_instantiate): ditto.
4977
4978         * glyphs.c (instantiate_image_instantiator): use domain rather
4979         than device.
4980         (mark_image_instance): device -> domain.
4981         (print_image_instance): ditto.
4982         (finalize_image_instance): ditto.
4983         (image_instance_equal): ditto.
4984         (allocate_image_instance): ditto.
4985         (Fcolorize_image_instance): ditto.
4986         (query_string_geometry): ditto.
4987         (image_instantiate): ditto
4988         (query_string_font): ditto.
4989         (image_instantiate): ditto.
4990         (update_subwindow): ditto.
4991         (unmap_subwindow): ditto.
4992         (map_subwindow): ditto.
4993         (subwindow_instantiate): ditto.
4994
4995         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
4996         (DOMAIN_FRAME): ditto.
4997         (DOMAIN_WINDOW): ditto.
4998         (DOMAIN_LIVE_P): ditto.
4999         (XDOMAIN_DEVICE): ditto.
5000         (XDOMAIN_FRAME): ditto.
5001         (XDOMAIN_WINDOW): ditto.
5002
5003         * specifier.c (Fvalid_specifier_domain_p): add image instances as
5004         a valid specifier domain.
5005
5006 2000-04-19  Andy Piper  <andy@xemacs.org>
5007
5008         * glyphs-widget.c (syms_of_glyphs_widget): remove
5009         widget-callback-current-channel.
5010         (vars_of_glyphs_widget): ditto.
5011         * glyphs.h: ditto
5012
5013         * gui.c (get_gui_callback): revert to previous behaviour.
5014
5015 2000-04-18  Andy Piper  <andy@xemacs.org>
5016
5017         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
5018         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
5019         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
5020
5021         * glyphs.c (image_instance_equal): add margin_width.
5022         (image_instance_hash): ditto.
5023
5024         * glyphs-widget.c (widget_instantiate): deal with margin-width.
5025         (layout_query_geometry): ditto.
5026         (layout_layout): ditto.
5027         (syms_of_glyphs_widget): add margin-width.
5028         (image_instantiator_layout): allow margin-width.
5029
5030         * glyphs.c (update_widget_instances): make a normal function.
5031         (syms_of_glyphs): remove Qupdate_widget_instances.
5032         * glyphs.h: ditto.
5033
5034         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
5035         so that we don't corrupt ideas about the last event or
5036         command. Remove widget-callback-current-channel fiddling.
5037         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5038
5039 2000-05-01  Martin Buchholz <martin@xemacs.org>
5040
5041         * XEmacs 21.2.33 is released.
5042
5043 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
5044
5045         * make-src-depend: Allow dots in header file name.
5046
5047 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
5048
5049         * mule-charset.h (struct charset_lookup): Add
5050         next_allocated_1_byte_leading_byte and
5051         next_allocated_2_byte_leading_byte.
5052         * mule-charset.c: Move above two variables so that those values
5053         will be dumped.
5054
5055 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
5056
5057         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
5058         when string length is zero.
5059         (find_charsets_in_emchar_string): Ditto.
5060
5061 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
5062
5063         * lisp.h: extern Qdialog and Qmenubar.
5064
5065         * gui-x.c: added events.h.
5066                 also fixed typo which made the file uncompilable.
5067
5068         * general.c: Added Qmenubar and Qdialog
5069
5070 2000-04-28  Ben Wing  <ben@xemacs.org>
5071
5072         * frame-msw.c (mswindows_init_frame_1):
5073         * frame-msw.c (mswindows_mark_frame):
5074         * event-msw.c (mswindows_enqueue_dispatch_event):
5075         * console-msw.h:
5076         * console-msw.h (struct mswindows_frame):
5077         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
5078         there are now three hash tables for callbacks.
5079         mswindows_enqueue_dispatch_event is no longer static.
5080
5081         * dialog-x.c (maybe_run_dbox_text_callback):
5082         * dialog-x.c (dbox_descriptor_to_widget_value):
5083         switch to new cons3 form for callbacks.
5084
5085         * glyphs-msw.c (mswindows_register_gui_item):
5086         * glyphs-msw.c (mswindows_widget_instantiate):
5087         * glyphs-msw.c (add_tree_item):
5088         * glyphs-msw.c (add_tab_item):
5089         new image instance parameter, so it can be passed to callback-ex.
5090         respect :callback-ex as well as :callback.
5091
5092         * glyphs-widget.c (VALID_GUI_KEYWORDS):
5093         add :callback-ex.
5094
5095         * glyphs.c (print_image_instance):
5096         prettify, e.g. now prints widget type.
5097
5098         * gui-x.h:
5099         certain funs have new image instance parameter.
5100
5101         * gui.c:
5102         * gui.c (get_gui_callback):
5103         * gui.c (gui_item_add_keyval_pair):
5104         * gui.c (gui_item_init):
5105         * gui.c (gui_add_item_keywords_to_plist):
5106         * gui.c (mark_gui_item):
5107         * gui.c (gui_item_hash):
5108         * gui.c (gui_item_equal):
5109         * gui.c (copy_gui_item):
5110         * gui.c (syms_of_gui):
5111         recognize callback-ex in a number of places.
5112         also, fix the annoying "can't get out of yes-no dialog" bug.
5113
5114         * gui.h:
5115         * gui.h (struct Lisp_Gui_Item):
5116         recognize callback-ex in a number of places.
5117
5118         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5119         new parameter in button_item_to_widget_value.
5120
5121         * glyphs-x.c (x_update_widget):
5122         * glyphs-x.c (x_button_instantiate):
5123         * glyphs-x.c (x_button_update):
5124         * glyphs-x.c (x_progress_gauge_instantiate):
5125         * glyphs-x.c (x_edit_field_instantiate):
5126         * glyphs-x.c (x_combo_box_instantiate):
5127         * glyphs-x.c (x_tab_control_instantiate):
5128         * glyphs-x.c (x_label_instantiate):
5129         new image instance parameter in various places.
5130
5131         * event-Xt.c:
5132         * event-Xt.c (enqueue_Xt_dispatch_event):
5133         this fun gets exported.
5134
5135         * gui-msw.c:
5136         * gui-msw.c (mswindows_handle_gui_wm_command):
5137         handle both :callback and :callback-ex, and generate our own
5138         event because it's one of the callback-ex arguments.
5139
5140         * gui-x.c:
5141         * gui-x.c (popup_selection_callback):
5142         handle both :callback and :callback-ex, and generate our own
5143         event because it's one of the callback-ex arguments.
5144         * gui-x.c (button_item_to_widget_value):
5145         * gui-x.c (gui_items_to_widget_values_1):
5146         * gui-x.c (gui_item_children_to_widget_values):
5147         * gui-x.c (gui_items_to_widget_values):
5148         new image instance parameter in various places.
5149
5150         * fns.c (Freplace_list):
5151         fix small typo in doc string.
5152
5153         * lisp.h:
5154         declare enqueue_Xt_dispatch_event.
5155
5156 2000-04-28  Ben Wing  <ben@xemacs.org>
5157
5158         * buffer.c:
5159         * buffer.c (Frecord_buffer):
5160         * buffer.c (syms_of_buffer):
5161         delete record-buffer-hook.
5162
5163         * fns.c:
5164         * fns.c (Freplace_list):
5165         * fns.c (syms_of_fns):
5166         new primitive replace-list.
5167
5168         * frameslots.h:
5169         slot for old buffer-alist.
5170
5171         * lisp.h:
5172         exfun replace-list.
5173
5174         * redisplay.c:
5175         * redisplay.c (redisplay_frame):
5176         * redisplay.c (syms_of_redisplay):
5177         * redisplay.c (vars_of_redisplay):
5178         new hook buffer-list-changed-hook.
5179         call it.
5180
5181 2000-04-27  Ben Wing  <ben@xemacs.org>
5182
5183         * extents.h: extern in_modeline_generation.
5184
5185         * redisplay.c (generate_formatted_string_db): set
5186         in_modeline_generation.
5187
5188         * extents.c (extent_changed_for_redisplay): don't mark redisplay
5189         flags if in modeline generation.  otherwise frame-modified-tick
5190         is ticked far too often.
5191         Declare in_modeline_generation.
5192
5193 2000-04-26  Ben Wing  <ben@xemacs.org>
5194
5195         * emacs.c (vars_of_emacs): document quick-build "error-checking"
5196         option.
5197         (vars_of_emacs): add quick-build as an error-checking option.
5198         A bit kludgy, but there doesn't seem much point in creating
5199         a real var for this.
5200
5201         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
5202
5203 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5204
5205         * redisplay.h (struct display_line): Add a new variable,
5206         line_continuation.
5207
5208         * redisplay.c (create_text_block): Set dl->line_continuation if
5209         the line continues.
5210         (create_string_text_block): Ditto.
5211         (regenerate_window_incrementally): Use line_continuation instead
5212         of searching continuation glyph.
5213         (add_margin_runes): Call add_glyph_rune.
5214         (add_glyph_rune): Handle margin glyph.
5215
5216 2000-04-20  Martin Buchholz  <martin@xemacs.org>
5217
5218         * filelock.c (fill_in_lock_file_name):
5219         ANSIfy.
5220         Check for IS_ANY_SEP instead of '/'.
5221         (lock_file_1):
5222         Avoid generating gratuitous garbage.  Call user_login_name() directly.
5223         Never check errno without first seeing that system call failed.
5224         (unlock_file): Add GCPRO.
5225         (Flock_buffer): Fix docstring.
5226         (Ffile_locked_p): Fix docstring.  Add GCPRO.
5227
5228 2000-04-19  Martin Buchholz  <martin@xemacs.org>
5229
5230         * sysdep.c (get_pty_max_bytes):
5231         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
5232         strings longer than 252 bytes.
5233
5234         * md5.c: Unconditionally include ANSI header <limits.h>
5235
5236         * glyphs-x.c (convert_EImage_to_XImage):
5237         * lisp-union.h (union Lisp_Object):
5238         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
5239
5240 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5241
5242         * filelock.c (current_lock_owner): Remove unused variable o, p.
5243
5244 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
5245
5246         * callint.c: Remove multiply defined symbol Qlet
5247         (syms_of_callint): ditto.
5248
5249 2000-04-14  Andy Piper  <andy@xemacs.org>
5250
5251         * general.c (syms_of_general): add last-command, this-command, let
5252         and funcall.
5253
5254         * lisp.h: declare various symbols.
5255
5256         * glyphs.h: declare Qwidget_callback_current_channel;
5257
5258         * glyphs-widget.c (syms_of_glyphs_widget): add
5259         Qgui_callback_current_channel.
5260         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
5261
5262         * gui-msw.c (mswindows_handle_gui_wm_command): bind
5263         widget-callback-current-channel when invoking the interactive
5264         arg. Also bind last-command and next-command when invoking the
5265         widget updates.
5266         * gui-x.c (popup_selection_callback): ditto.
5267
5268         * gui.c (get_gui_callback): massage args so that we are always
5269         calling eval. This allows us to add our own variable bindings
5270         outside.
5271
5272         * glyphs-x.c (x_button_instantiate): use
5273         gui_items_to_widget_values since this is GC safe.
5274         (x_progress_gauge_instantiate): ditto.
5275         (x_edit_field_instantiate): ditto.
5276         (x_label_instantiate): ditto.
5277
5278         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
5279         (emacs_Xt_event_widget_focus_out): new function
5280         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
5281         focus.
5282         (emacs_Xt_event_add_widget_actions): new function. add focus
5283         functions as actions.
5284         (init_event_Xt_late): use it.
5285
5286 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
5287
5288         * event-stream.c (Fdispatch_event): Doc fix.
5289
5290 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
5291
5292         * postgresql.c: Remove all references to PQsetenv*.
5293
5294         * postgresql.h: Remove references to PGsetenvHandler object.
5295         * lrecord.h (lrecord_type): Ditto.
5296
5297 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5298
5299         * glyphs-msw.h (struct mswindows_image_instance_data): Added
5300         real_heigh and real_width members, and accessor macros for these.
5301
5302         * glyphs-msw.c (init_image_instance_geometry): New function.
5303         (init_image_instance_from_dibitmap): Use it.
5304         (mswindows_resource_instantiate): Use it.
5305         (init_image_instance_from_xbm_inline): Use it.
5306         (mswindows_initialize_image_instance_mask): Use real bitmap
5307         geometry.
5308         (mswindows_create_resized_bitmap): Ditto.
5309         (mswindows_create_resized_mask): Ditto.
5310
5311         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
5312         and bitmap to their surface size.
5313
5314 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
5315
5316         * process-unix.c (unix_send_process): Guard against process MIA
5317         after Faccept_process_output.
5318
5319 2000-04-11  Ben Wing  <ben@xemacs.org>
5320
5321         * eval.c (unbind_to_hairy): fix brokenness introduced by
5322         nanosecond speed improvements.
5323
5324 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
5325
5326         * sunplay.c (init_device): To play sounds correctly, the device
5327         apparently needs to be initialized at least once by XEmacs.  Make
5328         it so.
5329
5330 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5331
5332         * redisplay.c (add_margin_runes): Add text image glyph
5333           handling.
5334
5335 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5336
5337         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
5338         gcc is newer than 2.5.
5339
5340 2000-04-06  Colin Rafferty  <colin@xemacs.org>
5341
5342         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
5343
5344         * fns.c (size_bit_vector):
5345         * alloc.c (size_vector):
5346         (make_vector_internal):
5347         (make_bit_vector_internal):
5348         (sweep_bit_vectors_1):
5349         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
5350
5351 2000-04-06  Andy Piper  <andy@xemacs.org>
5352
5353         * gmalloc.c (malloc): undo previous change.
5354         (malloc): ditto.
5355         (free): ditto.
5356         (realloc): ditto.
5357
5358 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
5359
5360         * line-number.c (buffer_line_number): Revert to former version.
5361
5362 2000-04-06  Andy Piper  <andy@xemacs.org>
5363
5364         * gmalloc.c (malloc): add error checking.
5365         (malloc): ditto.
5366         (free): ditto.
5367         (realloc): ditto.
5368
5369         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
5370         button_item_to_widget_value arg.
5371
5372         * glyphs-x.c (x_button_instantiate): add extra
5373         button_item_to_widget_value arg.
5374         (x_progress_gauge_instantiate): ditto.
5375         (x_edit_field_instantiate): ditto.
5376         (x_label_instantiate): ditto.
5377
5378         * gui-x.c (gui_items_to_widget_values_1): add extra
5379         button_item_to_widget_value arg.
5380         (button_item_to_widget_value): add extra menu_item_p arg.
5381
5382         * gui-x.h: change signature of button_item_to_widget_value.
5383
5384         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
5385         button_item_to_widget_value arg.
5386
5387 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5388
5389         * buffer.h (struct buffer): auto_save_modified should be long.
5390
5391 2000-04-05  Andy Piper  <andy@xemacs.org>
5392
5393         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
5394         type.
5395         (button_query_geometry): give a little more room so that athena
5396         buttons fit.
5397
5398 2000-04-05  Andy Piper  <andy@xemacs.org>
5399
5400         * faces.c (complex_vars_of_faces): The widget face should inherit
5401         the font of the gui-element face.
5402
5403 2000-04-04  Andy Piper  <andy@xemacs.org>
5404
5405         * glyphs-x.c (x_button_update): new function. unconditionally
5406         update a button's state when the instance is dirty.
5407         (image_instantiator_format_create_glyphs_x): add x_button_update.
5408         (x_widget_instantiate): remove old resize cruft.
5409
5410 2000-04-02  Andy Piper  <andy@xemacs.org>
5411
5412         * frame.c (change_frame_size_1): The introduction of gutters means
5413         that we need to allow 0 as a potential frame dimension.
5414
5415 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5416
5417         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
5418         image glyph if allow_cursor.
5419         (add_hscroll_rune): Don't allow cursor to border glyph.
5420         (create_text_block): Ditto.
5421
5422         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
5423         text not in buffer.
5424         (redisplay_output_layout): Call ensure_face_cachel_complete for
5425         text image glyph.
5426
5427
5428 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5429
5430         * redisplay.c (add_glyph_rune): Adding text image as text runes.
5431
5432         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
5433         not in buffer
5434
5435         * redisplay-tty.c (tty_output_display_block): Delete the routine
5436         for text image glyph
5437         * redisplay-x.c (x_output_display_block): ditto
5438         * redisplay-msw.c (mswindows_output_display_block): ditto
5439
5440 2000-02-02  Mike Alexander  <mta@arbortext.com>
5441
5442         Note: Some of these were committed by accident as part of other
5443         patches.
5444
5445         * regex.c (regex_compile): Avoid compiler warnings.
5446
5447         * ntproc.c (sys_spawnve): Avoid compiler warnings.
5448
5449         * nt.h: Declare term_ntproc correctly.
5450
5451         * nt.c: Remove incorrect declaration of get_home_directory which
5452         is declared correctly in lisp.h.
5453
5454         * keymap.c (get_keyelt): Avoid compiler warnings.
5455         (raw_lookup_key_mapper): Avoid compiler warnings.
5456
5457         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
5458
5459         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
5460
5461         * filemode.c (mode_string): Avoid compiler warnings.
5462
5463         * file-coding.c (Fcoding_system_aliasee): Add return statement to
5464         avoid warning.
5465
5466         * events-mod.h: Undef some things that winuser.h defines differently.
5467
5468         * data.c (Faset): Avoid compiler warnings.
5469
5470         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
5471
5472 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
5473
5474         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
5475         Fall through to simple beep on error.
5476         Replace "extern" by real header file.
5477
5478         * linuxplay.c: Use nativesound.h
5479         (play_sound_data): Return error code. Be less verbose on error.
5480
5481         * sunplay.c: Use nativesound.h
5482         (play_sound_data): Return error code. Be less verbose on error.
5483
5484         * ntplay.c: Use nativesound.h
5485         (play_sound_data): Return fake error code
5486
5487         * sgiplay.c: Use nativesound.h
5488         (play_sound_data): Return error code
5489
5490         * hpplay.c: Use nativesound.h, partially implement
5491         new error code. Break compilation until finished.
5492         (play_sound_data): error code.
5493
5494         * nativesound.h (play_sound_file):
5495           (play_sound_data): Prototype in new header.
5496
5497 2000-03-31  Andy Piper  <andy@xemacs.org>
5498
5499         * glyphs-widget.c: (button_query_geometry): new function. Adjust
5500         for toggle and radio buttons.
5501         (image_instantiator_buttons): use it.
5502
5503 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
5504
5505         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
5506         (x_update_horizontal_scrollbar_callback): Return if no mirror was
5507         found. Scrollbar event probably belonged to some old config.
5508
5509 2000-03-31  Andy Piper  <andy@xemacs.org>
5510
5511         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
5512         than 1.
5513         (initialize_widget_image_instance): default layout to
5514         LAYOUT_HORIZONTAL rather than 0.
5515         (widget_instantiate): reverse the item list at the end rather than
5516         every iteration.
5517         (layout_layout): re-code for the border text at the front of the
5518         item list rather than at the end.
5519         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
5520         provided by the user.
5521         (widget_query_geometry): comment.
5522
5523 2000-03-30  Andy Piper  <andy@xemacs.org>
5524
5525         * glyphs-widget.c (image_instantiator_layout): allow standard
5526         widget keywords in layouts.
5527
5528         * gutter.c (output_gutter): cope with nil gutter contents.
5529
5530         * frame.c (Fset_frame_properties): add gutter docs.
5531
5532 2000-03-29  Andy Piper  <andy@xemacs.org>
5533
5534         * toolbar-msw.c (TBSTYLE_FLAT): add.
5535         (mswindows_output_toolbar): minor fiddling.
5536
5537 2000-03-29  Andy Piper  <andy@xemacs.org>
5538
5539         * gutter.c (output_gutter): force gutter size recalculation if
5540         what we are trying to display won't fit.
5541         (update_gutter_geometry): new function. A per-gutter version of
5542         update_frame_gutter_geometry.
5543         (update_frame_gutter_geometry): use it.
5544         (redraw_exposed_gutter): add extra debugging output.
5545
5546 2000-03-28  Mike Alexander  <mta@arbortext.com>
5547
5548         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
5549         (pdump_file_unmap): Implement it on Windows
5550         (pdump_file_get): Save alocated handles for pdump_file_unmap
5551
5552 2000-03-28  Andy Piper  <andy@xemacs.org>
5553
5554         * gui.c (get_gui_callback): treat Quit specially.
5555
5556 2000-03-27  Andy Piper  <andy@xemacs.org>
5557
5558         * glyphs.c (image_instantiate): be careful to check in the same
5559         way we assigned.
5560
5561 2000-03-27  Didier Verna  <didier@xemacs.org>
5562
5563         * config.h.in: define the proper SMART_INCLUDE macro.
5564         handle renaming of `foo_h_path' to `foo_h_file'.
5565
5566         * database.c: ditto.
5567
5568         * emacs.c: ditto.
5569
5570         * linuxplay.c: ditto.
5571
5572         * terminfo.c: ditto.
5573
5574         * tooltalk.h: ditto.
5575
5576 2000-03-27  Andy Piper  <andy@xemacs.org>
5577
5578         * glyphs-msw.c (mswindows_update_widget): make sure the widget
5579         gets updated whenever the face might have changed.
5580
5581 2000-03-26  Mike Alexander  <mta@arbortext.com>
5582
5583         * dumper.c (pdump_resource_free): Fix the comment.
5584
5585 2000-03-21  Olivier Galibert  <galibert@pobox.com>
5586
5587         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
5588
5589 2000-03-22  Mike Alexander  <mta@arbortext.com>
5590
5591         * dumper.c: Include Windows headers on Windows
5592         (pdump_resource_free): Add a body to the function
5593         (pdump_load): exe_name -> exe_path and add some comments.
5594
5595 2000-03-25  Mike Alexander  <mta@arbortext.com>
5596
5597         * gui.c (copy_gui_item_tree): Return a value in all cases
5598
5599 2000-03-21  Didier Verna  <didier@xemacs.org>
5600
5601         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
5602         lwlib/config.h.in.
5603         (SMART_INCLUDE): new macro.
5604         (POSTGRES_INCLUDE): new macro to include postgresql headers from
5605         the proper location.
5606
5607         * postgresql.c: use it.
5608
5609         * inline.c: ditto.
5610
5611 2000-03-24  Andy Piper  <andy@xemacs.org>
5612
5613         * gutter.c (redraw_exposed_gutters): must be "in display" when we
5614         do this.
5615
5616 2000-03-24  Andy Piper  <andy@xemacs.org>
5617
5618         * redisplay-output.c (compare_runes): use image_instance_changed
5619         to detect changes. Do not depend on glyphs_changed, only depend on
5620         dirtiness.
5621          (redisplay_output_layout): add debug messages.
5622         (compare_runes): ditto.
5623
5624         * glyphs.h: declare new functions.
5625         (struct Lisp_Image_Instance): remove percent and associated
5626         accessors.
5627
5628         * gui.h: declare new copying functions.
5629
5630         * gui.c (copy_gui_item_tree): new function.
5631         (copy_gui_item): new function.
5632         (gui_item_id_hash): revert to standard hash.
5633         (gui_item_hash): ditto.
5634         (gui_item_hash_internal): deleted.
5635         (mark_gui_item): mark value.
5636         (gui_item_add_keyval_pair): add value.
5637         (gui_item_init): ditto.
5638         (gui_add_item_keywords_to_plist): ditto.
5639         (gui_item_equal): ditto.
5640         (syms_of_gui): add Q_value.
5641
5642         * glyphs-x.c (x_progress_gauge_update): use pending items and
5643         value for setting the state.
5644         (x_update_widget): don't set items from pending here.
5645
5646         * glyphs-widget.c (update_widget): update items here.
5647         (progress_gauge_set_property): use items for storing value. Put
5648         new value in pending items.
5649
5650         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
5651         items for new value. Convert percent -> value.
5652         (mswindows_tab_control_update): don't update items here.
5653
5654         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
5655         (update_subwindow): ditto.
5656         (image_instance_changed): new function. Compare hash values and
5657         past and present widget items.
5658         (image_instantiate): We more careful about where we instantiate
5659         things.
5660         (image_instantiate): add error checking.
5661
5662         * gutter.c (syms_of_gutter): use -hook.
5663
5664 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
5665
5666         * console-tty.c (Fset_console_tty_input_coding_system): Use
5667         Qkeyboard.
5668         (Fset_console_tty_output_coding_system): Use Qterminal.
5669         (tty_init_console): Use Qkeyboard and Qterminal.
5670
5671 2000-03-21  Ben Wing  <ben@xemacs.org>
5672
5673         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
5674         From Mike Alexander <mta@arbortext.com>.
5675
5676 2000-03-21  Ben Wing  <ben@xemacs.org>
5677
5678         * event-msw.c (mswindows_need_event): Horrible kludge to fix
5679         process brokenness.  Proper implementation to come.
5680         * callproc.c:
5681         Rename call-process-internal to old-call-process-internal.
5682         New impl. in process.el.
5683
5684 2000-03-21  Martin Buchholz  <martin@xemacs.org>
5685
5686         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
5687
5688 2000-03-20  Andy Piper  <andy@xemacs.org>
5689
5690         * glyphs.c (full_list_hash): make hashes of the same elements in
5691         different orders return different values.
5692
5693 2000-03-20  Martin Buchholz <martin@xemacs.org>
5694
5695         * XEmacs 21.2.32 is released.
5696
5697 2000-03-20  Martin Buchholz  <martin@xemacs.org>
5698
5699         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
5700         (DFC_MALLOC_USE_CONVERTED_DATA):
5701         Add aliasing-safe casts to allow use with char* or unsigned char*
5702         lvalues.
5703
5704         * eldap.c (Fldap_open):
5705         (Fldap_search_basic):
5706         (Fldap_add):
5707         (Fldap_modify):
5708         Make C++-compilable.
5709         Make sure GCPRO'ed variables are initialized.
5710         Use temp variables to avoid repeated calls to Flength.
5711
5712 2000-03-16  Martin Buchholz  <martin@xemacs.org>
5713
5714         * sysfile.h:
5715         Make sure PATH_MAX is always defined.
5716         Include limits.h for PATH_MAX.
5717         Deprecate use of MAXPATHLEN.
5718
5719 2000-03-10  Martin Buchholz  <martin@xemacs.org>
5720
5721         * emacs.c: Add reinit_vars_of_fileio.
5722         * symsinit.h: Add reinit_vars_of_fileio.
5723         * fileio.c (reinit_vars_of_fileio): New.
5724         * fileio.c (Fmake_temp_name):
5725         Initialize temp_name random number from microseconds to make
5726         collisions even less likely.  Initialize always at process startup
5727         time.  (make-temp-name) used to return the same file name twice in
5728         a row when PDUMP.
5729         Random stylistic fiddling.
5730         Comment fixes.
5731
5732 2000-03-20  Andy Piper  <andy@xemacs.org>
5733
5734         * glyphs.c (image_instantiate): allow text glyphs to be
5735         instantiated in the minibuffer window.
5736
5737 2000-03-19  Andy Piper  <andy@xemacs.org>
5738
5739         * glyphs.c (image_instance_hash): be careful about which items we
5740         hash on.
5741
5742         * glyphs-widget.c (tab_control_set_property): record into pending
5743         items rather than the actual items.
5744
5745         * glyphs-x.c (x_update_widget): use pending items to update with.
5746
5747         * glyphs-msw.c (mswindows_tab_control_update): use pending items
5748         to update with.
5749
5750         * glyphs.c (mark_image_instance): mark pending items.
5751
5752         * window.c (Fset_window_configuration): record the buffer.
5753         (Fselect_window): totally revert previous change which breaks many
5754         things.
5755
5756 2000-03-18  Andy Piper  <andy@xemacs.org>
5757
5758         * glyphs-msw.c (mswindows_tab_control_update): force selected
5759         item.
5760
5761         * glyphs.c (image_instantiate): don't allow the minibuffer as a
5762         window domain cache, otherwise we get inconsistencies at
5763         startup. There is something fishy at startup which can lead to the
5764         minibuffer being the selected window when the gutter content is
5765         instantiated.
5766
5767         * gui.c (parse_gui_item_tree_list): add probably unnecessary
5768         gcpros.
5769         (parse_gui_item_tree_children): ditto.
5770         (parse_gui_item_tree_item): ditto.
5771
5772         * glyphs.c (Fupdate_widget_instances): return something.
5773
5774 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
5775
5776         * window.c (Fselect_window): Undo 2000-03-17 change.
5777
5778 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
5779
5780         * postgresql.c (Fpq_setenv): Remove this turkey when linking
5781         against v7.0 libraries.  Insta-coredump city until the postgres
5782         folks fix it.
5783
5784 2000-03-17  Andy Piper  <andy@xemacs.org>
5785
5786         * faces.c (complex_vars_of_faces): don't give the widget face an
5787         inherited background pixmap.
5788
5789         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
5790         selected item.
5791
5792         * event-stream.c (Fdispatch_non_command_events): return something.
5793
5794         * gutter.c (output_gutter): use widget face.
5795         (clear_gutter): ditto.
5796
5797         * NEWS: adjust again.
5798
5799         * window.c (Fselect_window): make sure this runs to completion to
5800         avoid oddities with Fset_window_configuration.
5801         (Fcurrent_window_configuration): in general do not save the
5802         minibuffer as the selected window.
5803
5804         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
5805
5806 2000-03-16  Olivier Galibert  <galibert@pobox.com>
5807
5808         * emacs.c (Frunning_temacs_p): Revert previous patch.
5809         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
5810
5811 2000-03-16  Andy Piper  <andy@xemacs.org>
5812
5813         * glyphs-x.c (x_tab_control_update): if no widget values then
5814         return.
5815
5816         * NEWS: update for new features.
5817
5818         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
5819         synthetic event to the native system.
5820         (reinit_vars_of_event_Xt): set force_event_pending to
5821         emacs_Xt_force_event_pending.
5822
5823         * events.h (struct event_stream): add force_event_pending.
5824
5825         * specifier.c (recompute_one_cached_specifier_in_window): add
5826         comment.
5827
5828         * redisplay.c (redisplay_frame): don't call
5829         update_frame_subwindows. Reset subwindow cachels when
5830         subwindows_changed, removing this was an optimization too far.
5831
5832         * redisplay-output.c (compare_runes): reorganize so that we catch
5833         glyph changes when we want them. Set optimize_output when this
5834         would help layouts.
5835         (redisplay_output_layout): remove frame_really_changed, use
5836         optimize_output instead.
5837
5838         * redisplay-msw.c (mswindows_output_display_block): reset
5839         optimize_output after outputting a glyph.
5840         * redisplay-x.c (x_output_display_block): ditto.
5841         * redisplay-tty.c (tty_output_display_block): ditto.
5842
5843         * gutter.c: (specifier_vars_of_gutter): use new spec changed
5844         functions.
5845         (gutter_specs_changed): do specific gutter positions.
5846         (top_gutter_specs_changed): new function. Only update the
5847         specified gutter specs.
5848         (bottom_gutter_specs_changed): ditto.
5849         (left_gutter_specs_changed): ditto.
5850         (right_gutter_specs_changed): ditto.
5851
5852         * gui.c (gui_item_hash_internal): new function, does a real hash.
5853         (gui_item_id_hash): use it.
5854         (gui_item_hash): hash the eval'ed gui_item.
5855
5856         * gui-x.c (popup_selection_callback): send an eval event to call
5857         Fupdate_widget_instances.
5858
5859         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
5860         to call Fupdate_widget_instances.
5861
5862         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
5863         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
5864
5865         * glyphs.c: (update_frame_subwindows): deleted.
5866         (Fupdate_widget_instances): new function for updating the dirty
5867         state of widgets that might have changed.
5868         (syms_of_glyphs): add Qupdate_widget_instances.
5869         (full_list_hash): hash a list completely.
5870         (image_instance_hash): use it for items and properties.
5871
5872         * frame-msw.c (mswindows_size_frame_internal): remove unused
5873         variable.
5874
5875         * faces.h (struct face_cachel): fix comment.
5876
5877         * event-stream.c (Fdispatch_non_command_events): new
5878         function. Process non-command events, forcing an event cycle
5879         beforehand.
5880         (syms_of_event_stream): declare.
5881         (event_stream_force_event_pending): new function. Force an event
5882         on the native event queue so that an event cycle will occur next
5883         time we check.
5884
5885         * event-msw.c:
5886         (struct ntpipe_shove_stream):
5887         (mswindows_enqueue_dispatch_event):
5888         (mswindows_dequeue_dispatch_event):
5889         (mswindows_cancel_dispatch_event):
5890         (mswindows_pump_outstanding_events):
5891         (mswindows_drain_windows_queue):
5892         (mswindows_handle_paint):
5893         (mswindows_wnd_proc):
5894         (mswindows_key_to_emacs_keysym):
5895         (get_process_input_waitable):
5896         (emacs_mswindows_delete_stream_pair): re-indent file.
5897         (mswindows_need_event): do not process further fds if the windows
5898         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
5899         fixes the 100% cpu problem.
5900         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
5901
5902 2000-03-15  Olivier Galibert  <galibert@pobox.com>
5903
5904         * alloc.h: New.
5905         * dumper.h: New.
5906         * dumper.c: New.
5907
5908         * emacs.c: Moved dump file searching to dumper.c.
5909         (Frunning_temacs_p): Fixed.
5910
5911         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
5912         last_lrecord_type_index_assigned.
5913
5914 2000-02-20  Olivier Galibert  <galibert@pobox.com>
5915
5916         * symsinit.h: Added reinit parameter to init_console_stream
5917         declaration.
5918
5919         * lisp.h: Added file parameter to pdump_load declaration.
5920
5921         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
5922         support.  Added dump file searching.
5923
5924         * config.h.in: Added EMACS_PROGNAME.
5925
5926         * console-stream.c (init_console_stream): Fix reinitialisation
5927         when running from temacs.
5928
5929         * alloc.c (pdump): Add id support.
5930         (pdump_load): Add file parameter and signature/id support.
5931
5932         * Makefile.in.in: Add full pdump support.
5933
5934 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
5935
5936         * postgresql.c: Update documentation to reflect latest code
5937         status.
5938         (print_result): Show tuple counts in printed representation when
5939         appropriate.
5940         (Fpq_put_nbytes): MULE-ize.
5941         (Fpq_get_line_async): Ditto.
5942
5943 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
5944
5945         * postgresql.c (Fpq_lo_import): Fix return value.
5946         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
5947
5948 2000-03-13  Ben Wing  <ben@xemacs.org>
5949
5950         * alloc.c (pdump_load):
5951         Fix compile warning under mswin.
5952
5953 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
5954
5955         * postgresql.c: Mule-ization, bug fixes.
5956         Use PG_CODING to encapsulate coding system name changes.
5957         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
5958         (pg-coding-system): Create.
5959
5960         (Fpq_conn_defaults): Mule-ize.
5961         (Fpq_connectdb): Mule-ize & bug fix.
5962         (Fpq_connect_start): Mule-ize.
5963         (Fpq_set_client_encoding): Mule-ize.
5964         (Fpq_finish): Document `DEAD' connection status.
5965         (Fpq_clear): Ditto.
5966         (Fpq_pgconn): Mule-ize.
5967         (Fpq_exec): Mule-ize & bug fix.
5968         (Fpq_send_query): Ditto.
5969         (Fpq_get_result): Ditto.
5970         (Fpq_res_status): Mule-ize.
5971         (Fpq_result_error_message): Mule-ize.
5972         (Fpq_ntuples): fix comments.
5973         (Fpq_fname): Mule-ize.
5974         (Fpq_fnumber): Mule-ize.
5975         (Fpq_ftype): fix comments.
5976         (Fpq_get_value): Mule-ize.
5977         (Fpq_cmd_status): Ditto.
5978         (Fpq_cmd_tuples): Ditto.
5979         (Fpq_oid_value): Ditto.
5980         (Fpq_notifies): Ditto.
5981         (Fpq_lo_import): Ditto.
5982         (Fpq_lo_export): Ditto.
5983         (Fpq_get_line): Ditto.
5984         (Fpq_put_line): Mule-ize and bug fix.
5985         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
5986
5987 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
5988
5989         * postgresql.c (vars_of_postgresql): Mule-ize.
5990         (Fpq_conn_defaults): Ditto.
5991
5992 2000-03-12  Ben Wing  <ben@xemacs.org>
5993
5994         * alloc.c (Fmake_byte_code):
5995         * alloc.c (debug_string_purity_print):
5996         * alloc.c (pdump_backtrace):
5997         * alloc.c (pdump_get_indirect_count):
5998         * alloc.c (pdump_register_sub):
5999         * alloc.c (pdump_register_object):
6000         * alloc.c (pdump_register_struct):
6001         * alloc.c (pdump_dump_data):
6002         * alloc.c (pdump_reloc_one):
6003         Minor cleanups.
6004
6005         * console-msw.c:
6006         * console-msw.c (GetConsoleHwnd):
6007         * console-msw.c (msw_hide_console):
6008         * console-msw.c (msw_show_console):
6009         * console-msw.c (msw_ensure_console_buffered):
6010         * console-msw.c (msw_output_console_string):
6011         * console-msw.c (console_type_create_mswindows):
6012
6013         a) Added functions to manipulate the console window for use with
6014         shell support.
6015
6016         b) Added support for writing text to the console, which is now
6017         used under Windows when xemacs is not being run non-interactively,
6018         to write text that would otherwise be destined for stdout because
6019         under these circumstances, text written to stdout tends to
6020         disappear and not be seen.
6021
6022         * console-msw.h:
6023         * event-Xt.c:
6024         * event-Xt.c (x_event_to_emacs_event):
6025         * event-Xt.c (describe_event_window):
6026         * events-mod.h (XEMACS_MOD_CONTROL):
6027         * events.c:
6028         * events.c (Fmake_event):
6029         * events.c (character_to_event):
6030         * events.c (event_to_character):
6031         * events.c (format_event_object):
6032         * events.c (Fevent_modifiers):
6033         * events.h:
6034         * events.h (struct key_data):
6035         * events.h (struct button_data):
6036         * events.h (struct misc_user_data):
6037         * frame-x.c (Fcde_start_drag_internal):
6038         * frame-x.c (Foffix_start_drag_internal):
6039         * gpmevent.c (Freceive_gpm_event):
6040         * keymap.c:
6041         * keymap.c (bucky_sym_to_bucky_bit):
6042         * keymap.c (control_meta_superify):
6043         * keymap.c (make_key_description):
6044         * keymap.c (keymap_lookup_directly):
6045         * keymap.c (create_bucky_submap):
6046         * keymap.c (keymap_store):
6047         * keymap.c (define_key_check_and_coerce_keysym):
6048         * keymap.c (define_key_parser):
6049         * keymap.c (define_key_alternate_name):
6050         * keymap.c (Fdefine_key):
6051         * keymap.c (raw_lookup_key_mapper):
6052         * keymap.c (struct map_keymap_unsorted_closure):
6053         * keymap.c (map_keymap_unsorted_mapper):
6054         * keymap.c (map_keymap_sort_predicate):
6055         * keymap.c (map_keymap_sorted):
6056         * keymap.c (accessible_keymaps_mapper_1):
6057         * keymap.c (where_is_recursive_mapper):
6058         * keymap.c (describe_map_mapper):
6059         * keymap.c (describe_map_sort_predicate):
6060         * keymap.c (describe_map):
6061         * keymap.c (complex_vars_of_keymap):
6062         And a number of other files, the key modifier preprocessor
6063         constants that xemacs uses have names that conflict with constants
6064         defined under MS Windows for other purposes, so they were renamed
6065         to begin with the prefix XEMACS_. The variables that hold such
6066         modifiers were changed to consistently be of type int to fix
6067         various compile warnings.
6068
6069         * console.c (complex_vars_of_console):
6070         * device.c:
6071         * device-msw.c:
6072         * device-msw.c (mswindows_finish_init_device):
6073         * device-msw.c (msw_get_workspace_coords):
6074         * device-msw.c (mswindows_device_system_metrics):
6075         and various other files, added support for a new
6076         device property called offset-workspace which returns the position
6077         of the upper left corner of the workspace area and goes along with
6078         the existing size-workspace property.
6079
6080         * dialog-msw.c:
6081         * dialog-msw.c (push_bufbyte_string_as_unicode):
6082         * dialog-msw.c (mswindows_popup_dialog_box):
6083         Added support for XEmacs-style accelerator specifications in
6084         button text.  Note: I didn't add support for this under X Windows,
6085         and somebody needs to do this.
6086
6087         * dialog.c:
6088         * dialog.c (Fpopup_dialog_box):
6089         Documented the support for accelerators that was just mentioned.
6090
6091         editfns.c (get_home_directory): Changed behavior under Windows
6092         when HOME not defined; former behavior was irretrievably broken.
6093
6094         * emacs.c:
6095         * emacs.c (main_1):
6096         * emacs.c (main):
6097         * minibuf.c (clear_echo_area_internal):
6098         * minibuf.c (echo_area_append):
6099         * print.c:
6100         * print.c (std_handle_out_external):
6101         * print.c (std_handle_out_va):
6102         * print.c (fatal):
6103         * print.c (write_string_to_stdio_stream):
6104         * print.c (output_string):
6105         * print.c (debug_print):
6106         * print.c (debug_backtrace):
6107         * print.c (debug_short_backtrace):
6108         Cleaned up the code that prints text to stdout so that this can be
6109         changed to output into a console window instead under MS Windows,
6110         as described above.
6111
6112         * eval.c:
6113         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
6114         * eval.c (internal_catch):
6115         * eval.c (unwind_to_catch):
6116         * eval.c (throw_or_bomb_out):
6117         * eval.c (condition_case_1):
6118         * eval.c (signal_1):
6119         * eval.c (check_error_state_sanity):
6120         * eval.c (call_with_suspended_errors_1):
6121         * eval.c (call_with_suspended_errors):
6122         * eval.c (reinit_vars_of_eval):
6123         Added code to catch throw loops and check for a pesky bug that may
6124         be gone now.
6125
6126         * event-msw.c:
6127         * event-msw.c (key_needs_default_processing_p):
6128         * event-msw.c (mswindows_wnd_proc):
6129         * event-msw.c (mswindows_modifier_state):
6130         * event-msw.c (emacs_mswindows_quit_p):
6131         * event-msw.c (vars_of_event_mswindows):
6132         a) Added support for using the alt key to select menu items as is
6133         standard under MS Windows.  This is controlled using the variable
6134         menu-accelerator-enabled, just like under X Windows.  There is an
6135         option on the options menu to turn this support on.  I really
6136         think that it should be on by default under Windows, but I'm not
6137         going to make this change yet.
6138
6139         b)  Added support for dynamic display size changes under Windows.
6140
6141         * event-stream.c:
6142         * event-stream.c (maybe_echo_keys):
6143         * event-stream.c (Fnext_event):
6144         * event-stream.c (command_builder_find_leaf):
6145         * event-stream.c (lookup_command_event):
6146         * event-stream.c (execute_command_event):
6147         * event-stream.c (pre_command_hook):
6148         * event-stream.c (post_command_hook):
6149         * event-stream.c (syms_of_event_stream):
6150         * event-stream.c (vars_of_event_stream):
6151         * event-stream.c (complex_vars_of_event_stream):
6152         * events.h (struct command_builder):
6153
6154         a) Tried to clean up a little bit the horribly written x-specific
6155         accelerator code that crept into this file.  I moved this code
6156         into menubar-x.c where it belongs. I also needed to move the
6157         command builder structure into the file events.h because it is
6158         accessed directly by this accelerator code.  What I didn't do, but
6159         which should be done at some point, is to properly abstract this
6160         code using device methods instead of the kludgy way that it
6161         currently hooks into the event code.
6162
6163         b) Added the lisp variables this-command-properties and
6164         last-command- properties, which should be used to synchronize two
6165         adjacent commands in preference to playing games with the variable
6166         this-command, which is typically what happens.
6167
6168         c) Added some slightly nasty code to hook into the lisp support
6169         for shifted- motion-key selection.  This is actually necessary for
6170         somewhat complicated reasons, which are described in
6171         simple.el. (NB: I think the proper thing would be to have the code
6172         that calls the pre and post command hooks also call out to generic
6173         lisp functions in simple.el, where all built-in stuff could be
6174         added.  I will think about this more.)
6175
6176         * event-unixoid.c (poll_fds_for_input):
6177         * lread.c (readchar):
6178         * redisplay-tty.c (tty_clear_frame):
6179         * redisplay-x.c (x_get_gc):
6180         * signal.c (interrupt_signal):
6181         And a whole bunch of other files: fixed up places that printed
6182         directly to stderr to instead call the function stderr_out so that
6183         the changes I made under Windows work correctly.
6184
6185         * filemode.c (mode_string):
6186         Warning fixes.
6187
6188         * frame-msw.c:
6189         * frame-msw.c (mswindows_size_frame_internal):
6190         Fixed the computation of frame size and position to keep the frame
6191         within the workspace area, rather than within the physical
6192         dimensions of the screen, so that the frame doesn't overlap window
6193         manager decorations, such as the start menu and toolbar, typically
6194         at the bottom of the screen.
6195
6196         * frame.c (vars_of_frame):
6197         Changed the default frame title format under MS Windows to consist
6198         of buffername-XEmacs, which is standard under MS Windows.  I think
6199         it might be a good idea to change this everywhere because I think
6200         it is superior to the current frame title format, but this is the
6201         kind of change that is likely to cause some people to get annoyed,
6202         so I'm not making it.
6203
6204         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
6205
6206         * gui-msw.c (mswindows_handle_gui_wm_command):
6207         Fixed compile warnings.
6208
6209         * gui-x.c:
6210         * gui-x.c (strdup_and_add_accel):
6211         * gui-x.c (button_item_to_widget_value):
6212         * gui-x.h:
6213         Added code to automatically put an accelerator onto the beginning
6214         of menu items that don't have one as is now the standard, and is
6215         described more later.  Also fixed things so that the menu item
6216         name can be an evaluated expression, again a new standard.
6217
6218         * gui.c:
6219         * gui.c (gui_item_add_keyval_pair):
6220         * gui.c (make_gui_item_from_keywords_internal):
6221         * gui.c (gui_add_item_keywords_to_plist):
6222         * gui.c (gui_item_accelerator):
6223         * gui.c (gui_name_accelerator):
6224         * gui.c (gui_item_included_p):
6225         * gui.c (gui_item_display_flush_left):
6226         * gui.c (gui_item_display_flush_right):
6227         * gui.c (parse_gui_item_tree_item):
6228         * gui.c (parse_gui_item_tree_children):
6229         * gui.c (parse_gui_item_tree_list):
6230         Mule-ized.  Cleanup.  GCPRO addition.
6231
6232         * line-number.c (buffer_line_number):
6233         * lisp.h:
6234         * lisp.h (EMACS_INT_MAX):
6235         Added the manifest constant EMACS_INT_MIN corresponding to the
6236         existing constant EMACS_INT_MAX.  This is partially to fix compile
6237         warnings under Windows, and partly for cleanliness.
6238
6239         * menubar-msw.c:
6240         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
6241         * menubar-msw.c (msw_translate_menu_or_dialog_item):
6242         * menubar-msw.c (displayable_menu_item):
6243         * menubar-msw.c (populate_menu_add_item):
6244         * menubar-msw.c (populate_or_checksum_helper):
6245         * menubar-msw.c (populate_menu):
6246         * menubar-msw.c (update_frame_menubar_maybe):
6247         * menubar-msw.c (prune_menubar):
6248         * menubar-msw.c (msw_char_is_accelerator):
6249         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
6250         * menubar-msw.c (mswindows_handle_wm_command):
6251         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
6252         * menubar-msw.c (mswindows_handle_wm_initmenu):
6253         * menubar-msw.c (mswindows_update_frame_menubars):
6254         * menubar-msw.c (mswindows_free_frame_menubars):
6255         * menubar-msw.c (mswindows_popup_menu):
6256         Fixed a bug in handling accelerators where an extra character
6257         would be displayed in the menu item.  Also generalized the
6258         function displayable_menu_item because it is now used by the
6259         dialog box code as well.  And finally, added code in the functions
6260         that create the menubar to extract a list of accelerators for the
6261         top level menubar, which is used in the event code to determine
6262         whether a particular alt-key combination should be used to invoke
6263         a menu item, or should be passed through to access the standard
6264         XEmacs keymap binding for this key combination.
6265
6266         Much needed GCPROing.
6267
6268         * menubar-x.c:
6269         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6270         * menubar-x.c (menu_item_descriptor_to_widget_value):
6271         * menubar-x.c (restore_in_menu_callback):
6272         * menubar-x.c (x_popup_menu):
6273         * menubar-x.c (menu_move_up):
6274         * menubar-x.c (menu_move_down):
6275         * menubar-x.c (menu_move_left):
6276         * menubar-x.c (menu_move_right):
6277         * menubar-x.c (menu_select_item):
6278         * menubar-x.c (command_builder_operate_menu_accelerator):
6279         * menubar-x.c (menu_accelerator_junk_on_error):
6280         * menubar-x.c (command_builder_find_menu_accelerator):
6281         * menubar-x.c (Faccelerate_menu):
6282         * menubar.h:
6283         Moved a whole bunch of code here that was previously in
6284         event-stream.c as described above.  There is also code connected
6285         to the new standard of adding an accelerator to the beginning of
6286         menu items that don't have one as described above and below.
6287
6288         * menubar.c:
6289         * menubar.c (menu_parse_submenu_keywords):
6290         * menubar.c (Fmenu_find_real_submenu):
6291         * menubar.c (Fnormalize_menu_item_name):
6292         * menubar.c (syms_of_menubar):
6293         * menubar.c (vars_of_menubar):
6294         * menubar.c (complex_vars_of_menubar):
6295
6296         a) Cleaned up a bunch of documentation and improved it.
6297
6298         b) XEmacs now automatically adds an accelerator onto the beginning
6299         of any menu items that don't have one.  I did this because there
6300         will inevitably be some menu items on the main menubar that don't
6301         have accelerators on them because the package that adds that
6302         particular menu item hasn't yet been fixed up to have accelerators
6303         in them and it looked rather strange to have some items with and
6304         some items without accelerators, especially since even in items
6305         without accelerators, you can, at least under windows, still
6306         access the item through an accelerator corresponding to the first
6307         character in the item's name.  If people don't like this behavior,
6308         I can add a variable to turn it off optionally, but I'm not sure
6309         this is a good idea because we really do need to have accelerators
6310         on all of the menu items, and if a package doesn't like the
6311         accelerators being put on the first character, then it should put
6312         the accelerators where they belong.
6313
6314         c) I made a behavior change, which is that the descriptor that
6315         specifies the text of the menu item, which formerly was just a
6316         string, can now also be an evaluated expression.  This makes this
6317         descriptor parallel with all of the others, which could also be
6318         evaluated expressions.  This also obviates the need for the
6319         keyword :label, which was previously listed in the documentation
6320         as unimplemented, and which was for the same purpose.
6321
6322         d) GCPROing.
6323
6324         * ntproc.c:
6325         * ntproc.c (new_child):
6326         * ntproc.c (sys_spawnve):
6327         * ntproc.c (find_child_console):
6328         * ntproc.c (sys_kill):
6329         Fixed compile warnings.  By the way, this file should really go
6330         away entirely, and this will happen as soon as Kirill makes his
6331         final round of process cleanups, which affect the function
6332         call-process.
6333
6334         * process-nt.c:
6335         * process-nt.c (struct nt_process_data):
6336         * process-nt.c (find_process_from_pid):
6337         * process-nt.c (send_signal_the_nt_way):
6338         * process-nt.c (enable_child_signals):
6339         * process-nt.c (find_child_console):
6340         * process-nt.c (send_signal_the_95_way):
6341         * process-nt.c (nt_finalize_process_data):
6342         * process-nt.c (ensure_console_window_exists):
6343         * process-nt.c (nt_create_process):
6344         * process-nt.c (nt_kill_child_process):
6345         * process-nt.c (nt_kill_process_by_pid):
6346         * process-nt.c (nt_open_network_stream):
6347         * process-nt.c (vars_of_process_nt):
6348         Copied over code from Emacs 20.5 to correctly send signals to sub-
6349         processes under Windows 95.  Also added code to automatically
6350         create and hide console window when a sub-process is created under
6351         Windows 95, which obviates the need for the separate runemacs.exe
6352         executable, and finally implemented some variables that were
6353         implemented in Emacs 20.5, but previously not in XEmacs.  These
6354         include mswindows- start-process-share-console and
6355         mswindows-start-process-inherit-error-mode. (Both of these only
6356         apply to Windows 95.)
6357
6358         * regex.c (regex_compile): Fixed a compile warning.
6359
6360         * select-msw.c:
6361         * select-msw.c (mswindows_own_selection):
6362         * select-msw.c (mswindows_get_foreign_selection):
6363         * select-msw.c (mswindows_disown_selection):
6364         * select-msw.c (console_type_create_select_mswindows):
6365         * select-msw.c (syms_of_select_mswindows):
6366         Cleaned up the file and implemented the device method
6367         selection_exists_p, which had accidentally been left out.  Also
6368         removed four lisp functions that were remnants from before the
6369         time when the selection code was properly device abstracted.
6370         These functions are no longer needed because there are generic
6371         equivalents, and because they were added recently and don't exist
6372         in FSF Emacs, I don't think there's any problem with just deleting
6373         them.
6374
6375         * sysdep.c:
6376         * sysdep.c (sys_subshell):
6377         Fixed a compile warning, although in this case there's probably
6378         something wrong with this code, and it ought to be looked into
6379         more thoroughly by somebody who understands it.
6380
6381         * window.c:
6382         * window.c (Fwindow_text_area_height):
6383         * window.c (Fwindow_width):
6384         * window.c (Fwindow_full_width):
6385         * window.c (Fwindow_pixel_width):
6386         * window.c (debug_print_window):
6387         * window.c (syms_of_window):
6388         Added functions window-text-area-height and window-full-width,
6389         which are functions for returning various width and height
6390         characteristics of a window. (One of these functions is necessary
6391         for making the file dialog box work correctly, and the other one
6392         was added for completeness.)  Also added a table to the
6393         documentation for window-height which describes the entire scheme
6394         for accessing width and height characteristics of a window.
6395
6396 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6397
6398         * nt.c (fstat): Added a comment for another problem with
6399         non-encapsulated [f]stat(), reported by Adrian Aichner
6400         <aichner@ecf.teradyne.com>.
6401
6402 2000-03-11  Andy Piper  <andy@xemacs.org>
6403
6404         * window.c (make_dummy_parent): initialize subwindow instance
6405         cache.
6406         (Fset_window_configuration): zero extent_modiff.
6407
6408 2000-03-10  Andy Piper  <andy@xemacs.org>
6409
6410         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
6411         more changes can be triggered.
6412         (Fredisplay_frame): ditto.
6413         (Fredraw_device): ditto.
6414         (Fredisplay_device): ditto.
6415         (redisplay_frame): make non-static.
6416         (redisplay_frame): call update_frame_gutter_geometry outside of
6417         display proper.
6418
6419         * gutter.h: declare update_frame_gutter_geometry.
6420
6421         * redisplay.h: declare redisplay_frame.
6422
6423         * gutter.c (update_frame_gutter_geometry): move geometry changes
6424         in update_frame_gutters here. Geometry changes can only occur
6425         outside of redisplay.
6426         (update_frame_gutters): remove geometry change code.
6427         (Fredisplay_gutter_area): make sure that we are in display when we
6428         update and that we have flushed any size changes.
6429
6430 2000-03-11  Andy Piper  <andy@xemacs.org>
6431
6432         * alloc.c (pdump_dump_data): remove i & count shadows.
6433
6434 2000-02-27  Mike Alexander  <mta@arbortext.com>
6435
6436         * sysdep.h: Declare pdump_read_file
6437
6438         * sysdep.c (pdump_read_file): New function
6439
6440         * alloc.c (pdump_load): Call pdump_read_file to get the portable
6441         dump data
6442
6443 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
6444
6445         * lrecord.h: add `lrecord_type_pgsetenv'.
6446
6447 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
6448
6449         * symsinit.h: declare (vars|syms)_of* functions.
6450         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
6451
6452 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
6453
6454         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
6455
6456         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
6457         GCCs.
6458
6459         * emacs.c (main_1): Call postgres initialization code.
6460
6461         * postgresql.h: New file.  PostgreSQL RDBMS support.
6462         * postgresql.c: New file.
6463
6464 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6465
6466         * redisplay-output.c (redisplay_output_display_block): Disable
6467         redundant code.
6468
6469 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6470
6471         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
6472         (Fcanna_henkan_next): Ditto.
6473         (Fcanna_bunsetu_henkou): Ditto.
6474         (Fcanna_henkan_kakutei): Ditto.
6475         (Fcanna_henkan_end): Ditto.
6476         (Fcanna_henkan_quit): Ditto.
6477         (Fcanna_henkan_next): Set retun value correctly.
6478         (c2mu): Use unsigned char instead of signed char.
6479
6480 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6481
6482         * emacs.c (main_1): Always call syms_of_gui.
6483         * inline.c: include gui.h
6484
6485 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6486
6487         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
6488         converted to Lisp_Object.
6489         (Qtop_bottom): New variable.
6490         (syms_of_redisplay): Initialize it.
6491         * redisplay.h (Vvisible_bell): Ditto.
6492         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
6493         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
6494         only flash top and bottom.
6495
6496 2000-03-08  Andy Piper  <andy@xemacs.org>
6497
6498         * buffer.c (Frename_buffer): record new buffer name the right way.
6499
6500 2000-03-08  Andy Piper  <andy@xemacs.org>
6501
6502         * glyphs.c (update_subwindow): increase hash depth so that widget
6503         items get picked up properly.
6504
6505         * redisplay-output.c (compare_runes): increase hash depth so that
6506         widget items get picked up properly.
6507
6508 2000-03-08  Andy Piper  <andy@xemacs.org>
6509
6510         * gutter.c (output_gutter): add some debug.
6511
6512         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
6513         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
6514         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
6515
6516         * redisplay-output.c (compare_runes): use display_hash to
6517         determine if glyphs really are not the same.
6518
6519         * glyphs.c (update_subwindow): check display_hash to see if
6520         anything really needs to be updated. If not then do
6521         nothing. Record the display_hash after updating.
6522         (image_instance_equal): compare the image_instance face also.
6523
6524 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
6525
6526         * redisplay.h: Fix comment style.
6527
6528 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6529
6530         * consle-msw.h (struct mswindows_frame):
6531         Added new member paint_pending to indicate whether a WM_PAINT
6532         magic event has been queued for this frame.
6533
6534         * event-msw.c (mswindows_drain_windows_queue):
6535         Don't queue a WM_PAINT magic event if one is already queued.
6536         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
6537
6538         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
6539
6540 2000-03-07  Didier Verna  <didier@xemacs.org>
6541
6542         * dired.c: #include `regex.h' after `sysfile.h'.
6543
6544 2000-03-06  Martin Buchholz  <martin@xemacs.org>
6545
6546         * sound.c (init_nas_sound): Fix compiler warning.
6547
6548         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
6549         (FREE_STRUCT_P):
6550         (MARK_STRUCT_AS_FREE):
6551         (MARK_STRUCT_AS_NOT_FREE):
6552         Make `gcc -fstrict-aliasing' work properly.
6553
6554 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6555
6556         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
6557         (mswindows_delete_device): Call CoUnnitialize().
6558
6559         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
6560
6561 2000-02-25    <CraigL@DyCon.com>
6562
6563         * process-nt.c: MinGW now has <shellapi.h>, but still needs
6564         <errno.h>.
6565
6566         * sysdep.c: This extern declaration for environ prevents MinGW
6567         from finding the variable in CRTDLL.DLL.
6568
6569         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
6570         windows headers.
6571         (SHGFI_EXETYPE): ..
6572         (WM_MOUSEWHEEL): ..
6573         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
6574         definitions.
6575         (MMRESULT): Removed, now defined in cygwin's windows headers.
6576         (TIMECAPS): ..
6577         (uid_t,gid_t,pid_t,ssize_t): ..
6578         (_timeb): Removed, MinGW defines both _timeb and timeb.
6579         (HAVE_H_ERRNO): Added.
6580         (HAVE_TZNAME): Added, configure is not detecting this.
6581
6582 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
6583
6584         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
6585         * syntax.c (syntax_match): Use it.
6586
6587         * cmds.c: Import auto-fill-chars from FSF Emacs.
6588         (Vauto_fill_chars): New variables.
6589         (internal_self_insert): Check Vauto_fill_chars.
6590         (vars_of_cmds):
6591         Declare auto-fill-chars as a Lisp variable and initialize it.
6592
6593 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6594
6595         * fileio.c (Fmake_symbolic_link):
6596         (Ffile_symlink_p):
6597         Run handlers even if local machine doesn't have symlinks.
6598
6599 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6600
6601         * event-msw.c (mswindows_drain_windows_queue):
6602         Don't generate paint magic events for non-XEmacs frames.
6603
6604 2000-03-05  Andy Piper  <andy@xemacs.org>
6605
6606         * redisplay.c (redisplay_frame): generate_displayable_area and
6607         friends assumes that we are not in GC, we therefore have to make
6608         sure that this doesn't happen.
6609
6610         * gutter.c (calculate_gutter_size): generate_displayable_area
6611         assumes that we are not in GC, we therefore have to make sure that
6612         this doesn't happen.
6613
6614 2000-03-05  Martin Buchholz  <martin@xemacs.org>
6615
6616         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
6617
6618 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
6619
6620         * redisplay.c (regenerate_window): Make sure we set a sane value
6621         for end_pos even if we jump out of the loop.
6622         (regenerate_window): Answer Ben's question :-).
6623         (start_end_of_last_line): Add may_error argument.
6624         (start_of_last_line):
6625         (end_of_last_line): Pass may_error = 0.
6626         (end_of_last_line_may_error): New function.
6627         (pixel_to_glyph_translation): Use it, so we don't crash in
6628         event_to_glyph.
6629
6630 2000-03-04  Andy Piper  <andy@xemacs.org>
6631
6632         * window.h (struct window): add gutter_extent_modiff.
6633
6634         * window.c (allocate_window): zero out gutter_extent_modiff.
6635
6636         * redisplay.h: declare sync_display_line_structs.
6637
6638         * redisplay.c (add_glyph_rune): add a better comment.
6639
6640         * redisplay-output.c (sync_display_line_structs): made non-static.
6641         (compare_runes): remove unneccesary glyph cachel access.
6642
6643         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
6644
6645         * gutter.c (output_gutter): don't output the gutter if extent
6646         changes only involve extents in buffers. use 4 sets of display
6647         lines.
6648         (gutter_extent_signal_changed_region_maybe): new function. Mark
6649         extents in gutters as changed.
6650         (update_frame_gutters): use 4 sets of display lines.
6651         (reset_gutter_display_lines): ditto.
6652         (free_frame_gutters): ditto.
6653         (redraw_exposed_gutter): force output of gutters.
6654
6655         * frame.h (struct frame): add 4 sets of gutter display lines.
6656
6657         * extents.c: (extent_changed_for_redisplay): signal changes to
6658         extents in strings in the gutter as well as extents in buffers.
6659
6660 2000-03-02  Andy Piper  <andy@xemacs.org>
6661
6662         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
6663
6664         * frame.c (Fmake_frame): make sure the gutters get initialized
6665         after the frame is visible.
6666         (set_frame_selected_window): re-arrange compilation macros a
6667         little.
6668         (change_frame_size_1): mark gutters changed.
6669
6670         * device.c (Fset_device_class): mark gutters changed.
6671
6672 2000-03-01  Andy Piper  <andy@xemacs.org>
6673
6674         * window.c (window_top_frame_gutter_height): deleted.
6675         (window_bottom_frame_gutter_height): ditto.
6676         (window_left_frame_gutter_height): ditto.
6677         (window_right_frame_gutter_height): ditto.
6678         (window_top_gutter_height): don't use them.
6679         (window_bottom_gutter_height): ditto.
6680         (window_left_gutter_width): ditto.
6681         (window_right_gutter_width): ditto.
6682         (Fsplit_window): ditto.
6683         (Fwindow_pixel_edges): don't use border dimensions here.
6684
6685         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
6686         (update_scrollbar_instance): ditto.
6687
6688         * redisplay.c (generate_modeline): don't take gutters into account.
6689         (generate_modeline): ditto.
6690         (redisplay_frame): small gutter display optimization.
6691
6692         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
6693
6694         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
6695         gutters into account.
6696
6697         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
6698         for window position and type.
6699
6700         * gutter.c (get_gutter_coords): fix for frame gutters.
6701         (update_frame_gutters): update frame geometry if the gutters have
6702         changed.
6703         (init_frame_gutters): record current gutter geometries.
6704
6705         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
6706         var.
6707         (mswindows_widget_instantiate): ditto.
6708
6709         * frame.h (struct frame): add current_gutter_bounds.
6710
6711         * frame.c (change_frame_size_1): position window and minibuffer
6712         appropriately taking into account the frame gutters.
6713
6714         * frame-x.c: (x_initialize_frame_size): take into account the
6715         frame gutters.
6716
6717 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
6718
6719         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
6720
6721 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
6722
6723         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
6724
6725 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
6726
6727         * file-coding.c (reset_decoding_stream): Clear previous
6728         detection state when autodetect.
6729
6730 2000-02-29  Didier Verna  <didier@xemacs.org>
6731
6732         * extents.c (set_extent_glyph_1): don't require extents to be
6733         attached.
6734
6735 2000-02-27  Andy Piper  <andy@xemacs.org>
6736
6737         * gutter.c (Fset_default_gutter_position): don't default left and
6738         right gutter visibility to t.
6739         (Fset_default_gutter_position): run
6740         default-gutter-position-changed-hook.
6741         (syms_of_gutter): add default-gutter-position-changed-hook.
6742
6743 2000-02-26  Andy Piper  <andy@xemacs.org>
6744
6745         * specifier.c (Fmake_specifier): add gutter references.
6746
6747         * gutter.h (RAW_WINDOW_GUTTER): new macro.
6748
6749         * lisp.h: declare Fvalid_plist_p.
6750
6751         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
6752         as changed.
6753         (default_gutter_visible_p_changed_in_window): invalidate gutter as
6754         well as its visibility so that it gets reconstructed.
6755         (construct_window_gutter_spec): new function. Construct a string
6756         to be displayed in the gutter from a plist of strings. Take care
6757         to only use elements that are declared as visible.
6758         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
6759         WINDOW_GUTTER.
6760         (gutter_validate): allow plists of strings in the specifier.
6761         (gutter_specs_changed): construct the real_gutter from the gutter
6762         specs using construct_window_gutter_spec.
6763         (gutter_visible_validate): gutter-visible is a new specifier type.
6764         (Fgutter_visible_specifier_p): new function for the new specifier.
6765         (syms_of_gutter): declare gutter-visible and
6766         Fgutter_visible_specifier_p.
6767         (specifier_type_create_gutter): intitalize new gutter-visible
6768         specifier.
6769         (reinit_specifier_type_create_gutter): ditto.
6770         (specifier_vars_of_gutter): use new specifier type for gutter
6771         visibility.
6772         (init_frame_gutters): construct real_gutter correctly.
6773         (Fgutter_specifier_p): beef up documentation.
6774         (Fgutter_size_specifier_p): ditto.
6775
6776         * winslots.h: add real_gutter slots.
6777
6778 2000-02-25  Andy Piper  <andy@xemacs.org>
6779
6780         * device-msw.c: Be kind to older cygwin versions. From Raymond
6781         Toy <toy@rtp.ericsson.se>.
6782
6783         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
6784         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
6785
6786 2000-02-25  Martin Buchholz  <martin@xemacs.org>
6787
6788         * elhash.c (MARK_OBJ): Practice macro hygiene.
6789
6790 2000-02-24  Martin Buchholz  <martin@xemacs.org>
6791
6792         * miscplay.c: s/__inline__/inline/g;
6793         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
6794         (get_device_compdc): INLINE ==> static inline
6795         * *.[ch]: Change INLINE to INLINE_HEADER globally.
6796         find -name '*.h' | \
6797         xargs global-replace \
6798         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
6799
6800 2000-02-25  Andy Piper  <andy@xemacs.org>
6801
6802         * window.c (window_top_frame_gutter_height): new function.
6803         (window_top_window_gutter_height): ditto.
6804         (window_top_gutter_height): use them.
6805         (window_bottom_frame_gutter_height): new function.
6806         (window_bottom_window_gutter_height): ditto.
6807         (window_bottom_gutter_height): use them.
6808         (window_left_window_gutter_width): new function.
6809         (window_left_frame_gutter_width): ditto.
6810         (window_left_gutter_width): use them.
6811         (window_right_window_gutter_width): new function.
6812         (window_right_frame_gutter_width): ditto.
6813         (window_right_gutter_width): use them.
6814         (window_pixel_height): new function. calulate window pixel height
6815         with frame gutter involvement.
6816         (Fsplit_window): calculate new sizes taking frame gutters into
6817         account.
6818         (window_char_height_to_pixel_height): don't include frame gutters.
6819         (window_char_height): use window_pixel_height.
6820         (window_pixheight): rename from window_pixel_height.
6821         (change_window_height): use it.
6822         (window_pixel_height_to_char_height): don't include frame gutters.
6823         (window_char_width_to_pixel_width): ditto.
6824
6825 2000-02-25  Andy Piper  <andy@xemacs.org>
6826
6827         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
6828         if it is.
6829
6830 2000-02-24  Martin Buchholz  <martin@xemacs.org>
6831
6832         * alloc.c (staticpro):
6833         (staticpro_nodump):
6834         (dumpstruct):
6835         (dumpopaque):
6836         (pdump_wire):
6837         (pdump_wire_list):
6838         (compact_string_chars):
6839         (pdump_dump_wired):
6840         Convert:  if (foo) abort();  ==>  assert (! foo);
6841
6842         * eldap.c (Fldap_search_basic):
6843         (Fldap_add):
6844         (Fldap_modify):
6845         (Fldap_delete):
6846         Fix compiler warnings, and possible crashes if (random) return
6847         value were to be used.
6848
6849 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6850
6851         * device-msw.c: Workaround ResetDC failure.
6852
6853         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
6854         applying a devmode.
6855
6856         * redisplay-msw.c (get_frame_dc): Added start_page_p.
6857         (mswindows_text_width): Do not start printer page.
6858
6859         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
6860
6861         * glyphs-msw.c: Added image methods to msprinter console and
6862         msprinter-specific image instantiation.
6863
6864 2000-02-20  Mike Alexander  <mta@arbortext.com>
6865
6866         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
6867         to avoid crashes when selection-sets-clipboard is on
6868         (mswindows_own_selection): ditto
6869
6870 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6871
6872         * glyphs-msw.c:
6873         * redisplay-msw.c (get_frame_dc):
6874         (get_frame_compdc):
6875         * console-msw.h:
6876         * device-msw.c (mswindows_init_device):
6877         (mswindows_delete_device):
6878         (msprinter_init_device):
6879         (msprinter_delete_device):
6880         * frame-msw.c (mswindows_init_frame_1):
6881         (mswindows_delete_frame):
6882         (msprinter_init_frame_3):
6883         (msprinter_delete_frame): Move compatible DC to device object from
6884         frame object, for both mswindows and msprinter. Only one at a time
6885         is needed, it is a real waste to have one per frame!
6886
6887 2000-02-23  Andy Piper  <andy@xemacs.org>
6888
6889         * glyphs.c: add dynamic width and height elements.
6890         (image_instance_equal): ditto.
6891
6892         * glyphs-widget.c (widget_query_geometry): calculate width and
6893         height dynamically if required.
6894         (initialize_widget_image_instance): initialize dynamic dimensions.
6895         (widget_instantiate): pick-up dynamic dimensions.
6896
6897         * glyphs.h (struct Lisp_Image_Instance): add width and height for
6898         dynamic determination. Add appropriate macros.
6899
6900         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
6901         dimensions safe.
6902         (WINDOW_GUTTER_SIZE): ditto.
6903         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
6904
6905         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
6906         inline.
6907         (get_frame_dc): ditto.
6908
6909         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
6910         here.
6911
6912 2000-02-23  Martin Buchholz <martin@xemacs.org>
6913
6914         * XEmacs 21.2.31 is released.
6915
6916 2000-02-22  Ben Wing <ben@xemacs.org>
6917
6918         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
6919
6920 2000-02-22  Andy Piper  <andy@xemacs.org>
6921
6922         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
6923
6924 2000-02-21  Mike Sperber <mike@xemacs.org>
6925
6926         * .dbxrc:
6927         * .gdbinit:
6928         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
6929         variables.
6930
6931 2000-02-21  Mike Sperber <mike@xemacs.org>
6932
6933         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
6934
6935 2000-02-21  Martin Buchholz <martin@xemacs.org>
6936
6937         * XEmacs 21.2.30 is released.
6938
6939 2000-02-20  Martin Buchholz  <martin@xemacs.org>
6940
6941         Performance hacking.
6942         * *.c (syms_of_*):
6943         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
6944         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
6945         * emacs.c (main_1):
6946         * lisp.h (DEFUN):
6947         * console.c (DEFVAR_CONSOLE_LOCAL_1):
6948         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
6949         * symeval.h (DEFVAR_SYMVAL_FWD):
6950         * symbols.c (guts_of_unbound_marker):
6951         Make all c_readonly objects also lisp_readonly and marked for life.
6952         * lrecord.h (struct lrecord_implementation):
6953         Document flags better.
6954         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
6955         * lrecord.h (DECLARE_LRECORD):
6956         * lrecord.h (XSETRECORD):
6957         * lrecord.h (RECORDP):
6958         * lrecord.h (RECORD_TYPEP):
6959         * lrecord.h (RECORD_MARKER): New.
6960         * lrecord.h (error_check_*):
6961         * lrecord.h (CONCHECK_NONRECORD):
6962         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
6963         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
6964         * lrecord.h (set_lheader_implementation):
6965         * lrecord.h (enum lrecord_type): New.
6966         * symeval.h (SYMBOL_VALUE_MAGIC_P):
6967         * alloc.c (disksave_object_finalization_1):
6968         * alloc.c (mark_object):
6969         * alloc.c (lrecord_type_index):
6970         * alloc.c (tick_lcrecord_stats):
6971         * alloc.c (Fgarbage_collect):
6972         * alloc.c (init_alloc_once_early):
6973         * alloc.c (pdump_load):
6974         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
6975         * alloc.c (lrecord_type_index): Delete.
6976         Make lisp object type indexes be constant.
6977           Makes (byte-compile) 5% faster.
6978         Put all marker functions into their own array.
6979           Makes (garbage-collect) 5% faster.
6980         Optimize SYMBOL_VALUE_MAGIC_P.
6981           Makes (byte-compile) 2-3% faster.
6982         * config.h.in (gc_checking_assert): New.
6983         * alloc.c: Use gc_checking_assert().
6984         * .dbxrc: Make compatible with new object type implementation.
6985         * .gdbinit: Make compatible with new object type implementation.
6986         * alloc.c: Delete all symbols defined only for debugging, such as
6987         Lisp_Type_Vector and lrecord_charset.
6988
6989 2000-02-21  Andy Piper  <andy@xemacs.org>
6990
6991         * gui-msw.c (Fmswindows_shell_execute): fix file location
6992         problems.
6993
6994         * buffer.c (Fkill_buffer): remove buffer from alist buffer
6995         unshowing so that set_window_buffer doesn't undo
6996         kill_buffer_hook's hard work.
6997
6998         * glyphs-widget.c (tab_control_query_geometry): don't count the
6999         first item when calculating geometry.
7000
7001         * glyphs.c (map_subwindow): remove redundant code.
7002         (update_frame_subwindows): be more circumspect about when to
7003         update subwindows.
7004
7005         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
7006         when items haven't changed. Update faces if faces have changed as
7007         well as just the widget face.
7008         (x_tab_control_update): Update faces if faces have changed as well
7009         as just the widget face.
7010
7011 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7012
7013         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
7014         registration.
7015         (build_syscolor_string): Use mswindows_color_to_string to try to
7016         get a named color.
7017         (mswindows_device_system_metrics): Reverse the foreground and
7018         background colors so that they match the documentation.
7019
7020         * objects-msw.c: (mswindows_X_color_map): tweak some values so
7021         they match the default Windows palette.
7022         (mswindows_color_to_string): New function.
7023
7024 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7025
7026         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
7027
7028 2000-02-18  Olivier Galibert  <galibert@pobox.com>
7029
7030         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
7031         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
7032
7033         * symbols.c (init_symbols_once_early): Removed obsolete
7034         DATA_SEG_BITS related kludge.
7035         (defvar_magic): Ditto.
7036
7037         * malloc.c: Removed obsolete DATA_SEG_BITS
7038         * ralloc.c: Ditto.
7039         * mem-limits.h: Ditto.
7040
7041         * Makefile.in.in: Removed obsolete HAVE_SHM
7042         * emacs.c: Ditto.
7043
7044 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7045
7046         *  device-msw.c (mswindows_delete_device): Free DDE string
7047         handles.
7048
7049 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7050
7051         * keymap.c (get_keyelt):
7052         * unexnt.c (unexec):
7053         * vm-limit.c (memory_warnings):
7054         * ntheap.c (recreate_heap):
7055         * ntheap.h (UNINIT_PTR):
7056         * select-msw.c (Fmswindows_get_clipboard):
7057         (Fmswindows_set_clipboard):
7058         * objects-msw.h (MSWINDOWS_BAD_HFONT):
7059         * objects-msw.c:
7060         * menubar-msw.c (displayable_menu_item):
7061         * glyphs-msw.c:
7062         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
7063         * sysdep.c (sys_subshell):
7064         * process-nt.c (nt_create_process):
7065         * nt.c (normalize_filename):
7066         (dostounix_filename):
7067         (unixtodos_filename):
7068         * ntproc.c (win32_executable_type):
7069         * ntplay.c (play_sound_data_1):
7070         (play_sound_file):
7071         * editfns.c (get_home_directory):
7072         * event-msw.c (struct winsock_stream):
7073         (mswindows_dde_callback):
7074         * device-msw.c (msprinter_init_device):
7075         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
7076
7077         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
7078         mswindows_clear_toolbar were swapped!
7079
7080         * objects-msw.c:(colormap_t):
7081         (fontmap_t):
7082         * emacs.c (struct standard_args): Fixed const jumble.
7083
7084         * glyphs-widget.c (update_widget): Fixed comparison notation.
7085
7086         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
7087
7088         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
7089         __declspec(noreturn) syntax.
7090
7091 2000-02-19  Martin Buchholz  <martin@xemacs.org>
7092
7093         * eldap.c (Fldap_open):
7094         (Fldap_search_basic):
7095         (Fldap_add):
7096         (Fldap_modify):
7097         Use new coding system conversion macros.
7098
7099 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7100
7101         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
7102
7103 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
7104
7105         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
7106         (Fldap_add, Fldap_modify, Fldap_delete): New functions
7107
7108         * eldap.c (Qadd, Qreplace): New constant symbols
7109         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
7110         interruptions by XEmacs signals
7111         Remove unnecessary calls to slow_down_interrupts and
7112         speed_up_interrupts
7113         (Fldap_search_basic): Renamed from Fldap_search_internal
7114         Added new optional parameter VERBOSE that triggers the
7115         display of progress messages
7116         Remove unnecessary calls to slow_down_interrupts and
7117         speed_up_interrupts
7118         LDAP result code analysis rewritten
7119         (Fldap_add, Fldap_modify, Fldap_delete): New functions
7120         (syms_of_eldap): Define the new symbols and functions
7121
7122
7123 2000-02-17  Martin Buchholz  <martin@xemacs.org>
7124
7125         * realpath.c: Determine PATH_MAX maximally portably.
7126
7127         * insdel.c (bytecount_to_charcount): Optimize.
7128         The function used to be optimized for entirely ASCII sequences.
7129         Now it is optimized for successive characters from the same
7130         charset.  This also wins big for _mostly_ ASCII sequences.
7131
7132         * fileio.c (Ffile_truename): convert return from realpath() using
7133         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
7134         - Rewrite GCPROing slightly.
7135
7136         * sysdep.c (sys_open): Do filename conversion, like all other
7137         sys_* functions.  Fixes bug:
7138         (let ((file-name-coding-system 'iso-8859-2))
7139            (write-region x y latin2-name))
7140         ==> writes filename using internal encoding.
7141
7142 2000-02-18  Martin Buchholz  <martin@xemacs.org>
7143
7144         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
7145         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
7146         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
7147         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
7148         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
7149         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
7150         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
7151         (CONST_IF_NOT_DEBUG): Delete.
7152         * alloc.c (this_one_is_unmarkable): Delete.
7153         (mark_object): Don't check for this_one_is_unmarkable. Use the
7154         c_readonly flag instead.
7155         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
7156
7157 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7158
7159         * event-msw.c (mswindows_drain_windows_queue):
7160         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
7161         away redundant repaint events.
7162
7163 2000-02-17  Andy Piper  <andy@xemacs.org>
7164
7165         * redisplay.h: declare mark_redisplay_structs.
7166
7167         * redisplay.c (redisplay_window):
7168         (redisplay_frame): don't check subwindows_state_changed.
7169         (mark_redisplay): mark gutters here.
7170
7171         * glyphs.c: (instantiate_image_instantiator): always layout if we
7172         haven't done so already.
7173         (allocate_image_instance): don't mark as dirty.
7174         (update_subwindow): bind inhibit_quit.
7175
7176         * gutter.c (mark_gutters): new function.
7177
7178         * glyphs-x.c (x_update_widget): Always resize to get round a
7179         widget bug.
7180
7181         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
7182         breaking absolutely everything.
7183
7184         * gutter.h: declare mark_gutters.
7185
7186 2000-02-16  Martin Buchholz <martin@xemacs.org>
7187
7188         * XEmacs 21.2.29 is released.
7189
7190 2000-02-15  Olivier Galibert  <galibert@pobox.com>
7191
7192         * fns.c (size_bit_vector): Fix computation of the size.
7193
7194 2000-02-15  Martin Buchholz  <martin@xemacs.org>
7195
7196         * *.[ch]: Change CONST to const globally.
7197         find -name '*.[ch]' | \
7198         xargs global-replace \
7199         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
7200         - Remove vestigial references to CONST_IS_LOSING
7201
7202 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7203
7204         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
7205         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
7206         events instead of dispatching them directly.
7207         (mswindows_handle_paint): New function to do repainting.
7208         (mswindows_wnd_proc):
7209         (emacs_mswindows_handle_magic_event): Call above function.
7210
7211 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7212
7213         * objects-msw.c (mswindows_create_font_variant): Return the new
7214         font handle.
7215         (initialize_font_instance): Get font metrics from the underlined
7216         variant of the font to cope with the case where the underlined
7217         font has a bigger descent.
7218
7219 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
7220
7221         * gui.c (gui_item_accelerator): Return the first underlined
7222         character in item name.
7223
7224 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7225
7226         * lisp.h: Added Qprinter.
7227
7228         * general.c (syms_of_general): Initialized it.
7229
7230         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
7231         (get_frame_dc):
7232         (get_frame_compdc): Made inline.
7233
7234         * console.h (struct console_methods): Added eject_page method.
7235
7236         * frame.h: Added FRAME_DISPLAY_P and friends.
7237         Aligned backslahes in many macros in more readable fashion.
7238         Added page_number to struct frame, and an accessor macro
7239         for it.
7240
7241         * defice.h: Added DEVICE_DISPLAY_P and friends.
7242
7243         * device.c (Fdevice_printer_p): Used these.
7244
7245         * frame.c (allocate_frame_core): Initialize page number.
7246         (Fprint_job_page_number):
7247         (Fprint_job_eject_page): Implemented.
7248
7249         * frame-msw.c (msprinter_eject_page): Added method.
7250         (msprinter_start_page): Added.
7251
7252         * window.c (Fwindow_truncated_p): Fixed docstring.
7253         (Fwindow_last_line_visible_height): Implemented.
7254
7255 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7256
7257         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
7258
7259 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7260
7261         * syntax.c (scan_words): Always advance at least one character.
7262
7263 2000-02-13  Andy Piper  <andy@xemacs.org>
7264
7265         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
7266         to make sure the glyph is in the cachels.
7267
7268         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
7269         global image instance flag.
7270         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
7271         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
7272
7273         * glyphs.c (allocate_image_instance): set dirty bits correctly.
7274         (Fset_image_instance_property): mark layout as changed.
7275         (invalidate_glyph_geometry_maybe): mark layout as changed.
7276         (glyph_width): use new NEEDS_LAYOUT macro.
7277         (glyph_ascent): ditto.
7278         (glyph_descent): ditto.
7279         (glyph_height): ditto.
7280         (image_instance_layout): mark layout as clean after laying out.
7281         (update_subwindow): don't mark layout as clean here.
7282
7283         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
7284         should no longer be needed.
7285
7286         * glyphs-x.c (x_update_widget): sanitize asserts.
7287         (x_finalize_image_instance): sanitize assignment to widgets.
7288
7289         * glyphs-widget.c (widget_instantiate): don't need to clear the
7290         layout flag here.
7291
7292 2000-02-13  Martin Buchholz  <martin@xemacs.org>
7293
7294         * sysdep.c (getcwd): Use standard prototype.
7295         * sysdep.h (getcwd): Use standard prototype.
7296
7297         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
7298         (sequence, start, end).
7299         Remove redundant type checking.
7300         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
7301         view of `caller-protects') to avoid a crash where the real fix was
7302         found elsewhere.
7303
7304 2000-02-12  Martin Buchholz  <martin@xemacs.org>
7305
7306         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
7307
7308         * s/sol2.h: Remove feature macro initialization.
7309
7310         * alloc.c (alloc_lcrecord): Add more type checking assertions.
7311         (vector_hash): New.  Code from internal_hash.
7312         * lrecord.h:
7313         Fix up allocation subsystem comments.
7314
7315         * config.h.in: Add __EXTENSIONS__ for Solaris.
7316
7317         * systime.h (EMACS_GETTIMEOFDAY): New.
7318         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
7319         Remove Solaris-specific code.
7320         Use void* for the (ignored) second arg for gettimeofday().
7321
7322         * elhash.c (hash_table_hash): Implement it, finally.
7323         * elhash.c:  Use hashcode_t.
7324
7325         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
7326         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
7327
7328         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
7329         * fns.c (size_bit_vector):
7330         * alloc.c (size_vector):
7331         (make_vector_internal):
7332         (make_bit_vector_internal):
7333         (sweep_bit_vectors_1):
7334         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
7335
7336 2000-02-10  Martin Buchholz  <martin@xemacs.org>
7337
7338         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
7339         Include strings.h to avoid warnings for bzero and strcasecmp.
7340
7341 2000-02-10  Olivier Galibert  <galibert@pobox.com>
7342
7343         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
7344         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
7345
7346         * fns.c (size_bit_vector): New.  Declare bit vectors as a
7347         sequence.
7348
7349 2000-02-10  Olivier Galibert  <galibert@pobox.com>
7350
7351         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
7352         use a value field instead.
7353         (symbol_value_forward_forward): Use value field.
7354         (DEFVAR_SYMVAL_FWD): Use value field.
7355         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
7356         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
7357         (DEFVAR_CONST_INT): Ditto.
7358         (DEFVAR_BOOL): Ditto.
7359         (DEFVAR_CONST_BOOL): Ditto.
7360         (DEFVAR_INT_MAGIC): Ditto.
7361         (DEFVAR_BOOL_MAGIC): Ditto.
7362
7363         * symbols.c (guts_of_unbound_marker): Use value field.
7364         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
7365         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
7366
7367         * lisp.h: Declare dumpopaque and noninteractive1.
7368
7369         * alloc.c (dumpopaque): Added.
7370         (pdump_dump_opaquevec): Added.
7371         (pdump): Call pdump_dump_opaquevec to dump opaque data.
7372         (pdump_load): Reload opaque data.  Sync noninteractive1 with
7373         noninteractive.
7374
7375 2000-02-10  Andy Piper  <andy@xemacs.org>
7376
7377         * glyphs.c (image_instance_layout): if the size changes, mark it
7378         as such.
7379
7380         * redisplay-output.c (redisplay_output_layout): Update the
7381         subwindow here.
7382         (redisplay_output_subwindow): ditto.
7383
7384         * glyphs.c (update_subwindow): make sure we reset flags for
7385         layouts as well as everything else.
7386
7387         * glyphs-widget.c (layout_layout): don't need to set the instances
7388         dimensions here.
7389
7390 2000-02-09  Martin Buchholz  <martin@xemacs.org>
7391
7392         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
7393         not HAVE_DLOPEN, which is a lower-level thing.
7394
7395         * .cvsignore: Ignore gmon.out
7396
7397 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
7398
7399         * .cvsignore: Ignore portable dumper xemacs.dmp file
7400
7401 2000-02-09  Andy Piper  <andy@xemacs.org>
7402
7403         * redisplay-output.c (redisplay_output_layout): be more clever
7404         about when we output based on the changed flags.
7405
7406         * glyphs.h (struct image_instantiator_methods): add update_method.
7407         (struct Lisp_Image_Instance): add changed flags. Declare new
7408         macros for manipulating them.
7409
7410         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
7411         (image_instance_parent_glyph): find an image_instance's parent
7412         glyph or image_instance.
7413         (image_instance_layout): mark the size as changed.
7414         (set_image_instance_dirty_p): new function. mark an image
7415         instance, plus all of its parents, as dirty.
7416         (Fset_image_instance_property): use it.
7417         (Fglyph_animated_timeout_handler): use it.
7418         (update_subwindow): call update_widget and device methods for
7419         update_subwindow. Mark all changed flags as clean.
7420         (Fresize_subwindow): mark size as changed.
7421
7422         * glyphs-x.c (x_finalize_image_instance): try and detect gc
7423         failures.
7424         (x_update_subwindow): only resize subwindows here.
7425         (x_update_widget): new function. Update all changed properties of
7426         a widget.
7427         (x_resize_subwindow): deleted.
7428         (x_widget_set_property): deleted.
7429         (x_progress_gauge_set_property): deleted.
7430         (x_progress_gauge_update): new function. Implement recorded
7431         changes.
7432         (x_tab_control_update): ditto.
7433         (x_tab_control_set_property): deleted.
7434         (console_type_create_glyphs_x): declare new functions.
7435         (image_instantiator_format_create_glyphs_x): ditto.
7436
7437         * glyphs-widget.c (widget_set_property): mark text changed.
7438         (update_widget): new function. Update properties of a widget.
7439         (widget_instantiate): for layouts make sure we set their
7440         children's parent correctly.
7441         (tab_control_set_property): new function. Record changes that will
7442         take place under redisplay's control.
7443         (progress_gauge_set_property): ditto.
7444         (image_instantiator_progress_guage): declare new functions.
7445         (image_instantiator_tab_control): ditto.
7446
7447         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
7448         now.
7449         (mswindows_update_widget): new function. Update all properties on
7450         a widget that have changed.
7451         (mswindows_button_update): new function. Update a button's set
7452         state.
7453         (mswindows_tab_control_update): new function. Update the items in
7454         a tab.
7455         (mswindows_tab_control_set_property): deleted.
7456         (mswindows_progress_gauge_update): new function. Update the
7457         progress gauge's progress.
7458         (mswindows_widget_set_property): deleted. This is all done
7459         asynchronously now.
7460         (mswindows_progress_gauge_set_property): ditto.
7461         (console_type_create_glyphs_mswindows): declare new methods.
7462         (image_instantiator_format_create_glyphs_mswindows): ditto.
7463
7464         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
7465         (msprinter_set_frame_properties): ditto.
7466
7467         * console.h (struct console_methods): Add update_widget_method.
7468
7469 2000-02-09  Andy Piper  <andy@xemacs.org>
7470
7471         * gui-msw.c (Fmswindows_shell_execute): Make
7472         mswindows-shell-execute industrial strength.
7473
7474 2000-02-08  Martin Buchholz  <martin@xemacs.org>
7475
7476         * lrecord.h: Make macro argument `props' match member function `plist'.
7477         * fns.c (Fget):
7478         * fns.c (Fput):
7479         * fns.c (Fremprop):
7480         * fns.c (Fobject_plist):
7481         * alloc.c:
7482         * symbols.c:
7483         Object property list frobbing cleanup.
7484         - Allow any lisp object (compared with `eq'), not just symbols, as
7485           keys in object plists.
7486         - Move symbol plist frobbing into symbols.c, where it belongs.
7487         - Move string plist frobbing into alloc.c, where it belongs.
7488         - Everything's an lrecord now, so no need to test for symbolp, etc.
7489         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
7490
7491         * extents.c: Reorder code to remove declarations.
7492
7493         * frame.h (store_in_alist): Remove useless declaration.
7494
7495 2000-02-07  Martin Buchholz  <martin@xemacs.org>
7496
7497         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
7498         * config.h.in: Add HAVE_XCONVERTCASE.
7499
7500 2000-02-07  Andy Piper  <andy@xemacs.org>
7501
7502         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
7503         it breaks many things.
7504
7505 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7506
7507         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
7508         actually can start a common comment type.
7509         * src/syntax.h (SYNTAX_END_P): ditto for end.
7510
7511 2000-02-07  Martin Buchholz <martin@xemacs.org>
7512
7513         * XEmacs 21.2.28 is released.
7514
7515 2000-02-06  Martin Buchholz  <martin@xemacs.org>
7516
7517         * event-Xt.c (x_keysym_to_character): New.
7518         (maybe_define_x_key_as_self_inserting_character): New.
7519         (x_has_keysym): New.
7520         Auto-define all keys on the keyboard as self-insert-key.
7521
7522 2000-02-02  Martin Buchholz  <martin@xemacs.org>
7523
7524         * menubar.c (vars_of_menubar): A small code simplification.
7525
7526         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
7527
7528         * ExternalShell.c:
7529         * ExternalClient.c:
7530         * EmacsShell-sub.c:
7531         * EmacsManager.c:
7532         * EmacsFrame.c:
7533         Use consistent style for specifying X resources.
7534
7535         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
7536         This makes (dontusethis-set-symbol-value-handler) actually usable.
7537
7538         * lrecord.h (lrecord_decription_type):
7539         * alloc.c (pdump_register_sub):
7540         (pdump_dump_data):
7541         (pdump_reloc_one):
7542         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
7543         Comply with XEmacs coding style.
7544         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
7545         args, and XD_LISP_OBJECT_ARRAY with 3 args.
7546
7547         * keymap.c (Faccessible_keymaps):
7548         Make (accessible-keymaps map "\C-h") do the Right Thing.
7549         Make (accessible-keymaps map []) do the Right Thing.
7550         Make (accessible-keymaps map "") do the Right Thing.
7551         (check_keymap_definition_loop): New function.
7552         (keymap_store_internal): Keep luser from shooting self in foot,
7553           via (define-key ctl-x-4-map "p" global-map).
7554         Remove fullness slot from struct Lisp_Keymap, since hash tables
7555         are now reliable.
7556         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
7557
7558 2000-01-30  Martin Buchholz  <martin@xemacs.org>
7559
7560         * redisplay.c (init_redisplay): Fix small memory leak.
7561         * elhash.h:
7562         * elhash.c (pdump_reorganize_hash_table):
7563         Rename from reorganize_hash_table. Change prototype.
7564         Reuse the original memory for hentries.  Save 100k.
7565         * alloc.c (PDUMP_READ): new macro.
7566         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
7567         * alloc.c: No need to #ifndef before #undef.
7568
7569         * print.c: Allow debug_print() to print readably by modifying
7570         debug_print_readably.  Use consistent variable names.
7571
7572         * .dbxrc: Try to get things to work even if stopped in a function
7573         without source available by explicitly specifying source files.
7574 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7575
7576         * unexnt.c (_start): Removed bogus code which caused loading heap
7577         from differrent executable file.
7578         Removed bogus assignment to _fmode, which caused inconsistencies.
7579
7580 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7581
7582         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
7583         Have spawnve encapsulation regard DONT_ENCAPSULATE.
7584         Do not preliminary `#define signal sigset'.
7585
7586         * systime.h: Do not prototype environ on windows nt and cygwin,
7587         this conflicts with system header.
7588
7589         * syssignal.h: Use correct define for WINDOWSNT
7590
7591         * sysdep.h: Do not prototype environ on windows nt, this conflicts
7592         with system header.
7593
7594         * sysdep.c (near start of file): Fixed commentary and rearranged
7595         ifdefs in readable order.
7596         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
7597         (start_of_text):
7598         (end_of_text):
7599         (end_of_data): Do not compile in if using PDUMP.
7600
7601         * symsinit.h: Prototyped vars_of_nt().
7602
7603         * ntproc.c (windows9x_p): Added, instead of os_subtype.
7604         (find_child_console): Use it.
7605         (sys_kill): Use it.
7606
7607         * ntheap.h: Do not extern os_subtype.
7608
7609         * ntheap.c (cache_system_info): Do not cache unneeded:
7610         nt_major_version, nt_minor_version and os_subtype.
7611         (recreate_heap): Do not compile in when PDUMPing.
7612
7613         * nt.c (geteuid and friends): Use the new varibale
7614         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
7615         (init_user_info): Removed the above mentioned hackery.
7616         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
7617         stat has been fixed in the C runtime.
7618         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
7619
7620         * file-coding.c (struct file_coding_dump): Do not define
7621         ucs_to_mule_table in the struct if not MULE.
7622         (struct struct lrecord_description fcd_description_1): Do not dump
7623         the above.
7624
7625         * emacs.c (main_1): Call vars_of_nt().
7626         (right before Fdump_emacs_data): Don't need lastfile if using both
7627         portabe dumper and system malloc.
7628
7629         * alloc.c (Fmemory_limit): Conditionalized out.
7630         (pdump): Use OPEN_BINARY for the portable dump file.
7631         (pdump_load): Ditto.
7632
7633 2000-02-02  Mike Alexander  <mta@arbortext.com>
7634
7635         * nt.c (convert_time): Set tm_isdst before calling mktime and
7636         avoid calling it at all if the compiler supports 64 bit integers.
7637         Also initialize utc_base_ft before using it.
7638
7639 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
7640
7641         * frame.c (change_frame_size_1): Take f->internal_border_width
7642         into consideration when calculating the width of the frame.
7643
7644 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7645
7646         * window.c (frame_min_height):
7647         (frame_size_valid_p):
7648         (frame_pixsize_valid_p): Added.
7649         (check_frame_size): Generalized.
7650
7651         * window.h: Prototyped the above.
7652
7653         * lisp.h:
7654         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
7655         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
7656         Deleted Vwin32_* and Vbinary_process_* unused variables.
7657
7658         * device-msw.c (msprinter_init_device): Do not get printer font
7659         list; Added DEVMODE functions.
7660
7661         * frame-msw.c: Added lots of printer code.
7662
7663         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
7664         general.c.
7665
7666         * console-msw.h: Added more msprinter device private slots.
7667
7668 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7669
7670         * event-msw.c (key_needs_default_processing_p): Added.
7671         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
7672
7673 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7674
7675         * glyphs.c (image_instance_layout): Mark image instance as clean
7676         after layout.
7677         (glyph_dirty_p): Removed redundant function.
7678         (invalidate_glyph_geometry_maybe): Added.
7679         (update_glyph_cachel_data): Call it.
7680
7681         * glyphs.h: Prototyped it.
7682
7683         * redisplay.c (add_glyph_rune): Call it.
7684         (redisplay_window): Reset glyphs cachels when frame faces have
7685         changed, thus forcing recomputation of built-in border glyphs.
7686
7687 2000-01-30  Martin Buchholz  <martin@xemacs.org>
7688
7689         * Makefile.in.in: Make portable dumper and purify play well together.
7690         Add imperfect, but better than nothing, support for pdump.
7691         Remove xemacs.dmp when temacs is re-generated.
7692         Don't ignore errors when dumping xemacs.
7693
7694         * symbols.c (maybe_call_magic_handler): Remove one magic number.
7695
7696 2000-01-28  Andy Piper  <andy@xemacs.org>
7697
7698         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
7699         (setup_normal_frame): ditto.
7700         (setup_frame_without_minibuffer): ditto.
7701         (setup_minibuffer_frame): ditto.
7702         (delete_frame_internal): ditto.
7703         (Fmake_frame_invisible): ditto.
7704         (Ficonify_frame): ditto.
7705
7706         * window.h: change Fset_window_buffer signature.
7707
7708         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
7709         (Fset_window_buffer): allow recording of buffer if the window is
7710         the selected window.
7711         (window_loop): Use new Fset_window signature.
7712
7713 2000-01-23  Daniel Pittman  <daniel@danann.net>
7714
7715         * config.h.in: Added template for `HAVE_ATHENA_3D'
7716
7717 2000-01-29  Andy Piper  <andy@xemacs.org>
7718
7719         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
7720
7721         * gutter.c (output_gutter): Don't output if the window isn't live.
7722
7723 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7724
7725         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
7726         of 01/12/00: Moved SetFocus back here where it belongs.
7727
7728 2000-01-23  Andy Piper  <andy@xemacs.org>
7729
7730         * s/cygwin32.h: declare printer things.
7731
7732 2000-01-26  Andy Piper  <andy@xemacs.org>
7733
7734         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
7735         Alexander.
7736
7737 2000-01-24  Andy Piper  <andy@xemacs.org>
7738
7739         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
7740         (mswindows_button_instantiate): Make sure glyph is a pixmap.
7741
7742         * glyphs-widget.c (widget_instantiate): Avoid shadows.
7743
7744         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
7745
7746         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
7747
7748         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
7749         (mswindows_output_display_block): Avoid local shadows.
7750
7751         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
7752         (mswindows_enqueue_mouse_button_event): ditto.
7753         (mswindows_handle_gui_wm_command): remove declaration.
7754
7755         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
7756         warnings.
7757
7758         * console-msw.h: Avoid shadows.
7759         (mswindows_get_toolbar_button_text):
7760         (emacs_mswindows_create_stream_pair):
7761         (emacs_mswindows_delete_stream_pair):
7762         (mswindows_handle_toolbar_wm_command): declare.
7763
7764         * device-msw.c (build_syscolor_string): Avoid shadows.
7765
7766 2000-01-23  Andy Piper  <andy@xemacs.org>
7767
7768         * glyphs-widget.c (widget_instantiate): reverse the items for
7769         layouts so that children are in the expected order.
7770
7771 2000-01-28  Martin Buchholz  <martin@xemacs.org>
7772
7773         * ralloc.c: safe_bcopy ==> memmove
7774         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
7775         * s/msdos.h: Remove BCOPY macros.
7776         * insdel.c (gap_right): Remove BCOPY conditional code.
7777         * insdel.c (gap_left): Remove BCOPY conditional code.
7778         XEmacs demands a working ANSI C compiler - hence memmove.
7779
7780         * regex.c (regex_compile): Remove accidental use of trigraphs.
7781
7782 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7783
7784         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
7785         event timestamp.
7786
7787 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7788
7789         * event-msw.c (mswindows_drain_windows_queue): Added the
7790         parameter.
7791         (mswindows_need_event): Commented the call to
7792         mswindows_drain_windows_queue().
7793         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
7794         only.
7795
7796         * console-msw.h: Moved a few function prototypes here from
7797         event-msw.c.
7798
7799         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
7800         parameter from unsigned short to unsigned long.
7801         (Fmswindows_shell_execute): Added return value.
7802
7803 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
7804
7805         * sysdep.c (init_system_name):
7806           process-unix.c (unix_canonicalized_host_name):
7807         Don't call freeaddrinfo() if getaddrinfo() fails.
7808
7809         * process-unix.c (unix_open_unix_network_stream):
7810         Moved the code to get a port # into address loop.
7811
7812 2000-01-27  Martin Buchholz  <martin@xemacs.org>
7813
7814         * buffer.c (reinit_vars_of_buffer):
7815         The right place to initialize conversion_in_dynarr and
7816         conversion_out_dynarr.
7817
7818         * alloc.c (pdump): Use the real open() till sys_open() is functional.
7819
7820         * process-unix.c (unix_canonicalize_host_name): Muleize.
7821         (unix_open_network_stream): Muleize.
7822
7823         * buffer.h: Fix up prototypes for ralloc.c functions.
7824
7825 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
7826         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
7827         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
7828                 instead of gethostbyname()
7829         * process-unix.c: In unix_canonicalize_host_name() and
7830                 unix_open_network_stream(), add code to use getaddrinfo()
7831                 instead of gethostbyname().
7832
7833 2000-01-27  Daniel Pittman <daniel@danann.net>
7834
7835         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
7836         libs when built with flat Athena.
7837
7838 2000-01-27  Martin Buchholz  <martin@xemacs.org>
7839
7840         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
7841         Use coding standards for function prototypes.
7842
7843 2000-01-25  Martin Buchholz  <martin@xemacs.org>
7844
7845         * dialog-msw.c (push_lisp_string_as_unicode):
7846         * doc.c (unparesseuxify_doc_string):
7847         * dired.c (Fuser_name_completion_1):
7848         * dired.c (Fuser_name_all_completions):
7849         * dired.c (free_user_cache):
7850         * dired.c (user_name_completion):
7851         * console-x.c (get_display_arg_connection):
7852         * minibuf.c (clear_echo_area_internal):
7853         * minibuf.c (echo_area_append):
7854         * eldap.c (Fldap_open):
7855         * eldap.c (Fldap_search_internal):
7856         * frame-x.c (x_set_frame_text_value):
7857         * frame-x.c (x_set_frame_properties):
7858         * frame-x.c (x_create_widgets):
7859         * redisplay-tty.c (term_get_fkeys_1):
7860         * objects-x.c (x_parse_nearest_color):
7861         * objects-x.c (x_valid_color_name_p):
7862         * objects-x.c (x_initialize_font_instance):
7863         * objects-x.c (x_list_fonts):
7864         * objects-x.c (x_find_charset_font):
7865         * tooltalk.c (Fadd_tooltalk_message_arg):
7866         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7867         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7868         * process-unix.c (unix_create_process):
7869         * ntproc.c (sys_spawnve):
7870         * sound.c (Fplay_sound_file):
7871         * sound.c (Fplay_sound):
7872         * buffer.c (init_initial_directory):
7873         * buffer.c (init_buffer):
7874         * editfns.c (init_editfns):
7875         * editfns.c (Ftemp_directory):
7876         * editfns.c (Fuser_full_name):
7877         * editfns.c (uncache_home_directory):
7878         * editfns.c (get_home_directory):
7879         * editfns.c (Fuser_home_directory):
7880         * editfns.c (Fformat_time_string):
7881         * editfns.c (Fcurrent_time_string):
7882         * gui-x.c (button_item_to_widget_value):
7883         * database.c (Fopen_database):
7884         * event-Xt.c (x_to_emacs_keysym):
7885         * event-Xt.c (x_event_to_emacs_event):
7886         * event-Xt.c (describe_event_window):
7887         * event-msw.c (mswindows_wnd_proc):
7888         * glyphs-eimage.c (jpeg_instantiate):
7889         * glyphs-eimage.c (gif_instantiate):
7890         * glyphs-eimage.c (png_instantiate):
7891         * glyphs-eimage.c (tiff_instantiate):
7892         * glyphs-x.c (xbm_instantiate_1):
7893         * glyphs-x.c (x_xbm_instantiate):
7894         * glyphs-x.c (x_xface_instantiate):
7895         * glyphs-x.c (autodetect_instantiate):
7896         * glyphs-x.c (cursor_font_instantiate):
7897         * glyphs-x.c (x_widget_instantiate):
7898         * glyphs-x.c (x_widget_set_property):
7899         * glyphs-x.c (x_widget_property):
7900         * glyphs-x.c (BUILD_GLYPH_INST):
7901         * print.c (write_string_to_stdio_stream):
7902         * print.c (output_string):
7903         * print.c (Falternate_debugging_output):
7904         * print.c (Fexternal_debugging_output):
7905         * glyphs-msw.c (extract_xpm_color_names):
7906         * glyphs-msw.c (mswindows_xpm_instantiate):
7907         * glyphs-msw.c (bmp_instantiate):
7908         * glyphs-msw.c (resource_name_to_resource):
7909         * glyphs-msw.c (mswindows_resource_instantiate):
7910         * glyphs-msw.c (xbm_instantiate_1):
7911         * glyphs-msw.c (mswindows_xbm_instantiate):
7912         * glyphs-msw.c (mswindows_xface_instantiate):
7913         * glyphs-msw.c (mswindows_widget_instantiate):
7914         * glyphs-msw.c (add_tree_item):
7915         * glyphs-msw.c (add_tab_item):
7916         * glyphs-msw.c (mswindows_combo_box_instantiate):
7917         * glyphs-msw.c (mswindows_widget_property):
7918         * glyphs-msw.c (mswindows_combo_box_property):
7919         * glyphs-msw.c (mswindows_widget_set_property):
7920         * console.c (stuff_buffered_input):
7921         * objects-msw.c (mswindows_initialize_color_instance):
7922         * objects-msw.c (mswindows_valid_color_name_p):
7923         * objects-msw.c (mswindows_list_fonts):
7924         * objects-msw.c (mswindows_font_instance_truename):
7925         * bytecode.c (optimize_compiled_function):
7926         * select-x.c (symbol_to_x_atom):
7927         * select-x.c (x_atom_to_symbol):
7928         * select-x.c (hack_motif_clipboard_selection):
7929         * select-x.c (selection_data_to_lisp_data):
7930         * select-x.c (lisp_data_to_selection_data):
7931         * select-x.c (Fx_get_cutbuffer_internal):
7932         * select-x.c (Fx_store_cutbuffer_internal):
7933         * buffer.h (TO_EXTERNAL_FORMAT): New function.
7934         * buffer.h (TO_INTERNAL_FORMAT): New function.
7935         * emacs.c (make_arg_list_1):
7936         * emacs.c (make_argc_argv):
7937         * emacs.c (main_1):
7938         * emacs.c (Fdump_emacs):
7939         * emacs.c (split_string_by_emchar_1):
7940         * file-coding.h:
7941         * lisp.h:
7942         * lstream.h:
7943         * symsinit.h:
7944         * device-x.c (x_init_device):
7945         * device-x.c (Fx_valid_keysym_name_p):
7946         * device-x.c (Fx_get_font_path):
7947         * device-x.c (Fx_set_font_path):
7948         * glyphs.c (bitmap_to_lisp_data):
7949         * glyphs.c (pixmap_to_lisp_data):
7950         * alloc.c (make_ext_string): Use coding system arguments.  Update
7951         all callers.
7952         * alloc.c (build_string):
7953         * callproc.c (child_setup):
7954         * callproc.c (init_callproc):
7955         * fileio.c (lisp_strerror):
7956         * fileio.c (directory_file_name):
7957         * fileio.c (Fexpand_file_name):
7958         * fileio.c (Ffile_truename):
7959         * fileio.c (Fsysnetunam):
7960         * fileio.c (Fdo_auto_save):
7961         * sysdep.c (sys_readdir):
7962         * tests.c: New file.  Allow adding C tests.
7963         Replace GET_* macros with a more comprehensible and flexible
7964         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
7965         Modify all calls.
7966         Any coding system can be used to do format conversion.
7967         Eliminate enum external_data_format.
7968         Eliminate convert_to_external_format.
7969         Eliminate convert_to_internal_format.
7970         Make sure file-name, keyboard, terminal, and ctext are always
7971         defined as coding systems or aliases.  Make
7972         file-name-coding-system, terminal-coding-system, and
7973         keyboard-coding-system magical variables that are equivalent to
7974         defining the corresponding coding system aliases.
7975
7976         * file-coding.c (Fcoding_system_canonical_name_p): New function.
7977         * file-coding.c (Fcoding_system_alias_p): New function.
7978         * file-coding.c (Fcoding_system_aliasee): New function.
7979         * file-coding.c (append_suffix_to_symbol): New function.
7980         * file-coding.c (dangling_coding_system_alias_p): New function.
7981         * file-coding.c (Ffind_coding_system):
7982         * file-coding.c (Fcopy_coding_system):
7983         * file-coding.c (encode_coding_no_conversion):
7984         * file-coding.c (syms_of_file_coding):
7985         * file-coding.c (vars_of_file_coding):
7986         Rewrite coding system alias code.
7987         Allow nested aliases, like symbolic links.
7988         Allow redefinition of coding system aliases.
7989         Prevent existence of dangling coding system aliases.
7990
7991         * dired.c (Fuser_name_completion_1):
7992         * dired.c (Fuser_name_all_completions):
7993         A crash would happen if user did QUIT in the middle of building
7994         user_name_cache.  Remove redundant code in mainline and unwind_protect.
7995
7996         * lisp.h:
7997         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
7998
7999         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
8000         an unsigned char *.  Update all callers.
8001
8002 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8003
8004         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
8005
8006 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8007
8008         * elhash.c (hentry_description): Use more portable definition.
8009         (resize_hash_table): Initialize new hentries using
8010         xnew_array_and_zero, thereby simplifying the code.
8011
8012         * mule-charset.c (make_charset): Make sure entire object is
8013         initialized, to avoid Purify warnings.
8014
8015         * alloc.c (resize_string): Fix unlikely crash with big strings.
8016
8017 2000-01-24  Martin Buchholz  <martin@xemacs.org>
8018
8019         * realpath.c (xrealpath):
8020         Don't call getwd().
8021
8022 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8023
8024         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
8025
8026 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
8027
8028         * unexelfsgi.c (unexec): Change the way we decide which segment
8029         should be extended.
8030
8031         Assumption that .bss section should be outside the PT_LOADable
8032         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
8033         it's present) is inside the 'data' segment. This would fail the
8034         test which was used to find a segment to grow and cover new
8035         heap. Instead of this assumption, I created another one - on IRIX
8036         the segment to grow should start below .bss and it's address
8037         should extent above the end of .bss. Once this segment is
8038         identified, it's grown to accommodate the new heap and new
8039         zero-length .bss section is added at the end of .data2.
8040
8041 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8042
8043         * eval.c (Feval): Wrong number of arguments should use original
8044         function, not the indirect_function version of it.
8045
8046 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8047
8048         * glyphs-x.c (x_button_instantiate): Don't add image if
8049         it is not a pixmap.
8050         (x_locate_pixmap_file): Call Fexpand_file_name when file name
8051         is relative.
8052
8053 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8054
8055         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
8056         declaration.
8057         (DEFVAR_INT_MAGIC): Ditto.
8058         (DEFVAR_BOOL_MAGIC): Ditto.
8059         * glyphs.h: Reindent backslash.
8060
8061 2000-01-24  Martin Buchholz  <martin@xemacs.org>
8062
8063         * glyphs-widget.c (layout_query_geometry):
8064         (layout_layout): Use correct types for gheight, gwidth.
8065
8066 2000-01-24  Martin Buchholz  <martin@xemacs.org>
8067
8068         * EmacsManager.c (QueryGeometry): Purified.
8069
8070 2000-01-23  Martin Buchholz  <martin@xemacs.org>
8071
8072         * alloc.c (make_float): Make sure entire object is initialized, to
8073         avoid Purify warnings.
8074         (pdump_register_sub): Remove useless assignment.
8075         (pdump): Use xmalloc, not malloc.
8076         (pdump_load): Use xmalloc, not malloc.
8077
8078 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8079
8080         * callproc.c:
8081         * dired-msw.c:
8082         * fileio.c:
8083         * process-nt.c:
8084         * redisplay-msw.c:
8085         * sysdep.c: Removed redundant #include <windows.h>
8086
8087 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8088
8089         * frame.c (delete_frame_internal): Do not delete device when its
8090         implementation so declares.
8091         (delete_frame_internal): Set device selected frame to nil when
8092         last frame goes away.
8093
8094         * device-msw.c (msprinter_device_system_metrics): Implemented.
8095         (mswindows_device_system_metrics): Added 'device-dpi property.
8096
8097         * device.c: (Fdevice_printer_p): Added.
8098         Added 'offset-workspace device metric.
8099
8100         * console.h (device_metrics): Declared DM_offset_workspace.
8101
8102 2000-01-23  Martin Buchholz  <martin@xemacs.org>
8103
8104         * fileio.c (Ffile_truename): Remove pointless and confusing
8105         initialization of elen.
8106
8107         * glyphs-widget.c: Compiler warning fixes.
8108
8109 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8110
8111         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
8112         instead of a Lisp_Object as argument to make it consistent with
8113         the other LIVE_P macros.
8114         (CHECK_LIVE_PROCESS): New macro.
8115
8116         * process.c: Declare Qprocess_live_p.
8117         (Fprocess_live_p): New function.
8118         (create_process): Use PROCESS_LIVE_P.
8119         (read_process_output): Ditto.
8120         (set_process_filter): Ditto.
8121         (Fdelete_process): Ditto.
8122         (kill_buffer_processes): Ditto
8123         (process_send_signal): Use CHECK_LIVE_PROCESS.
8124         (Fprocess_input_coding_system): Check whether process is still
8125         alive (fix PR#1061).
8126         (Fprocess_output_coding_system): Ditto.
8127         (Fprocess_coding_system): Ditto.
8128         (Fset_process_input_coding_system): Ditto.
8129         (Fset_process_output_coding_system): Ditto.
8130
8131 2000-01-23  Andy Piper  <andy@xemacs.org>
8132
8133         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
8134         layout and widget.
8135
8136         * glyphs.c (mark_image_instance): take into account changed
8137         image_instance format.
8138         (image_instance_equal): ditto.
8139         (image_instance_hash): ditto.
8140
8141         * glyphs-widget.c (widget_instantiate): Incorporate layout
8142         instantiation here. Delay layout of the layout until later.
8143         (layout_instantiate): deleted.
8144         (layout_query_geometry): new function. get the geometry of a
8145         layout.
8146         (layout_layout): layout a layout dynamically.
8147         (image_instantiator_widget): New function - splitting up
8148         image_instantiator_format_create_glyphs_widget for netwinder
8149         compilation.
8150         (image_instantiator_buttons):
8151         (image_instantiator_edit_fields):
8152         (image_instantiator_combo_box):
8153         (image_instantiator_scrollbar):
8154         (image_instantiator_progress_guage):
8155         (image_instantiator_tree_view):
8156         (image_instantiator_tab_control):
8157         (image_instantiator_labels):
8158         (image_instantiator_layout): ditto.
8159         (image_instantiator_format_create_glyphs_widget): Call preceding
8160         functions.
8161
8162 2000-01-22  Martin Buchholz  <martin@xemacs.org>
8163
8164         * process.c (Fset_process_coding_system):
8165         * device-x.c (Fx_keysym_hash_table):
8166         Docstring fixes.
8167
8168         * lstream.c (Lstream_write): Return documented value, not 0.
8169
8170         * fileio.c (directory_file_name):
8171         (Fsubstitute_in_file_name):
8172         (Fsubstitute_insert_file_contents_internal):
8173         (Fwrite_region_internal):
8174         * emacs.c:
8175         * sysdep.c:
8176         * getloadavg.c:
8177         * systty.h:
8178         Remove vestigial APOLLO-conditional code.
8179
8180 2000-01-21  Martin Buchholz  <martin@xemacs.org>
8181
8182         * getpagesize.h: Add guard macros.
8183         * libsst.h: Add guard macros.
8184         * libst.h: Add guard macros.
8185         * line-number.h: Add guard macros.
8186         * ndir.h: Add guard macros.
8187         * sysfloat.h: Add guard macros.
8188         * sysfile.h: Add guard macros.
8189         * sysproc.h: Add guard macros.
8190         * syswait.h: Add guard macros.
8191         * xintrinsic.h: Add guard macros.
8192         * xintrinsicp.h: Add guard macros.
8193         * xmmanager.h: Add guard macros.
8194         * xmmanagerp.h: Add guard macros.
8195         * xmprimitive.h: Add guard macros.
8196         * xmu.h: Add guard macros.
8197         * gpmevent.h: Add copyright statement. Add guard macros.
8198         * miscplay.h: Add guard macros.
8199         * *.h: Use consistent C-standards-approved guard macro names.
8200
8201         * opaque.c (make_opaque): Switch parameter order.
8202         * opaque.h (make_opaque): Switch parameter order.
8203         Update all callers.
8204         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
8205
8206         * config.h.in (type_checking_assert): Added.
8207         (bufpos_checking_assert): Added.
8208
8209 2000-01-21  Martin Buchholz  <martin@xemacs.org>
8210
8211         * alloc.c: Harmless pdump changes.
8212         - Use countof().
8213         - spell alignment correctly.
8214         * sysdep.c: Use countof()
8215
8216 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8217
8218         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
8219         initially_selected_for_input() console method, default to 0.
8220         (semi_canonicalize_console_connection): Try to delegate to
8221         canonicalize_console_connection if no such console method.
8222         (canonicalize_console_connection): Vice versa.
8223         (print_console): Do not print nil connection.
8224
8225         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
8226         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
8227         (XDEVIMPF_FRAMELESS_OK): Added.
8228         (CONSOLE_INHERITS_METHOD): Added.
8229
8230         * console-msw.c (mswindows_canonicalize_console_connection):
8231         Added.
8232         (mswindows_canonicalize_device_connection): Added.
8233
8234         * console-msw.h (struct msprinter_device): Added this struct and
8235         accessor macros.
8236         (mswindows_device): Made fontlist a lisp object.
8237
8238         * device.c (semi_canonicalize_device_connection):  Try to delegate
8239         to canonicalize_device_connection if no such console method.
8240         (canonicalize_device_connection): Vice versa.
8241         (print_device): Do not print nil connection.
8242
8243         * device-msw.c (mswindows_init_device): Call InitCommonControls
8244         when have widgets.
8245         (mswindows_delete_device): Removed fontlist deallocation.
8246         (mswindows_mark_device): Added.
8247
8248         * events.c (event_equal): Added abort() at unreached code.
8249         (event_hash): Ditto.
8250
8251         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
8252         fallback tags of Windows devices.
8253
8254         * general.c (syms_of_general): Initialized Qmsprinter.
8255
8256         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
8257         of fallback tags of Windows devices.
8258
8259         * lisp.h: Declared Qmsprinter.
8260
8261         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
8262         of strings.
8263         (mswindows_list_fonts): Ditto.
8264         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
8265         that it can be used by both mswindows and msprinter devices.
8266         (initialize_font_instance): Added.
8267         (mswindows_initialize_font_instance): Use it.
8268         (msprinter_initialize_font_instance): Added.
8269
8270         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
8271         and implementation flags check.
8272         (redisplay_without_hooks): Changed the call to the above.
8273         (Fredraw_device): Ditto.
8274         (Fredisplay_device): Ditto.
8275
8276         * redisplay-msw.c (get_frame_dc): Implemented.
8277         (get_frame_compdc): Implemented.
8278         (many functions): Use the two functions above to get device
8279         contexts, ether for a window or a printer.
8280
8281 2000-01-21  Olivier Galibert  <galibert@pobox.com>
8282
8283         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
8284         initialization here.
8285         (init_symbols_once_early): Call it.
8286         * emacs.c (main_1): Call it.
8287         * symsinit.h: Declare it.
8288
8289 2000-01-19  Olivier Galibert  <galibert@pobox.com>
8290
8291         * alloc.c: Use a lrecord_header * in the backtrace instead of a
8292         Lisp_Object.
8293         (pdump_backtrace): Ditto.
8294         (pdump_register_object): Ditto.  Cleanup use of the pointers.
8295         (pdump_get_entry): Abort if trying to register a null pointer.
8296         (pdump_dump_data): Cleanup types when relocating.
8297         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
8298         (pdump_dump_rtables): Remove bad casts.
8299         (pdump_load): Cleanup relocation w.r.t union type.  Use a
8300         Lisp_Object instead of a EMACS_INT for the hashtable
8301         reorganization.
8302
8303 2000-01-20  Martin Buchholz  <martin@xemacs.org>
8304
8305         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
8306
8307         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
8308
8309         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
8310
8311         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
8312
8313 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8314
8315         * faces.h (FACE_STRIKETHRU_P): Added.
8316
8317         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
8318         of font variants.
8319
8320         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
8321         (mswindows_set_dc_font): New function, aware of font variants,
8322         separated from mswindows_update_dc.
8323
8324         * objects-msw.h (struct mswindows_font_instance_data): Added
8325         definition.
8326
8327         * objects-msw.c (mswindows_finalize_font_instance): Delete all
8328         cached fonts and the data structure.
8329         (mswindows_initialize_font_instance): Added creation of font data
8330         structure.
8331         (mswindows_print_font_instance): Print at least something.
8332         (mswindows_create_font_variant): Implemented.
8333         (mswindows_get_hfont): Implemented.
8334
8335 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
8336
8337         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
8338         prototyping problem with msvc.
8339
8340         * emacs.c (main_1): added syms_of_gui_mswindows() call
8341
8342         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
8343         syms_of_gui_mswindows() function
8344
8345         * symsinit.h: added the prototype for syms_of_gui_mswindows()
8346
8347 2000-01-18  Martin Buchholz <martin@xemacs.org>
8348
8349         * XEmacs 21.2.27 is released.
8350
8351 2000-01-18  Martin Buchholz  <martin@xemacs.org>
8352
8353         * glyphs-eimage.c (struct tiff_error_struct):
8354         (tiff_error_func):
8355         (tiff_warning_func):
8356         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
8357
8358         * unexmips.c:
8359         * unexhp9k3.c:
8360         * unexfreebsd.c:
8361         * unexec.c: Remove vestigial Lucid C code.
8362         * unexalpha.c:
8363         * unexaix.c:
8364         * termcap.c:
8365         * libsst.c: Ansify.
8366         Remove declarations of errno and strerror().
8367
8368         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
8369
8370         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
8371
8372 2000-01-16  Martin Buchholz  <martin@xemacs.org>
8373
8374         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
8375         Optimize.
8376
8377 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8378
8379         * md5.c:
8380         * file-coding.c:
8381         * file-coding.h:
8382         Change enum eol_type to eol_type_t.
8383
8384 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8385
8386         * gui.c (get_gui_callback): Check cons before accessing car.
8387
8388 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8389
8390         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
8391         (XSETSPECIFIER_TYPE): Ditto.
8392
8393 2000-01-17  Didier Verna  <didier@xemacs.org>
8394
8395         * redisplay.c (generate_fstring_runes): compute string size in
8396         characters, not bytes.
8397
8398 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
8399
8400         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
8401
8402 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
8403
8404         * print.c (print_error_message): Call print_prepare().
8405
8406 2000-01-14  Martin Buchholz  <martin@xemacs.org>
8407
8408         * .dbxrc: Renamed from dbxrc.
8409
8410         * events.c (event_to_character):
8411         Use `assert (foo)' instead of `if (!foo) abort()'
8412
8413         * .gdbinit (xtype): Add documentation.
8414         * .gdbinit (check-temacs): New function.
8415         * .gdbinit (check-xemacs): New function.
8416         * dbxrc (check-xemacs): New function.
8417         * dbxrc (check-xemacs): New function.
8418
8419 2000-01-14  Andy Piper  <andy@xemacs.org>
8420
8421         * glyphs-widget.c (widget_query_geometry): Make sure that we
8422         calculate default dimensions correctly.
8423
8424 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8425
8426         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
8427
8428         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
8429         pdump_wire'd variable.
8430
8431         * emacs.c: (main_1): Conditionalized calls to
8432         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
8433
8434 2000-01-13  Martin Buchholz  <martin@xemacs.org>
8435
8436         * window.c (Fset_window_configuration):
8437         * sysdep.c (_start):
8438         * input-method-motif.c (res):
8439         * event-Xt.c (Xt_process_to_emacs_event):
8440         Simple compiler warning fixes.
8441
8442         * bytecode.c (funcall_compiled_function): Use the original
8443         function symbol on the backtrace list in preference to the
8444         compiled_function object in error messages.
8445
8446 2000-01-13  Andy Piper  <andy@xemacs.org>
8447
8448         * glyphs-x.c (update_widget_face): Make sure we update the widget
8449         background as well as foreground.
8450
8451 2000-01-13  Andy Piper  <andy@xemacs.org>
8452
8453         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
8454         fields to subwindow.
8455         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
8456         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
8457         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
8458         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
8459
8460         * glyphs-widget.c (check_valid_tab_orientation): new function.
8461         (initialize_widget_image_instance): zero orientation and
8462         justification.
8463         (widget_instantiate): pick up orientation.
8464         (tab_control_query_geometry): return appropriate values for
8465         vertical tabs.
8466
8467         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
8468         appropriate creation flags for left, right and bottom tabs.
8469
8470         * s/cygwin32.h: add tab definitions.
8471
8472 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8473
8474         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
8475         frame upon hiding a subwindow.
8476         (mswindows_button_instantiate): Changed the push button style to
8477         BS_PUSHBUTTON.
8478         (mswindows_button_instantiate): Removed button BS_NOTIFY
8479         style.
8480         (mswindows_button_instantiate): Removed redundant check for
8481         a disabled gui item.
8482         (mswindows_button_instantiate): Made use of WS_TABSTOP
8483         consistent: "operable" controls (edit, button, tree, scroll) have
8484         this style, "display-only" ones (static, progress gauge) do
8485         not. This style is currently ignored by XEmacs though. Also,
8486         removed the WS_EX_CONTROLPARENT style - it is not for children,
8487         it is for their parents!
8488         (mswindows_edit_field_instantiate): Ditto.
8489         (mswindows_progress_gauge_instantiate): Ditto.
8490         (mswindows_tree_view_instantiate): Ditto.
8491         (mswindows_tab_control_instantiate): Ditto.
8492         (mswindows_scrollbar_instantiate): Ditto.
8493         (mswindows_combo_box_instantiate): Ditto.
8494         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
8495         style to the "clip" window.
8496         (mswindows_button_instantiate): Removed compilation warning by
8497         equally typing terms of the ?: operator.
8498
8499 2000-01-12  Didier Verna  <didier@xemacs.org>
8500
8501         * redisplay.c (generate_fstring_runes): new parameter holding the
8502         last modeline-format extent.
8503         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
8504         extent, fill the glyph block with it.
8505         (generate_fstring_runes): handle these parameters.
8506         (generate_formatted_string_db): ditto.
8507
8508         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
8509         glyphs'extents in the modeline.
8510
8511 1999-01-11  Mike Woolley  <mike@bulsara.com>
8512
8513         * ntheap.c: Reduced the reserved heap space from 1Gb down to
8514         256Mb, as a workaround for the non-starting problem many people
8515         have experienced.
8516
8517 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8518
8519         * console-tty.c (Fset_console_tty_output_coding_system):
8520         Force redrawing tty frame.
8521
8522 2000-01-10  Didier Verna  <didier@xemacs.org>
8523
8524         * redisplay.c (generate_fstring_runes): fix size computation bug.
8525
8526 2000-01-09  William M. Perry <wmperry@aventail.com>
8527
8528         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
8529
8530 2000-01-09  Andy Piper  <andy@xemacs.org>
8531
8532         * glyphs-msw.c: index -> i to avoid shadows.
8533         (xbm_create_bitmap_from_data): make static.
8534         (check_valid_string_or_int): deleted.
8535         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
8536
8537         * glyphs-x.c (x_update_subwindow): remove unused args.
8538
8539         * glyphs.c (glyph_image_instance): return the thing. Don't set the
8540         back pointer - this is done in allocate_image_instance.
8541         (query_string_font): return Qnil to make the compiler happy.
8542         (unmap_subwindow): set to ~0 to make the compiler happy.
8543         (glyph_query_geometry): comment out until used.
8544         (glyph_layout): ditto.
8545
8546 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
8547
8548         * insdel.c (signal_after_change): Remove extraneous unbind_to().