(use-fancy-splash-screens-p, display-splash-screen): Move
[bpt/emacs.git] / src / ChangeLog
1 2003-09-19 Dave Love <fx@gnu.org>
2
3 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
4
5 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6
7 * xterm.c (x_set_offset): Take window manager decorations
8 into account.
9
10 2003-09-19 Richard M. Stallman <rms@gnu.org>
11
12 * atimer.h: Don't include lisp.h.
13 (P_): Define it here (as well as elsewhere).
14
15 * print.c (Fprin1_to_string): Move the PRINTPREPARE
16 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
17
18 * data.c (Fvariable_binding_locus): New function.
19 (syms_of_data): defsubr it.
20 (Flocal_variable_p): Delete duplicate call to indirect_variable.
21
22 2003-09-18 Dave Love <fx@gnu.org>
23
24 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
25
26 * process.c (Fnetwork_interface_info): Fix type error.
27 (Fnetwork_interface_list): Doc fix.
28 (read_process_output, read_process_output): Delete unused var.
29
30 2003-09-17 Kim F. Storm <storm@cua.dk>
31
32 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
33 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
34 (Fnetwork_interface_info): Check that ifreq struct has required
35 fields before accessing them; this requires that those fields are
36 defined as macros, which may be too restrictive on some platforms,
37 but it is better than failing on other platforms.
38 (syms_of_process): Only defsubr above fns when included.
39
40 2003-09-17 Dave Love <fx@gnu.org>
41
42 * unexalpha.c: Don't include varargs.h.
43
44 2003-09-17 Kim F. Storm <storm@cua.dk>
45
46 * process.c (Fset_process_sentinel): Add sentinel to childp plist
47 for network process.
48 (socket_options): Add `:' prefix to option names. Add optbit field.
49 (set_socket_option): Remove no_error arg and special handling of s < 0.
50 Return 1<<optbit for known option, 0 for unknown.
51 Do not interpret 0 as false for boolean option (only nil).
52 Pass failed option and value to report_file_error.
53 (Fset_network_process_options): Replaced by Fset_network_process_option.
54 (Fset_network_process_option): New function to set just one option.
55 (Fmake_network_process): Allow :coding arg to be a cons.
56 Allow :server arg to be an integer specifying backlog size.
57 Remove :options arg, and allow options to be specified directly
58 as :KEY, VALUE pairs. Parse these options before binding socket.
59 As before, :reuseaddr t is default for a server process, but this
60 can now be disabled by specifying :reuseaddr nil.
61 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
62 (init_process): Availability of network options is now checked with
63 simpler syntax (featurep 'make-network-process :OPTION); use loop to
64 setup features.
65 (syms_of_process): Fix defsubr's for the replaced functions.
66
67 2003-09-16 Dave Love <fx@gnu.org>
68
69 * Makefile.in: Depend on coding.h.
70
71 2003-09-14 Kim F. Storm <storm@cua.dk>
72
73 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
74 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
75 (syms_of_process): Defsubr them.
76
77 * config.in: Regenerate.
78
79 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
80
81 * lisp.h (VALBITS): Don't remove 1 for the markbit.
82 (union Lisp_Object): Use unsigned int for types. Remove markbit.
83 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
84 (XTYPE): Use unsigned right-shift.
85 (XMARKBIT, XMARK, XUNMARK): Remove.
86
87 * alloc.c (init_intervals, init_symbol, init_marker):
88 Don't preallocate anything.
89 (Fgarbage_collect, mark_object): Ignore the markbit.
90
91 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
92
93 2003-09-08 Lute Kamstra <Lute.Kamstra@cwi.nl>
94
95 * xdisp.c (pint2hrstr): New function.
96 (decode_mode_spec): Add `%i' and `%I' specs.
97 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
98 for `mode-line-format'.
99
100 2003-09-07 Andreas Schwab <schwab@suse.de>
101
102 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
103 avoid warning.
104
105 2003-09-07 Eli Zaretskii <eliz@elta.co.il>
106
107 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
108
109 2003-09-03 Kim F. Storm <storm@cua.dk>
110
111 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
112 change (superseded by 2002-08-30 change); the default blink-off
113 cursor is now again "no cursor".
114
115 2003-09-01 Jason Rumney <jasonr@gnu.org>
116
117 * makefile.w32-in (alloca.o): Remove.
118 (coding.o): Depend on intervals.h
119 (emacs.o, bytecode.o): Depend on window.h
120
121 2003-09-01 Dave Love <fx@gnu.org>
122
123 * Makefile.in (alloca.o): Remove commands.
124 (coding.o): Depend on intervals.h composite.h window.h.
125 (emacs.o): Depend on window.h keyboard.h keymap.h.
126 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
127 (bytecode.o): Depend on window.h.
128
129 2003-08-31 Jason Rumney <jasonr@gnu.org>
130
131 * w32term.c (w32_per_char_metric): Allow cached metrics to be
132 returned even when font_type is unknown.
133
134 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
135
136 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
137
138 * xterm.c (x_term_init): Initialize new fields in x_display_info.
139
140 * xterm.h (struct x_display_info): Add red/green/blue_bits and
141 *_offset.
142
143 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
144 calculate pixel value.
145
146 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
147
148 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
149 Don't tell redisplay display is accurate when it's actually been
150 paused for pending input.
151
152 2003-08-29 Richard M. Stallman <rms@gnu.org>
153
154 * dispnew.c (adjust_glyph_matrix): Call window_box
155 whenever W is nonzero.
156
157 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
158 (Fkill_local_variable, Fmake_variable_frame_local)
159 (Flocal_variable_p, Flocal_variable_if_set_p):
160 Use indirect_variable to trace thru variable aliases.
161
162 * config.in: Updated.
163
164 * callint.c (Fcall_interactively): Save and restore
165 Vthis_command, Vthis_original_command, real_this_command,
166 and current_kboard->Vlast_command.
167
168 * abbrev.c (Fexpand_abbrev): Insert before deleting.
169
170 2003-08-29 Gerd Moellmann <gerd@gnu.org>
171
172 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
173
174 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
175
176 * coding.c (decode_coding_iso2022): Initialize local variable c2.
177 (decode_coding_sjis_big5): Likewise.
178
179 2003-08-27 Jason Rumney <jasonr@gnu.org>
180
181 * w32.c (sys_pipe): Protect against file descriptor overflow.
182
183 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
184
185 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
186
187 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
188
189 * xfns.c (Vgtk_version_string): New variable.
190 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
191
192 2003-08-24 Eli Zaretskii <eliz@elta.co.il>
193
194 * term.c (term_init): Remove `const' from buffer_size's declaration.
195
196 * Makefile.in (msdos.o): Depend on intervals.h.
197
198 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
199
200 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
201
202 * xterm.h (struct x_display_info): New fields: client_leader_window
203 and Xatom_wm_client_leader.
204
205 * xterm.c (x_initialize): Move call to x_session_initialize to ...
206 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
207
208 * xsmfns.c (create_client_leader_window): New function.
209 (x_session_initialize): Call create_client_leader_window, take
210 dpyinfo as argument.
211
212 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
213
214 * Makefile.in (xsmfns.o): Add more depenedencies.
215
216 2003-08-21 Dave Love <fx@gnu.org>
217
218 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
219
220 2003-08-21 Kenichi Handa <handa@m17n.org>
221
222 * term.c (term_init): Fix previous change; don't rely on the
223 length of `buffer' if TERMINFO is defined.
224
225 2003-08-20 Dave Love <fx@gnu.org>
226
227 * atimer.h: Include lisp.h.
228
229 * lisp.h (EMACS_LISP_H): New.
230 (popup_activated_flag): Don't declare.
231
232 * alloca.c: Some merging with gnulib. Change logic and doc
233 concerning (x)malloc/(x)free -- no longer Emacs-specific.
234 [DO_BLOCK_INPUT]: Don't include lisp.h.
235 (xmalloc, xfree): Declare.
236 (malloc): Don't declare.
237
238 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
239 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
240 atimer.h, blockinput.h.
241
242 * alloc.c (lisp_align_malloc): Change type of `aligned'.
243
244 * alloca.s: Removed.
245
246 2003-08-19 Gerd Moellmann <gerd@gnu.org>
247
248 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
249 use -lncurses.
250
251 * term.c (term_init): Use a buffer of size 4096 for tgetent since
252 FreeBSD returns something longer than 2044. Abort if the end of
253 the buffer is overwritten.
254
255 2003-08-19 Miles Bader <miles@gnu.org>
256
257 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
258
259 2003-08-19 Gerd Moellmann <gerd@gnu.org>
260
261 * alloc.c (lisp_align_malloc): Check for memory full when
262 allocating ablocks, which also avoids freeing a pointer into an
263 ablocks structure.
264
265 * puresize.h (BASE_PURESIZE): Increase to 1100000.
266
267 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
268
269 2003-08-16 Richard M. Stallman <rms@gnu.org>
270
271 * editfns.c (Fencode_time): Doc fix.
272
273 2003-08-16 David Ponce <david@dponce.com>
274
275 * fileio.c (Fwrite_region): Fix conditional expression to issue
276 the right message.
277
278 2003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
279
280 * syntax.c (Fforward_word): Argument changed to optional.
281 Set default value to 1.
282
283 2003-08-15 Kenichi Handa <handa@m17n.org>
284
285 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
286 what autoscaled.
287 (best_matching_font): Once we find a better scalable font, set
288 non_scalable_has_exact_height_p to 1.
289 (try_font_list): Call try_alternative_families to try any family
290 with the given registry.
291
292 2003-08-09 Andreas Schwab <schwab@suse.de>
293
294 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
295
296 * print.c (print_string): Fix printing of multibyte string with
297 nontrivial printcharfun.
298
299 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
300
301 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
302
303 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
304
305 2003-07-31 Kenichi Handa <handa@m17n.org>
306
307 * process.c (read_process_output): Return the actually read bytes
308 instead of the result of decoding.
309
310 2003-07-31 Kenichi Handa <handa@m17n.org>
311
312 * xterm.h (struct x_bitmap_record): New member have_mask.
313
314 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
315 to 0.
316 (x_create_bitmap_from_file): Likewise.
317 (x_destroy_bitmap): Check have_mask member before freeing a mask.
318 (x_destroy_all_bitmaps): Likewise.
319 (x_create_bitmap_mask): Set have_mask member to 1.
320
321 2003-07-30 Richard M. Stallman <rms@gnu.org>
322
323 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
324
325 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
326
327 * gtkutil.c (xg_mark_data): Update calls to mark_object.
328
329 2003-07-29 Richard M. Stallman <rms@gnu.org>
330
331 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
332 Conditionalize XIM code on HAVE_XIM.
333
334 * fns.c (Fclear_string): New function.
335 (syms_of_fns): defsubr it.
336
337 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
338
339 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
340
341 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
342
343 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
344
345 * buffer.c (delete_all_overlays): New function.
346 * buffer.h (delete_all_overlays): Declare.
347 * coding.c (run_pre_post_conversion_on_str):
348 * print.c (temp_output_buffer_setup):
349 * fileio.c (Finsert_file_contents):
350 * minibuf.c (get_minibuffer): Use it.
351
352 2003-07-22 Andrew Choi <akochoi@shaw.ca>
353
354 * unexmacosx.c (unexec_regions_sort_compare):
355 (unexec_regions_merge): New functions. Sort and merge unexec
356 regions before dumping them.
357
358 2003-07-22 Dave Love <fx@gnu.org>
359
360 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
361
362 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
363
364 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
365 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
366 MARKBIT as the gcmarkbit for strings.
367
368 2003-07-21 Richard M. Stallman <rms@gnu.org>
369
370 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
371
372 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
373 (syms_of_fns): Corresponding change.
374
375 * alloc.c (syms_of_alloc): Doc fixes.
376
377 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
378
379 * s/netbsd.h: Use -Wl syntax.
380
381 2003-07-17 Richard M. Stallman <rms@gnu.org>
382
383 * xterm.c (xim_initialize): Redo 6/24 change.
384
385 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
386
387 * buffer.c (copy_overlays): Use EMACS_INT for positions.
388 (Fswitch_to_buffer): Don't signal an error when switching to the same
389 buffer in a dedicated window.
390
391 * alloc.c: Use bitmaps for cons, as was done for floats.
392 (init_float, init_cons): Let the normal code allocate the first block.
393 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
394 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
395 New macros.
396 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
397 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
398 (live_cons_p): Check the pointer is not past the `conses' array.
399 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
400 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
401 (survives_gc_p): Use CONS_MARKED_P and simplify.
402 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
403
404 2003-07-13 Paul Eggert <eggert@twinsun.com>
405
406 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
407 puts it into BSS instead, at least on Solaris 8 and 9.
408 This is a valid optimization, and it may occur on other platforms,
409 so Emacs should not assume that initializing a static variable to
410 zero puts it into data.
411 * alloc.c (pure, staticvec):
412 Initialize these arrays to nonzero, so that they're not
413 put into BSS by that optimization.
414
415 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
416
417 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
418 (lisp_align_malloc): Use posix_memalign is available.
419 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
420 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
421 for consistency. Update users.
422
423 2003-07-13 Richard M. Stallman <rms@gnu.org>
424
425 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
426
427 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
428
429 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
430 and use the Gtk+ function gtk_window_icon_from_file if available.
431
432 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
433 handle mask of bitmaps.
434 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
435 mask property.
436 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
437
438 * xterm.h (xg_set_icon): New function.
439
440 2003-07-12 Paul Eggert <eggert@twinsun.com>
441
442 * unexelf.c (unexec): Consider a section to precede the .bss
443 section if its addresses overlap that of .bss.
444
445 2003-07-12 Richard M. Stallman <rms@gnu.org>
446
447 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
448
449 * config.in (HAVE_CRTIN): Add #undef.
450 (INLINE): Really inline only if OPTIMIZE is defined.
451
452 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
453 END_FILES_1.
454 (START_FILES_1, END_FILES_1): New macros (conditional).
455 (LD_SWITCH_SYSTEM_TEMACS): Define.
456
457 * s/openbsd.h: Don't include bsd4-3.h.
458 (TERMINFO): Define.
459 (LIBS_TERMCAP): Define.
460 (LD_SWITCH_SYSTEM): Define (two definitions).
461
462 * xfns.c: Include libpng/png.h instead of png.h.
463
464 2003-07-11 Andreas Schwab <schwab@suse.de>
465
466 * buffer.c (modify_overlay): Update prototype.
467 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
468 Likewise.
469
470 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
471
472 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
473 (struct interval): Move to intervals.h.
474 (struct Lisp_Marker): Use EMACS_INT for position info.
475 (forward_point): Remove prototype of defunct function.
476 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
477 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
478 (syms_of_textprop, set_text_properties): Remove prototypes that are
479 already in intervals.h.
480
481 * intervals.h (struct interval): Move from lisp.h.
482 Use EMACS_INT for position and size info.
483
484 * coding.c: Include intervals.h for Fset_text_properties.
485
486 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
487 position and length information.
488
489 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
490
491 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
492 position and length information.
493
494 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
495
496 Change overlays_after and overlays_before so the overlays themselves
497 are linked into lists, rather than using cons cells. After all each
498 Lisp_Misc already occupies 5 words, so we can add a `next' field to
499 Lisp_Overlay for free and save up one cons cell per overlay (not
500 to mention one indirection when traversing the list of overlay).
501
502 * lisp.h (struct Lisp_Overlay): New field `next'.
503
504 * buffer.h (struct buffer): Change overlays_before and overlays_after
505 from Lisp lists of overlays to pointers to overlays.
506
507 * buffer.c (overlay_strings, recenter_overlay_lists):
508 Fix typo in eassert in last commit.
509 (unchain_overlay): New function.
510 (add_overlay_mod_hooklist): Use AREF.
511 (copy_overlays, reset_buffer, overlays_at, overlays_in)
512 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
513 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
514 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
515 (report_overlay_modification, evaporate_overlays, init_buffer_once):
516 Adjust to new type of overlays_(before|after).
517
518 * alloc.c (mark_object): Mark the new `next' field of overlays.
519 (mark_buffer): Manually mark the overlays_(after|before) fields.
520
521 * coding.c (run_pre_post_conversion_on_str):
522 * editfns.c (overlays_around):
523 * xdisp.c (load_overlay_strings):
524 * fileio.c (Finsert_file_contents):
525 * indent.c (current_column):
526 * insdel.c (signal_before_change, signal_after_change):
527 * intervals.c (set_point_both):
528 * print.c (temp_output_buffer_setup): Use new type for
529 overlays_(before|after).
530
531 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
532
533 * buffer.c (report_overlay_modification): Don't run hooks while
534 traversing the list of overlays.
535
536 * buffer.h (struct buffer): Use an int for overlay_center.
537 (overlays_at, evaporate_overlays, recenter_overlay_lists)
538 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
539
540 * buffer.c (reset_buffer, recenter_overlay_lists)
541 (adjust_overlays_for_insert, adjust_overlays_for_delete)
542 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
543 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
544 (overlays_at, evaporate_overlays, recenter_overlay_lists)
545 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
546
547 * xdisp.c (fast_find_position): Remove unused var.
548
549 * cmds.c (Qexpand_abbrev): New sym.
550 (syms_of_cmds): Initialize it.
551 (internal_self_insert): Use it to call expand-abbrev.
552
553 2003-07-09 Kim F. Storm <storm@cua.dk>
554
555 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if emacs
556 was configured with --without-xim.
557 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
558
559 2003-07-07 Richard M. Stallman <rms@gnu.org>
560
561 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
562
563 * alloc.c (Fgarbage_collect): Doc fix.
564
565 2003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
566
567 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
568
569 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
570
571 * minibuf.c (read_minibuf): UNGCPRO before returning.
572 (Ftry_completion, Fall_completions): Doc fix.
573
574 * alloc.c (live_float_p): Check that p is not past the `floats' array,
575 now that `floats' is not the last element of the struct any more.
576
577 2003-07-06 Jason Rumney <jasonr@gnu.org>
578
579 * w32term.h (ClipboardSequence_Proc): New type.
580
581 * w32fns.c (clipboard_sequence_fn): New variable.
582 (globals_of_w32fns): Initialize it.
583
584 * w32select.c (last_clipboard_sequence_number): New variable.
585 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
586 number if possible.
587
588 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
589
590 * m/amdx86-64.h (MARKBIT):
591 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
592 MARKBIT and ARRAY_MARK_FLAG any more.
593
594 * m/hp800.h (XSETMARKBIT):
595 * m/sr2k.h (XSETMARKBIT):
596 * lisp.h (XSETMARKBIT): Remove unused macro.
597
598 * lisp.h (mark_object): Change prototype.
599
600 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
601 (last_marked): Change accordingly.
602 (mark_interval, mark_maybe_object, mark_maybe_pointer)
603 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
604 (mark_buffer): Update calls to mark_object.
605
606 * bytecode.c (mark_byte_stack):
607 * fns.c (sweep_weak_table):
608 * keyboard.c (mark_kboards): Update calls to mark_object.
609
610 2003-07-06 Jason Rumney <jasonr@gnu.org>
611
612 * alloc.c (struct ablock): Only include padding when there is some.
613
614 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
615
616 * alloc.c (ALIGN): Add casts to simplify usage.
617 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
618 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
619 (struct ablock, struct ablocks): New types.
620 (free_ablock): New global var.
621 (lisp_align_malloc, lisp_align_free): New functions.
622 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
623 (struct float_block): Reorder and add gcmarkbits.
624 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
625 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
626 (init_float, make_float): Use lisp_align_malloc.
627 (free_float, live_float_p): Don't use `type' any more.
628 (make_float): Use FLOAT_UNMARK to access to mark bit.
629 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
630 Use FLOAT_MARKED_P to access the mark bit.
631 (pure_alloc): Simplify use of ALIGN.
632 (mark_object): Use FLOAT_MARK to access the mark bit.
633 (gc_sweep): Use new macros to access the float's mark bit.
634 (init_alloc_once): Init free_ablock.
635
636 * lisp.h (struct Lisp_Float): Remove unused field `type'.
637
638 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
639
640 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
641 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
642 (allocate_buffer): Move.
643 (string_bytes): Don't mask markbit of `size_byte'.
644 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
645 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
646 Use the `size' field of buffers (rather than the `name' field) for
647 the mark bit, as is done for all other vectorlike objects.
648 Use the new macros to access the mark bit of vectorlike objects.
649
650 2003-06-26 Richard M. Stallman <rms@gnu.org>
651
652 * puresize.h (BASE_PURESIZE): Increment base size.
653
654 * xdisp.c (fast_find_position): Enable Gerd's new definition.
655
656 * xterm.c (xim_initialize): Undo previous change.
657
658 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
659
660 * alloc.c (survives_gc_p): Simplify.
661
662 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
663
664 * window.c (Fset_window_dedicated_p): Simplify.
665 (display_buffer_1): Don't raise the win from which minibuf was entered.
666 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
667 (Fminibuffer_selected_window): Simplify.
668
669 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
670
671 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
672 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
673
674 * insdel.c (check_markers, adjust_markers_for_delete)
675 (adjust_markers_for_insert, adjust_markers_for_replace)
676 (prepare_to_modify_buffer, RESTORE_VALUE):
677 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
678 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
679 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
680 * alloc.c (Fmake_marker, free_marker, gc_sweep):
681 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
682 * editfns.c (save_excursion_restore, transpose_markers):
683 * window.c (delete_window):
684 * xdisp.c (message_dolog): Update for new types.
685
686 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
687
688 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
689 (realize_default_face): Use default_face_done_p for the force_p
690 argument to set_lface_from_font_name. Set default_face_done_p to one.
691
692 * frame.c (make_frame): Initialize default_face_done_p.
693
694 * frame.h (struct frame): Add default_face_done_p.
695
696 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
697 will be defined.
698
699 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
700
701 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
702 Initialize the new field `gcmarkbit'.
703 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
704 (mark_interval_tree): Don't mark the tree separately from the nodes.
705 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
706 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
707 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
708
709 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
710 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
711 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
712 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
713 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
714
715 2003-06-24 Dave Love <fx@gnu.org>
716
717 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
718
719 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
720 from gnulib.
721
722 2003-06-21 Richard M. Stallman <rms@gnu.org>
723
724 * fileio.c (Fwrite_region): Alternate messages
725 for append and partial write.
726
727 * keyboard.c (read_key_sequence): When converting upcase fn key to
728 downcase, update fkey and keytran so `backspace' gets translated.
729
730 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
731
732 * process.c (wait_reading_process_input): Don't signal SIGIO
733 in batch mode.
734
735 2003-06-17 Kenichi Handa <handa@m17n.org>
736
737 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
738 composite.h.
739
740 * xselect.c: Don't include charset.h, coding.h, composite.h.
741 (Qforeign_selection): New variable.
742 (syms_of_xselect): Intern and static it.
743 (selection_data_to_lisp_data): Return a unibyte string made from
744 data with `foreign-selection' text property.
745
746 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
747
748 * termhooks.h (EVENT_INIT): New macro.
749
750 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
751
752 * alloc.c (mark_kboards): Move to keyboard.c.
753
754 * keyboard.c (record_asynch_buffer_change, read_avail_input):
755 * xterm.c (x_dispatch_event):
756 * xmenu.c (find_and_call_menu_selection):
757 * xdisp.c (handle_tool_bar_click):
758 * w32menu.c (menubar_selection_callback):
759 * sysdep.c (kbd_input_ast, read_input_waiting):
760 * msdos.c (dos_rawgetc):
761 * macterm.c (mac_check_for_quit_char):
762 * macmenu.c (menubar_selection_callback):
763 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
764 data to kbd_buffer_store_event.
765
766 2003-06-15 Kim F. Storm <storm@cua.dk>
767
768 * xdisp.c (x_fix_overlapping_area): Always use area relative X
769 to fix redisplay problem with tall characters (such as \e,AC\e(B).
770
771 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
772
773 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
774
775 2003-06-12 Kenichi Handa <handa@m17n.org>
776
777 * fileio.c (Fwrite_region): Save and restore restriction.
778
779 2003-06-12 Dave Love <fx@gnu.org>
780
781 * alloca.c (alloca): Declare arg as size_t.
782
783 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
784 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
785
786 2003-06-11 Dave Love <fx@gnu.org>
787
788 * search.c (shrink_regexp_cache): Use xrealloc.
789 (syms_of_search): Use xmalloc.
790
791 2003-06-10 Kim F. Storm <storm@cua.dk>
792
793 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
794 Adjust phys_cursor.x to be relative to window box, rather than
795 text area before checking -- to ensure cursor is redrawn when
796 exposing window.
797 Note: This also fixes a similar (older) bug if display margins
798 are present.
799
800 2003-06-06 Kenichi Handa <handa@m17n.org>
801
802 * coding.c (encoding_buffer_size): If coding->type is
803 coding_type_ccl, double magnification on CRLF encoding.
804
805 2003-06-06 Jason Rumney <jasonr@gnu.org>
806
807 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
808 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
809
810 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
811 Mac too.
812
813 2003-06-05 Dave Love <fx@gnu.org>
814
815 * strftime.c: Merge changes from gnulib.
816
817 * mktime.c (__mktime_internal): Merge changes from gnulib
818 involving year 69 and dst2.
819
820 Changes to merge with gnulib version and be consistent with the
821 autoconf test:
822
823 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
824 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
825 [HAVE_LOCALE_H]: Include locale.h.
826 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
827
828 2003-06-05 Kim F. Storm <storm@cua.dk>
829
830 * window.c (coordinates_in_window): Convert X and Y to window
831 relative coordinates inside mode-line and header-line parts.
832 Convert X and Y to margin area relative coordinates inside left
833 and right display margin parts.
834
835 2003-06-05 Jason Rumney <jasonr@gnu.org>
836
837 * w32fns.c (add_system_logical_colors_to_map): New function.
838 (Fx_open_connection): Use it.
839
840 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
841
842 * process.c (allocate_pty): Revert part of the previous patch.
843 (Faccept_process_output): Simplify.
844
845 2003-06-04 Jason Rumney <jasonr@gnu.org>
846
847 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
848
849 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
850 (lispy_mouse_wheel_names): Remove.
851 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
852 Always define drag_and_drop_syms.
853
854 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
855 WHEEL_EVENT events.
856
857 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
858
859 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
860
861 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
862
863 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
864
865 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
866 menu item label.
867
868 2003-06-03 Richard M. Stallman <rms@gnu.org>
869
870 * window.c (Fwindow_edges): Doc fix.
871 (Fwindow_pixel_edges, Fwindow_inside_edges)
872 (Fwindow_inside_pixel_edges): New functions.
873 (syms_of_window): defsubr them.
874
875 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
876 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
877
878 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
879
880 * dispnew.c (Fsit_for): Don't lie about the number of args.
881
882 2003-06-02 Dave Love <fx@gnu.org>
883
884 * callproc.c: Use HAVE_FCNTL_H, not USG5.
885 (syms_of_callproc) <process-environment>: Doc fix.
886
887 * doc.c: Use HAVE_FCNTL_H, not USG5.
888
889 * xfaces.c (font_rescale_ratio): Fix for K&R.
890
891 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
892
893 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
894
895 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
896
897 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
898 (xg_create_frame_widgets): Use ENCODE_UTF_8.
899
900 * xterm.c (Qutf_8): Moved to coding.c
901
902 * xmenu.c (ENCODE_MENU_STRING): New.
903 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
904 Use it.
905
906 * coding.h (ENCODE_UTF_8): New.
907 (Qutf_8): Declare.
908
909 * coding.c (Qutf_8): New.
910 (syms_of_coding): Intern it.
911
912 * fns.c: Doc fixes.
913
914 2003-06-02 Kenichi Handa <handa@m17n.org>
915
916 * buffer.c (Fset_buffer_multibyte): Fix previous change.
917
918 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
919
920 * lread.c (openp): Make sure STR is a string.
921
922 2003-06-01 David Ponce <david@dponce.com>
923
924 * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
925 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
926
927 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
928 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
929 (discard_mouse_events): Discard WHEEL_EVENT events too.
930 (lispy_wheel_names, wheel_syms): New.
931 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
932 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
933 defined.
934 (make_lispy_event): Add WHEEL_EVENT handler.
935
936 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
937 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
938 WHEEL_EVENT events.
939
940 2003-05-31 John Paul Wallington <jpw@gnu.org>
941
942 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
943 timer are in lisp/emacs-lisp.
944
945 2003-05-31 Kenichi Handa <handa@m17n.org>
946
947 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
948 region when a buffer is changed to unibyte.
949
950 * charset.h (VALID_LEADING_CODE_P): New macro.
951 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
952
953 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
954 is nonzero, accept multibyte form of eight-bit-control chars.
955 (decode_composition_emacs_mule): Likewise.
956 (decode_coding_emacs_mule): Likewise.
957 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
958 multibyte form of eight-bit-control chars.
959
960 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
961 (Finsert_file_contents): If coding-system-for-read is bound to
962 Qauto_save_coding, use the coding system emacs-mule with special
963 setting for recovering a file.
964 (choose_write_coding_system): On auto saving, use the coding
965 system emacs-mule with special setting for auto saving.
966 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
967
968 2003-05-30 Kenichi Handa <handa@m17n.org>
969
970 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
971 properly before calling ccl_driver.
972
973 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
974
975 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
976 nonzero.
977 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
978 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
979
980 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
981
982 * xfaces.c (realize_default_face): Do not abort if lface is
983 non-existent - reverts change from 2003-05-19.
984
985 2003-05-29 Kenichi Handa <handa@m17n.org>
986
987 * coding.c (decode_coding_iso2022): Pay attention to the byte
988 sequence of CTEXT extended segment, and retain those bytes as is.
989
990 2003-05-28 Kenichi Handa <handa@m17n.org>
991
992 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
993 of CODING_REPLACEMENT_CHARACTER.
994 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
995 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
996 check this flag on encoding.
997 (encode_coding_sjis_big5): Check
998 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
999 (Fset_terminal_coding_system_internal): Set
1000 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
1001 instead of setting CODING_FLAG_ISO_SAFE flag in
1002 terminal_coding.flags.
1003
1004 * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
1005 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
1006 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
1007
1008 2003-05-28 Richard M. Stallman <rms@gnu.org>
1009
1010 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
1011
1012 * eval.c (unbind_to): Move init of this_binding to separate statement.
1013
1014 2003-05-28 Kim F. Storm <storm@cua.dk>
1015
1016 * xdisp.c (expose_window): Fix error in calculation of
1017 window relative coordinates of area to redisplay.
1018
1019 2003-05-27 Jason Rumney <jasonr@gnu.org>
1020
1021 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
1022
1023 2003-05-27 David Ponce <david@dponce.com>
1024
1025 Handle W32 mouse wheel events as mouse click events, like in X.
1026
1027 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
1028 MOUSE_WHEEL_EVENT anymore.
1029
1030 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
1031 Scrolling down/up the mouse wheel is respectively mapped to mouse
1032 button 4 and 5.
1033 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
1034 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
1035 WM_MOUSEWHEEL events.
1036
1037 2003-05-27 Andreas Schwab <schwab@suse.de>
1038
1039 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
1040
1041 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
1042 partially visible line.
1043
1044 * alloc.c (Fgarbage_collect): Fix last change.
1045
1046 2003-05-26 John Paul Wallington <jpw@gnu.org>
1047
1048 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
1049
1050 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
1051
1052 * window.c (Fset_window_buffer): Add type of `keep_margins'.
1053 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
1054
1055 * window.h (window_box_text_cols): Declare.
1056
1057 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
1058 (x_draw_vertical_border): Remove unused var `f'.
1059
1060 * xfaces.c (build_scalable_font_name): Remove `unused var
1061 pixel_size' warning.
1062
1063 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
1064
1065 * unexelf.c (unexec): Remove `unused var n' warning.
1066
1067 * strftime.c (my_strftime_localtime_r): Remove `defined but
1068 unused' warning.
1069
1070 * process.c (allocate_pty): Remove `unused var stb' and
1071 `cp might be used uninitialized' warnings.
1072
1073 * dispnew.c (mode_line_string): Remove unused var `f'.
1074
1075 * coding.c (find_safe_codings): Remove unused var `i'.
1076
1077 * bytecode.c (Fbyte_code): Remove `unused val' warning.
1078
1079 * buffer.c (Fkill_buffer): Remove unused var `list'.
1080
1081 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
1082
1083 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1084
1085 * frame.c (make_frame): Condition want_fullscreen with
1086 HAVE_WINDOW_SYSTEM.
1087
1088 2003-05-25 Juanma Barranquero <lektu@terra.es>
1089
1090 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
1091 (Fwindow_scroll_bars): Fix typo in docstring.
1092
1093 2003-05-24 Kim F. Storm <storm@cua.dk>
1094
1095 The following changes serve several purposes:
1096
1097 1) Swap the position of fringes and display margins in windows, i.e.
1098 the fringes are now displayed between the margins and the text area
1099 (by default).
1100
1101 2) Allow fringe and scroll bar parameters to be set per-buffer and
1102 per-window (like display margins). Such settings are now stored
1103 in window configurations, preserved when frames are resized, and
1104 copied when windows are split vertically or horizontally.
1105 Several bugs related to display margins have been fixed.
1106
1107 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
1108
1109 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
1110 rather than FRAME_WIDTH (FRAME_FONT (f)).
1111
1112 5) Introduce a consistent naming of variables, members and macros
1113 depending on whether their value is measured in pixels or in
1114 canonical columns/lines. Pixel dimensions are named *_width and
1115 *_height, while canonical columns/lines are named *_cols and
1116 *_lines. Pixel positions are named *_x and *_y, while column/line
1117 positions are named *_col and *_line.
1118
1119 6) Consolidate more of the X, W32, and MAC gui code by moving
1120 common data into struct frame, and generalize it for the non-gui
1121 case by using suitable defaults.
1122
1123 7) Cleanup and consolidate the macros controlling frame and window
1124 layout into frame.h and window.h, and generalize the use of the
1125 various window_box_* functions (enhanced to handle the new fringe
1126 position and the per-window fringe and scroll bar settings).
1127
1128 * frame.h (struct frame): Rename members height to text_lines,
1129 width to text_cols, window_height to total_lines, window_width to
1130 total_cols, new_height to new_text_lines, new_width to
1131 new_text_cols. All uses changed.
1132 (struct frame): New members which consolidate common members of
1133 x_output, w32_output, and mac_output structures: left_pos,
1134 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
1135 win_gravity, size_hint_flags, border_width, internal_border_width,
1136 line_height, fringe_cols, left_fringe_width, right_fringe_width,
1137 want_fullscreen. All uses changed.
1138 (struct frame): New member column_width contaning the canonical
1139 column width, analogue to line_height. All uses changed.
1140 (struct frame): Rename members scroll_bar_pixel_width to
1141 config_scroll_bar_width, and scroll_bar_cols to
1142 config_scroll_bar_cols. All uses changed.
1143 (struct frame): New member scroll_bar_actual_width which
1144 consolidates and renames the vertical_scroll_bar_extra member of
1145 x_output, w32_output, and mac_output structures. All uses changed.
1146 (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
1147 from x/w32/macterm.h files. All uses changed. Also change code
1148 which referred to f->output_data...->pixel_height.
1149 (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
1150 from x/w32/macterm.h files. All uses changed. Also change code
1151 which referred to f->output_data...->pixel_width.
1152 (FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
1153 Also change code which referred to f->height.
1154 (FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
1155 Also change code which referred to f->width.
1156 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
1157 to update new_text_lines and new_text_cols members directly.
1158 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
1159 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
1160 (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
1161 FRAME_SCROLL_BAR_COLS. All uses changed.
1162 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
1163 Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
1164 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
1165 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
1166 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
1167 (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
1168 (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
1169 (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
1170 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
1171 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
1172 (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
1173 return line_height member (it now has proper value also for
1174 non-window frames).
1175 (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
1176 return new column_width member (rather than the default font width).
1177 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
1178 (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
1179 from x/w32/macterm.h files. Unconditionally return corresponding
1180 member of frame structure (they now have proper values also for
1181 non-window frames).
1182 (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
1183 Calculate return value from left and right widths.
1184 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
1185 internal_border_width member (has proper value for non-window frame).
1186 (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
1187 (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
1188 (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
1189 (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
1190 (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
1191 consolidated from xterm.h, macterm.h, and w32term.h.
1192 (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
1193 consolidated from xterm.h, macterm.h, and w32term.h.
1194 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
1195 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
1196 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
1197 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
1198 (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
1199 consolidated from x/mac/w32term.h.
1200 (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
1201 consolidated from x/mac/w32term.h.
1202 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
1203 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
1204 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
1205 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
1206
1207 * window.h (struct window): Rename members left to left_col,
1208 top to top_line, height to total_lines, width to total_cols,
1209 left_margin_width to left_margin_cols, right_margin_width to
1210 right_margin_cols, orig_height to orig_total_lines, orig_top to
1211 orig_top_line. All uses changed.
1212 (struct window): New members left_fringe_width, right_fringe_width,
1213 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
1214 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
1215 New macros primarily used to simplify other macros.
1216 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
1217 referred to XINT (w->width).
1218 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
1219 referred to XINT (w->height).
1220 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
1221 referred to XINT (w->width) * canon_x_unit.
1222 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
1223 referred to XINT (w->height) * canon_y_unit.
1224 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
1225 referred to XINT (w->left).
1226 (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE. Change
1227 all uses and code that referred to XINT (w->left) + XINT (w->width).
1228 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
1229 referred to XINT (w->top).
1230 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
1231 referred to XINT (w->top) + XINT (w->height).
1232 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
1233 referred to XINT (w->left) * canon_x_unit.
1234 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
1235 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
1236 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
1237 referred to XINT (w->top) * canon_y_unit.
1238 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
1239 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
1240 (WINDOW_LEFTMOST_P): New macro.
1241 (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
1242 All uses changed.
1243 (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
1244 All uses changed.
1245 (WINDOW_BOX_LEFT_EDGE_X): Renamed from
1246 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
1247 Do not exclude left fringe width.
1248 (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
1249 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
1250 Do not exclude fringe widths.
1251 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
1252 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
1253 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
1254 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
1255 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
1256 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
1257 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
1258 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
1259 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
1260 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
1261 New macros. Change code which referenced corresponding
1262 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
1263 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
1264 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
1265 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
1266 allow per-window scroll-bar settings.
1267 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
1268 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
1269 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
1270 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
1271 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
1272 FRAME_SCROLL_BAR_WIDTH.
1273 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
1274 (WINDOW_SCROLL_BAR_AREA_X): New macros.
1275 (WINDOW_HEADER_LINE_HEIGHT): Renamed from
1276 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
1277 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
1278 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
1279 (WINDOW_BOX_TEXT_HEIGHT): Renamed from
1280 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
1281 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
1282 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
1283 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
1284 (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
1285 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
1286 (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
1287 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
1288 (window_from_coordinates): Update prototype.
1289 (Fset_window_buffer): Update EXFUN.
1290 (set_window_buffer): Update prototype.
1291
1292 * dispextern.h (struct glyph_matrix): Rename members window_left_x
1293 to window_left_col, window_top_y to window_top_line. All uses
1294 changed.
1295 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
1296 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
1297 internal_border_width is now set to 0 for non-window frames.
1298 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
1299 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
1300 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
1301 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
1302 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
1303 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
1304 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
1305 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
1306 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
1307 Move to window.h and renamed [see window.h changes].
1308 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
1309 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
1310 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
1311 Use WINDOW_TOTAL_LINES.
1312 (frame_update_line_height): Remove prototype.
1313
1314 * buffer.h (struct buffer): Rename members measured in columns:
1315 left_margin_width to left_margin_cols, right_margin_width to
1316 right_margin_cols. All uses changed.
1317 New members left_fringe_width, right_fringe_width,
1318 fringes_outside_margins for per-buffer fringe settings.
1319 New members scroll_bar_width and vertical_scroll_bar_type for
1320 per-buffer scroll bar settings.
1321
1322 * buffer.c (init_buffer_once): Set buffer_defaults and
1323 buffer_local_flags for new buffer-local variables
1324 left_fringe_width, right_fringe_width, fringes_outside_margins,
1325 scroll_bar_width, and vertical_scroll_bar_type.
1326 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
1327 default-* variables for them.
1328
1329 * dispnew.c: Make (many) trivial substitutions for renamed and
1330 new macros in dispextern.h, frame.h and window.h.
1331 (mode_line_string): No need to adjust width for mode lines, as it
1332 is already adjusted by the caller.
1333 (marginal_area_string): Handle fringes inside/outside margins.
1334
1335 * frame.c: Make (many) trivial substitutions for renamed and
1336 new macros in dispextern.h, frame.h and window.h.
1337 (make_frame): Initialize left_fringe_width, right_fringe_width,
1338 fringe_cols, scroll_bar_actual_width, border_width,
1339 internal_border_width, column_width, line_height, x_pixels_diff,
1340 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
1341 members with values suitable for a non-window frames.
1342
1343 * gtkutil.c: Make (many) trivial substitutions for renamed and
1344 new macros in dispextern.h, frame.h and window.h.
1345
1346 * indent.c: Make (few) trivial substitutions for renamed and
1347 new macros in dispextern.h, frame.h and window.h.
1348
1349 * keyboard.c: Make (many) trivial substitutions for renamed and
1350 new macros in dispextern.h, frame.h and window.h.
1351 (make_lispy_event): Use window positions returned from
1352 window_from_coordinates when constructing the lisp event for
1353 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
1354 (incorrect) values locally.
1355 (make_lispy_movement): Use window positions returned from
1356 window_from_coordinates when constructing the lisp event, rather
1357 than calculating (incorrect) values locally.
1358
1359 * scroll.c: Make (some) trivial substitutions for renamed and
1360 new macros in dispextern.h, frame.h and window.h.
1361
1362 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
1363 scroll-bars.
1364
1365 * sysdep.c: Make (few) trivial substitutions for renamed and
1366 new macros in dispextern.h, frame.h and window.h.
1367
1368 * term.c: Make (some) trivial substitutions for renamed and
1369 new macros in dispextern.h, frame.h and window.h.
1370
1371 * widget.c: Make (few) trivial substitutions for renamed and
1372 new macros in dispextern.h, frame.h and window.h.
1373
1374 * window.c: Make (many) trivial substitutions for renamed and
1375 new macros in dispextern.h, frame.h and window.h.
1376 (make_window): Initialize new members
1377 left_margin_cols, right_margin_cols, left_fringe_width,
1378 right_fringe_width, fringes_outside_margins, scroll_bar_width,
1379 and vertical_scroll_bar_type.
1380 (coordinates_in_window): Adapted to new fringe/margin positions
1381 and per-window fringes and scroll-bars.
1382 Fix bug related to incorrectly adjusting coordinates by
1383 frame's internal_border_width (the effect normally negible since
1384 the internal_border_width is typically 0 or 1 pixel, but very
1385 noticeable for an internal_border_width of e.g. 25 pixels).
1386 Upon successful return (other than ON_NOTHING), the coordinates
1387 are now always properly converted to window relative for the
1388 given display element.
1389 (window_from_coordinates): Add new parameters wx and wy to
1390 return the window relative x and y position in the returned
1391 window and part. A null arg means, don't return the position.
1392 All callers changed.
1393 (adjust_window_margins): New function which may reduce the width
1394 of the display margins if a window's text area is too small after
1395 resizing or splitting windows.
1396 (size_window): Fix bug that did not account for display margin
1397 widths when checking the minimum width of a window; use
1398 adjust_window_margins.
1399 (set_window_buffer): Call Fset_window_fringes and
1400 Fset_window_scroll_bars to setup per-window elements.
1401 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
1402 existing display margin, fringe widths, and scroll bar settings
1403 (e.g. after splitting a window or resizing the frame).
1404 All callers changed.
1405 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
1406 (Fsplit_window): Duplicate original window's display margin,
1407 fringe, and scroll-bar settings; then call Fset_window_buffer with
1408 KEEP_MARGINS non-nil. This fixes a bug which caused a split
1409 window to only preserve the display margins in one of the windows.
1410 When splitting horizontally, call adjust_window_margins on both
1411 windows to ensure that the text area of the new windows is non too
1412 narrow. This fixes a bug which could cause emacs to trap if the
1413 width of the split window was less than the width of the display
1414 margins.
1415 (window_box_text_cols): Renamed from window_internal_width.
1416 All uses changed. Adapt to per-window fringes and scroll bars.
1417 Fix bug that caused vertical separator to be subtracted also on
1418 window frames. Fix another bug that did not reduce the returned
1419 value by the columns used for display margins.
1420 (window_scroll_line_based): Fix bug related to scrolling too much
1421 when display margins are present (implicitly fixed by the fix to
1422 window_box_text_cols).
1423 (scroll_left, scroll_right): Fix bug related to scrolling too far
1424 by default when display margins are present (implicitly fixed by
1425 the fix to window_box_text_cols).
1426 (struct saved_window): Rename members left to left_col, top to
1427 top_line, width to total_cols, height to total_lines, orig_top to
1428 orig_top_line, orig_height to orig_total_lines. All uses changed.
1429 New members left_margin_cols, right_margin_cols,
1430 left_fringe_width, right_fringe_width, fringes_outside_margins,
1431 scroll_bar_width, and vertical_scroll_bar_type for saving
1432 per-window display elements.
1433 (Fset_window_configuration): Restore display margins, fringes,
1434 and scroll bar settings. This fixes a bug which caused display
1435 margins to be discarded when saving and restoring a window
1436 configuration.
1437 (save_window_save): Save display margins, fringes, and scroll bar
1438 settings. This fixes a bug which caused display margins to be
1439 discarded when saving and restoring a window configuration.
1440 (Fset_window_margins): Do nothing if display margins are not
1441 really changed. Otherwise, call adjust_window_margins to ensure
1442 the text area doesn't get too narrow. This fixes a bug which
1443 could cause emacs to trap if setting display margins wider than
1444 the width of the window.
1445 (Fset_window_fringes): New defun to allow user to specifically set
1446 this window's fringe widths and position vs. display margins.
1447 (Fwindow_fringes): New defun to return window's actual fringe
1448 settings.
1449 (Fset_window_scroll_bars): New defun to allow user to specifically
1450 set this window's scroll bar width and position.
1451 (Fwindow_scroll_bars): New defun to return window's actual scroll
1452 bar settings.
1453 (compare_window_configurations): Also compare display margins,
1454 fringes, and scroll bar settings.
1455 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
1456
1457 * xdisp.c: Make (many) trivial substitutions for renamed and
1458 new macros in dispextern.h, frame.h and window.h.
1459 (window_box_width): Adapt to per-window fringes and scroll bars,
1460 and new fringe vs. display margin position. Note that returned
1461 value is no longer guaranteed to be a whole multiple of the frame
1462 column width, since per-window fringes may now be any width.
1463 (window_box_left_offset): New function like window_box_left, but
1464 value is relative to left border of window (rather than frame).
1465 (window_box_right_offset): New function like window_box_right,
1466 but value is relative to left border of window.
1467 (window_box_left): Adapt to per-window fringes and scroll bars,
1468 and new fringe vs. display margin position. Simplify by using
1469 WINDOW_LEFT_EDGE_X and window_box_left_offset.
1470 (window_box): Allow null args for unnecessary return values;
1471 change/simplify relevant callers.
1472 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
1473 and new fringe vs. display margin position.
1474 Use window_box_left_offset and window_box_right_offset
1475 (get_glyph_string_clip_rect): Adapt to per-window fringes and
1476 scroll bars, and new fringe vs. display margin position.
1477 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
1478 (draw_fringe_bitmap): Rework to handle per-window fringes and new
1479 fringe vs. display margin position.
1480 (hscroll_window_tree): Use window_box_width instead of window_box.
1481 (redisplay_window): Adapt to per-window scroll bars.
1482 (draw_glyphs): Rework to handle per-window fringes and scroll
1483 bars, and new fringe vs. display margin position.
1484 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
1485 (x_clear_end_of_line): Adapt to per-window fringes and scroll
1486 bars, and new fringe vs. display margin position. Fix bug which
1487 increased total width of full_width rows by width of scroll bars
1488 although window's total width already includes that.
1489 (x_fix_overlapping_area): Simplify using window_box_left_offset.
1490 (expose_area): Simplify using window_box_left_offset.
1491 (x_draw_vertical_border): Handle per-window scroll bar settings,
1492 mixing windows with left, right and no scroll bars.
1493
1494 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
1495 where it's used in x_list_fonts (for clarity).
1496 (frame_update_line_height): Remove unused function; functionality
1497 is now done directly when setting the default font in x_set_font.
1498
1499 * xfns.c: Make (many) trivial substitutions for renamed and
1500 new macros in dispextern.h, frame.h and window.h.
1501
1502 * xmenu.c: Make (some) trivial substitutions for renamed and
1503 new macros in dispextern.h, frame.h and window.h.
1504
1505 * xterm.h (struct x_output): Move members left_pos, top_pos,
1506 border_width, pixel_height, pixel_width, line_height,
1507 internal_border_width, vertical_scroll_bar_extra,
1508 left_fringe_width, right_fringe_width, fringe_cols,
1509 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
1510 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
1511 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
1512 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
1513 (PIXEL_WIDTH, PIXEL_HEIGHT)
1514 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
1515 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
1516 frame.h and renamed [see frame.h changes].
1517 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
1518 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
1519 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
1520 and renamed [see frame.h changes].
1521
1522 * xterm.c: Make (several) trivial substitutions for renamed and
1523 new macros in dispextern.h, frame.h and window.h.
1524 (x_draw_glyph_string_box): Adapt to per-window fringes and
1525 scroll-bars.
1526 (scroll_run): Adapt to new fringe position.
1527 (glyph_rect): Use window coordinates returned from
1528 window_from_coordinates rather than frame_to_window_pixel_xy.
1529 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
1530 scroll-bars.
1531 (handle_one_xevent): Simplify a USE_GTK conditional.
1532 (x_clip_to_row): Remove superfluous whole_line_p arg and code
1533 (fringes are now inside margins, i.e. always in the clipping area).
1534 All callers changed.
1535 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
1536 directly, then call compute_fringe_widths. Don't call
1537 frame_update_line_height.
1538
1539 * w32term.h (struct w32_output): Move members left_pos, top_pos,
1540 border_width, pixel_height, pixel_width, line_height,
1541 internal_border_width, vertical_scroll_bar_extra,
1542 left_fringe_width, right_fringe_width, fringe_cols,
1543 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
1544 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
1545 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
1546 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
1547 (PIXEL_WIDTH, PIXEL_HEIGHT)
1548 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
1549 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
1550 frame.h and renamed [see frame.h changes].
1551 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
1552 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
1553 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
1554 and renamed [see frame.h changes].
1555
1556 * w32term.c: Make (several) trivial substitutions for renamed and
1557 new macros in dispextern.h, frame.h and window.h.
1558 (x_draw_glyph_string_box): Adapt to per-window fringes and
1559 scroll-bars.
1560 (glyph_rect): Use window coordinates returned from
1561 window_from_coordinates rather than frame_to_window_pixel_xy.
1562 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
1563 scroll-bars.
1564 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
1565 (fringes are now inside margins, i.e. always in the clipping area).
1566 All callers changed.
1567 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
1568 directly, then call compute_fringe_widths. Don't call
1569 frame_update_line_height.
1570
1571 * w32console.c: Make (few) trivial substitutions for renamed and
1572 new macros in dispextern.h, frame.h and window.h.
1573
1574 * w32fns.c: Make (many) trivial substitutions for renamed and
1575 new macros in dispextern.h, frame.h and window.h.
1576
1577 * w32menu.c: Make (few) trivial substitutions for renamed and
1578 new macros in dispextern.h, frame.h and window.h.
1579
1580 * macterm.h (struct mac_output): Move members left_pos, top_pos,
1581 border_width, pixel_height, pixel_width, line_height,
1582 internal_border_width, vertical_scroll_bar_extra,
1583 left_fringe_width, right_fringe_width, fringe_cols,
1584 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
1585 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
1586 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
1587 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
1588 (PIXEL_WIDTH, PIXEL_HEIGHT)
1589 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
1590 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
1591 frame.h and renamed [see frame.h changes].
1592 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
1593 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
1594 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
1595 and renamed [see frame.h changes].
1596
1597 * macterm.c: Make (several) trivial substitutions for renamed and
1598 new macros in dispextern.h, frame.h and window.h.
1599 (x_draw_glyph_string_box): Adapt to per-window fringes and
1600 scroll-bars.
1601 (glyph_rect): Use window coordinates returned from
1602 window_from_coordinates rather than frame_to_window_pixel_xy.
1603 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
1604 scroll-bars.
1605 (x_clip_to_row): Remove superfluous whole_line_p arg and code
1606 (fringes are now inside margins, i.e. always in the clipping area).
1607 All callers changed.
1608 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
1609 directly, then call compute_fringe_widths. Don't call
1610 frame_update_line_height.
1611
1612 * macfns.c: Make (several) trivial substitutions for renamed and
1613 new macros in dispextern.h, frame.h and window.h.
1614 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
1615
1616 * macmenu.c: Make (few) trivial substitutions for renamed and
1617 new macros in dispextern.h, frame.h and window.h.
1618
1619 * msdos.h (struct x_output): Remove members left_pos, top_pos,
1620 and line_height, and use corresponding new members in struct
1621 frame. All uses changed.
1622 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
1623 superseeded by corresponding macros in frame.h.
1624
1625 * msdos.c: Make (several) trivial substitutions for renamed and
1626 new macros in dispextern.h, frame.h and window.h.
1627 (IT_note_mouse_highlight): Use updated window coordinates returned
1628 by window_from_coordinates, rather than adjusting them locally.
1629 (internal_terminal_init): No need to initialize line_height here;
1630 it now defaults to 1.
1631
1632 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
1633
1634 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
1635 dropping `down' events.
1636
1637 2003-05-24 Andreas Schwab <schwab@suse.de>
1638
1639 * coding.c (find_safe_codings): Fix last change.
1640
1641 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
1642
1643 * xfns.c (x_window): Fix typo from 2003-05-21 change.
1644
1645 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
1646
1647 * xdisp.c (display_mode_element): Increase max depth.
1648 Simplify the error handling code. Use a different error string
1649 for the case where we hit the depth limit.
1650
1651 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
1652
1653 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
1654
1655 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
1656
1657 * intervals.c (get_local_map): Don't get char-property of previous
1658 point any more: get_pos_property already does it and better.
1659
1660 2003-05-21 Dave Love <fx@gnu.org>
1661
1662 [Merged from unicode branch.]
1663
1664 * xfns.c (x_window, x_window): Use use_xim.
1665
1666 * xterm.c (use_xim): Initialize.
1667 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
1668 (x_term_init): Maybe set use_xim.
1669
1670 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
1671
1672 2003-05-21 Jason Rumney <jasonr@gnu.org>
1673
1674 * unexw32.c (_start): Remove _fmode initialization.
1675
1676 * emacs.c (main) [WINDOWSNT]: Move it here.
1677
1678 2003-05-20 Dave Love <fx@gnu.org>
1679
1680 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
1681
1682 2003-05-19 Richard M. Stallman <rms@gnu.org>
1683
1684 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
1685 as value for QCfont attribute.
1686 (realize_default_face): lface should already exist; crash if not.
1687 Specify 0 for FORCE_P when calling set_lface_from_font_name.
1688
1689 * frame.c (Fignore_event): Doc fix.
1690
1691 2003-05-19 Kenichi Handa <handa@m17n.org>
1692
1693 * coding.c (decode_coding_string): Handle post-read-conversion
1694 even if the coding doesn't require decoding.
1695
1696 2003-05-18 Richard M. Stallman <rms@gnu.org>
1697
1698 * callproc.c (Fcall_process_region): Doc fix.
1699
1700 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
1701
1702 * lread.c (Fload): Print a message if package is obsolete.
1703
1704 * window.c (Fselect_window): Add optional `norecord' arg.
1705 (select_window_1): Fold into Fselect_window.
1706 (select_window_norecord): New function.
1707 (temp_output_buffer_show): Use it. Preserve current buffer.
1708
1709 * window.h (Fselect_window): Update declaration.
1710
1711 * window.c (delete_window, Fother_window, Fset_window_configuration):
1712 * minibuf.c (read_minibuf):
1713 * macterm.c (x_new_focus_frame):
1714 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
1715 * callint.c (Fcall_interactively):
1716 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
1717
1718 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
1719
1720 2003-05-17 David Kastrup <dak@gnu.org>
1721
1722 * process.c (read_process_output): Back out change from 2003-03-09.
1723
1724 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
1725
1726 * editfns.c (get_pos_property): Don't assume that `object' = nil.
1727
1728 * textprop.c (text_property_stickiness): New arg `buffer'.
1729
1730 * intervals.h (text_property_stickiness): New arg `buffer'.
1731 (get_pos_property): Declare.
1732
1733 * intervals.c (get_local_map): Use get_pos_property, to obey
1734 stickiness and empty overlays.
1735 (create_root_interval, graft_intervals_into_buffer): Use BEG.
1736 (merge_properties, intervals_equal, merge_properties_sticky):
1737 Use XCAR, XCDR.
1738 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
1739
1740 2003-05-17 Richard M. Stallman <rms@gnu.org>
1741
1742 * minibuf.c (read_minibuf): If buffer is empty, record the default
1743 in the history.
1744 (Fminibuffer_complete_word): When deleting the overlap, take account
1745 of its real position.
1746
1747 * fns.c (map_char_table): Fix previous change.
1748
1749 * syntax.c (find_defun_start):
1750 When open_paren_in_column_0_is_defun_start,
1751 return beginning of buffer.
1752
1753 * lisp.h (map_char_table): Declare added arg.
1754
1755 * fns.c (map_char_table): New arg TABLE gets the master table.
1756 All calls changed.
1757 Process default and inheritance, resorting to Faref if necessary.
1758
1759 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
1760 (Faccessible_keymaps): Pass new arg to map_char_table.
1761
1762 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
1763
1764 * casetab.c (set_case_table): Pass new arg to map_char_table.
1765
1766 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
1767
1768 * lisp.h (specbinding_func): New typedef.
1769 (struct specbinding): Use specbinding_func, to put the `volatile'
1770 in the right place.
1771
1772 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
1773 to avoid GCC warning.
1774
1775 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org> (tiny change)
1776
1777 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
1778
1779 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
1780
1781 * keyboard.c (apply_modifiers): Don't fill the other cache.
1782
1783 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
1784
1785 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
1786
1787 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
1788 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
1789 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
1790 (Fset_window_configuration, Fcurrent_window_configuration)
1791 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
1792 (Fpos_visible_in_window_p, mark_window_cursors_off)
1793 (window_internal_height, window_internal_width, Frecenter)
1794 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
1795 (replace_buffer_in_all_windows, init_window_once, init_window)
1796 (syms_of_window, keys_of_window): Move from lisp.h.
1797 * lisp.h: Move window.c declarations to window.h.
1798
1799 * bytecode.c: Include window.h.
1800 * emacs.c: Include window.h.
1801
1802 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
1803 (keyremap): Add `parent' field.
1804 (keyremap_step): Use it. Remove `parent' argument.
1805 (read_key_sequence): Setup and use the new `parent' field.
1806
1807 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
1808
1809 * keyboard.c (adjust_point_for_property): Ensure termination.
1810
1811 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
1812
1813 * keyboard.c (follow_key): Remove dead variable `did_meta'.
1814 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
1815 duplicated handling of function-key-map and key-translation-map
1816 in read_key_sequence.
1817 (read_key_sequence): Use them.
1818
1819 * keyboard.c (adjust_point_for_property): Try harder to move point
1820 to the non-sticky end of an invisible property.
1821
1822 * xdisp.c (single_display_prop_intangible_p): Make `space' display
1823 property intangible as well.
1824
1825 2003-05-10 Andreas Schwab <schwab@suse.de>
1826
1827 * xmenu.c (single_menu_item): Change last parameter to void* to
1828 avoid warning.
1829
1830 2003-05-09 Richard M. Stallman <rms@gnu.org>
1831
1832 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
1833 Bind Qinhibit_modification_hooks to t so there will be no GC.
1834 Rename local `tem' to `save_deactivate_mark'.
1835
1836 * eval.c (specpdl_ptr): Declare volatile.
1837 (unbind_to): Copy the whole binding and decrement specpdl_ptr
1838 before doing the work of unbinding it.
1839
1840 * lisp.h (struct specbinding): Declare elements volatile.
1841 (specpdl_ptr): Declare volatile.
1842
1843 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
1844
1845 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
1846 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
1847
1848 2003-05-08 Dave Love <fx@gnu.org>
1849
1850 * coding.c (Vlast_coding_system_used): Doc fix.
1851
1852 2003-05-07 Jason Rumney <jasonr@gnu.org>
1853
1854 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
1855 when system does not support them.
1856
1857 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
1858
1859 * fileio.c (Qwrite_region_annotate_functions): New var.
1860 (build_annotations): Use it to process the global part of the hook.
1861 (syms_of_fileio): Init and staticpro it.
1862
1863 * keyboard.c (safe_run_hooks_error): Display a message instead of
1864 silently ignoring the error.
1865
1866 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
1867
1868 * keyboard.c (input_available_signal): Mark static.
1869 (menu_bar_items): Use map_keymap.
1870 (menu_bar_one_keymap): Remove.
1871 (menu_bar_item): Adjust arglist (for use in map_keymap).
1872 Properly hide a second binding when not both are keymaps.
1873
1874 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
1875 (single_keymap_panes): Use it and map_keymap.
1876 (single_menu_item): Use skp as well.
1877
1878 * keymap.h (map_keymap_function_t): New type.
1879 (map_keymap): Declare.
1880
1881 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
1882 (map_keymap_call, Fmap_keymap): New functions.
1883 (syms_of_keymap): Defsubr map-keymap.
1884
1885 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1886
1887 * gtkutil.c (create_dialog, make_widget_for_menu_item)
1888 (make_menu_item, create_menus, xg_update_menu_item): Don't call
1889 ..._with_mnemonic functions for menu items.
1890
1891 2003-05-01 Kenichi Handa <handa@m17n.org>
1892
1893 * coding.c (coding_system_accept_latin_extra_p): Delete this
1894 function.
1895 (find_safe_codings): Pay attention to
1896 the property tranlsation-table-for-encode of each codings.
1897 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
1898
1899 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
1900
1901 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
1902
1903 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
1904
1905 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
1906
1907 * lisp.h (CHECK): Wrap args in parenthesis.
1908 (specbind): Fix doc: symbol = Qnil is not supported any more.
1909
1910 * bytecode.c (Fbyte_code) <unwind-protect>:
1911 Use Fprogn rather than 0 and Qnil.
1912
1913 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
1914 `double', and `triple' modifiers as well.
1915
1916 2003-04-30 Richard M. Stallman <rms@gnu.org>
1917
1918 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
1919
1920 * alloc.c (abort_on_gc): New variable.
1921 (Fgarbage_collect): Abort if abort_on_gc is set.
1922
1923 * lisp.h (abort_on_gc): Add decl.
1924
1925 * eval.c (Fsignal): Clear abort_on_gc.
1926
1927 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
1928 Reinit FORMAT_START and END before second scan.
1929
1930 * xdisp.c (move_it_vertically_backward): Do the final big else
1931 even if nlines is 0.
1932
1933 * xdisp.c (redisplay_internal): Finish the per-frame loop
1934 even if redisplay is suspended by input.
1935
1936 2003-04-24 Andrew Choi <akochoi@shaw.ca>
1937
1938 * macterm.c (x_list_fonts): Return all fonts that match if
1939 maxnames = -1.
1940
1941 2003-04-25 Kenichi Handa <handa@m17n.org>
1942
1943 * syntax.c (skip_chars): Fix previous change.
1944
1945 2003-04-24 Kenichi Handa <handa@m17n.org>
1946
1947 * syntax.c (skip_chars): Make the code faster by using the common
1948 technique of *p, *stop, and *endp.
1949
1950 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1951
1952 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
1953 tool_bar_items so GTK tool bar expose callback does not access items
1954 being updated.
1955
1956 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
1957
1958 * eval.c (Fapply): Undo last change and add a comment about why.
1959
1960 2003-04-18 Miles Bader <miles@gnu.org>
1961
1962 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
1963 pickier PARSE_MULTIBYTE_SEQ.
1964
1965 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
1966
1967 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
1968 Use XCDR, XCAR, CONSP.
1969 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
1970 (Fapply): Remove unnecessary GCPRO.
1971
1972 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
1973
1974 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
1975
1976 * buffer.h: Don't hardcode BEG==1.
1977
1978 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
1979
1980 2003-04-16 Richard M. Stallman <rms@gnu.org>
1981
1982 * xdisp.c (try_window, try_window_reusing_current_matrix):
1983 When at end of window, set window_end_pos to Z-ZV.
1984
1985 * buffer.c (Foverlay_recenter): Doc fix.
1986
1987 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
1988
1989 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
1990
1991 2003-04-14 Andrew Choi <akochoi@shaw.ca>
1992
1993 * macterm.c (mac_check_for_quit_char): Don't check more often than
1994 once a second.
1995
1996 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
1997
1998 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
1999 specially, so that they can't hide an implicit switch-frame event.
2000 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
2001 (head_table): Use switch-frame as event_kind for select-window.
2002 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
2003
2004 * editfns.c (Fformat): Lisp_Object/int mixup.
2005 (format2): Remove unused var numargs.
2006
2007 2003-04-11 Kenichi Handa <handa@m17n.org>
2008
2009 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
2010 (Qafter_insert_file_set_coding): New variable.
2011 (syms_of_fileio): Initialize and staticpro it. Delete declaration
2012 for after-insert-file-adjust-coding-function.
2013 (Finsert_file_contents): Call Qafter_insert_file_set_coding
2014 instead of Vafter_insert_file_adjust_coding_function.
2015
2016 2003-04-11 Kenichi Handa <handa@m17n.org>
2017
2018 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
2019
2020 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
2021 string. Callers changed.
2022
2023 2003-04-10 Kenichi Handa <handa@m17n.org>
2024
2025 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
2026 (syms_of_fileio): Declare it as a lisp variable.
2027 (Finsert_file_contents):
2028 Call Vafter_insert_file_adjust_coding_function before calling
2029 decode-format.
2030
2031 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2032
2033 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
2034 get GtkAdjustment as widget now is a GtkRange.
2035
2036 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
2037 GtkRange to avoid memory leak.
2038
2039 2003-04-09 Kenichi Handa <handa@m17n.org>
2040
2041 * xfaces.c (Vface_font_rescale_alist): New variable.
2042 (struct font_name): New member rescale_ratio.
2043 (font_rescale_ratio): New function.
2044 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
2045 (better_font_p): On comparing point sized, pay attention to
2046 recale_ratio member of fonts.
2047 (build_scalable_font_name): Reflect font->rescale_ratio in the
2048 font name.
2049 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
2050
2051 * lread.c (read1): Before calling index, check if the 2nd
2052 arguemnt is in ASCII range.
2053
2054 2003-04-08 Richard M. Stallman <rms@gnu.org>
2055
2056 * fileio.c (Ffile_symlink_p): Doc fix.
2057
2058 * editfns.c (Fformat): Translate positions of text properties
2059 in the format string to apply them to the result.
2060
2061 * fileio.c (Finsert_file_contents): Doc fix.
2062 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
2063
2064 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
2065
2066 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
2067
2068 2003-04-08 Steven Tamm <steventamm@mac.com>
2069
2070 * mac.c (init_mac_osx_environment): Switch libexec and bin so
2071 that self-contained application finds libexec files.
2072
2073 2003-04-08 Kenichi Handa <handa@m17n.org>
2074
2075 * coding.c (code_convert_region_unwind):
2076 Set Vlast_coding_system_used to the argument.
2077 (code_convert_region): If post-read-conversion function changed
2078 the value of last-coding-sytem, keep the new value in
2079 coding->symbol so that it won't be overridden.
2080 (run_pre_post_conversion_on_str): Likewise.
2081 (coding_system_accept_latin_extra_p): New function.
2082 (find_safe_codings): Pay attention to characters registered in
2083 latin-extra-code-table.
2084
2085 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
2086
2087 * Makefile.in (md5.o): Add missing dependency info.
2088
2089 2003-04-06 Richard M. Stallman <rms@gnu.org>
2090
2091 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
2092
2093 * marker.c (verify_bytepos): New function.
2094
2095 * intervals.c (set_intervals_multibyte_1): When becoming
2096 multibyte, adjust right and left child sizes to a whole set of
2097 characters. If an interval gets zero total-length, delete it.
2098 If an interval consists of just its children, delete one of them.
2099
2100 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
2101 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
2102
2103 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
2104 All calls deleted.
2105 (lisp_malloc): Do the work here directly.
2106
2107 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
2108
2109 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
2110 char tables.
2111
2112 2003-04-04 Kenichi Handa <handa@m17n.org>
2113
2114 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
2115 destructively change "%S" to "%s".
2116
2117 2003-04-03 Miles Bader <miles@gnu.org>
2118
2119 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
2120 always set.
2121
2122 2003-04-01 Dave Love <fx@gnu.org>
2123
2124 * xfns.c (xpm_lookup_color): Grok "opaque".
2125
2126 2003-03-31 Andrew Choi <akochoi@shaw.ca>
2127
2128 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
2129 parent window ID.
2130
2131 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
2132
2133 * macterm.h (struct mac_output): Define x_pixels_diff and
2134 y_pixels_diff.
2135
2136 2003-03-31 Juanma Barranquero <lektu@terra.es>
2137
2138 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
2139 blockinput.h and files included from it.
2140
2141 2003-03-31 Kim F. Storm <storm@cua.dk>
2142
2143 The following changes consolidates the common code related to
2144 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
2145 files into frame.c.
2146
2147 * frame.c: Include blockinput.h.
2148 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
2149 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
2150 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
2151 related vars here.
2152 (struct frame_parm_table, frame_parms): New table for describing
2153 frame parameters and their associated Q-variable.
2154 The order of the parameters corresponds to the sequence of the
2155 frame_parm_handlers table in redisplay_interface.
2156 (x_fullscreen_move, x_set_frame_parameters)
2157 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
2158 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
2159 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
2160 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
2161 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
2162 Generic functions for processing of frame parameters.
2163 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
2164 (display_x_get_resource, x_get_resource_string): Functions for
2165 generic access to X resources.
2166 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
2167 (x_default_parameter, Fx_parse_geometry): Functions for generic
2168 access to frame parameters.
2169 (x_figure_window_size): Generic calculation of frame size.
2170 Fixed to add space needed for tool bar. Also setup size_hint_flags.
2171 (syms_of_frame): Intern and staticpro frame parameter variables.
2172 Defvar_lisp Vx_resource_class and Vx_resource_name here.
2173 Defsubr Sx_get_resource and Sx_parse_geometry.
2174
2175 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
2176 parameter related vars defined in frame.c.
2177 (EMACS_CLASS): Define here.
2178 (enum FULLSCREEN_*): Define here.
2179 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
2180 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
2181 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
2182 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
2183 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
2184 (x_set_visibility, x_set_autoraise, x_set_autolower)
2185 (x_set_unsplittable, x_set_vertical_scroll_bars)
2186 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
2187 (x_figure_window_size): Add prototypes.
2188
2189 * dispextern.h (frame_parm_handler): New typedef.
2190 (struct redisplay_interface): New member frame_parm_handlers.
2191 (enum resource_types): Move declaration here.
2192 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
2193 (x_default_parameter): Add prototypes.
2194
2195 * window.c: Remove extern decl for frame parameter vars.
2196 (change_window_heights): New generic function;
2197 replaces x_change_window_heights. All users changed.
2198
2199 * window.h (change_window_heights): Add prototype.
2200
2201 * xfaces.c: Remove extern decl for frame parameter vars.
2202
2203 * xterm.h (EMACS_CLASS): Remove. Use generic define.
2204 (struct w32_display_info): Fix type of xrdb member.
2205 (enum FULLSCREEN_*): Remove.
2206 Remove prototypes for generic functions (in frame.h).
2207
2208 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
2209 parameters now defined in frame.h and frame.c.
2210 (Vx_resource_name): Remove. Use generic var.
2211 (enum x_frame_parms): Remove (bogus, unused enum).
2212 (check_x_display_info): Make non-static (for frame.c).
2213 (struct x_frame_parm_table, x_frame_parms): Remove.
2214 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
2215 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
2216 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
2217 (x_change_window_heights, x_set_autoraise, x_set_autolower)
2218 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
2219 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
2220 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
2221 Remove. Use generic functions instead.
2222 (enum resource_types): Remove.
2223 (x_set_scroll_bar_default_width): New global function (for frame.c).
2224 (Fx_create_frame): Depend on x_figure_window_size to add space for
2225 toolbar and setup size_hint_flags.
2226 (x_frame_parm_handlers): New table for redisplay_interface.
2227 (syms_of_xfns): Don't intern/staticpro removed vars.
2228
2229 * xterm.c: Remove unnecessary extern declarations.
2230 (x_fullscreen_adjust): Remove. Use generic instead.
2231 (x_redisplay_interface): Add x_frame_parm_handlers member.
2232
2233 * w32gui.h (XrmDatabase): New (dummy) typedef.
2234
2235 * w32term.h (EMACS_CLASS): Remove. Use generic define.
2236 (struct w32_display_info): Fix type of xrdb member.
2237 (enum FULLSCREEN_*): Remove.
2238 (x_fullscreen_adjust): Remove prototype.
2239
2240 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
2241 parameters now defined in frame.h and frame.c.
2242 (Vx_resource_name): Remove. Use generic var.
2243 (enum x_frame_parms): Remove (bogus, unused enum).
2244 (check_x_display_info): Make non-static (for frame.c).
2245 (struct x_frame_parm_table, x_frame_parms): Remove.
2246 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
2247 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
2248 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
2249 (x_change_window_heights, x_set_autoraise, x_set_autolower)
2250 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
2251 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
2252 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
2253 Remove. Use generic functions instead.
2254 (enum resource_types): Remove.
2255 (x_set_scroll_bar_default_width): New global function (for frame.c).
2256 (Fx_create_frame): Depend on x_figure_window_size to add space for
2257 toolbar and setup size_hint_flags.
2258 (w32_frame_parm_handlers): New table for redisplay_interface.
2259 (syms_of_w32fns): Don't intern/staticpro removed vars.
2260
2261 * w32term.c: Remove unnecessary extern declarations.
2262 (x_fullscreen_adjust): Remove. Use generic instead.
2263 (x_redisplay_interface): Add w32_frame_parm_handlers member.
2264
2265 * w32reg.c (x_get_string_resource): Use XrmDatabase.
2266
2267 * macgui.h (XrmDatabase): New (dummy) typedef.
2268
2269 * macterm.h (EMACS_CLASS): Remove.
2270 (struct mac_display_info): Add xrdb member.
2271 (struct mac_output): Add want_fullscreen member.
2272
2273 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
2274 parameters now defined in frame.h and frame.c.
2275 (Vx_resource_name): Remove. Use generic var.
2276 (check_x_display_info): Make non-static (for frame.c).
2277 (struct x_frame_parm_table, x_frame_parms): Remove.
2278 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
2279 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
2280 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
2281 (x_change_window_heights, x_set_autoraise, x_set_autolower)
2282 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
2283 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
2284 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
2285 Remove. Use generic functions instead.
2286 (enum resource_types): Remove.
2287 (x_set_scroll_bar_default_width): New global function (for frame.c).
2288 (mac_frame_parm_handlers): New table for redisplay_interface.
2289 (syms_of_macfns): Don't intern/staticpro removed vars.
2290
2291 * macterm.c: Remove unnecessary extern declarations.
2292 (x_redisplay_interface): Add mac_frame_parm_handlers member.
2293
2294 * Makefile.in (frame.o): Add dependency on blockinput.h and files
2295 included from it (atimer.h and systime.h).
2296
2297 2003-03-30 Andreas Schwab <schwab@suse.de>
2298
2299 * xdisp.c (x_insert_glyphs): Fix swapped width and height
2300 parameters for shift_glyphs_for_insert.
2301
2302 * macterm.c (x_redisplay_interface): Add missing entry for
2303 draw_vertical_window_border.
2304
2305 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
2306
2307 * fileio.c (Fexpand_file_name): In the no-handler case, after
2308 expanding, look again for a handler and invoke it. This is needed
2309 for filenames like "/foo/../user@host:/bar/../baz" -- the first
2310 expansion produces "/user@host:/bar/../baz" which needs to be
2311 expanded again for the finame result "/user@host:/baz".
2312
2313 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2314
2315 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
2316 of area to be redrawn for better performance.
2317
2318 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
2319
2320 * xterm.c (take_vertical_position_into_account): Remove.
2321 (xt_action_hook): Call set_vertical_scroll_bar if needed.
2322 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
2323 (xm_scroll_callback, x_create_toolkit_scroll_bar)
2324 (x_set_toolkit_scroll_bar_thumb): Simplify.
2325 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
2326 (XTread_socket): Remove unused var.
2327 (x_make_frame_invisible): Replace goto with else.
2328
2329 * xdisp.c (set_vertical_scroll_bar): New fun.
2330 (redisplay_window): Use it.
2331
2332 2003-03-26 Richard M. Stallman <rms@gnu.org>
2333
2334 * xdisp.c (update_tool_bar): Recompute tool bar if
2335 update_mode_lines is set. Set w->update_mode_line
2336 only if the tool bar contents actually change.
2337 (update_menu_bar): Undo previous change.
2338
2339 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2340
2341 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
2342 (xg_frame_set_char_size): Calculate scroll bar width before frame
2343 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
2344 (xg_separator_p): Check for all documented separator types.
2345 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
2346 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
2347
2348 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
2349 so tool bar gets updated.
2350
2351 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
2352
2353 * data.c (store_symval_forwarding): Re-instate part of the code
2354 that was deleted with too much enthusiasm.
2355
2356 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
2357
2358 * data.c (store_symval_forwarding): Delete special read-only
2359 hack for type == -1, since we now use ->constant instead.
2360 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
2361
2362 * buffer.c (overlays_in): Declare static.
2363 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
2364 `constant' field rather than the variable's `type' field.
2365
2366 2003-03-24 Andrew Choi <akochoi@shaw.ca>
2367
2368 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
2369
2370 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
2371
2372 * fns.c [MAC_OSX]: Do not redefine vector.
2373
2374 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
2375
2376 * macgui.h: Remove definition of No_Cursor.
2377
2378 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
2379
2380 * xdisp.c: Define No_Cursor.
2381 (x_write_glyphs, notice_overwritten_cursor)
2382 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
2383 (note_mouse_highlight): Remove Mac-specific code.
2384 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
2385
2386 2003-03-24 John Paul Wallington <jpw@gnu.org>
2387
2388 * xdisp.c (redisplay_window): If mini window's buffer is not
2389 empty, then redisplay it like other windows.
2390
2391 2003-03-23 Kim F. Storm <storm@cua.dk>
2392
2393 * w32term.c (w32_draw_window_cursor): Fix last change.
2394
2395 2003-03-23 Kenichi Handa <handa@m17n.org>
2396
2397 * alloc.c (make_string_from_bytes, make_specified_string):
2398 Add `const' for the arg CONTENTS.
2399
2400 * lisp.h (make_string_from_bytes, make_specified_string):
2401 Prototypes adjusted.
2402
2403 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2404
2405 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
2406
2407 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
2408 (XG_SB_RANGE): New define.
2409
2410 * gtkutil.c (xg_fixed_handle_expose): New function.
2411 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
2412 expose events.
2413 (xg_update_scrollbar_pos): Take two more arguments, left and width
2414 of scroll bar including borders.
2415 Clear left and right part outside scroll bar separately as some
2416 themes have bars that are not an even number of pixels.
2417 Don't set reallocate_redraws, don't call
2418 gdk_window_process_all_updates.
2419 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
2420 so no need to change it. Calculate size and value with XG_SB_RANGE.
2421
2422 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
2423 Pass left and width of scroll bar including borders to
2424 xg_update_scrollbar_pos.
2425
2426 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
2427
2428 * Makefile.in: Make sure space precedes end-of-line backslashes.
2429
2430 2003-03-22 Kim F. Storm <storm@cua.dk>
2431
2432 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
2433 Add generic versions here. Remove system specific versions
2434 defined elsewhere.
2435
2436 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
2437 Add prototypes.
2438
2439 * xterm.h (STORE_NATIVE_RECT): New macro.
2440
2441 2003-03-21 Kim F. Storm <storm@cua.dk>
2442
2443 * xdisp.c (get_glyph_string_clip_rect):
2444 Use FRAME_INTERNAL_BORDER_WIDTH.
2445
2446 * dispextern.h (struct redisplay_interface): Add active_p
2447 argument to draw_window_cursor member. All uses changed.
2448
2449 2003-03-21 Kim F. Storm <storm@cua.dk>
2450
2451 The following changes consolidate code related to writing and
2452 inserting glyphs, exposing frame, the tool bar, the mouse face,
2453 the output cursor, and help echo from xterm.c, w32term.c and
2454 macterm.c into xdisp.c. It also generalizes the use of the
2455 window_part enum instead of using numeric values throughout.
2456
2457 * xdisp.c: Consolidate gui-independent code here.
2458 Include keymap.h.
2459 (Qhelp_echo): Import.
2460 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
2461 (help_echo_string, help_echo_window, help_echo_object)
2462 (previous_help_echo_string, help_echo_pos): Declare here.
2463 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
2464 (estimate_mode_line_height): Define here. Handle windowing
2465 systems directly (without using estimate_mode_line_height_hook).
2466 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
2467 (update_window_cursor, update_cursor_in_window_tree)
2468 (fast_find_position, fast_find_string_pos)
2469 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
2470 (expose_area, expose_line, expose_overlaps, expose_window)
2471 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
2472 declared static as they are only used locally in xdisp.c.
2473 (draw_glyphs): Rename from x_draw_glyphs and make static.
2474 (tool_bar_item_info, notice_overwritten_cursor): Make static.
2475 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
2476 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
2477 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
2478 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
2479 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
2480 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
2481 (note_mouse_highlight, x_clear_window_mouse_face)
2482 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
2483 (x_intersect_rectangles): New generic functions for use by xdisp.c
2484 and GUI front-ends.
2485 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
2486 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
2487
2488 * dispextern.h (Display_Info): Generic typedef for *_display_info.
2489 (NativeRectangle): Generic typedef for rectangle type.
2490 (enum window_part): Move here from window.c.
2491 (struct redisplay_interface): New members flush_display_optional,
2492 define_frame_cursor, clear_frame_area, draw_window_cursor,
2493 draw_vertical_window_border, shift_glyphs_for_insert.
2494 Rename member clear_mouse_face to clear_window_mouse_face.
2495 (estimate_mode_line_height_hook): Remove hook.
2496 (auto_raise_tool_bar_buttons_p): Don't declare extern.
2497 (tool_bar_item_info): Remove prototype.
2498 (help_echo_string, help_echo_window, help_echo_object)
2499 (previous_help_echo_string, help_echo_pos)
2500 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
2501 (x_stretch_cursor_p, output_cursor): Declare extern.
2502 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
2503 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
2504 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
2505 (display_and_set_cursor, set_output_cursor, x_cursor_to)
2506 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
2507 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
2508 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
2509 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
2510 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
2511 Add prototypes.
2512 (mode_line_string, marginal_area_string): Fix prototypes.
2513
2514 * window.c (enum window_part): Move to dispextern.h.
2515 (coordinates_in_window): Use enum window_part member names
2516 instead of numbers to describe return value.
2517 (struct check_window_data): Change part member to window_part.
2518 (check_window_containing): Return window_part unaltered.
2519 (window_from_coordinates): Change part arg from int to enum
2520 window_part. Allow part arg to be null. All users changed.
2521
2522 * window.h (window_from_coordinates): Fix prototype.
2523
2524 * term.c (estimate_mode_line_height): Move to xdisp.c.
2525
2526 * keyboard.c (make_lispy_event): Use enum window_part.
2527
2528 * dispnew.c (mode_line_string, marginal_area_string): Use enum
2529 window_part instead of int in arg list. Users changed.
2530
2531 * xterm.h (No_Cursor): Declare as None for X.
2532 (struct mac_output): Replace member cross_cursor by hand_cursor.
2533
2534 * xterm.c: Remove consolidated defines and code.
2535 (BETWEEN): Remove unused macro.
2536 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
2537 (x_define_frame_cursor, x_clear_frame_area)
2538 (x_draw_window_cursor): New X-specific functions for RIF.
2539 (x_redisplay_interface): Add new members.
2540
2541 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
2542
2543 * w32term.h (struct w32_output): Remove cross_cursor member.
2544
2545 * w32term.c: Remove consolidated defines and code.
2546 (BETWEEN): Remove unused macro.
2547 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
2548 (w32_define_frame_cursor, w32_clear_frame_area)
2549 (w32_draw_window_cursor): New W32-specific functions for RIF.
2550 (w32_redisplay_interface): Add new members.
2551
2552 * w32gui.h (No_Cursor): Define as 0 for W32.
2553 (XRectangle): Add X compatible rectangle type.
2554 (NativeRectangle): Declare as RECT for W32.
2555 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
2556
2557 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
2558
2559 * w32console.c: Remove consolidated defines and code.
2560
2561 * msdos.h (Display_Info): Add generic typedef.
2562
2563 * msdos.c: Remove consolidated defines and code.
2564 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
2565
2566 * macterm.h (struct mac_output): Replace member cross_cursor by
2567 hand_cursor.
2568 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
2569
2570 * macterm.c: Remove consolidated defines and code.
2571 (BETWEEN): Remove unused macro.
2572 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
2573 (mac_define_frame_cursor, mac_clear_frame_area)
2574 (mac_draw_window_cursor): New Mac-specific functions for RIF.
2575 (x_redisplay_interface): Add new members.
2576
2577 * macgui.h (No_Cursor): Define as 0 for Mac.
2578 (XRectangle): Add X compatible rectangle type.
2579 (NativeRectangle): Declare as Rect for Mac.
2580 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
2581
2582 * macfns.c (x_set_mouse_color): Setup hand_cursor.
2583 (x_set_cursor_color): Use x_display_and_set_cursor.
2584
2585 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
2586 included from it. Add dependency on keymap.h.
2587
2588 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
2589
2590 2003-03-21 Kenichi Handa <handa@m17n.org>
2591
2592 * fileio.c (Fexpand_file_name): Fix previous change.
2593
2594 2003-03-19 Kenichi Handa <handa@m17n.org>
2595
2596 * fileio.c (Ffile_name_directory): Reconstruct file name by
2597 make_specified_string.
2598 (Ffile_name_nondirectory, Ffile_name_as_directory)
2599 (Fdirectory_file_name, Fexpand_file_name)
2600 (Fsubstitute_in_file_name): Likewise.
2601 (Fread_file_name): Compare decoded homedir with DIR and
2602 DEFAULT_FILENAME.
2603
2604 * alloc.c (make_specified_string): If NCHARS is negative, count
2605 the number of characters.
2606
2607 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2608
2609 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
2610 all widgets.
2611
2612 * gtkutil.h: Removed xg_ignore_next_thumb.
2613
2614 2003-03-18 Kenichi Handa <handa@m17n.org>
2615
2616 * coding.c (Vchar_coding_system_table): Remove this variable.
2617 (Vcoding_system_safe_chars): New variable.
2618 (intersection): Remove this function.
2619 (find_safe_codings): Don't use Vchar_coding_system_table, but try
2620 all codings in SAFE_CODINGS.
2621 (Ffind_coding_systems_region_internal): Adjust for the change of
2622 find_safe_codings. Get generic coding systems from
2623 Vcoding_system_safe_chars.
2624 (Fdefine_coding_system_internal): New function.
2625 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
2626 Initialize and staticpro Vcoding_system_safe_chars.
2627
2628 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2629
2630 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
2631 equal old values before updating.
2632
2633 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
2634
2635 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
2636
2637 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2638
2639 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
2640 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
2641 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
2642 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
2643 (xg_create_scroll_bar): Pass bar to button event callback.
2644 (xg_find_top_left_in_fixed): New function.
2645 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
2646 whole scroll bar area. Get old position with
2647 xg_find_top_left_in_fixed, calculate and only clear needed areas.
2648 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
2649 dragging is in progress. Calculate whole as for Motif.
2650 Remove code that saved last values. Call gtk_range functions to
2651 set scroll bar sizes.
2652
2653 * gtkutil.h: Removed xg_ignore_next_thumb.
2654
2655 2003-03-17 Juanma Barranquero <lektu@terra.es>
2656
2657 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
2658 and files included from it.
2659
2660 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
2661
2662 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
2663 multiple occurrences of the same keymap under different prefixes.
2664 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
2665
2666 2003-03-16 Jason Rumney <jasonr@gnu.org>
2667
2668 * w32gui.h: Use HDC for Display.
2669
2670 * w32term.c (w32_encode_char): Prevent double-byte chars from
2671 crashing Emacs.
2672
2673 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
2674 as binary.
2675
2676 2003-03-16 Juanma Barranquero <lektu@terra.es>
2677
2678 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
2679
2680 2003-03-16 Kim F. Storm <storm@cua.dk>
2681
2682 The following changes consolidate some of the gui-independent
2683 parts of the processing and drawing of "glyph strings" from
2684 xterm.c, w32term.c, and macterm.c into xdisp.c.
2685
2686 * dispextern.h (struct glyph): Reduce face_id member from 22 to
2687 21 bits (this reduces number of faces from 4M to 2M).
2688 Replace W32 specific w32_font_type member (2 bits) by generic
2689 font_type member (3 bits) for portability.
2690 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
2691 (enum draw_glyphs_face): Define here.
2692 (struct glyph_string): Define here. Merge W32 and X versions.
2693 (struct redisplay_interface): New members per_char_metric,
2694 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
2695 (VCENTER_BASELINE_OFFSET): Define here.
2696 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
2697 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
2698
2699 * xdisp.c: Consolidate gui-independent "glyph string" code here.
2700 (dump_glyph_string): Moved here.
2701 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
2702 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
2703 (fill_composite_glyph_string, fill_glyph_string)
2704 (fill_image_glyph_string, fill_stretch_glyph_string)
2705 (left_overwritten, left_overwriting, right_overwritten)
2706 (right_overwriting, get_char_face_and_encoding)
2707 (set_glyph_string_background_width, compute_overhangs_and_x)
2708 (append_glyph, append_composite_glyph, produce_image_glyph)
2709 (take_vertical_position_into_account, append_stretch_glyph)
2710 (produce_stretch_glyph): New generic functions (based on X version).
2711 Call platform specific functions through rif.
2712 (INIT_GLYPH_STRING): New macro, hides W32 details.
2713 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
2714 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
2715 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
2716 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
2717 (notice_overwritten_cursor):
2718 Generic functions exported to platform modules. Users changed.
2719
2720 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
2721 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
2722 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
2723 New macros for consolidated code.
2724
2725 * xterm.c: Remove consolidated defines and code.
2726 (x_per_char_metric, x_encode_char)
2727 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
2728 (x_redisplay_interface): Add new members.
2729
2730 * w32gui.h (Display): Add dummy typedef for consolidation.
2731 (XChar2b): Define alias for wchar_t for consolidation.
2732 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
2733
2734 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
2735 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
2736 New macros for consolidation.
2737
2738 * w32term.c: Remove consolidated defines and code.
2739 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
2740 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
2741 (w32_per_char_metric): Change font_type arg to int for RIF.
2742 (w32_encode_char): Return int according to RIF requirements.
2743 (w32_compute_glyph_string_overhangs): Adapt to RIF.
2744 (w32_get_glyph_overhangs): New function for RIF. Uses generic
2745 x_get_glyph_overhangs.
2746 (w32_redisplay_interface): Add new members.
2747
2748 * macgui.h (XChar2b): Move typedef here for consolidation.
2749 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
2750
2751 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
2752 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
2753 consolidation.
2754
2755 * macterm.c: Remove consolidated defines and code.
2756 (mac_per_char_metric): New function for RIF.
2757 (mac_encode_char): Adapt to new RIF requirements.
2758 (mac_compute_glyph_string_overhangs): Adapt for RIF.
2759 (x_redisplay_interface): Add new members.
2760
2761 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
2762
2763 * keymap.c (Vmenu_events): New var.
2764 (syms_of_keymap): Initialize it.
2765 (where_is_internal): Check more carefully what is a menu event.
2766
2767 2003-03-14 Richard M. Stallman <rms@gnu.org>
2768
2769 * lread.c (read1): After #!, exit loop on eof.
2770
2771 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2772
2773 * gtkutil.h: Add declaration for xg_frame_cleared.
2774
2775 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
2776
2777 * gtkutil.c (struct xg_last_sb_pos): New structure.
2778 (handle_fixed_child): New function.
2779 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
2780 and force a redraw on them.
2781 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
2782 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
2783 so we can avoid unneeded redraws.
2784 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
2785 and force a redraw on the scroll bar.
2786 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
2787 if xg_last_sb_pos shows the positions are up to date.
2788 (xg_frame_cleared): New function.
2789
2790 2003-03-13 Kenichi Handa <handa@m17n.org>
2791
2792 * coding.c (Fdetect_coding_region): Fix docstring.
2793 (Fdetect_coding_string): Fix docstring.
2794
2795 2003-03-13 Andreas Schwab <schwab@suse.de>
2796
2797 * gtkutil.c: Add prototype for create_menus.
2798
2799 * data.c (long_to_cons): Fix type of top.
2800
2801 * xselect.c (selection_data_to_lisp_data): Use int instead of
2802 long for an integer of size 4.
2803
2804 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
2805 (xg_tool_bar_help_callback): Likewise.
2806
2807 2003-03-12 Andreas Schwab <schwab@suse.de>
2808
2809 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
2810
2811 2003-03-12 Kim F. Storm <storm@cua.dk>
2812
2813 The following changes consolidate the fringe handling from
2814 xterm.c, w32term.c, and macterm.c into xdisp.c.
2815
2816 * xdisp.c: Consolidate fringe handling code here.
2817 (left_bits, right_bits, continued_bits, continuation_bits)
2818 (ov_bits, zv_bits): Define fringe bitmaps.
2819 (fringe_bitmaps): New array holding fringe bitmaps.
2820 (draw_fringe_bitmap): Draw a specific bitmap; call display
2821 specific drawing routine via rif->draw_fringe_bitmap.
2822 (draw_row_fringe_bitmaps): Generic replacement for
2823 x_draw_row_fringe_bitmaps; all callers changed.
2824 (compute_fringe_widths): Generic replacement for
2825 x_compute_fringe_widths; all callers changed.
2826
2827 * dispextern.h (enum fringe_bitmap_type): Define here.
2828 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
2829 (fringe_bitmaps): Declare extern.
2830 (struct redisplay_interface): New member draw_fringe_bitmap.
2831 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
2832
2833 * xterm.c: Remove generic fringe code.
2834 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
2835 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
2836
2837 * w32term.c: Remove generic fringe code.
2838 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
2839 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
2840
2841 * macterm.c: Remove generic fringe code.
2842 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
2843 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
2844
2845 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
2846
2847 * print.c (Fprin1_to_string): Return unibyte string if possible.
2848
2849 2003-03-09 David Kastrup <dak@gnu.org>
2850
2851 * process.c (read_process_output): We have allocated enough space
2852 for readmax and carryover, so actually use the alloted space.
2853
2854 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2855
2856 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
2857 toolkit scrollbar click.
2858
2859 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
2860 for USE_GTK.
2861 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
2862 also.
2863 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
2864 scrollbar and control is pressed, call x_scroll_bar_handle_click.
2865
2866 * gtkutil.h: Declare xg_get_scroll_id_for_window.
2867
2868 * gtkutil.c (xg_get_scroll_id_for_window): New function.
2869 (xg_tool_bar_item_expose_callback): New function.
2870 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
2871 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
2872 on the tool bar widget.
2873 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
2874 to expose on the tool bar item widgets.
2875
2876 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2877
2878 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
2879 struct image* when deciding to update (struct image* may have been
2880 deleted from the image cache).
2881
2882 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
2883 the event isn't for a frame (i.e. for dialogs).
2884
2885 2003-03-07 Kenichi Handa <handa@m17n.org>
2886
2887 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
2888 composition components reaches the limit, terminate composing.
2889 (COMPOSITION_OK): New macro.
2890 (detect_coding_iso2022): Use it if an escape sequence for
2891 composition is found.
2892 (coding_restore_composition): Adjust the number of composition
2893 components if it is not sane.
2894
2895 2003-03-06 Juanma Barranquero <lektu@terra.es>
2896
2897 * w32term.h (struct w32_display_info): Add xrdb member to support
2898 passing resources via -xrm on Windows.
2899
2900 * w32term.c (w32_make_rdb): New function.
2901 (w32_term_init): Use it to initialize xrdb member of w32_display_info
2902 struct. Delete leftover code.
2903
2904 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
2905 for resources passed on the command line.
2906
2907 * w32reg.c (w32_get_rdb_resource): New function.
2908 (x_get_string_resource): Use it, so resources passed with -xrm
2909 supercede the ones in the registry.
2910
2911 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2912
2913 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
2914 instead of x_top_window_to_frame.
2915
2916 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2917
2918 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
2919 when restarting Emacs.
2920
2921 2003-03-03 Richard M. Stallman <rms@gnu.org>
2922
2923 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
2924 to run kill-buffer-query-functions.
2925 (Qkill_buffer_query_functions): New var.
2926 (syms_of_buffer): Init and staticpro it.
2927
2928 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2929
2930 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
2931
2932 2003-02-25 Kim F. Storm <storm@cua.dk>
2933
2934 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
2935 If centering point failed to make whole line visible and vscroll
2936 is non-zero, disable vscroll and try centering point again.
2937
2938 * lread.c (read1): Accept `single space' syntax like (? x).
2939
2940 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2941
2942 * keyboard.c (cancel_hourglass_unwind): Surround with
2943 #ifdef HAVE_X_WINDOWS
2944
2945 2003-02-25 Kenichi Handa <handa@m17n.org>
2946
2947 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
2948 process only when "subprocesses" is defined.
2949
2950 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
2951
2952 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
2953
2954 2003-02-24 Juanma Barranquero <lektu@terra.es>
2955
2956 * callint.c (fix_command): Declare as static void and move before
2957 Fcall_interactively.
2958
2959 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
2960 (syms_of_xdisp): Don't initialize Qwhen.
2961
2962 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2963
2964 * keyboard.c (cancel_hourglass_unwind): New function.
2965 (command_loop_1): Cancel hourglass with unwind-protect.
2966
2967 2003-02-23 Richard M. Stallman <rms@gnu.org>
2968
2969 * callint.c (fix_command): New subroutine, from Fcall_interactively.
2970 Detect (when ... (region-beginning)) etc.
2971 (Fcall_interactively): Call fix_command.
2972 (Qif, Qwhen): New variables.
2973 (syms_of_callint): Init and staticpro them.
2974
2975 * regex.c (print_partial_compiled_pattern): Output to stderr.
2976
2977 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
2978
2979 * dired.c (directory_files_internal): Don't expand directory.
2980 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
2981 instead. From Lars Hansen <larsh@math.ku.dk>.
2982
2983 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
2984
2985 * fns.c (string_to_multibyte): Remove unused var i.
2986 (Flanginfo): Fix int/Lisp_Object mixup.
2987 (void_call2): New fun.
2988 (Fmap_char_table): Use it in place of call2.
2989
2990 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
2991
2992 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
2993
2994 * keymap.c (copy_keymap_1): Make it static.
2995
2996 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
2997
2998 2003-02-22 David Ponce <david@dponce.com>
2999
3000 * lread.c (Fload): Don't check STRING_MULTIBYTE.
3001
3002 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3003
3004 * process.h: Removed subtty field from struct Lisp_Process.
3005
3006 * process.c (create_process): Remove setting of subtty.
3007 (emacs_get_tty_pgrp): New function.
3008 (Fprocess_running_child_p, process_send_signal):
3009 Call emacs_get_tty_pgrp instead of ioctl.
3010 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
3011
3012 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
3013
3014 * keymap.c (Fdefine_key): Doc fix.
3015
3016 2003-02-21 Juanma Barranquero <lektu@terra.es>
3017
3018 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
3019
3020 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
3021 POLLING_PROBLEM_IN_SELECT.
3022
3023 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
3024 Delete #undef of POLLING_PROBLEM_IN_SELECT.
3025
3026 * s/hpux10-20.h: New file.
3027
3028 * process.c (wait_reading_process_input):
3029 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
3030
3031 2003-02-20 Kenichi Handa <handa@m17n.org>
3032
3033 * fontset.c (check_fontset_name): If NAME is nil, return the
3034 default fontset.
3035 (override_font_info): New function.
3036 (Fset_fontset_font): Document that NAME nil means the default fontset.
3037 (Ffontset_info): If FONTSET is not the default fontset, merge
3038 FONTSET onto the copy of the default fontset, and work on that
3039 copy. Document that NAME nil means the default fontset.
3040 (Ffontset_font): Document that NAME nil means the default fontset.
3041
3042 * process.c (setup_process_coding_systems): If the process's
3043 in/out descriptor is -1, do nothing.
3044
3045 2003-02-19 Andreas Schwab <schwab@suse.de>
3046
3047 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
3048 Add prototypes.
3049
3050 2003-02-19 Kenichi Handa <handa@m17n.org>
3051
3052 * xfaces.c (try_alternative_families): Try all scalable fonts if
3053 Vscalable_fonts_allowed is not Qt.
3054
3055 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3056
3057 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
3058
3059 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3060
3061 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
3062 names.
3063
3064 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
3065 (sorted_font_list): Move allocation of struct font_name to
3066 x_face_list_fonts.
3067 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
3068 (Fx_list_fonts): Set maxnames to -1 to get all font names.
3069
3070 2003-02-18 Kim F. Storm <storm@cua.dk>
3071
3072 * lread.c (read1): Fix last change.
3073 "`" is not always special. Allow "?" after a character constant.
3074
3075 2003-02-18 Andrew Choi <akochoi@shaw.ca>
3076
3077 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
3078
3079 2003-02-18 Andreas Schwab <schwab@suse.de>
3080
3081 * window.c (window_scroll_pixel_based): Move outside a
3082 multi-glyph character before setting new window start.
3083
3084 * xdisp.c (in_display_vector_p): New function.
3085 * dispextern.h (in_display_vector_p): Declare.
3086
3087 2003-02-18 Kim F. Storm <storm@cua.dk>
3088
3089 * lread.c (read1): Fix and relax read syntax.
3090 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
3091 Only recognize "," after dotted-pair dot if inside backquote.
3092 Never include "`" or "," (inside backquote) in a symbol.
3093 Allow dotted-pair dot after a character constant.
3094 Allow "`" and "," (inside backquote) after a character constant.
3095
3096 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3097
3098 * gtkutil.c (xg_tool_bar_expose_callback): New function.
3099 (xg_create_tool_bar): Force style of tool bar to be horizontal with
3100 icons. Set name of tool bar to emacs-toolbar.
3101 (update_frame_tool_bar): Connect expose event to
3102 xg_tool_bar_expose_callback.
3103
3104 2003-02-17 Richard M. Stallman <rms@gnu.org>
3105
3106 * keyboard.c (this_command_key_count_reset): New variable.
3107 Initiatize to 0 where this_command_key_count is set.
3108 (read_char): Save and restore this_command_key_count_reset
3109 around input method code.
3110 (read_char): If this_command_key_count_reset, echo reread commands.
3111 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
3112
3113 2003-02-17 Kenichi Handa <handa@m17n.org>
3114
3115 * fns.c (string_to_multibyte): Always return a multibyte string.
3116
3117 2003-02-16 Jason Rumney <jasonr@gnu.org>
3118
3119 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
3120 Negative max_fonts parameter means list all.
3121
3122 2003-02-14 Dave Love <fx@gnu.org>
3123
3124 * fns.c (Flanginfo): Doc fix.
3125
3126 2003-02-13 Kim F. Storm <storm@cua.dk>
3127
3128 * lread.c (read_escape): Interpret \s as a SPACE character, except
3129 for \s-X in a character constant which still is the super modifier.
3130 (read1): Signal an `invalid read syntax' error if a character
3131 constant is immediately followed by a digit or symbol character.
3132
3133 * search.c (Fmatch_data): Doc fix. Explicitly state that
3134 match-data is undefined if last search failed.
3135
3136 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
3137 All uses changed.
3138
3139 2003-02-12 Juanma Barranquero <lektu@terra.es>
3140
3141 * eval.c (Fdefmacro): Fix typo.
3142
3143 2003-02-12 Kim F. Storm <storm@cua.dk>
3144
3145 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
3146 macro is a string, convert meta modifiers in string when copying
3147 the string into a vector.
3148
3149 2003-02-11 Kim F. Storm <storm@cua.dk>
3150
3151 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
3152
3153 2003-02-11 Kenichi Handa <handa@m17n.org>
3154
3155 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
3156
3157 2003-02-10 Kim F. Storm <storm@cua.dk>
3158
3159 * process.c: Doc fixes.
3160 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
3161
3162 2003-02-10 Kenichi Handa <handa@m17n.org>
3163
3164 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
3165
3166 * process.c (QCfilter_multibyte): New variable.
3167 (setup_process_coding_systems): New function.
3168 (Fset_process_buffer, Fset_process_filter):
3169 Call setup_process_coding_systems.
3170 (Fstart_process): Initialize the member `filter_multibyte' of
3171 struct Lisp_Process.
3172 (create_process): Call setup_process_coding_systems.
3173 (Fmake_network_process): New keyward `:filter-multibyte'.
3174 Initialize the member `filter_multibyte' of struct Lisp_Process.
3175 Call setup_process_coding_systems.
3176 (server_accept_connection): Call setup_process_coding_systems.
3177 (read_process_output): If the process has a filter, decide the
3178 multibyteness of a string to given to the filter by
3179 `filter_multibyte' member of the process. If the process doesn't
3180 have a filter and the result of conversion is unibyte, use
3181 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
3182 multibyte form.
3183 (Fset_process_coding_system): Call setup_process_coding_systems.
3184 (Fset_process_filter_multibyte): New function.
3185 (Fprocess_filter_multibyte_p): New function.
3186 (syms_of_process): Intern and staticpro QCfilter_multibyte.
3187 Defsubr Sset_process_filter_multibyte and
3188 Sprocess_filter_multibyte_p.
3189
3190 * process.h (struct Lisp_Process): New member filter_multibyte.
3191
3192 * lisp.h (setup_process_coding_systems): Add prototype.
3193
3194 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
3195 process, update coding systems for the process.
3196
3197 2003-02-09 Kenichi Handa <handa@m17n.org>
3198
3199 * fns.c (string_to_multibyte): New function.
3200 (Fstring_to_multibyte): New function.
3201 (syms_of_fns): Defsubr it.
3202
3203 2003-02-08 Andreas Schwab <schwab@suse.de>
3204
3205 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
3206 instead of the substitution.
3207
3208 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3209
3210 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
3211
3212 * xmenu.c (menu_position_func): Adjust menu popup position so that
3213 the menu is fully visible.
3214
3215 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3216
3217 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
3218 (x_make_frame_invisible, x_wm_set_icon_position):
3219 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
3220
3221 * xfns.c (x_set_name, x_set_title): Ditto.
3222
3223 2003-02-04 Richard M. Stallman <rms@gnu.org>
3224
3225 * keyboard.c (echo_now): Update before_command_echo_length.
3226 (Freset_this_command_lengths): Reset this_command_key_count etc.
3227 immediately rather than arranging to do it later.
3228 (before_command_key_count_1, before_command_echo_length_1)
3229 (before_command_restore_flag): Vars deleted.
3230 (add_command_key): Don't handle before_command_restore_flag.
3231 (read_char, record_menu_key): Don't update before_command_key_count or
3232 before_command_echo_length.
3233 (read_char): Don't handle before_command_restore_flag.
3234
3235 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
3236 in direct-output clauses if it wouldn't be called in the ordinary case.
3237
3238 2003-02-04 Kim F. Storm <storm@cua.dk>
3239
3240 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
3241
3242 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3243
3244 * gtkutil.c (remove_from_container): Copying list is not needed.
3245 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
3246 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
3247 on list returned from gtk_container_get_children to avoid memory leak.
3248
3249 2003-02-01 Jason Rumney <jasonr@gnu.org>
3250
3251 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
3252 local malloc.
3253 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
3254 definitions in xpm.h.
3255 (init_xpm_functions): New function.
3256 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
3257 (init_external_image_libraries): Try to load libXpm.dll.
3258
3259 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
3260 timestamp.
3261
3262 2003-01-31 Dave Love <fx@gnu.org>
3263
3264 * syntax.c (Fskip_chars_forward)
3265 (open-paren-in-column-0-is-defun-start): Doc fix.
3266
3267 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
3268
3269 * fileio.c: Support // at start of name for Cygwin (just added proper
3270 preprocessor tests).
3271
3272 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
3273
3274 * Makefile.in: Use @EXEEXT@ for Cygwin.
3275
3276 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
3277
3278 * s/cygwin.h: Added for Cygwin port.
3279
3280 2003-01-31 Juanma Barranquero <lektu@terra.es>
3281
3282 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
3283 when including gif_lib.h.
3284 (init_gif_functions, init_tiff_functions): New functions.
3285 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
3286 Windows. Disable color table lookups. Call library functions
3287 through pointers determined at runtime.
3288 (init_external_image_libraries): Try to load libungif.dll and
3289 libtiff.dll.
3290
3291 2003-01-31 Kenichi Handa <handa@m17n.org>
3292
3293 * xdisp.c (SKIP_GLYPHS): New macro.
3294 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
3295
3296 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3297
3298 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
3299
3300 2003-01-30 Dave Love <fx@gnu.org>
3301
3302 * alloc.c (Vgc_elapsed, gcs_done): New variables.
3303 (Fgarbage_collect): Use them.
3304 (init_alloc, syms_of_alloc): Set them up.
3305
3306 2003-01-30 Juanma Barranquero <lektu@terra.es>
3307
3308 * w32fns.c (init_external_image_libraries): Add missing operator.
3309
3310 2003-01-29 Jason Rumney <jasonr@gnu.org>
3311
3312 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
3313 an alternative name for jpeg.dll.
3314
3315 2003-01-29 Kenichi Handa <handa@m17n.org>
3316
3317 * xdisp.c (set_cursor_from_row): Pay attention to string display
3318 properties.
3319
3320 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
3321
3322 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
3323 <escape>.
3324 (keycode_to_xkeysym_table): Reformat and add more comments.
3325 (XTread_socket): Drop special case for backspace.
3326
3327 2003-01-28 Andrew Choi <akochoi@shaw.ca>
3328
3329 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
3330 values in old-style RGB specs.
3331
3332 2003-01-27 Juanma Barranquero <lektu@terra.es>
3333
3334 * w32fns.c (init_external_image_libraries): Try alternate names for the
3335 jpeg dll.
3336
3337 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3338
3339 * gtkutil.c (create_dialog, xg_separator_p)
3340 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
3341 before calling strcmp or strlen.
3342
3343 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3344
3345 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
3346 and handle image load failure.
3347
3348 2003-01-26 Jason Rumney <jasonr@gnu.org>
3349
3350 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
3351 New functions.
3352 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
3353 Disable color table lookups. Call jpeg library functions
3354 through pointers determined at runtime.
3355 (init_external_image_libraries): Try to load jpeg.dll.
3356
3357 2003-01-25 Richard M. Stallman <rms@gnu.org>
3358
3359 * lisp.h: Declare format2 instead of format1.
3360
3361 * fileio.c (barf_or_query_if_file_exists):
3362 Call format2 instead of format1.
3363
3364 * editfns.c (format2): New function, replaces format1
3365 but takes exactly two Lisp Objects as format args.
3366
3367 * buffer.c (Fkill_buffer): Call format2 instead of format1.
3368
3369 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3370
3371 * xterm.h: Change to return value of x_dispatch_event to int.
3372
3373 * xterm.c (x_filter_event): New function.
3374 (event_handler_gdk, XTread_socket): Call x_filter_event.
3375 (x_dispatch_event): Change to return value of finish.
3376 (event_handler_gdk): Use return value from x_dispatch_event.
3377
3378 * xfns.c (x_window): Call create_frame_xic for GTK version to
3379 initialize input methods.
3380
3381 * gtkutil.h: Add (void) prototypes.
3382
3383 * gtkutil.c (create_menus): Remove code that puts the help menu to
3384 the right.
3385
3386 2003-01-25 Jason Rumney <jasonr@gnu.org>
3387
3388 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
3389 [HAVE_PNG]: Sync with xfns.c version.
3390 (png_load): Adjust colors for Windows. Use Windows
3391 bitmaps. Disable color table lookups.
3392 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
3393 (init_png_functions): New function.
3394 (png_read_from_memory, png_load): Call png library functions
3395 through pointers determined at runtime.
3396 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
3397 (init_external_image_libraries): New function.
3398 (init_xfns): Call it.
3399
3400 2003-01-24 Andreas Schwab <schwab@suse.de>
3401
3402 * minibuf.c (Fminibuffer_message): Verify type of parameter.
3403
3404 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3405
3406 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
3407 of static initializer.
3408
3409 2003-01-24 Dave Love <fx@gnu.org>
3410
3411 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
3412 architectures.
3413
3414 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
3415 Use __alignof__.
3416
3417 2003-01-24 Kenichi Handa <handa@m17n.org>
3418
3419 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
3420 It it is nonzero, don't pretend that an invisible area doesn't exist.
3421 (command_loop_1): Call adjust_point_for_property with proper
3422 second arg.
3423
3424 2003-01-22 Jason Rumney <jasonr@gnu.org>
3425
3426 Sync changes with xterm.c and xfns.c.
3427
3428 * w32term.c (x_draw_glyph_string_foreground)
3429 (x_draw_composite_glyph_string_foreground): Implement overstriking.
3430
3431 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
3432 phys_cursor's hpos is overwritten. This is still not completely
3433 correct, as it doesn't really make sense to use hpos at all to
3434 get the cursor glyph (as that is relative to the width of the
3435 characters on the line, which may have changed during the update).
3436
3437 * w32term.c (notice_overwritten_cursor): Handle the special case
3438 of the cursor being in the first blank non-text line at the
3439 end of a window.
3440
3441 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
3442 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
3443 Compute from the x position returned by x_draw_glyphs.
3444
3445 (x_display_and_set_cursor): Don't set phys_cursor_width here,
3446 except for NO_CURSOR and system caret, to make phys_cursor_width
3447 contain what its name suggests.
3448 (notice_overwritten_cursor): Consider the cursor image erased if
3449 the output area intersects the cursor image in y-direction.
3450
3451 * w32term.c (note_mode_line_or_margin_highlight): Rename from
3452 note_mode_line_highlight and extend.
3453
3454 * w32term.c (last_window): New variable.
3455 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
3456 (note_mouse_movement): Remove reimplemented code in #if 0.
3457
3458 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
3459 not update_mode_lines, and always set it to 1.
3460
3461 2003-01-21 Jason Rumney <jasonr@gnu.org>
3462
3463 * w32fns.c (IDC_HAND): Define it if system headers don't.
3464
3465 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3466
3467 * w32term.h (struct w32_output): New member hand_cursor.
3468 (WM_EMACS_SETCURSOR): New message definition.
3469
3470 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
3471 function w32_define_cursor.
3472 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
3473 position, change member name output_data.x to output_data.w32 and
3474 add function w32_define_cursor.
3475 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
3476 and change member name output_data.x to output_data.w32.
3477 (w32_initialize_display_info):
3478 Setup dpyinfo->vertical_scroll_bar_cursor.
3479
3480 * w32fns.c (Vx_hand_shape): New variable.
3481 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
3482 WM_EMACS_SETCURSOR.
3483 (x-create-frame): Setup Cursor types.
3484
3485 2003-01-21 David Ponce <david@dponce.com>
3486
3487 * w32term.c (w32_encode_char): For DIM=1 charset, set
3488 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
3489 x_encode_char change by Kenichi Handa <handa@m17n.org> on
3490 2002-09-30.)
3491 (w32_draw_relief_rect): Declare all args.
3492 (w32_define_cursor): New.
3493
3494 * w32fns.c (w32_load_cursor): New function.
3495 (w32_init_class): Use it.
3496 (x_put_x_image): Declare all args.
3497
3498 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
3499
3500 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
3501
3502 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3503
3504 * gtkutil.c: Must include stdio.h before termhooks.h
3505
3506 2003-01-21 Dave Love <fx@gnu.org>
3507
3508 * alloc.c (Fgc_status): Print zombie list.
3509 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
3510 Fix assignment of zombies.
3511 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
3512 Don't take car of non-cons.
3513
3514 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
3515
3516 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
3517
3518 2003-01-20 David Ponce <david@dponce.com>
3519
3520 * w32menu.c (digest_single_submenu): Declare all args.
3521
3522 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
3523 changes in xmenu.c:
3524
3525 (parse_single_submenu): Use individual keymap's prompt
3526 string as pane name, if there is one.
3527 (set_frame_menubar): Save menu_items_n_panes from each call to
3528 parse_single_submenu and use it when calling digest_single_submenu.
3529
3530 2003-01-20 Steven Tamm <steventamm@mac.com>
3531
3532 * macterm.c (XTread_socket): Checks for valid, visible window
3533 before sending a scroll-wheel event.
3534
3535 2003-01-20 Richard M. Stallman <rms@gnu.org>
3536
3537 * xdisp.c (redisplay_window): If mini window's buffer is not
3538 a minibuffer, then redisplay it like other windows.
3539
3540 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3541
3542 * gtkutil.c (xg_create_frame_widgets): Check if there is an
3543 external tool bar before setting tool bar height.
3544
3545 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3546
3547 * xterm.c (handle_one_xevent): Surround popup_activated
3548 with #ifdef:s for non-toolkit version.
3549
3550 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
3551 (gtkutil.o): New file.
3552 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
3553 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
3554
3555 * gtkutil.c: New file for GTK version.
3556
3557 * gtkutil.h: New file for GTK version.
3558
3559 * xterm.h: Add xt_or_gtk_widget.
3560 Include gtk files for USE_GTK.
3561 (struct x_output): Add toolbar_height.
3562 (struct x_output): Add GTK widgets and Gdk size_hints.
3563 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
3564 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
3565 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
3566
3567 * xterm.c: Include gtkutil.h for USE_GTK.
3568 Declare extern void free_frame_menubar for USE_GTK.
3569 (note_mouse_highlight): Check popup_activated for USE_GTK.
3570 (xt_action_hook): Don't compile if USE_GTK.
3571 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
3572 (xg_scroll_callback): New function.
3573 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
3574 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
3575 for USE_GTK.
3576 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
3577 xg_show_scroll_bar for USE_GTK.
3578 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
3579 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
3580 (event_handler_gdk): New function for USE_GTK.
3581 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
3582 (handle_one_xevent): Make sure widget is mapped before
3583 calling x_real_positions for USE_GTK.
3584 (XTread_socket): Add GTK event loop for USE_GTK.
3585 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
3586 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
3587 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
3588 (x_iconify_frame): Add code for USE_GTK.
3589 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
3590 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
3591 is in gtkutil.c.
3592 (x_term_init): Add initialization for GTK.
3593 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
3594
3595 * xmenu.c: Include gtkutil.h for USE_GTK.
3596 (Fx_popup_menu): Use current position if x and y is NIL.
3597 (single_menu_item, single_menu_item, Fx_popup_dialog):
3598 Check for USE_GTK.
3599 (popup_widget_loop): New function for USE_GTK.
3600 (x_activate_menubar): Add code for USE_GTK.
3601 (popup_activate_callback, popup_deactivate_callback)
3602 (menu_highlight_callback, menubar_selection_callback):
3603 Add USE_GTK versions.
3604 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
3605 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
3606 (free_frame_menubar): Only compile if not USE_GTK. GTK version
3607 is in gtkutil.c.
3608 (popup_selection_callback): New version for USE_GTK.
3609 (create_and_show_popup_menu): New fuction, one USE_GTK version and
3610 one USE_X_TOOLKIT version.
3611 (xmenu_show): Call create_and_show_popup_menu.
3612 (dialog_selection_callback): New version for USE_GTK.
3613 (create_and_show_dialog): New fuction, one USE_GTK version and
3614 one USE_X_TOOLKIT version.
3615 (xdialog_show): Call create_and_show_dialog.
3616
3617 * xfns.c: Include gtkutil for USE_GTK.
3618 (x_window_to_frame, x_any_window_to_frame)
3619 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
3620 (x_top_window_to_frame): Add code for USE_GTK.
3621 (x_set_background_color): Call xg_set_background_color for GTK.
3622 (x_set_menu_bar_lines): Check for USE_GTK.
3623 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
3624 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
3625 (x_window): Call xg_create_frame_widgets for USE_GTK.
3626 (Fx_create_frame): Check for USE_GTK
3627 (Fx_file_dialog): New implementation for USE_GTK.
3628
3629 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
3630 (update_menu_bar): Add check for USE_GTK.
3631 (update_tool_bar): Add check for USE_GTK and external tool bar.
3632 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
3633 (redisplay_internal): Add check for USE_GTK and popup_activated.
3634 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
3635 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
3636 (display_menu_bar): Add check for USE_GTK
3637
3638 * lisp.h: Declare Vx_resource_name extern.
3639
3640 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
3641 for USE_GTK.
3642 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
3643
3644 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
3645 (FRAME_EXTERNAL_TOOL_BAR): New macro.
3646 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
3647
3648 * fileio.c (Fread_file_name): Add check for USE_GTK.
3649
3650 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
3651 Add check for USE_GTK.
3652
3653 * config.in: Added HAVE_GTK
3654
3655 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
3656
3657 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
3658
3659 * charset.h (Funibyte_char_to_multibyte): Export.
3660
3661 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3662
3663 * xmenu.c (mouse_position_for_popup): New function.
3664 (Fx_popup_menu): Call mouse_position_for_popup for X and
3665 mouse_position_hook for others.
3666
3667 2003-01-17 Kim F. Storm <storm@cua.dk>
3668
3669 * editfns.c (Finsert): Mention `string-make-multibyte' and
3670 `string-as-multibyte' in doc string.
3671
3672 2003-01-17 Kenichi Handa <handa@m17n.org>
3673
3674 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
3675
3676 * editfns.c (Fformat): Convert an unibyte char argument that is
3677 formatted by "%c" to multibyte if the total result must be a
3678 multibyte string.
3679
3680 2003-01-16 Kim F. Storm <storm@cua.dk>
3681
3682 * process.c (set-process-filter): Document unibyte/multibyte-ness
3683 of string argument.
3684
3685 2003-01-16 Kenichi Handa <handa@m17n.org>
3686
3687 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
3688
3689 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
3690 (re_search_2): Likewise.
3691
3692 2003-01-15 Kenichi Handa <handa@m17n.org>
3693
3694 * xdisp.c (message_dolog): Fix bug of the case that *Message*
3695 buffer is unibyte.
3696
3697 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
3698
3699 * fns.c (Fsubstring): Clarify doc string.
3700
3701 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
3702 (Fprevious_char_property_change)
3703 (Fnext_single_char_property_change)
3704 (Fprevious_single_char_property_change, Fnext_property_change)
3705 (Fnext_single_property_change, Fprevious_property_change)
3706 (Fprevious_single_property_change, Fadd_text_properties)
3707 (Fput_text_property, Fset_text_properties)
3708 (Fremove_text_properties, Fremove_list_of_text_properties)
3709 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
3710
3711 2003-01-14 Kim F. Storm <storm@cua.dk>
3712
3713 * process.h (struct Lisp_Process): New member plist replaces old
3714 member private_vars. All uses changed.
3715
3716 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
3717 (QCplist): Rename from QCvars. Change all uses.
3718 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
3719 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
3720 (syms_of_process): Intern, staticpro, defsubr these.
3721 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
3722
3723 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
3724
3725 * m/delta.h: Remove (obsolete).
3726
3727 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
3728
3729 * fileio.c (Fdelete_directory, Fdelete_file): Document the
3730 behaviour in front of symlinks.
3731 (Fdelete_file): Raise an error on directories.
3732
3733 2003-01-13 Dave Love <fx@gnu.org>
3734
3735 * fns.c (Freverse): Use QUIT.
3736
3737 2003-01-13 Richard M. Stallman <rms@gnu.org>
3738
3739 * minibuf.c (minibuffer_completion_contents):
3740 Error if point is inside prompt.
3741
3742 * keyboard.c (command_loop_1): Don't redisplay directly
3743 if there's a post-command-hook.
3744
3745 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
3746 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
3747
3748 2003-01-12 Kim F. Storm <storm@cua.dk>
3749
3750 * process.h (struct Lisp_Process): New member private_vars.
3751
3752 * process.c (QCvars): New variable.
3753 (syms_of_process): Intern and staticpro it.
3754 (Fset_process_contact): Removed function.
3755 (Fprocess_variable, Fset_process_variable): New functions.
3756 (syms_of_process): Defsubr them.
3757 (Fstart_process): Initialize private_vars plist to nil.
3758 (Fmake_network_process): New arg :vars to setup the private
3759 variables for new network process.
3760 (server_accept_connection): Copy server's private variables to
3761 client process.
3762
3763 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
3764 crashes). Code rewritten and simplified. Now directly aligns the
3765 pointer and recalculates pure_bytes_used, rather than aligning the
3766 size and adjusting the pointer.
3767
3768 2003-01-11 Kim F. Storm <storm@cua.dk>
3769
3770 * process.c (Fset_process_contact): New function.
3771 (syms_of_process): defsubr it.
3772 (make-network-process): Update doc.
3773
3774 2003-01-10 Andreas Schwab <schwab@suse.de>
3775
3776 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
3777 Reported by Berthold Gunreben <b.gunreben@web.de>.
3778
3779 2003-01-10 Dave Love <fx@gnu.org>
3780
3781 * composite.c (syms_of_composite): Make composition_hash_table weak.
3782
3783 2003-01-09 Kim F. Storm <storm@cua.dk>
3784
3785 * process.c (Fmake_network_process): Convert new port number
3786 to host byte order for `:service t' case. From Mario Lang.
3787
3788 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3789
3790 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
3791 instead of XtAppProcessEvent.
3792
3793 * xterm.c (handle_one_xevent): New function.
3794 (x_dispatch_event): New function.
3795 (XTread_socket): Call handle_one_xevent.
3796
3797 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
3798
3799 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
3800 call XQueryPointer to get coordinates.
3801 (popup_get_selection): Do not set popup_activated_flag to zero,
3802 let popup_deactivate_callback do that. Needed for Motif.
3803 Call x_dispatch_event instead of XtDispatchEvent.
3804 (xmenu_show): Calculate root coordinate from frame top/left position.
3805
3806 2003-01-08 Kim F. Storm <storm@cua.dk>
3807
3808 * process.c (server_accept_connection): Fix recording of new
3809 connection's local address in :local property of contact info.
3810 (Fmake_network_process): Record local network address for new
3811 client processes in :local property of contact info.
3812 (format-network-address): Add arg OMIT-PORT. Change callers.
3813
3814 2003-01-07 Dave Love <fx@gnu.org>
3815
3816 * Makefile.in (fns.o): Depend on coding.h.
3817
3818 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
3819
3820 * minibuf.c (Fread_variable): Doc fix.
3821
3822 * eval.c (Fuser_variable_p): Doc change. For custom variables,
3823 use the same test as for custom-variable-p.
3824
3825 2003-01-05 Richard M. Stallman <rms@gnu.org>
3826
3827 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
3828 Count LAST_LINE_MISFIT in scroll margin for end of window.
3829 Move label too_near_end before setting SCROLL_MARGIN_POS.
3830 Set LAST_LINE_MISFIT before jumping there.
3831
3832 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
3833 scroll_conservatively case. If scrolling that much doesn't change
3834 STARTP, move it down one line.
3835
3836 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
3837 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
3838
3839 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
3840 selected frame.
3841
3842 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
3843 (syms_of_keymap): staticpro them.
3844 (Fapropos_internal): Initialize them and clear them out.
3845 Don't GCPRO them.
3846
3847 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
3848 Doc fixes.
3849
3850 * lisp.h: New misc type Lisp_Save_Value.
3851 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
3852 (XSAVE_VALUE): New macro.
3853 (struct Lisp_Save_Value): New data type.
3854 (union Lisp_Misc): Add u_save_value alternative.
3855 (make_save_value): Declared.
3856
3857 * alloc.c (make_save_value): New function.
3858
3859 * xterm.c (x_catch_errors): Save dpy using make_save_value.
3860 (x_catch_errors_unwind): Call XSync.
3861
3862 2003-01-01 Richard M. Stallman <rms@gnu.org>
3863
3864 * window.c (window_scroll_pixel_based): Partially undo last change.
3865
3866 * keyboard.c (command_loop_1): Call adjust_point_for_property
3867 in direct action cases for Qforward_char and Qbackward_char.
3868 Set already_adjusted so it won't be done twice.
3869
3870 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
3871
3872 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
3873 type definition of size_t.
3874
3875 2003-01-02 Steven Tamm <steventamm@mac.com>
3876
3877 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
3878 distinguish Carbon GUI builds from X11 builds on darwin.
3879
3880 2002-12-30 Steven Tamm <steventamm@mac.com>
3881
3882 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
3883 to default to t.
3884
3885 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
3886
3887 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
3888
3889 2002-12-28 Steven Tamm <steventamm@mac.com>
3890
3891 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
3892 allow building in a different directory than source. Uses some
3893 GNU Make extensions, but there is no other make on Mac OS X.
3894
3895 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
3896
3897 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
3898 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
3899 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
3900 (Fstring_to_number): Mention the returned value in the doc strings.
3901
3902 2002-12-23 Richard M. Stallman <rms@gnu.org>
3903
3904 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
3905 <scroll-down-aggressively>: Doc fix.
3906
3907 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
3908 string as pane name, if there is one.
3909 (set_frame_menubar): Save menu_items_n_panes from each call to
3910 parse_single_submenu and use it when calling digest_single_submenu.
3911
3912 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
3913 Don't try to make last line fully visible if it is past end of window.
3914
3915 2002-12-22 Steven Tamm <steventamm@mac.com>
3916
3917 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
3918 (mac_menu_show): Add support for hierarchical popup menus.
3919 (add_menu_item): Remove indentation support.
3920 (fill_submenu, fill_menu): Create hierarchical menus
3921 instead of using indentation.
3922
3923 2002-12-22 Richard M. Stallman <rms@gnu.org>
3924
3925 * xdisp.c (try_cursor_movement): Don't call try_window here.
3926 (redisplay_window): Never redisplay minibuffer when inactive.
3927
3928 * window.c (select_window_1): Undo 9/21 change.
3929
3930 2002-12-22 Steven Tamm <steventamm@mac.com>
3931
3932 * macterm.c (XTread_socket): Call KeyTranslate for control and
3933 meta to deal correctly shifted non-alpha characters, like C-S-5
3934 being treated like C-%. Does not look for shift key to deal
3935 with masking off control-key with mac-reverse-ctrl-meta.
3936
3937 2002-12-21 Richard M. Stallman <rms@gnu.org>
3938
3939 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
3940 If it is non-nil, run timers. Use an unwind-protect to requeue
3941 the events that were read ahead.
3942 (popup_get_selection_unwind): New subroutine.
3943 (popup_get_selection_queue): File-scope variable now holds that queue.
3944 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
3945 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
3946 Use an unwind-protect to pop down the dialog box.
3947 (xdialog_show_unwind): New subroutine implements that.
3948
3949 * xdisp.c (row_containing_pos): Change exit test using last_y.
3950 (try_window_id): Abort if row_containing_pos returns null.
3951
3952 * lread.c (load_error_handler): New function.
3953 (Fload): Handle errors in Fsubstitute_in_file_name.
3954 Don't expect Fsignal to return.
3955
3956 * eval.c: Errors and throws work right with interrupt blocking.
3957 (struct catchtag): New elt interrupt_input_blocked.
3958 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
3959 (internal_catch, Fcondition_case, internal_condition_case)
3960 (internal_condition_case_1, internal_condition_case_2): Save it.
3961 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
3962
3963 * editfns.c (Fformat): Add parens.
3964
3965 * dired.c (file_name_completion): Fix that change.
3966 Delete special quit-handling code; just use QUIT.
3967
3968 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change)
3969
3970 * dired.c (file_name_completion): Close directory on error
3971 just as in directory_files_internal.
3972
3973 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
3974
3975 * window.c (Fset_window_configuration): Set old_point to correct
3976 value when new_current_buffer == current_buffer.
3977
3978 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
3979
3980 Revisited my earlier fix for the following entry in etc/PROBLEMS:
3981 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
3982 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
3983
3984 These changes were in part based upon suggestions made by Peter
3985 'Luna' Runestig [peter@runestig.com].
3986
3987 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
3988 g_b_init_get_token_information, g_b_init_lookup_account_sid,
3989 g_b_init_get_sid_identifier_authority ): Add several static
3990 global variables.
3991
3992 * w32.c (globals_of_w32): New function. Used to initialize those
3993 global variables that must always be initialized on startup even
3994 when the global variable initialized is non zero. Its primary
3995 purpose at this time is to set the global variables
3996 g_b_init_is_windows_9x, g_b_init_open_process_token,
3997 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
3998 g_b_init_get_sid_identifier_authority to 0 on startup.
3999 Called from main.
4000
4001 * w32.c (is_windows_9x): Perform initialization only if
4002 g_b_init_is_windows_9x is equal to 0. On initialization set
4003 g_b_init_is_windows_9x equal to 1.
4004
4005 * w32.c (open_process_token): Perform initialization only if
4006 g_b_init_open_process_token is equal to 0. On initialization set
4007 g_b_init_open_process_token equal to 1.
4008
4009 * w32.c (get_token_information): Perform initialization only if
4010 g_b_init_get_token_information is equal to 0. On initialization
4011 set g_b_init_get_token_information equal to 1.
4012
4013 * w32.c (lookup_account_sid): Perform initialization only if
4014 g_b_init_lookup_account_sid is equal to 0. On initialization
4015 set g_b_init_lookup_account_sid equal to 1.
4016
4017 * w32.c (get_sid_identifier_authority): Perform initialization
4018 only if g_b_init_get_sid_identifier_authority is equal to 0.
4019 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
4020
4021 * w32fns.c (globals_of_w32fns): New function. Used to initialize
4022 those global variables that must always be initialized on startup
4023 even when the global variable initialized is non zero.
4024 Its primary purpose at this time is to initialize the global variable
4025 track_mouse_event_fn.
4026
4027 * w32fns.c (w32_wnd_proc): Remove initialization of
4028 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
4029
4030 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
4031
4032 * w32menu.c (globals_of_w32menu): New function. Used to
4033 initialize those global variables that must always be initialized
4034 on startup even when the global variable initialized is non zero.
4035 Its primary purpose at this time is to initialize the global
4036 variables get_menu_item_info and set_menu_item_info.
4037
4038 * w32menu.c (initialize_frame_menubar): Remove initialization of
4039 get_menu_item_info and set_menu_item_info.
4040
4041 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
4042
4043 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
4044 Declare them.
4045
4046 * emacs.c (main): Call globals_of_w32 prior to calling
4047 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
4048 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
4049 is defined.
4050
4051 * w32term.c (x_update_window_begin): Fix Windows API error
4052 detected by BoundsChecker. Test to determine if
4053 w32_system_caret_hwnd is NULL prior to attempting to use
4054 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
4055
4056 * w32term.c (x_update_window_end): Fix Windows API error
4057 detected by BoundsChecker. Test to determine if
4058 w32_system_caret_hwnd is NULL prior to attempting to use
4059 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
4060
4061 2002-12-17 Kenichi Handa <handa@m17n.org>
4062
4063 * coding.c (coding_system_require_warning): New variable.
4064 (syms_of_coding): DEFVAR it.
4065
4066 * coding.h (coding_system_require_warning): Extern it.
4067
4068 * fileio.c (choose_write_coding_system): Even if
4069 Vcoding_system_for_write is non-nil, if
4070 coding_system_require_warning is nonzero, call
4071 Vselect_safe_coding_system_function.
4072
4073 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
4074
4075 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
4076 (lisp): Add font-core.
4077
4078 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
4079
4080 * textprop.c (text_read_only): New arg `propval'.
4081 (get_char_property_and_overlay): Remove unused var `next_overlay'.
4082 (verify_interval_modification): Use text_read_only's new arg.
4083
4084 2002-12-13 Kenichi Handa <handa@m17n.org>
4085
4086 * coding.c (Funencodable_char_position): Set pend correctly.
4087
4088 2002-12-12 Jason Rumney <jasonr@gnu.org>
4089
4090 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
4091 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
4092 Be more careful about when help_events are generated.
4093
4094 2002-12-12 Steven Tamm <steventamm@mac.com>
4095
4096 * macterm.c (mac_check_for_quit_char): Correctly set the
4097 modifiers of the event to 0.
4098 * mac.c (sys_select): Duplicate rfds before calling select to
4099 ensure that rfds survive the while loop.
4100
4101 2002-12-11 Kim F. Storm <storm@cua.dk>
4102
4103 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
4104 row_containing_pos returned NULL.
4105
4106 2002-12-10 Steven Tamm <steventamm@mac.com>
4107
4108 * mac.c (sys_read): Fix sys_read to not call select if IO is
4109 non-blocking.
4110 (sys_select): Fix sys_select to not use a timeout larger than
4111 the one given.
4112
4113 2002-12-10 Juanma Barranquero <lektu@terra.es>
4114
4115 * editfns.c (Fformat): Use alloca, not _alloca.
4116
4117 2002-12-09 Richard M. Stallman <rms@gnu.org>
4118
4119 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
4120 as the last thing.
4121
4122 2002-12-09 Dave Love <fx@gnu.org>
4123
4124 * s/sol2-8.h: Removed. (Not necessary.)
4125
4126 2002-12-09 Matthew Swift <swift@alum.mit.edu>
4127
4128 * editfns.c (Fformat): Handle precision in string conversion
4129 specifiers like libc functions do (ie, print at most that many
4130 characters).
4131
4132 2002-12-08 Richard M. Stallman <rms@gnu.org>
4133
4134 * xdisp.c (row_containing_pos): Check more carefully
4135 whether charpos is really in the row before returning it.
4136
4137 2002-12-07 Steven Tamm <steventamm@mac.com>
4138
4139 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
4140
4141 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
4142 each stack frame. This may change as it could be time consuming.
4143
4144 * macterm.c (mac_check_for_quit_char, quit_char_comp)
4145 (init_quit_char_handler, mac_determine_quit_char_modifiers)
4146 (mac_initialize): Add code to check for pressing of quit_char
4147 in the OS event queue.
4148
4149 * mac.c (sys_select): Call mac_check_for_quit_char every second
4150 while blocking on select.
4151
4152 * mac.c (sys_read): Use sys_select to test for input first
4153 before calling read, to allow C-g to break.
4154
4155 2002-12-07 Richard M. Stallman <rms@gnu.org>
4156
4157 * minibuf.c (Fcompleting_read): Doc fix.
4158
4159 * lread.c (syms_of_lread) <load-history>: Doc fix.
4160
4161 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
4162
4163 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
4164 autoload.
4165
4166 * data.c (Fdefalias): Record in load-history redefining an autoload.
4167
4168 * alloca.c: Undo ifdef change accidentally made on 12-04.
4169
4170 2002-12-06 Francesco Potorti` <pot@gnu.org>
4171
4172 * xfns.c (png_load): Avoid double gamma correction for PNG images.
4173
4174 2002-12-04 Richard M. Stallman <rms@gnu.org>
4175
4176 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
4177
4178 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
4179
4180 * alloca.c: Don't use #error.
4181
4182 2002-12-03 Dave Love <fx@gnu.org>
4183
4184 * buffer.c (Qucs_set_table_for_input): New.
4185 (Fget_buffer_create): Use it.
4186 (Qset_buffer_major_mode_hook): Deleted.
4187 (Fset_buffer_major_mode): Revert previous change.
4188 (init_buffer_once): Intern ucs-set-table-for-input.
4189 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
4190 Add &Qucs_set_table_for_input.
4191
4192 2002-12-03 Andreas Schwab <schwab@suse.de>
4193
4194 * callint.c (Fcall_interactively): Use next_event only if less
4195 than key_count.
4196
4197 2002-12-02 Andrew Choi <akochoi@shaw.ca>
4198
4199 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
4200 names to 255 characters.
4201
4202 * macterm.c (XTread_socket): If all frames have been collapsed,
4203 expand the first one before handling drag-and-drop events.
4204
4205 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
4206 which is detected by autoconf.
4207
4208 2002-12-01 Steven Tamm <steventamm@mac.com>
4209
4210 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
4211 offset in two hints table to allow prebinding to be redone and
4212 allow the executable to be stripped.
4213
4214 2002-11-29 Dave Love <fx@gnu.org>
4215
4216 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
4217 already provided.
4218
4219 2002-11-29 Richard M. Stallman <rms@gnu.org>
4220
4221 * xdisp.c (start_display): Check more intelligently for
4222 whether the line is continued.
4223 (move_it_vertically_backward): Clear it->continuation_lines_width.
4224
4225 2002-11-28 Dave Love <fx@gnu.org>
4226
4227 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
4228 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
4229
4230 2002-11-27 Steven Tamm <steventamm@mac.com>
4231
4232 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
4233 more descriptive error output from lread.c:Fload upon most require
4234 cycles during boostrapping.
4235
4236 2002-11-27 Jason Rumney <jasonr@gnu.org>
4237
4238 * fileio.c (Finsert_file_contents): Give a more appropriate error
4239 for files bigger than 2Gb when off_t is 32 bit.
4240
4241 * dired.c (Ffile_attributes): Don't return negative file sizes for
4242 files bigger than 2Gb when off_t is 32 bit.
4243
4244 2002-11-27 Dave Love <fx@gnu.org>
4245
4246 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
4247
4248 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
4249 Test GETPGRP_VOID instead.
4250 [BSD_TERMIOS]: Remove definitions (never used).
4251
4252 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
4253 Don't define.
4254 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
4255
4256 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
4257
4258 2002-11-25 Jason Rumney <jasonr@gnu.org>
4259
4260 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
4261 supported.
4262
4263 2002-11-25 Dave Love <fx@gnu.org>
4264
4265 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
4266
4267 * Makefile.in (TEMACS_LDFLAGS): Update last change.
4268
4269 2002-11-25 Andreas Schwab <schwab@suse.de>
4270
4271 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
4272
4273 2002-11-24 Steven Tamm <steventamm@mac.com>
4274
4275 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
4276 determine the size of pointers alloced in unexed space instead
4277 of using possibly invalid emacs_zone pointers. This fixes the
4278 binary incompatibility problems caused by updates to libSystem.B.
4279
4280 2002-11-24 Richard M. Stallman <rms@gnu.org>
4281
4282 * search.c (Fstring_match): Doc fix.
4283
4284 * callint.c (Fcall_interactively): If a command fails because
4285 `*' detects a read-only buffer, but RECORD_FLAG is set,
4286 record it anyway if the args don't actually do tty input.
4287
4288 2002-11-22 Dave Love <fx@gnu.org>
4289
4290 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
4291
4292 * keyboard.c (interrupt_signal): Provide forward declaration.
4293 (kbd_buffer_store_event): Don't declare interrupt_signal.
4294
4295 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
4296
4297 2002-11-21 Richard M. Stallman <rms@gnu.org>
4298
4299 * eval.c (interactive_p): Skip any number of bytecode
4300 and special form frames, in any order.
4301
4302 2002-11-20 Jason Rumney <jasonr@gnu.org>
4303
4304 * w32fns.c (convert_mono_to_color_image): New function.
4305 (xbm_load, xbm_load_image): Use it when foreground or background
4306 is explicitly set.
4307
4308 2002-11-19 Dave Love <fx@gnu.org>
4309
4310 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
4311
4312 2002-11-18 Jason Rumney <jasonr@gnu.org>
4313
4314 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
4315 (XPutPixel): Swap blue and red.
4316 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
4317 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
4318 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
4319 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
4320
4321 2002-11-18 Dave Love <fx@gnu.org>
4322
4323 * m/orion105.h (HAVE_ALLOCA): Don't define.
4324
4325 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
4326
4327 * m/intel386.h: Don't include alloca.h or define alloca.
4328
4329 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
4330 malloc, realloc, calloc.
4331
4332 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
4333 (bcmp): Don't define.
4334
4335 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
4336
4337 * m/amdahl.h: Don't define LIB_STANDARD.
4338
4339 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
4340
4341 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
4342
4343 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
4344 Don't include alloca.h.
4345
4346 * s/aix3-2.h (HAVE_FSYNC): Don't define.
4347
4348 * regex.c (_GNU_SOURCE): Don't define.
4349
4350 * process.c (_GNU_SOURCE): Don't define.
4351
4352 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
4353
4354 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
4355
4356 * s/sol2-8.h: Include sol2-6.h.
4357
4358 2002-11-18 Miles Bader <miles@gnu.org>
4359
4360 * dispextern.h (struct face): Add `overstrike' field.
4361 * xterm.c (x_draw_glyph_string_foreground)
4362 (x_draw_composite_glyph_string_foreground): Implement overstriking.
4363 * xfaces.c (load_face_font): Set `face->overstrike' based on
4364 result from choose_face_font.
4365 (best_matching_font, choose_face_font): Add `needs_overstrike'
4366 argument, and use it to return whether overstriking is desirable
4367 for this face/font combo.
4368 (set_font_frame_param: Pass new argument to choose_face_font.
4369
4370 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
4371
4372 This change is my fix for the following entry in etc/PROBLEMS:
4373 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
4374 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
4375
4376 * w32.c: Added wrapper functions around the win32 API functions
4377 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
4378 GetSidIdentifierAuthority. These wrapper functions serve two
4379 purposes:
4380 1. They ensure that the wrapped function can never be called
4381 when Emacs is running on an operating system on which they are
4382 not supported (Microsoft Windows 95 / 98 / ME).
4383 2. They call the wrapped functions via function pointers rather
4384 than calling them directly. This avoids taking advantage of the
4385 undocumented fact that although these functions are not supported
4386 in the 9x branch of Microsoft Windows, the functions do exist in
4387 the version of advapi32.dll that is found in the 9x branch of
4388 Microsoft Windows.
4389
4390 * w32.c (init_user_info): Replace the calls to the win32 API
4391 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
4392 and GetSidIdentifierAuthority with calls to the newly added
4393 wrapper functions.
4394
4395 * w32.h: Added extern declarations for the following functions:
4396 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
4397 syms_of_w32menu, and void syms_of_fontset.
4398
4399 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
4400 function pointer track_mouse_event_fn in the handler for the
4401 WM_SETFOCUS message.
4402
4403 * w32menu.c (initialize_frame_menubar): Add code to
4404 reinitialize the function pointers set_menu_item_info and
4405 get_menu_item_info.
4406
4407 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
4408
4409 * sound.c: Added a partial implementation of play-sound-internal
4410 for Microsoft Windows. Added various #ifdef / #else / #endif
4411 code blocks to separate the code that will compile under
4412 Microsoft Windows from the code that is specific to Gnu/Linux.
4413 Moved several blocks of code around to make this separation of code
4414 into Windows compatible and Gnu/Linux compatible code blocks easier.
4415
4416 * makefile.w32-in: Include sound.c and link with WinMM.lib.
4417
4418 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
4419 added support for play-sound-internal under Windows would be
4420 included in the build of Emacs.
4421
4422 2002-11-16 Jason Rumney <jasonr@gnu.org>
4423
4424 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
4425
4426 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
4427
4428 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
4429
4430 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
4431 (adjust_point_for_property): Move out of display and invisible even if
4432 we were already inside before (in case a property was added while
4433 we weren't looking). Be more careful when handling invisible props.
4434 Skip invisible text as if it really wasn't there at all.
4435
4436 2002-11-15 Jason Rumney <jasonr@gnu.org>
4437
4438 * w32term.c (x_draw_image_foreground)
4439 (w32_draw_image_foreground_1): Use standard copy and invert
4440 operations to draw images.
4441
4442 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
4443 depth of 1.
4444 (xbm_read_bitmap_data): Invert bits as xbm is read in.
4445 (XPutPixel): Don't invert bits here.
4446
4447 2002-11-15 Jason Rumney <jasonr@gnu.org>
4448
4449 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
4450 (w32_draw_image_foreground_1): Handle image masks.
4451 (x_draw_image_glyph_string): Don't BitBlt transparently.
4452
4453 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
4454 (x_from_xcolors): Adjust RGB values for W32.
4455 (image_background, image_background_transparent)
4456 (postprocess_image, x_to_xcolors, x_disable_image)
4457 (x_build_heuristic_mask): Adapt for W32 and enable.
4458 (x_create_x_image_and_pixmap): Mark images with palettes as such.
4459 (xbm_load): Remove unused variable.
4460
4461 2002-11-14 Richard M. Stallman <rms@gnu.org>
4462
4463 * buffer.c (syms_of_buffer): Doc fix.
4464
4465 2002-11-14 Dave Love <fx@gnu.org>
4466
4467 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
4468
4469 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
4470 * xmenu.c (unuse_menu_items, digest_single_submenu):
4471 * xfns.c (x_put_x_image):
4472 * xdisp.c (message2_nolog, set_message):
4473 * undo.c (record_point):
4474 * terminfo.c (tparam):
4475 * syntax.c (scan_sexps_forward):
4476 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
4477 * composite.c (update_compositions):
4478 * cm.c (calccost, cmgoto):
4479 * charset.c (c_string_width): Declare all args (per C99).
4480
4481 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
4482
4483 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
4484 Don't declare.
4485
4486 * emacs.c (main) [!VMS]: Avoid third arg.
4487
4488 * fns.c (Fcopy_sequence): Doc fix.
4489 (Fmap_char_table): Cast `call2'.
4490
4491 2002-11-14 Francesco Potorti` <pot@gnu.org>
4492
4493 * s/sol2-8.h: New file.
4494
4495 2002-11-14 Kim F. Storm <storm@cua.dk>
4496
4497 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
4498 dependency on `risky-local-variable' and the :propertize form.
4499
4500 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
4501
4502 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
4503
4504 * syntax.c (scan_sexps_forward): Undo last patch.
4505 Use a more obvious fix: check eob before updating the syntax table.
4506
4507 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
4508
4509 * syntax.c (scan_sexps_forward): Update syntax table before reading
4510 a char rather than after so we don't update the table past eob.
4511
4512 2002-11-09 Dave Love <fx@gnu.org>
4513
4514 * buffer.c (Fset_buffer_major_mode): Fix last change.
4515
4516 * regex.c (regexec): Fix pmatch declaration.
4517
4518 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
4519
4520 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
4521 to self-inserting characters.
4522 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
4523
4524 * coding.c (Vtranslation_table_for_input): New.
4525 (syms_of_coding): DEFVAR it.
4526
4527 2002-11-08 Juanma Barranquero <lektu@terra.es>
4528
4529 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
4530 window.
4531
4532 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
4533
4534 * process.c (Fformat_network_address): Remove unused locals p,
4535 cp, and i.
4536
4537 2002-11-06 Dave Love <fx@gnu.org>
4538
4539 * buffer.c (Qset_buffer_major_mode_hook): New.
4540 (Fset_buffer_major_mode): Use it.
4541
4542 2002-11-06 Richard M. Stallman <rms@gnu.org>
4543
4544 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
4545 and stop_polling.
4546
4547 * process.c (wait_reading_process_input):
4548 Test POLLING_PROBLEM_IN_SELECT, not hpux.
4549 Avoid initialization for auto Lisp_Object var.
4550
4551 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
4552
4553 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
4554
4555 2002-11-05 Richard M. Stallman <rms@gnu.org>
4556
4557 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
4558
4559 * callint.c (Fcall_interactively): New local filter_specs.
4560 (Fcall_interactively): Check for progn as well as let.
4561 Add a gcpro.
4562 (Qprogn): New variable.
4563 (syms_of_callint): Staticpro and init Qprogn.
4564
4565 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
4566
4567 * lread.c (Feval_buffer): Doc fix.
4568
4569 2002-11-04 Dave Love <fx@gnu.org>
4570
4571 * keyboard.c (read_char): Always translate iff
4572 Vkeyboard_translate_table is a char table and c is valid.
4573
4574 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
4575 and fix C types.
4576
4577 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
4578
4579 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
4580
4581 * editfns.c (get_pos_property): Don't hardcode Qfield.
4582
4583 * keyboard.c (adjust_point_for_property): Handle `display' prop on
4584 overlays. Also handle `invisible' prop.
4585
4586 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
4587
4588 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
4589 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
4590
4591 2002-11-01 Andreas Schwab <schwab@suse.de>
4592
4593 * editfns.c (Fmessage): Revert last change to properly handle %%.
4594
4595 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
4596
4597 * xmenu.c (unuse_menu_items): New fun.
4598 (menu_items_inuse): New var.
4599 (syms_of_xmenu): Initialize it.
4600 (init_menu_items): Use it to detect re-entrance.
4601 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
4602 (Fx_popup_menu): Remove spurious XSETFRAME.
4603
4604 * editfns.c (find_field): Make an exception for nil fields.
4605
4606 2002-11-01 Dave Love <fx@gnu.org>
4607
4608 * m/gec63.h: Deleted.
4609
4610 2002-10-31 Dave Love <fx@gnu.org>
4611
4612 * xterm.c (XTread_socket): Fix last change.
4613 (xaw_scroll_callback): Cast call_data to long to avoid warning.
4614
4615 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
4616
4617 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
4618
4619 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
4620
4621 * editfns.c (overlays_around, get_pos_property): New funs.
4622 (find_field): Use them.
4623 Also be careful not to modify POS before its last use.
4624 (Fmessage): Don't Fformat if there's nothing to format.
4625
4626 2002-10-30 Dave Love <fx@gnu.org>
4627
4628 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
4629 [HAVE_PTY_H]; Include pty.h.
4630
4631 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
4632
4633 * xterm.c (Qeql): Declare.
4634 (Vx_keysym_table): New.
4635 (syms_of_xterm): Initialize it.
4636 (XTread_socket): Use it. Deal with ASCII keysyms.
4637 (XSetIMValues) [HAVE_X11R6]: Prototype.
4638
4639 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
4640 (lispy_kana_keys): Comment out.
4641 (make_lispy_event) [XK_kana_A]: Comment out.
4642 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
4643 Fix sprintf call.
4644
4645 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
4646 regexp.h change).
4647 (TERMINFO, LIBS_TERMCAP): Define.
4648
4649 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
4650 (bcmp): Define conditional on HAVE_BCMP.
4651 (NO_SIOCTL_H): Don't define.
4652 (TIOCSIGSEND): Don't make conditional on IRIX6.
4653
4654 * s/sol2-5.h: Don't include strings.h.
4655 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
4656
4657 * s/irix6-0.h (IRIX6): Don't define.
4658 (bcopy, bcmp, bzero): Don't undef.
4659
4660 * s/irix6-5.h: Don't include strings.h.
4661 (IRIX6): Don't define.
4662 (bcopy, bcmp, bzero): Don't undef.
4663
4664 * syntax.c (Fforward_comment): Doc fix.
4665
4666 2002-10-29 Kim F. Storm <storm@cua.dk>
4667
4668 * process.c (Fsignal_process): Allow PROCESS to be specified by
4669 name in addition to pid (as integer or string).
4670
4671 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
4672
4673 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
4674 environments.
4675
4676 2002-10-27 Kim F. Storm <storm@cua.dk>
4677
4678 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
4679
4680 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
4681
4682 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
4683
4684 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
4685
4686 2002-10-26 Richard M. Stallman <rms@gnu.org>
4687
4688 * editfns.c (Fformat): Detect invalid format letters for floats.
4689
4690 2002-10-25 Kenichi Handa <handa@m17n.org>
4691
4692 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
4693 (x_set_title): Likewise.
4694
4695 2002-10-25 Juanma Barranquero <lektu@terra.es>
4696
4697 * macgui.h:
4698 * w32gui.h: Remove definition of XColor.
4699
4700 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
4701
4702 2002-10-24 Kim F. Storm <storm@cua.dk>
4703
4704 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
4705 Callers changed (supply dummy arg).
4706
4707 * lisp.h (get_window_cursor_type): Update prototype.
4708
4709 * w32term.c (x_display_and_set_cursor): Get active_cursor from
4710 get_window_cursor_type to track system caret.
4711
4712 2002-10-24 Kim F. Storm <storm@cua.dk>
4713
4714 * process.c (Fformat_network_address): New function.
4715 (syms_of_process): Defsubr it.
4716 (list_processes_1): Use it to format :local/:remote address if
4717 service/host is not set; before emacs would crash in that case.
4718 (Fmake_network_process): Don't use Ffind_operation_coding_system
4719 to setup coding system if host or service is not set.
4720
4721 2002-10-23 Juanma Barranquero <lektu@terra.es>
4722
4723 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
4724
4725 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
4726 COLORREF.
4727
4728 * macgui.h:
4729 * w32gui.h: Add definition of XColor.
4730
4731 * macfns.c:
4732 * w32fns.c:
4733 * xfaces.c: Remove definition of XColor.
4734
4735 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
4736
4737 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
4738
4739 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
4740 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
4741 window if it is dedicated.
4742 (Fshrink_window): Add preserve_before as was done for enlarge_window.
4743 (Vspecial_display_function): Update docstring.
4744
4745 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
4746 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
4747 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
4748
4749 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
4750
4751 * casefiddle.c (casify_region): Don't treat a prefix char as part
4752 of a word when at the beginning.
4753
4754 2002-10-17 Juanma Barranquero <lektu@terra.es>
4755
4756 * lread.c (syms_of_lread): Fix typos.
4757
4758 2002-10-17 Dave Love <fx@gnu.org>
4759
4760 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
4761
4762 2002-10-16 Richard M. Stallman <rms@gnu.org>
4763
4764 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
4765
4766 2002-10-14 Juanma Barranquero <lektu@terra.es>
4767
4768 * w16select.c (syms_of_win16select): Fix docstring for
4769 `selection-coding-system'.
4770
4771 * w32select.c (syms_of_w32select): Likewise.
4772
4773 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
4774
4775 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
4776 a backslash-quoted char.
4777 (scan_lists, scan_sexps_forward): Pacify the compiler.
4778
4779 2002-10-13 Richard M. Stallman <rms@gnu.org>
4780
4781 * window.c (window_scroll): Set immediate_quit.
4782
4783 * print.c (print): When backquote form is the car of a list,
4784 output in old style. Use old_backquote_output to output all
4785 comma forms inside it in old style too.
4786
4787 * buffer.h (struct buffer): Move `undo_list' down below `name'.
4788
4789 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
4790
4791 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
4792 batch mode).
4793
4794 * lread.c (Fload): Doc fix (load-suffixes).
4795
4796 2002-10-10 Steven Tamm <steventamm@mac.com>
4797
4798 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
4799 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
4800 Also switch the default to Qnil from Qt.
4801
4802 2002-10-08 Kenichi Handa <handa@m17n.org>
4803
4804 * coding.c (code_convert_region): When we need more GAP for
4805 conversion, pay attention to the case that coding->produced is not
4806 greater than coding->consumed.
4807
4808 2002-10-07 Richard M. Stallman <rms@gnu.org>
4809
4810 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
4811
4812 2002-10-06 Andrew Choi <akochoi@shaw.ca>
4813
4814 * macmenu.c (mac_menu_show): Add j to count menu items; match
4815 menu_item_selection to it to find selected item.
4816
4817 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4818
4819 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
4820 cases. The correct fix is to pass ReparentNotify to Xt.
4821 The shell widget interprets ConfigureNotify differently depending
4822 on if it has been reparented or not.
4823
4824 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
4825
4826 * editfns.c (Fformat_time_string): Doc fix.
4827
4828 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
4829
4830 * fns.c (Flength): Doc fix.
4831
4832 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
4833
4834 * keyboard.c (keyremap): New struct.
4835 (read_key_sequence): Use it: globally replace keytran_foo with
4836 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
4837 keytran_next and fkey_next to just `next'.
4838
4839 2002-10-04 Steven Tamm <steventamm@mac.com>
4840
4841 * macterm.c (keycode_to_xkeysym_table): Change return to be
4842 treated like an X keysym.
4843
4844 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4845
4846 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
4847 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
4848 This is to also handle x/y changes that occur because of a resize.
4849
4850 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
4851
4852 * frame.c (Vdelete_frame_functions): New variable.
4853 (syms_of_frame): Initialize and defvar it.
4854 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
4855 it when frame's `tooltip' parameter is non-nil.
4856
4857 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
4858
4859 * w32fns.c (x_create_tip_frame): Likewise.
4860
4861 * macfns.c (x_create_tip_frame): Likewise.
4862
4863 2002-09-30 Kenichi Handa <handa@m17n.org>
4864
4865 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
4866 -1 before calling ccl_driver.
4867
4868 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
4869 Only when it is non-nil, handle composition sequence.
4870 (setup_coding_system) <0>: Don't force composition handling.
4871
4872 * Makefile.in (lisp, shortlisp): Add utf-16.elc
4873
4874 2002-09-29 Richard M. Stallman <rms@gnu.org>
4875
4876 * search.c (Freplace_match): Adjust match data for the substitution
4877 just made in the buffer.
4878
4879 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
4880 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
4881
4882 2002-09-27 Richard M. Stallman <rms@gnu.org>
4883
4884 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
4885 (read_char): Use them. Do all exits thru the end of the function.
4886
4887 2002-09-27 Kenichi Handa <handa@etl.go.jp>
4888
4889 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
4890 is nil.
4891
4892 2002-09-26 Richard M. Stallman <rms@gnu.org>
4893
4894 * regex.h (__restrict_arr): Don't define if already defined.
4895
4896 * coding.c (run_pre_post_conversion_on_str):
4897 Save and restore Vdeactivate_mark.
4898
4899 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
4900
4901 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
4902
4903 2002-09-26 Kenichi Handa <handa@etl.go.jp>
4904
4905 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
4906 nonzero, try face's family at first. Otherwise try FAMILY at first.
4907 (choose_face_font): If C is a single byte char or latin-1, call
4908 try_font_list with PREFER_FACE_FAMILY 1.
4909
4910 2002-09-21 Richard M. Stallman <rms@gnu.org>
4911
4912 * window.c (select_window_1): Don't select frame.
4913 Set frame's selected window only when frame itself is selected.
4914 (Fselect_window): Doc fix.
4915
4916 2002-09-18 Kim F. Storm <storm@cua.dk>
4917
4918 * process.c (make-network-process): Doc fix (there is no
4919 network-server-log-function hook).
4920
4921 2002-09-18 Richard M. Stallman <rms@gnu.org>
4922
4923 * print.c (print): Clear out the unused parts of Vprint_number_table.
4924 (syms_of_print): Doc fix for `print-number-table'.
4925
4926 * unexelf.c (unexec): Undo previous change.
4927
4928 2002-09-17 Andreas Schwab <schwab@suse.de>
4929
4930 * m/alpha.h [LINUX]: Don't define DATA_START.
4931
4932 2002-09-16 Dave Love <fx@gnu.org>
4933
4934 * unexelf.c (unexec): Deal with .got, reinstating change from
4935 25-08-1999.
4936
4937 2002-09-13 Richard M. Stallman <rms@gnu.org>
4938
4939 * s/sol2-6.h (UNEXEC): Comment out definition.
4940
4941 * unexsol.c (unexec): Don't downcase first letter of error msg.
4942
4943 * xfaces.c (Fcolor_supported_p): Just one arg is required.
4944
4945 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
4946
4947 * unexsol.c: Include buffer.h, charset.h, coding.h.
4948
4949 2002-09-11 Richard M. Stallman <rms@gnu.org>
4950
4951 * unexsol.c: Don't use report_file_error; do it by hand
4952 using dlerror.
4953
4954 * process.c (wait_reading_process_input, both versions):
4955 Before calling turn_on_atimers, call stop_polling.
4956
4957 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
4958
4959 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
4960 we go to too_near_end, call clear_glyph_matrix.
4961 (redisplay_window): After make_cursor_line_fully_visible,
4962 call clear_glyph_matrix and bypass `goto done'.
4963
4964 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
4965 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
4966
4967 2002-09-10 Richard M. Stallman <rms@gnu.org>
4968
4969 * fileio.c (Fdo_auto_save): Catch error making directory.
4970 Only call push_message if we need to.
4971 At the same time, make an unwind-protect to pop it.
4972 Rename local message_p to old_message_p.
4973 (do_auto_save_make_dir, do_auto_save_eh): New functions.
4974 (do_auto_save_unwind): Don't call pop_message.
4975
4976 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
4977
4978 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
4979
4980 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
4981
4982 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
4983
4984 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
4985
4986 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
4987 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
4988 (re_match_2_internal): Be more careful with infinite loops.
4989
4990 2002-09-10 Kim F. Storm <storm@cua.dk>
4991
4992 * macros.c (end_kbd_macro): New function.
4993 (Fend_kbd_macro): Use it.
4994
4995 * macros.h (end_kbd_macro): Declare extern.
4996
4997 * keyboard.c (Fdiscard_input): If defining keyboard macro,
4998 end and save it instead of discarding it.
4999
5000 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
5001
5002 * s/sol2-6.h: Fix typo. Add comment.
5003
5004 2002-09-09 Richard M. Stallman <rms@gnu.org>
5005
5006 * regex.c (regnum_t): Use signed int, not unsigned int.
5007
5008 * s/sol2-6.h: New file.
5009
5010 * s/sol2-5.h (UNEXEC): Definition deleted.
5011
5012 2002-09-08 Kim F. Storm <storm@cua.dk>
5013
5014 * macros.c (executing_macro_index): Change type to EMACS_INT.
5015 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
5016
5017 * macros.h (executing_macro_index): Change type to EMACS_INT.
5018
5019 2002-09-06 Richard M. Stallman <rms@gnu.org>
5020
5021 * casetab.c (set_case_table): Make canon table point to eqv table.
5022
5023 2002-09-06 Juanma Barranquero <lektu@terra.es>
5024
5025 * coding.c (syms_of_coding): Fix spacing.
5026
5027 * composite.c (Fcompose_region_internal)
5028 (Fcompose_string_internal): Likewise.
5029
5030 * data.c (Flsh): Likewise.
5031
5032 * fontset.c (Fset_fontset_font): Likewise.
5033
5034 * macfns.c (Fx_server_max_request_size): Likewise.
5035
5036 * w16select.c (syms_of_win16select): Likewise.
5037
5038 * w32select.c (syms_of_w32select): Likewise.
5039
5040 * xselect.c (syms_of_xselect): Likewise.
5041
5042 2002-09-05 Richard M. Stallman <rms@gnu.org>
5043
5044 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
5045 call EXTEND_RANGE_TABLE and return a proper value.
5046 (set_image_of_range): Don't call set_image_of_range_1
5047 if no TRANSLATE or if range includes all of Latin-1.
5048 Only call it for the Latin-1 part of the range.
5049 For other cases, make two separate ranges,
5050 one for the original specified characters and one for
5051 their case-conversions.
5052
5053 2002-09-04 Richard M. Stallman <rms@gnu.org>
5054
5055 * s/sol2-5.h (UNEXEC): Use unexsol.o.
5056
5057 * window.c (displayed_window_lines): Correct for one-off bug
5058 in HEIGHT on non-window displays.
5059
5060 * regex.c (set_image_of_range_1): New function.
5061 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
5062 Return a value to indicate running out of memory.
5063 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
5064 (extend_range_table_work_area): New subroutine.
5065 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
5066 Different calling conventions, and used from set_image_of_range{,_1}.
5067 (IMMEDIATE_QUIT_CHECK): Definitions moved.
5068
5069 2002-09-04 Juanma Barranquero <lektu@terra.es>
5070
5071 * makefile.w32-in: All dependencies updated.
5072
5073 2002-09-01 Richard M. Stallman <rms@gnu.org>
5074
5075 * unexsol.c: New file.
5076
5077 * xfns.c (Qbox): Declare external, don't define.
5078
5079 * xdisp.c (redisplay_window) <force-start case>:
5080 If point is on semi-visible last line, reposition
5081 it at previous line.
5082
5083 * alloc.c (display_malloc_warning): Use display-warning.
5084 (malloc_warning_1): Function deleted.
5085
5086 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
5087
5088 * lread.c (read1): Handle #! by skipping the line.
5089
5090 2002-08-31 Richard M. Stallman <rms@gnu.org>
5091
5092 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
5093 Don't include LDFLAGS.
5094 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
5095
5096 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
5097
5098 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
5099 member of x_display_info unless we compile for some window system.
5100
5101 2002-08-31 Kim F. Storm <storm@cua.dk>
5102
5103 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
5104 (get_window_cursor_type): Don't use them.
5105 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
5106
5107 2002-08-30 Kenichi Handa <handa@etl.go.jp>
5108
5109 * xdisp.c (get_next_display_element): Fix previous change.
5110
5111 2002-08-30 Andrew Choi <akochoi@shaw.ca>
5112
5113 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
5114 (expose_window): Use it to fix the display of overlapping
5115 rows (merge code from xterm.c).
5116
5117 * macfns.c (Qbox): Add extern declaration.
5118
5119 2002-08-30 Juanma Barranquero <lektu@terra.es>
5120
5121 * w32fns.c (Qbox): Make extern.
5122 (syms_of_w32fns): Remove initialization of Qbox.
5123
5124 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
5125
5126 * xfns.c (Fx_open_connection): Fix error message.
5127
5128 2002-08-30 Kim F. Storm <storm@cua.dk>
5129
5130 The following changes consolidates the handling of the cursor
5131 type in xdisp.c, moving duplicate code and functionality from
5132 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
5133
5134 * frame.h (enum text_cursor_kinds): Consolidated here.
5135 Added DEFAULT_CURSOR value.
5136 (struct frame) <desired_cursor, cursor_width>
5137 <blink_off_cursor, blink_off_cursor_width>: New fields.
5138 Consolidated from output_x, output_w32 and output_mac structs.
5139 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
5140 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
5141
5142 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
5143 Variables consolidated here.
5144 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
5145 (Vcursor_in_non_selected_windows): Renamed from
5146 cursor_in_non_selected_windows and changed to Lisp_Object.
5147 (syms_of_xdisp): Define and staticpro new and moved variables.
5148 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
5149 consolidated here. Recognize Qhollow setting.
5150 (set_frame_cursor_types): New function to set frame cursor types
5151 based on the frame parameters.
5152 (get_window_cursor_type): New function to calculate new cursor
5153 type and width for the specified window. Based on duplicated
5154 code consolidated here.
5155 Enhancements: cursor-in-non-selected-windows may be a cursor type,
5156 check buffer-local alternate-cursor-type and blink-cursor-alist
5157 before using built-in blink off methods.
5158
5159 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
5160
5161 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
5162 (get_specified_cursor_type, get_window_cursor_type)
5163 (set_frame_cursor_types): Added prototypes.
5164
5165 * macfns.c (x_specified_cursor_type): Removed.
5166 (x_set_cursor_type): Use set_frame_cursor_types.
5167 (Qbar, Qbox): Removed.
5168 (syms_of_macfns): Don't intern or staticpro them.
5169
5170 * macterm.c (x_specified_cursor_type): Remove prototype.
5171 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
5172 (x_display_and_set_cursor): Use get_window_cursor_type.
5173 Remove unused local variables cursor_non_selected, active_cursor.
5174 Redraw cursor if hbar cursor width changes.
5175 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
5176
5177 * macterm.h (enum text_cursor_kinds): Removed.
5178 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
5179 <blink_off_cursor, blink_off_cursor_width>: Members removed.
5180 (FRAME_DESIRED_CURSOR): Macro removed.
5181
5182 * w32fns.c (Vblink_cursor_alist): Removed.
5183 (Qbar, Qhbar, Qbox, Qhollow): Removed.
5184 (syms_of_w32fns): Don't intern, staticpro, or define them.
5185 (x_specified_cursor_type): Removed.
5186 (x_set_cursor_type): Use set_frame_cursor_types.
5187
5188 * w32term.c (x_specified_cursor_type): Remove prototype.
5189 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
5190 (x_display_and_set_cursor): Use get_window_cursor_type.
5191 Remove unused local variables cursor_off_state.
5192 Redraw cursor if hbar cursor width changes.
5193 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
5194
5195 * w32term.h (enum text_cursor_kinds): Removed.
5196 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
5197 <blink_off_cursor, blink_off_cursor_width>: Members removed.
5198 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
5199 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
5200 (struct w32_display_info) <x_highlight_frame>: Renamed member from
5201 w32_highlight_frame.
5202
5203 * xfns.c (Vblink_cursor_alist): Removed.
5204 (Qbar, Qhbar, Qbox, Qhollow): Removed.
5205 (syms_of_xfns): Don't intern, staticpro, or define them.
5206 (x_specified_cursor_type): Removed.
5207 (x_set_cursor_type): Use set_frame_cursor_types.
5208
5209 * xterm.c (x_specified_cursor_type): Remove prototype.
5210 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
5211 (x_display_and_set_cursor): Use get_window_cursor_type.
5212 Remove unused local variables cursor_off_state.
5213 Redraw cursor if hbar cursor width changes.
5214
5215 * xterm.h (enum text_cursor_kinds): Removed.
5216 (struct output_x) <current_cursor, desired_cursor, cursor_width>
5217 <blink_off_cursor, blink_off_cursor_width>: Members removed.
5218 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
5219 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
5220 (x_specified_cursor_type): Remove prototype.
5221
5222 2002-08-28 Richard M. Stallman <rms@gnu.org>
5223
5224 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
5225 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
5226 (Vblink_cursor_alist): New variable.
5227 (syms_of_w32fns): Initialize and defvar it.
5228 (x_specified_cursor_type): Recognize Qbox for filled box.
5229 Exceptions are hollow boxes.
5230 (Qbox, Qhollow): New variables.
5231 (syms_of_w32fns): Initialize and staticpro them.
5232
5233 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
5234 New macros.
5235 (struct w32_output): New fields blink_off_cursor,
5236 blink_off_cursor_width.
5237 (FRAME_CURSOR_WIDTH): New macro.
5238
5239 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
5240 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
5241
5242 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
5243 for bar cursor.
5244
5245 * w32term.c (expose_overlaps): New function.
5246 (expose_window): Use it to fix the display of overlapping rows.
5247
5248 2002-08-28 Simon Josefsson <jas@extundo.com>
5249
5250 * xfns.c (Fx_open_connection): Improve help when X connection
5251 fails, xhost is insecure and xauth is better.
5252
5253 2002-08-28 Juanma Barranquero <lektu@terra.es>
5254
5255 * makefile.w32-in: Add missing dependencies on w32term.h and
5256 composite.h.
5257
5258 * emacs.c (USAGE1): Add missing newline.
5259
5260 2002-08-27 Andrew Choi <akochoi@shaw.ca>
5261
5262 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
5263
5264 2002-08-27 Richard M. Stallman <rms@gnu.org>
5265
5266 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
5267 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
5268 (Vblink_cursor_alist): New variable.
5269 (syms_of_xfns): Initialize and defvar it.
5270 (x_specified_cursor_type): Recognize Qbox for filled box.
5271 Exceptions are hollow boxes.
5272 (Qbox, Qhollow): New variables.
5273 (syms_of_xfns): Initialize and staticpro them.
5274
5275 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
5276 New macros.
5277 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
5278
5279 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
5280 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
5281
5282 * emacs.c (main): Handle --script.
5283 (USAGE1): Mention --script.
5284 (standard_args): Define sort order for --script.
5285
5286 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
5287
5288 * xdisp.c (redisplay_updating_p): Variable removed.
5289 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
5290 New variables.
5291 (init_iterator): Don't free realized faces if
5292 inhibit_free_realized_faces is set.
5293 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
5294 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
5295 initialize Qinhibit_free_realized_faces.
5296
5297 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
5298 when iterator is adding glyphs to a glyph matrix.
5299
5300 2002-08-27 Kenichi Handa <handa@etl.go.jp>
5301
5302 * xdisp.c (get_next_display_element): In unibyte case, don't use
5303 octal form for such eight-bit characters that can be converted to
5304 multibyte char.
5305
5306 2002-08-26 Kim F. Storm <storm@cua.dk>
5307
5308 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
5309 and background colors. From Joe Buehler (tiny change).
5310
5311 2002-08-26 Miles Bader <miles@gnu.org>
5312
5313 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
5314
5315 2002-08-25 Andrew Choi <akochoi@shaw.ca>
5316
5317 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
5318 defined instead of MAC_OSX.
5319
5320 * s/darwin.h (select): Define select to sys_select only if
5321 HAVE_CARBON is defined.
5322 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
5323 (DONT_REOPEN_PTY): #def it.
5324
5325 * macterm.c (XTread_socket): Remove code to call
5326 SendEventToEventTarget for keys with command modifiers when
5327 mac_command_key_is_meta is nil.
5328
5329 2002-08-24 Andreas Schwab <schwab@suse.de>
5330
5331 * eval.c (Fdefvar): Fix last change.
5332
5333 2002-08-23 Richard M. Stallman <rms@gnu.org>
5334
5335 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
5336 Record variables in load history as (defvar . VAR).
5337 (Fdefvar): Don't record in load history if no initial value.
5338 (Qdefvar): New variable.
5339 (syms_of_eval): Init and staticpro it.
5340
5341 * lread.c (syms_of_lread): Doc fix.
5342 (build_load_history): Use Fmember to see if a definition
5343 is already in the Vload_history element.
5344
5345 * process.c (Fstart_process): Remove /: from program name.
5346
5347 * emacs.c (decode_env_path): Don't add /: if file name handler
5348 has a `safe-magic' property.
5349
5350 * callproc.c (Fcall_process): Remove /: from program name.
5351
5352 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
5353
5354 * regex.c (PATFETCH): Remove the translating fetch.
5355 (PATFETCH_RAW): Rename to PATFETCH.
5356 (set_image_of_range): New fun.
5357 (SET_RANGE_TABLE_WORK_AREA): Use it.
5358 (regex_compile): Don't translate the pattern chars so eagerly.
5359 Only do it when inserting an `exactn' bytecode or when handling
5360 a char-range.
5361 (mutually_exclusive_p): Avoid empty statement.
5362
5363 2002-08-22 Kim F. Storm <storm@cua.dk>
5364
5365 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
5366 end up on a partially visible line; this reverts a specific part
5367 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
5368 display error which has been reported several times now.
5369 However it introduces the problem that changes was supposed to fix.
5370 See my comments in the source if you want to debug this further.
5371
5372 2002-08-20 Kenichi Handa <handa@etl.go.jp>
5373
5374 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
5375
5376 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
5377
5378 * msdos.c (croak): Add `void' to definition.
5379
5380 * sysdep.c [MSDOS] (request_sigio, unrequest_sigio):
5381 Don't define them, they are defined in msdos.c.
5382
5383 * mem-limits.h [MSDOS]: Declare etext.
5384
5385 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
5386 `const' since CORRECT_DIR_SEPS modifies its target.
5387
5388 2002-08-19 Kim F. Storm <storm@cua.dk>
5389
5390 * keyboard.c (Fclear_this_command_keys): Added optional arg
5391 KEEP-RECORD to avoid clearing lossage when we just want to clear
5392 the current key sequence (kmacro needs this).
5393
5394 2002-08-19 Kenichi Handa <handa@localhost>
5395
5396 * composite.c (run_composition_function): Call FUNC if it is fboundp.
5397
5398 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
5399 cons, return Qnil.
5400
5401 2002-08-17 Richard M. Stallman <rms@gnu.org>
5402
5403 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
5404
5405 * sysdep.c [!VMS]: Include sys/files.h.
5406
5407 * editfns.c (save_restriction_restore): Defend from unchained marker.
5408
5409 * buffer.c (overlays_at): Handle extending vec uniformly.
5410 (overlays_in): Handle extending vec from length 0 as in overlays_at.
5411
5412 2002-08-15 Andrew Choi <akochoi@shaw.ca>
5413
5414 * mac.c (init_mac_osx_environment): New function.
5415
5416 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
5417
5418 2002-08-14 Kim F. Storm <storm@cua.dk>
5419
5420 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
5421 executing macro before appending to it (when used from Lisp).
5422 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
5423 which is called prior to each iteration of macro (for kmacro.el).
5424 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
5425
5426 * lisp.h (Fexecute_kbd_macro): Update prototype.
5427
5428 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
5429
5430 2002-08-14 Kenichi Handa <handa@etl.go.jp>
5431
5432 * xselect.c (QUTF8_STRING): New variable.
5433 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
5434 (x_atom_to_symbol): Likewise.
5435 (x_get_local_selection): New argument local_request. If it is
5436 nonzero, call handler_fn with the second arg nil.
5437 (x_handle_selection_request): Call x_get_local_selection with
5438 local_request 0.
5439 (lisp_data_to_selection_data): Don't encode the string here.
5440 (Fx_get_selection_internal): Call x_get_local_selection with
5441 local_request 1.
5442 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
5443
5444 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
5445
5446 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
5447
5448 2002-08-13 Richard M. Stallman <rms@gnu.org>
5449
5450 * minibuf.c (Fminibufferp): New function.
5451 (syms_of_minibuf): Defsubr it.
5452 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
5453
5454 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
5455
5456 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
5457
5458 2002-08-12 Richard M. Stallman <rms@gnu.org>
5459
5460 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
5461 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
5462 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
5463 already.
5464
5465 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
5466
5467 2002-08-11 Andrew Choi <akochoi@shaw.ca>
5468
5469 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
5470 (Vmac_pass_command_to_system): New variable.
5471 (Vmac_pass_control_to_system): New variable.
5472 (do_mouse_moved): Check wp with is_emacs_window.
5473 (XTread_socket): Check window_ptr with is_emacs_window.
5474 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
5475 events back to Mac Toolbox for processing, depending on values of
5476 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
5477 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
5478 Vmac_pass_control_to_system.
5479
5480 2002-08-10 Kenichi Handa <handa@etl.go.jp>
5481
5482 * coding.c (unencodable_char_position): New function.
5483 (Funencodable_char_position): New function.
5484 (syms_of_coding): Defsubr Funencodable_char_position.
5485
5486 2002-08-10 Andrew Choi <akochoi@shaw.ca>
5487
5488 * mac.c (sys_select) [MAC_OSX]: New function.
5489
5490 * macterm.c (MakeMeTheFrontProcess): New function.
5491 (mac_initialize): Call MakeMeTheFrontProcess.
5492
5493 * s/darwin.h: Define select to sys_select.
5494
5495 2002-08-09 Richard M. Stallman <rms@gnu.org>
5496
5497 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
5498
5499 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
5500
5501 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
5502 end of the buffer.
5503
5504 2002-08-08 Ken Raeburn <raeburn@mit.edu>
5505
5506 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
5507
5508 * puresize.h (BASE_PURESIZE): Increase to 910000.
5509
5510 2002-08-08 Kenichi Handa <handa@etl.go.jp>
5511
5512 * coding.c (Ffind_operation_coding_system): For write-region, if
5513 VISIT is a filename, make it the target.
5514
5515 2002-08-07 Richard M. Stallman <rms@gnu.org>
5516
5517 * alloc.c (mark_object): Detect long lists for debugging.
5518 (mark_object_loop_halt): New variable.
5519
5520 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
5521
5522 * data.c (Fmake_variable_frame_local): Doc fix.
5523
5524 2002-08-01 David Ponce <david@dponce.com>
5525
5526 * w32menu.c (local_heap, local_alloc, local_free): New macros.
5527 (malloc_widget_value, free_widget_value)
5528 (w32_free_submenu_strings): Use them.
5529
5530 (push_submenu_start, push_submenu_end, push_left_right_boundary)
5531 (push_menu_pane, push_menu_item, single_keymap_panes)
5532 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
5533 (single_submenu, set_frame_menubar)
5534 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
5535
5536 (Fx_popup_menu): Don't show pop up menu until preceding one is
5537 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
5538
5539 * w32menu.c: Changes adapted from xmenu.c
5540 (set_frame_menubar): First parse all submenus,
5541 then make widget_value trees from them.
5542 Don't allocate any widget_value objects
5543 until we are done with the parsing.
5544 (parse_single_submenu): New function.
5545 (digest_single_submenu): New function.
5546 (single_submenu): Function deleted, replaced by those two.
5547
5548 2002-08-04 Andrew Choi <akochoi@shaw.ca>
5549
5550 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
5551 returns a valid window pointer before proceeding for keyDown and
5552 autoKey events.
5553
5554 2002-08-03 Andrew Choi <akochoi@shaw.ca>
5555
5556 * macterm.c (USE_CARBON_EVENTS): New macro.
5557 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
5558 (x_iconify_frame): Call CollapseWindow.
5559 (Vmac_reverse_ctrl_meta): New variable.
5560 (Vmac_wheel_button_is_mouse_2): New variable.
5561 (init_mac_drag_n_drop): New function.
5562 (mac_do_receive_drag): New function.
5563 (mac_handle_service_event): New function.
5564 (init_service_handler): New function.
5565 (mac_to_emacs_modifiers): New function.
5566 (mac_event_to_emacs_modifiers): New function.
5567 (mac_get_mouse_btn): New function.
5568 (mac_convert_event_ref): New function.
5569 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
5570 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
5571 mac_get_mouse_btn.
5572 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
5573
5574 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
5575 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
5576 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
5577 TOOL_BAR_EVENT for MAC_OS as well.
5578 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
5579 as for WINDOWS_NT.
5580 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
5581
5582 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
5583
5584 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
5585
5586 * xdisp.c (forward_to_next_line_start): Fix a condition that
5587 lead to a newline being skipped.
5588
5589 2002-08-02 Andrew Choi <akochoi@shaw.ca>
5590
5591 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
5592
5593 2002-08-01 Richard M. Stallman <rms@gnu.org>
5594
5595 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
5596
5597 2002-07-31 Andrew Choi <akochoi@shaw.ca>
5598
5599 * macfns.c: #undef init_process before #define-ing it.
5600
5601 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
5602 HAVE_CARBON is defined.
5603
5604 2002-07-31 Richard M. Stallman <rms@gnu.org>
5605
5606 * xmenu.c (set_frame_menubar): First parse all submenus,
5607 then make widget_value trees from them.
5608 Don't allocate any widget_value objects
5609 until we are done with the parsing.
5610 (parse_single_submenu): New function.
5611 (digest_single_submenu): New function.
5612 (single_submenu): Function deleted, replaced by those two.
5613
5614 2002-07-30 Juanma Barranquero <lektu@terra.es>
5615
5616 * w32proc.c (syms_of_ntproc): Fix docstring of
5617 `w32-get-true-file-attributes'.
5618
5619 2002-07-28 Richard M. Stallman <rms@gnu.org>
5620
5621 * s/hpux8.h (HPUX8): Define this before including hpux.h.
5622 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
5623
5624 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
5625
5626 * keyboard.c (make_lispy_event):
5627 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
5628 Explicitly clear up_modifier in event->modifiers.
5629
5630 2002-07-27 Richard M. Stallman <rms@gnu.org>
5631
5632 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
5633
5634 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
5635 for bar cursor.
5636
5637 2002-07-26 Kenichi Handa <handa@etl.go.jp>
5638
5639 * coding.c (detect_coding_iso2022): While checking a byte sequence
5640 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
5641 it in the normal loop.
5642
5643 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
5644
5645 * xterm.c (expose_overlaps): New function.
5646 (expose_window): Use it to fix the display of overlapping rows.
5647
5648 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
5649
5650 2002-07-23 Ken Raeburn <raeburn@gnu.org>
5651
5652 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
5653 since it only depends on XUINT.
5654
5655 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
5656 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
5657 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
5658 Macros deleted.
5659
5660 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
5661 its value over other approaches.
5662 * sysdep.c (start_of_data): Don't define the function if a macro
5663 form has been defined.
5664
5665 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
5666
5667 * xdisp.c (redisplay_updating_p): New variable.
5668 (init_iterator): Don't free realized faces when
5669 redisplay_updating_p is set.
5670 (redisplay_internal): Set redisplay_updating_p while updating
5671 the display.
5672
5673 2002-07-23 Richard M. Stallman <rms@gnu.org>
5674
5675 * editfns.c (Fmessage): Treat "" like nil.
5676
5677 2002-07-23 Kenichi Handa <handa@etl.go.jp>
5678
5679 * xdisp.c (face_before_or_after_it_pos):
5680 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
5681
5682 2002-07-22 Juanma Barranquero <lektu@terra.es>
5683
5684 * callproc.c (init_callproc) [DOS_NT]:
5685 Initialize Vshared_game_score_directory to nil.
5686 (syms_of_callproc) [DOS_NT]: Likewise.
5687
5688 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
5689
5690 * xdisp.c (display_line): Replace an abort with xassert.
5691
5692 2002-07-21 Richard M. Stallman <rms@gnu.org>
5693
5694 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
5695 and END_UNCHANGED when setting buffer_unchanged_p.
5696 Use current_matrix_up_to_date_p to decide whether to use
5697 try_cursor_movement.
5698
5699 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
5700
5701 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
5702
5703 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
5704 Set to nil if dir does not exist.
5705 (syms_of_callproc): Init unconditionally and simply.
5706
5707 * buffer.c (Fbuffer_list): Doc fix.
5708
5709 2002-07-21 Ken Raeburn <raeburn@gnu.org>
5710
5711 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
5712
5713 * buffer.c (mmap_realloc): When shrinking, make sure number of
5714 pages to unmap is rounded towards zero.
5715
5716 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
5717 (XSETINT): Deleted.
5718
5719 * m/att3b.h (XINT): Don't define.
5720 (VALBITS, VALMASK, XTYPE): Deleted.
5721 (DATA_SEG_BITS): Define.
5722 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
5723 ARRAY_MARK_FLAG): Deleted.
5724 (DATA_SEG_BITS): Define.
5725 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
5726 (DATA_SEG_BITS): Define.
5727
5728 2002-07-20 Richard M. Stallman <rms@gnu.org>
5729
5730 * print.c (print_error_message): New args CONTEXT and CALLER.
5731 Calls changed.
5732
5733 * lisp.h (print_error_message): Declare new args.
5734
5735 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
5736 and CONTEXT to print_error_message, don't print them here.
5737 For a Quit, don't use Vsignaling_function.
5738 Call message_log_maybe_newline.
5739
5740 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
5741
5742 2002-07-20 Kim F. Storm <storm@cua.dk>
5743
5744 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
5745
5746 2002-07-19 Ken Raeburn <raeburn@gnu.org>
5747
5748 * bytecode.c (struct byte_stack): Pointers into byte string now
5749 point to const.
5750 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
5751 const.
5752 * charset.h (BCOPY_SHORT): Source pointer now points to const.
5753 * coding.c (encode_eol, detect_coding, detect_eol):
5754 (decode_coding, encode_coding, detect_coding_system):
5755 Source strings now treated as const.
5756 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
5757 modify Lisp string contents.
5758 * coding.h (decode_coding, encode_coding, detect_coding,
5759 detect_eol): Declarations updated.
5760 * composite.c (compose_chars_in_text): Treat Lisp string contents
5761 as const.
5762 * dispnew.c (safe_bcopy): Source pointer now points to const.
5763 * lisp.h (STRING_COPYIN): New macro.
5764 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
5765 (internal_with_output_to_temp_buffer): Declarations updated.
5766 * print.c (temp_output_buffer_setup):
5767 (internal_with_output_to_temp_buffer): Buffer name argument is now
5768 pointer to const.
5769 * sound.c (struct sound_device): Function pointer field "write"
5770 buffer argument now points to const.
5771 (vox_write): Buffer argument points to const.
5772 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
5773 contents as const.
5774 * sysdep.c (emacs_write): Buffer pointer now const.
5775 * term.c (encode_terminal_code): Buffer pointer now const.
5776 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
5777 (x_face_list_fonts, x_update_menu_appearance):
5778 (hash_string_case_insensitive): Treat Lisp string contents as const.
5779
5780 2002-07-19 Juanma Barranquero <lektu@terra.es>
5781
5782 * fileio.c (Ffile_name_as_directory): Fix argument name in docstring.
5783 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
5784
5785 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
5786
5787 * fileio.c (syms_of_fileio): Likewise.
5788
5789 2002-07-18 Richard M. Stallman <rms@gnu.org>
5790
5791 * data.c (Fdefalias): Doc fix.
5792
5793 2002-07-17 Dave Love <fx@gnu.org>
5794
5795 * intervals.h (text_property_stickiness): Use P_.
5796
5797 * ccl.c: Remove `emacs' conditionals.
5798 (ccl_backtrace_table): Fix size spec.
5799 (ccl_driver): Fix type errors.
5800
5801 2002-07-16 Ken Raeburn <raeburn@gnu.org>
5802
5803 * alloc.c (xstrdup, make_string, make_unibyte_string)
5804 (make_multibyte_string, build_string): String pointer args now
5805 point to const.
5806 * charset.c (find_charset_in_text, c_string_width):
5807 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
5808 * fileio.c (report_file_error):
5809 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
5810 (count_combining_before, count_combining_after, insert_1_both):
5811 (insert, insert_and_inherit, insert_string):
5812 (insert_before_markers, insert_before_markers_and_inherit):
5813 * lread.c (intern, oblookup, hash_string):
5814 * minibuf.c (temp_echo_area_glyphs):
5815 * search.c (fast_c_string_match_ignore_case):
5816 * sysdep.c (emacs_open, set_file_times):
5817 * xfaces.c (xstricmp):
5818 * xdisp.c (store_frame_title, string_char_and_length):
5819 (message_dolog, message2, message2_nolog, set_message): Likewise.
5820 (set_message_1): Cast message string argument to const pointer.
5821 * editfns.c (general_insert_function): Insertion function now
5822 takes pointer to const for input data.
5823 * charset.h (find_charset_in_text, c_string_width):
5824 (parse_str_as_multibyte): Declarations updated.
5825 * dispextern.h (xstricmp): Declaration updated.
5826 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
5827 (count_size_as_multibyte, count_combining_before):
5828 (count_combining_after, insert_1, insert_1_both, message_dolog):
5829 (insert, insert_and_inherit, insert_before_markers)
5830 (insert_before_markers_and_inherit, set_message, message2):
5831 (message2_dolog, build_string, make_string, make_unibyte_string):
5832 (make_multibyte_string, intern, oblookup, report_file_error):
5833 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
5834 (emacs_open, xstrdup): Declarations updated.
5835 * systime.h (set_file_times): Declaration updated.
5836
5837 * charset.c (find_charset_in_text, lisp_string_width): Use const
5838 for pointer to lisp string data.
5839 * charset.h (FETCH_STRING_CHAR_ADVANCE):
5840 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
5841 * coding.c (Ffind_coding_systems_region_interval):
5842 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
5843 (Fmake_directory_internal, Fdelete_directory):
5844 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
5845 * fontset.c (font_family_registry, fs_query_fontset):
5846 (list_fontsets):
5847 * frame.c (Fframe_parameter):
5848 * keyboard.c (cmd_error_internal):
5849 * keymap.c (Fdescribe_buffer_bindings):
5850 * lread.c (complete_filename_p, openp):
5851 * minibuf.c (Fminibuffer_complete_word):
5852 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
5853 (face_before_or_after_it_pos, next_element_from_string):
5854 (get_overlay_arrow_glyph_row, display_mode_element):
5855 (decode_mode_spec_coding):
5856 * xterm.c (same_x_server): Likewise.
5857
5858 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
5859 settings of non-existent fields.
5860
5861 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
5862 copy a lisp value.
5863
5864 * lread.c (Fintern_soft): Use string macros instead of
5865 Lisp_String fields.
5866 * keyboard.c (echo_char, parse_modifiers_uncached):
5867 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
5868 * textprop.c (validate_interval_range, interval_of): Likewise.
5869
5870 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
5871
5872 * charset.h (FETCH_STRING_CHAR_ADVANCE)
5873 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
5874 XSTRING()->size_byte.
5875
5876 * lisp.h (SDATA, SREF): Produce rvalue.
5877 (SSET): New macro.
5878 * alloc.c (make_event_array): Use SSET for storing into a string.
5879 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
5880 a string.
5881 * casefiddle.c (casify_object): Use SSET.
5882 * charset.h (FETCH_STRING_CHAR_ADVANCE)
5883 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
5884 address of string contents.
5885 * data.c (Faref): Use SDATA.
5886 (Faset): Use SDATA, SSET.
5887 * dired.c (directory_files_internal): Use SSET.
5888 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
5889 (Fread_file_name): Use SREF, SSET.
5890 * fns.c (concat): Use SSET.
5891 (concat, Fdelete): Use SDATA.
5892 * insdel.c (insert_from_string_1): Use SDATA.
5893 * keyboard.c (Fevent_convert_list): Use SREF.
5894 * lread.c (Fload): Use SDATA, SSET.
5895 * macfns.c (validate_x_resource_name): Use SSET.
5896 * process.c (status_message): Use SSET.
5897 * search.c (wordify): Use SDATA.
5898 (Freplace_match): Use SREF.
5899 * w32fns.c (validate_x_resource_name): Use SSET.
5900 * xfns.c (validate_x_resource_name): Use SSET.
5901 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
5902
5903 2002-07-16 Richard M. Stallman <rms@gnu.org>
5904
5905 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
5906
5907 * xdisp.c (reconsider_clip_changes):
5908 Don't test prevent_redisplay_optimizations_p.
5909 (redisplay_internal): Test prevent_redisplay_optimizations_p
5910 along with clip_changed in some cases.
5911 (try_window_id): Likewise.
5912 (redisplay_window): New local var buffer_unchanged_p.
5913
5914 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
5915
5916 * process.c (create_process): Test USG_SUBTTY_WORKS.
5917 (process_send_signal): Clean up handling of GID.
5918 Detect errors in ioctls meant to set GID.
5919
5920 * window.c (temp_output_buffer_show):
5921 Don't set prevent_redisplay_optimizations_p.
5922
5923 2002-07-15 Juanma Barranquero <lektu@terra.es>
5924
5925 * eval.c (Fdefvaralias): Add docstring argument.
5926
5927 2002-07-15 Ken Raeburn <raeburn@gnu.org>
5928
5929 * lisp.h (STRING_INTERVALS): Produce rvalue.
5930 (STRING_SET_INTERVALS): New macro.
5931 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
5932 * fns.c (Fstring_as_multibyte): Likewise.
5933 * intervals.c (balance_possible_root_interval, delete_interval)
5934 (create_root_interval, copy_intervals_to_string): Likewise.
5935 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
5936 instead of 0.
5937
5938 2002-07-14 Ken Raeburn <raeburn@gnu.org>
5939
5940 * lisp.h (STRING_SET_CHARS): New macro.
5941 (SCHARS, SBYTES): Produce rvalues.
5942 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
5943 * fns.c (concat): Likewise.
5944 * lread.c (read_vector): Likewise.
5945
5946 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
5947 (STRING_SET_UNIBYTE): New macro.
5948 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
5949 length of -1) changed to use STRING_SET_UNIBYTE.
5950 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
5951 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
5952 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
5953 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
5954 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
5955 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
5956 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
5957 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
5958 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
5959 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
5960 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
5961 STRING_BYTES or indirection changed to SCHARS, SBYTES,
5962 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
5963 unchanged for now.
5964
5965 2002-07-13 Kim F. Storm <storm@cua.dk>
5966
5967 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
5968
5969 2002-07-12 Richard M. Stallman <rms@gnu.org>
5970
5971 * fileio.c (Fwrite_region): Doc fix.
5972
5973 * print.c (print_error_message): Don't handle Vsignaling_function here.
5974
5975 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
5976 (command_loop_1): Avoid certain actions after memory-full error.
5977
5978 * eval.c (Fsignal): Don't call cancel_hourglass.
5979 For a memory-full error, don't call Vsignal_hook_function
5980 and don't set Vsignaling_function.
5981
5982 * process.c (process_send_signal): Add abort call.
5983
5984 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
5985
5986 * keymap.c (Fkey_binding): Fix typo.
5987
5988 2002-07-11 Richard M. Stallman <rms@gnu.org>
5989
5990 * alloc.c (Vmemory_full): New variable.
5991 (Vmemory_signal_data): Renamed from memory_signal_data.
5992 Uses changed.
5993 (syms_of_alloc): Defvar them.
5994 (memory_full, buffer_memory_full): Set Vmemory_full.
5995
5996 * lisp.h (Vmemory_full): Add declaration.
5997 (current_column, indented_beyond_p): Change declaration.
5998
5999 * indent.c (last_known_column): Declare as double, not float.
6000 (current_column, current_column_1, string_display_width)
6001 (position_indentation): Return `double'.
6002 (indented_beyond_p): Arg `column' is `double'. Callers changed.
6003
6004 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
6005 (back_to_previous_visible_line_start)
6006 (reseat_at_next_visible_line_start, next_element_from_buffer):
6007 Use `double', not `float', when calling indented_beyond_p.
6008
6009 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
6010
6011 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
6012
6013 2002-07-11 Juanma Barranquero <lektu@terra.es>
6014
6015 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
6016 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
6017 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
6018 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
6019 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
6020 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
6021
6022 2002-07-10 Juanma Barranquero <lektu@terra.es>
6023
6024 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE. All callers
6025 changed.
6026
6027 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
6028
6029 * data.c (Fdefalias): Add an optional `docstring' argument.
6030 (set_internal, Fsetq_default): Use XCAR/XCDR.
6031
6032 * composite.c (HASH_VALUE, HASH_KEY):
6033 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
6034
6035 2002-07-09 Kenichi Handa <handa@etl.go.jp>
6036
6037 * callproc.c (Fcall_process): Fix previous change.
6038
6039 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
6040
6041 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
6042 Add support for hash-tables.
6043 (Ftry_completion): Return t even if the string appears multiple times.
6044
6045 * fns.c (Fnconc): Use XCDR.
6046 (Fprovide): Use CONSP and XCDR.
6047 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
6048 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
6049 (Fmake_hash_table): Accept `:size nil'.
6050 (Fmakehash): Delete: moved to subr.el.
6051 (syms_of_fns): Don't defsubr makehash.
6052
6053 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
6054 (HASH_TABLE_SIZE): Move from fns.c.
6055
6056 2002-07-07 Richard M. Stallman <rms@gnu.org>
6057
6058 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
6059 Instead just return 0 when there is something to be done.
6060 (try_scrolling): If make_cursor_line_fully_visible returns 0,
6061 retry scrolling as if cursor were off the bottom.
6062 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
6063 return CURSOR_MOVEMENT_MUST_SCROLL.
6064 (redisplay_window): If make_cursor_line_fully_visible returns 0,
6065 go to try_to_scroll.
6066
6067 * buffer.c (Fbuffer_local_value): Store current value into its binding
6068 so we get the up-to-date value for the binding that is loaded.
6069
6070 * eval.c (Fdefmacro): Doc fix.
6071
6072 2002-07-05 Dave Love <fx@gnu.org>
6073
6074 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
6075 correctly.
6076
6077 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
6078 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
6079 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
6080 CCL_LookupCharConstTbl.
6081 (syms_of_ccl): Defvar translation-hash-table-vector.
6082
6083 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6084
6085 * xdisp.c: Remove unused variable `face'.
6086
6087 2002-07-04 Juanma Barranquero <lektu@terra.es>
6088
6089 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
6090 obsolescence information.
6091
6092 2002-07-03 Andrew Choi <akochoi@shaw.ca>
6093
6094 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
6095 pattern. Search cache first.
6096 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
6097 for Japanese font.
6098 (XLoadQueryFont): Use it.
6099
6100 2002-07-02 Richard M. Stallman <rms@gnu.org>
6101
6102 * keymap.c (Fdefine_key): Doc fix.
6103
6104 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
6105
6106 2002-07-02 Juanma Barranquero <lektu@terra.es>
6107
6108 * keymap.c (syms_of_keymap): Fix typo.
6109
6110 2002-07-01 Andrew Choi <akochoi@shaw.ca>
6111
6112 * s/darwin.h: Define POSIX_SIGNALS.
6113
6114 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
6115 and FSRefMakePath to convert FSSpec returned with Apple Event to
6116 Posix pathname.
6117 (mac_initialize) [TARGET_API_MAC_CARBON]:
6118 Call init_required_apple_events and disable the `Quit' menu item
6119 provided automatically by the Carbon Toolbox.
6120
6121 2002-07-01 Dave Love <fx@gnu.org>
6122
6123 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
6124 for K&R.
6125
6126 * xterm.c: Fix prototype for K&R.
6127
6128 * term.c (costs_set): Declare static, non-initialized for pcc.
6129
6130 2002-07-01 Richard M. Stallman <rms@gnu.org>
6131
6132 * keyboard.c (timer_last_idleness_start_time): New variable.
6133 (timer_start_idle): Set that.
6134 (read_key_sequence): Use that to reset timer_idleness_start_time
6135 to previous value.
6136
6137 * window.c (Frecenter): With arg, set optional_new_start.
6138
6139 * xdisp.c (redisplay_internal): Make optional_new_start really work.
6140
6141 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
6142 buffer for completion.
6143
6144 2002-06-29 Ken Raeburn <raeburn@gnu.org>
6145
6146 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
6147
6148 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6149
6150 * keyboard.c (readable_filtered_events): New function that filters
6151 FOCUS_IN_EVENT depending on parameter.
6152 (readable_events): Calls readable_filtered_events, not filtering
6153 FOCUS_IN_EVENT.
6154 (get_filtered_input_pending): New function, filtering parameter passed
6155 to readable_filtered_events.
6156 (get_input_pending): Calls get_filtered_input_pending, not filtering
6157 FOCUS_IN_EVENT.
6158 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
6159 FOCUS_IN_EVENT.
6160
6161 * xterm.h (struct x_output): Add focus_state.
6162
6163 * xterm.c (x_focus_changed): New function.
6164 (x_detect_focus_change): New function.
6165 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
6166 EnterNotify and LeaveNotify to track X focus changes.
6167
6168 2002-06-28 Andreas Schwab <schwab@suse.de>
6169
6170 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
6171
6172 2002-06-27 Kim F. Storm <storm@cua.dk>
6173
6174 * xdisp.c: (mode_line_string_list, mode_line_string_face)
6175 (mode_line_string_face_prop): New variables.
6176 (store_mode_line_string): New function.
6177 (display_mode_element): Use store_mode_line_string to
6178 add mode-line string elements to mode_line_string_list
6179 when mode_line_string_list is non-nil.
6180 (Fformat_mode_line): Now returns propertized string by
6181 default. New arg NO-PROPS to ignore properties.
6182 (decode_mode_spec): Only add two dashes for %- in propertized
6183 mode-line string.
6184 (syms_of_xdisp): Init and staticpro mode_line_string_list.
6185
6186 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
6187
6188 * minibuf.c (minibuffer_completion_contents): Add return type.
6189
6190 2002-06-27 Juanma Barranquero <lektu@terra.es>
6191
6192 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
6193
6194 2002-06-26 Juanma Barranquero <lektu@terra.es>
6195
6196 * fileio.c (read_file_name_cleanup): Add missing return.
6197
6198 2002-06-26 Richard M. Stallman <rms@gnu.org>
6199
6200 * window.c (Frecenter): Don't set force_start flag.
6201
6202 * minibuf.c (do_completion, Fminibuffer_complete_word)
6203 (Fminibuffer_completion_help): Complete just the text before point.
6204 (minibuffer_completion_contents): New function.
6205
6206 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
6207
6208 * frame.c (frames_bury_buffer): Function deleted.
6209
6210 2002-06-25 Miles Bader <miles@gnu.org>
6211
6212 * callint.c (Fcall_interactively): When checking to see if doprnt hit
6213 the end of callint_message, allow for a terminating '\0'.
6214
6215 2002-06-24 Juanma Barranquero <lektu@terra.es>
6216
6217 * w32select.c: Include composite.h
6218
6219 * w16select.c: Likewise.
6220
6221 2002-06-24 Kenichi Handa <handa@etl.go.jp>
6222
6223 * callproc.c (Fcall_process): If code detection is necessary,
6224 call detect_coding directly here.
6225
6226 * coding.c (detect_eol): Preserve coding->cmp_data.
6227
6228 * w16select.c (Fw16_get_clipboard_data):
6229 * w32fns.c (w32_to_x_font):
6230 * w32select.c (Fw32_get_clipboard_data):
6231 * xselect.c (selection_data_to_lisp_data):
6232 * xterm.c (XTread_socket): Disable composition handling.
6233
6234 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
6235
6236 * print.c (temp_output_buffer_setup): Kill all local variables.
6237
6238 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
6239
6240 * lread.c (Fread): Remove redundant and imprecise declaration.
6241
6242 * xfns.c (check_x_display_info): Use check_x_frame.
6243
6244 * .gdbinit (xprintsym): Use the new `xname' field.
6245 (xsymbol): Use it.
6246
6247 2002-06-22 Jason Rumney <jasonr@gnu.org>
6248
6249 * w32fns.c (file_dialog_callback): New function.
6250 (Fx_file_dialog): Allow selecting directories as well as files.
6251
6252 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6253
6254 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
6255 OpenBSD. Add support for mipseb-*-netbsd* machines.
6256
6257 2002-06-17 Andrew Choi <akochoi@shaw.ca>
6258
6259 * macterm.c (mac_scroll_area): Set foreground and backcolor to
6260 black and white before scrolling. Restore frame background and
6261 foreground color after scrolling.
6262 (do_window_update): Call XClearWindow before calling expose_frame.
6263 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
6264 FRAME_FOREGROUND_PIXEL of frame.
6265
6266 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
6267 test Mac command key as <ALT> key.
6268
6269 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
6270
6271 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
6272
6273 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
6274 Lookup keys in function-key-map immediately so that key-translation-map
6275 can be applied earlier.
6276 Remove function_key_possible and key_translation_possible, replaced
6277 by checking `keytran_start < t'.
6278
6279 * .gdbinit (xsymbol): Use the new `xname' field.
6280
6281 2002-06-17 Andrew Choi <akochoi@shaw.ca>
6282
6283 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
6284 test Mac command key as <ALT> key.
6285
6286 * mac.c (do_applescript): Call initialize_applescript if necessary
6287 when first called. Dispose of result_desc only when there is no error.
6288 (Fdo_applescript): Use %d format specifier instead of %ld.
6289
6290 2002-06-16 Andrew Choi <akochoi@shaw.ca>
6291
6292 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
6293 of FrontWindow for cases keyDown and autoKey.
6294
6295 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
6296 Vdefault_fontset to Monaco with mac-roman coding.
6297
6298 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
6299 init_process before and after inclusion of Carbon/Carbon.h, resp.
6300
6301 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
6302 cursor_gc.
6303 (add_font_name_table_entry): New function.
6304 (init_font_name_table): Use add_font_name_table_entry; add italic,
6305 bold, and bold-italic entries for truetype fonts.
6306
6307 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
6308 for Mac too.
6309 (try_font_list) [MAC_OS]: If no font matches given registry, try
6310 fonts with any registry matching face_family.
6311 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
6312
6313 * s/darwin.h: If autoconf detects the Ncurses library, define
6314 LIBS_TERMCAP to -lncurses to use it.
6315
6316 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
6317
6318 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
6319
6320 2002-06-15 Richard M. Stallman <rms@gnu.org>
6321
6322 * window.c (Fset_window_configuration): Explicitly preserve
6323 the point value that new_current_buffer had at the start.
6324
6325 2002-06-14 Juanma Barranquero <lektu@terra.es>
6326
6327 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
6328 Fix typos.
6329
6330 2002-06-14 Kim F. Storm <storm@cua.dk>
6331
6332 * insdel.c (insert_1_both, insert_from_string_1)
6333 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
6334 insert happened in the end_unchanged region. Otherwise, the
6335 redisplay may be confused and duplicate the last line in the
6336 buffer [seen after save-buffer when require-final-newline==t].
6337
6338 2002-06-13 Jason Rumney <jasonr@gnu.org>
6339
6340 * w32.c (init_environment): Remove EMACSLOCKDIR.
6341 (stat): Swap _S_IFDIR and _S_IFREG.
6342
6343 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6344
6345 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
6346 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
6347 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
6348 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
6349 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
6350 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
6351 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
6352 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
6353 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
6354 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
6355 SELECTION_REQUEST_EVENT, selection_clear_event to
6356 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
6357 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
6358 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
6359 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
6360 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
6361 no_event to NO_EVENT.
6362
6363 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6364
6365 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
6366
6367 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
6368
6369 * intervals.c (textget): Don't forget to `return'.
6370 (lookup_char_property): Use XCAR/XCDR.
6371
6372 2002-06-12 Juanma Barranquero <lektu@terra.es>
6373
6374 * xdisp.c (Fformat_mode_line): Fix typo.
6375
6376 2002-06-12 Kim F. Storm <storm@cua.dk>
6377
6378 * xdisp.c (Fformat_mode_line): New function.
6379 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
6380 (store_frame_title_char, store_frame_title): Use unconditionally.
6381 (init_xdisp): Defsubr Fformat_mode_line.
6382 Initialize frame_title_buf etc. unconditionally.
6383
6384 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
6385
6386 * keyboard.c (read_key_sequence):
6387 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
6388 things through those maps after downcasing events.
6389 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
6390 applies after function-key-map.
6391 Make sure that keytran can be done in the middle in the sequence.
6392 Be careful not to throw away events past the one we downcase.
6393
6394 * lread.c (read_integer): Remove unused var `tem'.
6395 (read1): Fix int/Lisp_Object mixup.
6396
6397 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
6398
6399 2002-06-11 Richard M. Stallman <rms@gnu.org>
6400
6401 * keyboard.c (readable_events): Ignore any number of
6402 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
6403
6404 2002-06-09 Miles Bader <miles@gnu.org>
6405
6406 * xfaces.c (Ftty_supports_face_attributes_p): New function.
6407 (parse_rgb_list, tty_lookup_color): New functions.
6408 (tty_defined_color): Use `tty_lookup_color' to do all the work.
6409 (color_distance, Fcolor_distance): New functions.
6410 (TTY_SAME_COLOR_THRESHOLD): New macro.
6411 (Qtty_color_standard_values): New variable.
6412 (syms_of_xfaces): Initialize new vars & functions.
6413
6414 2002-06-08 Colin Walters <walters@verbum.org>
6415
6416 * textprop.c (Vchar_property_alias_alist): New variable.
6417 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
6418
6419 * intervals.c (lookup_char_property): New function for looking up
6420 overlay and text properties, created from textget.
6421 (textget): Use it.
6422
6423 * intervals.h (lookup_char_property): Declare.
6424 (Vchar_property_alias_alist): Declare.
6425
6426 * buffer.c (Foverlay_get): Use lookup_char_property.
6427
6428 2002-06-07 Sam Steingold <sds@gnu.org>
6429
6430 * xselect.c (lisp_data_to_selection_data): Fix last change:
6431 *data_ret is not a Lisp string, while unibyte_string is.
6432
6433 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
6434
6435 * xselect.c (lisp_data_to_selection_data): Fix last change:
6436 set size_ret.
6437
6438 2002-06-07 Andreas Schwab <schwab@suse.de>
6439
6440 * m/amdx86-64.h: New file.
6441
6442 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
6443
6444 * fns.c (Fstring_make_unibyte): Doc fix.
6445
6446 * xselect.c (lisp_data_to_selection_data): If the requested type
6447 is STRING, call string_make_unibyte to encode the selected text
6448 as a string.
6449
6450 * window.c (Fset_window_hscroll): Doc fix.
6451
6452 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6453
6454 * fileio.c (choose_write_coding_system):
6455 Call select-safe-coding-system properly.
6456
6457 2002-06-03 Richard M. Stallman <rms@gnu.org>
6458
6459 * xdisp.c (message_with_string): Error if STRING is not a string.
6460
6461 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
6462
6463 * fileio.c (choose_write_coding_system): Pass FILE arg to
6464 Vselect_safe_coding_system_function.
6465
6466 2002-06-03 Ken Raeburn <raeburn@gnu.org>
6467
6468 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
6469
6470 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
6471
6472 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
6473 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
6474 * keymap.c (describe_command): Likewise.
6475 * minibuf.c (read_minibuf): Likewise.
6476
6477 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
6478 Cast `current_column' return value to int.
6479 (back_to_previous_visible_line_start)
6480 (reseat_at_next_visible_line_start, next_element_from_buffer):
6481 Cast `indented_beyond_p' 3rd arg to float.
6482
6483 * indent.c (last_known_column): Now a float.
6484 (current_column_1, position_indentation, current_column)
6485 (string_display_width): Return float.
6486 (Fcurrent_column): Cast `current_column' return value to int.
6487 (Fcurrent_indentation): Cast `position_indentation' retval to int.
6488 (indented_beyond_p): Third arg now a float.
6489 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
6490
6491 * lisp.h (current_column): Now returns float.
6492 (indented_beyond_p): 3rd arg now a float.
6493
6494 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
6495
6496 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
6497 is Qcompound_text_with_extensions.
6498
6499 * xselect.c (lisp_data_to_selection_data): Always set selection
6500 type as string if x_encode_text returns streingp non-NULL.
6501
6502 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
6503
6504 2002-05-30 Richard M. Stallman <rms@gnu.org>
6505
6506 * window.c (Fset_window_configuration): Correct the handling
6507 of point in current buffer, to work with multiple windows.
6508
6509 2002-05-29 Colin Walters <walters@verbum.org>
6510
6511 * lread.c (Fread_from_string): Don't depend on order of evaluation
6512 for C function parameters.
6513
6514 2002-05-28 Richard M. Stallman <rms@gnu.org>
6515
6516 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
6517 way for blinked-off state and for a nonselected window.
6518
6519 * window.c (window_scroll_pixel_based): Don't call Fbolp;
6520 instead, see if the new start pos is at beginning of line.
6521
6522 * fileio.c (Fwrite_region): If START is a string, don't
6523 make any annotations.
6524
6525 * eval.c (syms_of_eval): Doc fix.
6526
6527 2002-05-28 Colin Walters <walters@debian.org>
6528
6529 * emacs.c (USAGE1): Add --no-splash.
6530 (standard_args): Ditto.
6531
6532 2002-05-28 Colin Walters <walters@gnu.org>
6533
6534 * lread.c (readchar_count): New variable.
6535 (readchar): Increment it.
6536 (unreadchar): Decrement it.
6537 (read_multibyte): Decrement it.
6538 (Vread_with_symbol_positions): New variable.
6539 (Vread_symbol_positions_list): New variable.
6540 (read_internal_start): New function, created from Fread and
6541 Fread_from_string. Handle Vread_symbol_positions_list and
6542 Vread_with_symbol_positions.
6543 (readevalloop, Fread, Fread_from_string): Use it.
6544 (read1): Use readchar_count to add symbol positions to
6545 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
6546 (syms_of_lread): DEFVAR_LISP and initialize them.
6547
6548 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
6549 (substitute_object_recurse, substitute_object_in_subtree)
6550 (substitute_in_interval): Prototype.
6551 (read_multibyte): Return c if it's less than zero.
6552
6553 2002-05-28 Kim F. Storm <storm@cua.dk>
6554
6555 * fileio.c (Fread_file_name_internal): Added brute-force
6556 speed up for using predicate file-directory-p.
6557
6558 2002-05-28 Kim F. Storm <storm@cua.dk>
6559
6560 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
6561 New variables.
6562 (syms_of_fileio): DEFVAR_LISP them.
6563 (read_file_name_cleanup): New unwind function.
6564 (Fread_file_name_internal): Only return completions satifying
6565 Vread_file_name_predicate. Temporarily unwind protect and rebind
6566 default-directory while checking completions against the predicate.
6567 (Fread_file_name): Added PREDICATE argument. Specbind it to
6568 Vread_file_name_predicate during completion.
6569 Call Vread_file_name_function to read the file name if non-nil.
6570
6571 * lisp.h (Fread_file_name): Now has 6 args.
6572
6573 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
6574 predicate for Fread_file_name when reading directory name.
6575 Supply Qnil for predicate in other calls to Fread_file_name.
6576
6577 2002-05-26 Miles Bader <miles@gnu.org>
6578
6579 * term.c (tty_capable_p): New function.
6580 * dispextern.h (tty_capable_p): New function declaration.
6581 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
6582 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
6583
6584 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
6585
6586 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
6587 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
6588 (Vwrite_region_annotate_functions): Docstring fix.
6589
6590 2002-05-23 Kim F. Storm <storm@cua.dk>
6591
6592 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
6593 phys_cursor's hpos is overwritten. This is still not completely
6594 correct, as it doesn't really make sense to use hpos at all to
6595 get the cursor glyph (as that is relative to the width of the
6596 characters on the line, which may have changed during the update).
6597
6598 2002-05-22 Jason Rumney <jasonr@gnu.org>
6599
6600 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
6601 Lisp_Object.
6602 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
6603 Use modified enumfont_t struct.
6604
6605 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
6606
6607 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
6608 Handle the `hbar' cursor type.
6609 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
6610
6611 * w32fns.c (Qhbar): New variable.
6612 (x_specified_cursor_type): Use it.
6613
6614 2002-05-21 Ken Raeburn <raeburn@gnu.org>
6615
6616 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
6617 now, when the address is needed.
6618
6619 2002-05-21 Colin Walters <walters@gnu.org>
6620
6621 * Makefile.in (shortlisp): Add font-core.el.
6622
6623 2002-05-20 Richard M. Stallman <rms@gnu.org>
6624
6625 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
6626
6627 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
6628 equivalent key bindings here.
6629
6630 2002-05-20 Ken Raeburn <raeburn@gnu.org>
6631
6632 Change symbol structure to contain a lisp object for the symbol
6633 name:
6634 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
6635 object field named "xname".
6636 (SYMBOL_NAME): New macro.
6637 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
6638 name field.
6639 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
6640 (mark_object, gc_sweep): Use symbol xname field and XSTRING
6641 instead of name field.
6642 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
6643 SYMBOL_NAME instead of XSYMBOL and name field.
6644 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
6645 instead of XSYMBOL and name field.
6646 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
6647 and SYMBOL_NAME instead of XSYMBOL and name field.
6648 * coding.c (Fread_coding_system, code_convert_region1)
6649 (code_convert_string1, code_convert_string_norecord)
6650 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
6651 XSYMBOL and name field.
6652 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
6653 (Fmake_variable_buffer_local, Fmake_local_variable)
6654 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
6655 of XSYMBOL and name field.
6656 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
6657 XSYMBOL and name field.
6658 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
6659 instead of XSYMBOL and name field.
6660 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
6661 XSYMBOL and name field.
6662 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
6663 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
6664 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
6665 instead of XSYMBOL and name field.
6666 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
6667 (parse_modifiers, apply_modifiers, Fevent_convert_list)
6668 (parse_solitary_modifier, Fexecute_extended_command):
6669 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
6670 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
6671 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
6672 of XSYMBOL and name field.
6673 (describe_command, describe_translation): Use SYMBOL_NAME and
6674 assignment instead of XSYMBOL and name field and XSETSTRING.
6675 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
6676 instead of XSYMBOL and name field.
6677 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
6678 name field and XSETSTRING.
6679 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
6680 of XSYMBOL and name field.
6681 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
6682 assignment instead of XSYMBOL and name field and XSETSTRING.
6683 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
6684 XSTRING instead of XSYMBOL and name field.
6685 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
6686 and XSTRING instead of XSYMBOL and name field.
6687 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
6688 and XSTRING instead of XSYMBOL and name field.
6689 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
6690 XSTRING instead of XSYMBOL and name field.
6691 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
6692 of XSYMBOL and name field.
6693 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
6694 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
6695
6696 2002-05-19 Ken Raeburn <raeburn@gnu.org>
6697
6698 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
6699 and XCDR real rvalues in most configurations.
6700
6701 * buffer.c (fix_overlays_in_range, fix_overlays_before):
6702 Don't take the address of the cdr part of a cons cell; instead, track
6703 the parent cell and call XSETCDR, or set the variable for the head
6704 of the list if we haven't started down the list yet.
6705
6706 2002-05-19 Richard M. Stallman <rms@gnu.org>
6707
6708 * doc.c (reread_doc_file): Don't ask for confirmation.
6709
6710 2002-05-18 Jason Rumney <jasonr@gnu.org>
6711
6712 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
6713 (xbm_load_image): Use it.
6714 (xbm_load): Ditto.
6715 (xbm_read_bitmap_data): Reverted to xfns.c version.
6716 From David Ponce <david@dponce.com>.
6717
6718 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
6719
6720 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
6721 2.02 and later.
6722
6723 2002-05-16 Juanma Barranquero <lektu@terra.es>
6724
6725 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
6726
6727 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
6728
6729 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
6730 meaningful test.
6731 (read_char_minibuf_menu_prompt): Fix typo.
6732
6733 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
6734
6735 * eval.c (Fcommandp): Doc fix.
6736
6737 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
6738
6739 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
6740 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
6741 (Fset_keymap_parent): Gcpro a bit more.
6742 (access_keymap): Gcpro around meta_map call and around the main loop.
6743 (get_keyelt): Gcpro when following indirect references.
6744 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
6745 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
6746 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
6747 Remove useless ad-hoc remap code.
6748
6749 2002-05-13 Richard M. Stallman <rms@gnu.org>
6750
6751 * search.c (search_buffer): Give up boyer moore search if inverse
6752 translation change charset_base.
6753
6754 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
6755
6756 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
6757 characters is carried over from the previous block of text, adjust
6758 coding->produced to account for the extra character.
6759
6760 2002-05-11 Andreas Schwab <schwab@suse.de>
6761
6762 * coding.c (intersection): Keep the elements of the returned list
6763 in the same order as in the first list.
6764
6765 2002-05-11 Kim F. Storm <storm@cua.dk>
6766
6767 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
6768 only update cmm_size if realloc actually succeeds.
6769 Testing with initial size of 2 elements revealed that using
6770 realloc on GNU/Linux would cause a random trap in xmalloc
6771 later on, so I rewrote the code to use malloc/bcopy/free instead
6772 of realloc.
6773
6774 2002-05-10 Jason Rumney <jasonr@gnu.org>
6775
6776 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
6777
6778 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
6779
6780 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
6781 parens, to ensure correct evaluation order.
6782
6783 2002-05-10 Kim F. Storm <storm@cua.dk>
6784
6785 * keymap.c (Vemulation_mode_map_alists): New variable.
6786 (syms_of_keymap): DEFVAR_LISP it.
6787 (current_minor_maps): Process keymap alists in that list before
6788 minor-mode-overriding-map-alist and minor-mode-map-alist.
6789
6790 2002-05-09 Richard M. Stallman <rms@gnu.org>
6791
6792 * search.c (Freplace_match): Doc fix.
6793
6794 2002-05-09 Kim F. Storm <storm@cua.dk>
6795
6796 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
6797 Enlarge cursor rectangle drawn around image with non-zero relief.
6798
6799 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
6800 Enlarge cursor rectangle drawn around image with non-zero relief.
6801
6802 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
6803 Enlarge cursor rectangle drawn around image with non-zero relief.
6804
6805 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
6806
6807 * xselect.c (lisp_data_to_selection_data): Don't set selection
6808 type if comes from the Lisp object's car. If the selection
6809 contains a pure ASCII text, always return QSTRING as its type.
6810
6811 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6812
6813 * mac.c (mac-cut-function): Doc fix.
6814
6815 2002-05-05 Richard M. Stallman <rms@gnu.org>
6816
6817 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
6818
6819 2002-05-04 Jason Rumney <jasonr@gnu.org>
6820
6821 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
6822 for event-click-count.
6823
6824 * process.c (init_process): Only add server subfeature if we can
6825 use non-blocking I/O.
6826
6827 2002-05-04 Andrew Choi <akochoi@shaw.ca>
6828
6829 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
6830 repeatedly.
6831
6832 2002-05-03 Jason Rumney <jasonr@gnu.org>
6833
6834 * process.c (Fmake_network_process): Only support server sockets
6835 when we can make them non-blocking.
6836
6837 * s/ms-w32.h (HAVE_SELECT): Define.
6838
6839 * w32.h (FILE_NDELAY): New flag.
6840
6841 * w32.c (sys_getpeername, fcntl): New functions.
6842 (_sys_read_ahead): Temporarily block on non-blocking sockets.
6843
6844 * w32proc.c: include sys/file.h.
6845
6846 2002-05-03 Colin Walters <walters@verbum.org>
6847
6848 * callproc.c (Vgame_score_directory): Renamed to
6849 Vshared_game_score_directory.
6850
6851 2002-04-30 Richard M. Stallman <rms@gnu.org>
6852
6853 * s/gnu.h [emacs]: Include stdio.h.
6854 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
6855
6856 * eval.c (do_autoload): Error if called while preparing to dump.
6857
6858 * fns.c (Frequire): Error if need to load while preparing to dump.
6859
6860 2002-04-28 Colin Walters <walters@verbum.org>
6861
6862 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
6863 Default to "~/.emacs.d/games".
6864
6865 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
6866
6867 * lread.c (openp): Change arg exec_only to predicate.
6868 (build_load_history): Use XCAR/XCDR.
6869 (Flocate_file_internal): New fun.
6870 (syms_of_lread): Defsubr it.
6871 (Fload): Update call to openp.
6872
6873 * lisp.h (openp): Update prototype.
6874
6875 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
6876 * w32proc.c (sys_spawnve):
6877 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
6878 * w32.c (check_windows_init_file):
6879 * sound.c (Fplay_sound_internal):
6880 * process.c (Fstart_process):
6881 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
6882 * mac.c (run_mac_command):
6883 * emacs.c (init_cmdargs):
6884 * callproc.c (Fcall_process): Update call to openp.
6885
6886 * textprop.c (remove_properties): Don't use XCAR without CONSP.
6887
6888 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
6889
6890 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6891
6892 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
6893 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
6894
6895 2002-04-28 Richard M. Stallman <rms@gnu.org>
6896
6897 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
6898
6899 * eval.c (Fcommandp): New arg for_call_interactively.
6900 * lisp.h (Fcommandp): Declare new arg.
6901
6902 2002-04-28 Jason Rumney <jasonr@gnu.org>
6903
6904 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
6905
6906 * w32.c (stat, fstat): Use file index information to generate
6907 inodes for directories where available.
6908
6909 2002-04-26 Andrew Choi <akochoi@shaw.ca>
6910
6911 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
6912 [HAVE_CARBON]: Include Mac object files.
6913
6914 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
6915 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
6916 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
6917 MAC_OSX, and MAC_OS instead of macintosh.
6918
6919 * editfns.c [MAC_OS8]: Include stdio.h.
6920
6921 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
6922
6923 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
6924 Apple Monaco.
6925
6926 * process.c: Declare QCfamily and QCfilter as extern.
6927 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
6928 calling select.
6929
6930 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
6931
6932 * tparam.c [MAC_OSX]: Don't define BC and UP.
6933
6934 * config.in [HAVE_CARBON]: Add.
6935
6936 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
6937 Move here from mac/src and mac/inc.
6938
6939 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
6940
6941 2002-04-26 Gerd Moellmann <gerd@gnu.org>
6942
6943 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
6944 Compute phys_cursor_width from the x position returned
6945 by x_draw_glyhs, which is cheaper.
6946 (x_display_and_set_cursor): Compute the buffer-local value
6947 of `cursor-in-non-selected-windows' only when needed.
6948
6949 2002-04-25 Gerd Moellmann <gerd@gnu.org>
6950
6951 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
6952 cursor on a stretch glyph has a width that depends on
6953 x_stretch_cursor_p.
6954
6955 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
6956
6957 * abbrev.c (abbrev-start-location): Doc fix.
6958
6959 * indent.c (Fvertical_motion): Fix last change.
6960
6961 2002-04-25 Gerd Moellmann <gerd@gnu.org>
6962
6963 * indent.c (Fvertical_motion): Move to the start of the line
6964 containing PT before moving up or down.
6965
6966 2002-04-24 Gerd Moellmann <gerd@gnu.org>
6967
6968 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
6969 case of writing a whole row, more or less analogous to the case of
6970 writing only parts of a row.
6971
6972 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
6973 0 for NO_CURSOR.
6974
6975 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
6976
6977 2002-04-23 Colin Walters <walters@verbum.org>
6978
6979 * buffer.c (syms_of_buffer): Doc fix.
6980
6981 2002-04-23 Gerd Moellmann <gerd@gnu.org>
6982
6983 * xterm.c (notice_overwritten_cursor): Handle the special case
6984 of the cursor being in the first blank non-text line at the
6985 end of a window.
6986
6987 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
6988 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
6989 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
6990 bar cursors only, to make phys_cursor_width contain what its name
6991 suggests.
6992 (notice_overwritten_cursor): Consider the cursor image erased if
6993 the output area intersects the cursor image in y-direction.
6994
6995 2002-04-23 Simon Marshall <simon@gnu.org>
6996
6997 * xfns.c (x_set_mouse_color): Change default for cross_cursor
6998 to XC_hand2.
6999
7000 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7001
7002 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
7003
7004 2002-04-22 Kim F. Storm <storm@cua.dk>
7005
7006 * textprop.c (remove_properties): Fixed trap for malformed plist.
7007
7008 2002-04-22 Richard M. Stallman <rms@gnu.org>
7009
7010 * cmds.c (Fend_of_line): Handle intangible text in mid line.
7011
7012 * window.c (make_window): Initialize height_fixed_p,
7013 last_cursor_off_p, and p->cursor_off_p slots.
7014
7015 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7016
7017 * fns.c (use-dialog-box): Doc fix.
7018
7019 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7020
7021 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
7022 variables `row', `i' and `area'.
7023 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
7024 toolkit library.
7025
7026 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
7027
7028 * xfaces.c (clear_font_table): Don't free the default font of
7029 a frame even if it's on another display.
7030 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
7031 that could be Qt.
7032
7033 2002-04-19 Juanma Barranquero <lektu@terra.es>
7034
7035 * indent.c (Fmove_to_column): Remove unused local variable
7036 `next_boundary_byte'.
7037 (current_column_1): Likewise.
7038
7039 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
7040
7041 * msdos.c (Qhbar): New variable.
7042 (syms_of_msdos): Intern and staticpro it.
7043 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
7044 cursor type.
7045
7046 2002-04-19 Dave Lambert <dlambert@acm.org>
7047
7048 Theses change implement an underscore-like (`hbar') cursor.
7049
7050 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
7051
7052 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
7053 Handle the `hbar' cursor type.
7054 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
7055
7056 * xfns.c (Qhbar): New variable.
7057 (syms_of_xfns): Intern and staticpro it.
7058 (x_specified_cursor_type): Handle `hbar' cursor.
7059
7060 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
7061 not defined.
7062
7063 2002-04-18 Richard M. Stallman <rms@gnu.org>
7064
7065 * textprop.c (remove_properties): New arg LIST allows scanning
7066 either a list or a plist.
7067 (interval_has_some_properties_list): New function, like
7068 interval_has_some_properties using list instead of plist.
7069 All callers changed.
7070 (Fremove_list_of_text_properties): New function.
7071 (syms_of_textprop): Defsubr it.
7072
7073 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
7074
7075 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
7076
7077 2002-04-17 Juanma Barranquero <lektu@terra.es>
7078
7079 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
7080
7081 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
7082
7083 * window.c (coordinates_in_window): Don't report on margin area
7084 if its width is zero.
7085
7086 2002-04-16 Jason Rumney <jasonr@gnu.org>
7087
7088 * w32fns.c (Fx_file_dialog): Decode file name before using.
7089
7090 * w32term.c (construct_drag_n_drop): Likewise.
7091
7092 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
7093
7094 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
7095 store load-history in pure space.
7096
7097 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
7098
7099 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
7100
7101 * xterm.c (Qlatin_1, Qutf_8): New vars.
7102 (syms_of_xterm): Initialize them.
7103 (XTread_socket): Eliminate incorrect optimization that tried to avoid
7104 decoding the output of X*LookupString.
7105 Always use latin-1 to decode the output of XLookupString.
7106 Try Xutf8LookupString if XmbLookupString failed.
7107
7108 * region-cache.c (new_region_cache): Use BEG.
7109
7110 2002-04-16 Gerd Moellmann <gerd@gnu.org>
7111
7112 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
7113 configuration files.
7114 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
7115 returns 0.
7116
7117 2002-04-15 Andreas Schwab <schwab@suse.de>
7118
7119 * config.in: Regenerated using autoheader.
7120
7121 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
7122 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
7123 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
7124 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
7125 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
7126 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
7127 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
7128 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
7129 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
7130 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
7131 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
7132 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
7133 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
7134 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
7135 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
7136 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
7137 STACK_DIRECTION, now set by autoconf.
7138
7139 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7140
7141 * dispnew.c (marginal_area_string): Sort arguments.
7142
7143 * dispextern.h (marginal_area_string): Add prototype.
7144
7145 2002-04-13 Richard M. Stallman <rms@gnu.org>
7146
7147 * fileio.c (Finsert_file_contents):
7148 Don't call temp_output_buffer_setup--do just part, by hand.
7149
7150 * coding.c (run_pre_post_conversion_on_str):
7151 Don't call temp_output_buffer_setup--do just part, by hand.
7152
7153 * keyboard.c (command_loop_1): Don't call start_hourglass
7154 or cancel_hourglass when executing a macro.
7155
7156 * marker.c (count_markers): New function.
7157
7158 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
7159 grow without limit. Move recently used elements to the front.
7160
7161 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
7162
7163 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
7164
7165 2002-04-12 Gerd Moellmann <gerd@gnu.org>
7166
7167 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
7168 rows marginal areas.
7169 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
7170 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
7171
7172 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
7173
7174 2002-04-12 Dave Love <fx@gnu.org>
7175
7176 * dispnew.c (marginal_area_string): New.
7177
7178 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
7179 (Qleft_margin, Qright_margin): Declare.
7180 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
7181
7182 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
7183 note_mode_line_highlight and extended.
7184
7185 * keyboard.c (Qleft_margin, Qright_margin): Declare.
7186 (make_lispy_event): Deal with mouse events in margins.
7187
7188 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
7189
7190 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
7191
7192 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
7193 than deactivating the mark if tmm is set to `lambda'.
7194 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
7195 Use a single event for HELP_EVENT.
7196 (Fexecute_extended_command): Save last_point_position.
7197
7198 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7199
7200 * lisp.h (Fpropertize): Add prototype.
7201
7202 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
7203
7204 2002-04-10 Colin Walters <walters@verbum.org>
7205
7206 * config.in: Add HAVE_SHARED_GAME_DIR.
7207
7208 * callproc.c: (Vgame_score_directory): New variable.
7209 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
7210
7211 2002-04-10 Richard M. Stallman <rms@gnu.org>
7212
7213 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
7214
7215 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
7216
7217 * minibuf.c (read_minibuf): Use empty_string.
7218 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
7219 Short-circuit the search as soon as it "failed".
7220 (Fall_completions): Allow lambda forms and lists of strings for alist.
7221 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
7222 when require_match is nil.
7223 (Ftest_completion): Rename from `test_completion' and export to elisp.
7224 Call the predicate also when alist is a list.
7225 Obey Vcompletion_regexp_list.
7226 (do_completion, Fminibuffer_complete_and_exit): Use it.
7227 (Fassoc_string): Rename from `assoc_for_completion'.
7228 Allow list of strings as well and export to elisp.
7229
7230 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
7231
7232 * puresize.h (BASE_PURESIZE): Increase to 900KB.
7233
7234 2002-04-08 Juanma Barranquero <lektu@terra.es>
7235
7236 * w32.c (sys_accept): Don't hide variable `s'.
7237
7238 2002-04-05 Gerd Moellmann <gerd@gnu.org>
7239
7240 * callint.c (Fcall_interactively): Use INTEGERP instead of
7241 NUMBERP for checking Vhistory_length.
7242
7243 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7244
7245 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
7246 Doc fix to reflect it.
7247
7248 2002-04-04 Richard M. Stallman <rms@gnu.org>
7249
7250 * xdisp.c (display_mode_element): New arg RISKY.
7251 Disregard text props found or specified within a variable
7252 that isn't marked risky-local-variable.
7253 (Qrisky_local_variable): New variable.
7254 (syms_of_xdisp): Init and staticpro it.
7255
7256 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
7257
7258 * undo.c (record_point): New fun.
7259 (record_delete, record_insert): Use it.
7260
7261 2002-04-03 Juanma Barranquero <lektu@terra.es>
7262
7263 * doc.c (Fdocumentation): Add missing parentheses.
7264 (Fdocumentation_property): Likewise.
7265
7266 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
7267
7268 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
7269 data is 0, just return nil.
7270
7271 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
7272
7273 * msdos.c (syms_of_msdos): Fix last change with
7274 mouse_autoselect_window.
7275
7276 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7277
7278 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
7279 mouse_autoselect_window.
7280
7281 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
7282
7283 * keyboard.c (make_lispy_event): Handle unknown keysyms together
7284 with system-specific keysyms. Use it also for unknown function keys.
7285
7286 * doc.c (reread_doc_file): Return whether reload was attempted.
7287 (Fdocumentation, Fdocumentation_property): Don't try to reload
7288 if the doc is 0 and only ask once.
7289
7290 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
7291
7292 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
7293
7294 * keyboard.c (read_char): If the event was Qselect_window,
7295 restore timer_idleness_start_time to its previous value.
7296
7297 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
7298
7299 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
7300
7301 * region-cache.c (new_region_cache): Use BEG.
7302
7303 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
7304 Use BEG and BEG_BYTE.
7305
7306 * doc.c (get_doc_string): Return nil if the location is wrong.
7307 (reread_doc_file): New fun.
7308 (Fdocumentation, Fdocumentation_property):
7309 Call it if get_doc_string fails.
7310 (Fsnarf_documentation): Make it work for a dumped Emacs.
7311
7312 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
7313 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
7314
7315 * charset.c (Fstring): Allow 0 arguments.
7316
7317 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
7318
7319 * process.c (DATAGRAM_CONN_P, list_processes_1)
7320 (Fprocess_datagram_address, Fset_process_datagram_address)
7321 (Fset_network_process_options, server_accept_connection):
7322 Fix some int/Lisp_Object confusions (thank you union types).
7323
7324 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7325
7326 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
7327
7328 * w32term.c: Likewise.
7329 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
7330
7331 * keyboard.c (Qselect_window): New symbol.
7332 (head_table): Use it.
7333 (keys_of_keyboard): Bound select-window event to handle-select-window.
7334 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
7335
7336 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
7337 (last_window): New variable.
7338 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
7339 (note_mouse_movement): Remove reimplemented code in #if 0.
7340 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
7341 Emacs windows.
7342
7343 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
7344
7345 2002-03-31 Gerd Moellmann <gerd@gnu.org>
7346
7347 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
7348 Callers changed.
7349
7350 2002-03-30 Richard M. Stallman <rms@gnu.org>
7351
7352 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
7353 loop whenever it stops making progress.
7354
7355 * widget.c (set_frame_size): Don't call change_frame_size.
7356
7357 2002-03-30 Gerd Moellmann <gerd@gnu.org>
7358
7359 * dispnew.c (direct_output_for_insert):
7360 Call mark_window_display_accurate.
7361
7362 2002-03-29 Jason Rumney <jasonr@gnu.org>
7363
7364 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
7365
7366 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
7367
7368 * Makefile.in (lread.o): Depend on coding.h.
7369
7370 * lread.c (openp, Fload): Encode the file name before passing it
7371 to `stat', `access', and `emacs_open'.
7372 (openp): GCPRO the encoded file name. Don't recompute Lisp
7373 strings unnecessarily.
7374
7375 2002-03-29 Kim F. Storm <storm@cua.dk>
7376
7377 * fns.c (Flax_plist_put): Doc fix.
7378
7379 2002-03-28 Miles Bader <miles@gnu.org>
7380
7381 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
7382
7383 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7384
7385 * process.c (set-network-process-options): Add usage.
7386 (make-network-process): Doc fix.
7387
7388 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
7389
7390 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
7391
7392 2002-03-26 Richard M. Stallman <rms@gnu.org>
7393
7394 * fns.c (Fsubstring_no_properties): New function.
7395 (Flax_plist_get, Flax_plist_put): New functions.
7396 (syms_of_fns): defsubr them.
7397
7398 * xdisp.c (update_menu_bar): Test only update_mode_lines;
7399 don't test or alter w->update_mode_line.
7400
7401 * window.c (Fdisplay_buffer): Doc fix.
7402
7403 2002-03-24 Richard M. Stallman <rms@gnu.org>
7404
7405 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
7406
7407 2002-03-24 Gerd Moellmann <gerd@gnu.org>
7408
7409 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
7410 (Fdefmacro): Handle `(declare ...)'.
7411 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
7412 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
7413
7414 2002-03-24 Jason Rumney <jasonr@gnu.org>
7415
7416 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
7417 (xbm_file_p): Add prototypes.
7418 (xbm_format, xbm_image_p): Sync with xfns.c.
7419 (reflect_byte): New function.
7420 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
7421 (xbm_load_image): Create bitmaps with a depth of 1.
7422 (init_xfns): Enable XBM images.
7423
7424 2002-03-23 Jason Rumney <jasonr@gnu.org>
7425
7426 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
7427 correctly. Do not pass up_modifier to keyboard buffer.
7428
7429 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
7430
7431 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
7432
7433 * Makefile.in (bootstrapclean): New target.
7434 (bootstrap-temacs, bootstrap-doc): Remove.
7435 (bootstrap-emacs): Use a bog-standard `temacs'.
7436 Don't bother to build a DOC file.
7437
7438 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
7439
7440 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
7441 in temacs even if !CANNOT_DUMP.
7442 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
7443
7444 * alloc.c (check_pure_size): Only output a warning.
7445
7446 2002-03-22 Jason Rumney <jasonr@gnu.org>
7447
7448 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
7449 supported.
7450
7451 * w32term.c (zv_bits): Declare as short, for word alignment.
7452 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
7453 (syms_of_w32term): Define x-use-underline-position-properties.
7454
7455 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
7456 (clear_image_cache): Block input, fix logic, clear matrices in
7457 all frames that share this cache.
7458
7459 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
7460
7461 * emacs.c (main): Update the Copyright year in the blurb printed
7462 by "emacs --version".
7463
7464 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
7465
7466 * xterm.c (XTread_socket): If XK_ISO_Lock and
7467 XK_ISO_Last_Group_Lock are defined, handle keysyms between
7468 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
7469
7470 2002-03-21 Kim F. Storm <storm@cua.dk>
7471
7472 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
7473 menu-bar bindings in keymap and local-map properties _are_ used.
7474 But try keymap property first in accordance with 2002-01-03 patch.
7475 Added comment describing why this is not always reliable.
7476 (tool_bar_items): Ditto for tool-bar.
7477
7478 2002-03-21 Jason Rumney <jasonr@gnu.org>
7479
7480 * w32fns.c (x_clear_image_1): Disable color table code.
7481
7482 2002-03-21 Kim F. Storm <storm@cua.dk>
7483
7484 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
7485 removed the wrong version of the DEFUN macro; fixed it.
7486
7487 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
7488 Fmember rather than Fmemq).
7489 (Fprovide): Check that subfeatures is a list.
7490
7491 * process.c (QCfeature, QCdatagram): Removed variables.
7492 (QCtype, Qdatagram): New variables.
7493 (network_process_featurep): Removed function.
7494 (Fmake_network_process): Removed :feature check.
7495 Use :type 'datagram instead of :datagram t to create a datagram
7496 socket. This allows us to add other connection types (e.g. raw
7497 sockets) later in a consistent manner.
7498 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
7499 supported subfeatures for feature make-network-process.
7500 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
7501 Intern and staticpro QCtype and Qdatagram.
7502 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
7503
7504 * xfns.c: (QCtype): Remove duplicate declaration and
7505 initialization (is now declared in process.c).
7506
7507 * w32fns.c: (QCtype): Remove duplicate declaration and
7508 initialization (is now declared in process.c).
7509
7510 2002-03-21 Richard M. Stallman <rms@gnu.org>
7511
7512 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
7513 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
7514 when jumping to `fail' to avoid undoing reg changes in the
7515 last iteration of the loop.
7516 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
7517
7518 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
7519 Depend on process.h.
7520
7521 2002-03-20 Jason Rumney <jasonr@gnu.org>
7522
7523 Most of the following changes are still conditional on HAVE_IMAGES
7524 which is not set by default on Windows.
7525
7526 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
7527
7528 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
7529 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
7530 (four_corners_best, x_clear_image_1, x_clear_image)
7531 (x_alloc_image_color, postprocess_image)
7532 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
7533 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
7534 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
7535
7536 * w32gui.h (struct XImage): Define.
7537
7538 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
7539 extract mouse co-ordinates.
7540
7541 2002-03-20 Jason Rumney <jasonr@gnu.org>
7542
7543 * w32.c (init_winsock): Dynamically load new server and UDP
7544 socket functions.
7545 (socket_to_fd): New function.
7546 (sys_socket): Use it.
7547 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
7548 (sys_recvfrom, sys_sendto): New wrapper functions.
7549
7550 * process.c (QCfamily, QCfilter): Remove duplicate declaration
7551 and initialization.
7552
7553 * makefile.w32-in (LIBS): Remove $(WSOCK32).
7554
7555 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
7556
7557 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
7558 Don't use "sun" as a variable, it's a predefined constant on Sun
7559 machines.
7560
7561 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7562
7563 * bytecode.c (Fbyte_code): Revert last change.
7564
7565 2002-03-19 Kim F. Storm <storm@cua.dk>
7566
7567 * makefile.w32-in (LIBS): Add $(WSOCK32).
7568 From David Ponce <dponce@voila.fr>.
7569
7570 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7571
7572 * process.c (wait_reading_process_input): Move variables `pname'
7573 and `pnamelen' down where they are used.
7574
7575 * bytecode.c (Fbyte_code): Discard unused computed value to
7576 prevent gcc warning.
7577
7578 * lisp.h (Fplist_member): Add prototype.
7579
7580 2002-03-18 Kim F. Storm <storm@cua.dk>
7581
7582 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
7583 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
7584
7585 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
7586 Remove explicit GNU_LINUX settings for datagram support.
7587
7588 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7589
7590 * process.c (Fmake_network_process): Remove unused variable `sa'.
7591 Doc fix. Add usage:.
7592 (set_socket_options): Remove unused variables `optnum' and `opttype'.
7593
7594 2002-03-17 Richard M. Stallman <rms@gnu.org>
7595
7596 * xdisp.c (cursor_type_changed): New variable.
7597 (redisplay_internal): Redisplay all windows if cursor_type_changed.
7598 Clear it when clearing windows_or_buffers_changed.
7599 (try_cursor_movement, redisplay_window, try_window_id)
7600 (try_window_reusing_current_matrix): Test cursor_type_changed
7601 along with windows_or_buffers_changed.
7602
7603 * window.h (cursor_type_changed): New variable.
7604
7605 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
7606 not update_mode_lines, and always set it to 1.
7607
7608 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
7609 if no frames needed redrawing.
7610
7611 2002-03-17 Kim F. Storm <storm@cua.dk>
7612
7613 The following changes add support for network server processes,
7614 datagram connections, and local (unix) sockets.
7615
7616 * process.h (struct Lisp_Process): New member log.
7617 Doc fix: Member command used to indicate stopped network process.
7618 Doc fix: Member childp contains plist for network process.
7619 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
7620
7621 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
7622 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
7623 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
7624 New variables.
7625 (NETCONN1_P): New macro.
7626 (DATAGRAM_SOCKETS): New conditional symbol.
7627 (datagram_address): New array.
7628 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
7629 (status_message): Use concat3.
7630 (Fprocess_status): Add `listen' status to doc string. Return `stop'
7631 for a stopped network process.
7632 (Fset_process_buffer): Update contact plist for network process.
7633 (Fset_process_filter): Ditto. Don't enable input for stopped
7634 network processes. Server must listen, even if filter is t.
7635 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
7636 New functions.
7637 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
7638 (Fprocess_contact): Added KEY argument. Handle datagrams.
7639 (list_processes_1): Optionally show only processes with the query
7640 on exit flag set. Dynamically adjust column widths. Omit tty
7641 column if not needed. Report stopped network processes.
7642 Identify server and datagram network processes.
7643 (Flist_processes): New optional arg `query-only'.
7644 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
7645 (conv_lisp_to_sockaddr, set_socket_options)
7646 (network_process_featurep, unwind_request_sigio): New helper functions.
7647 (Fprocess_datagram_address, Fset_process_datagram_address):
7648 (Fset_network_process_options): New lisp functions.
7649 (Fopen_network_stream): Removed. Now defined in simple.el.
7650 (Fmake_network_process): New lisp function. Code is based on previous
7651 Fopen_network_stream, but heavily reworked with new property list based
7652 argument list, support for datagrams, server processes, and local
7653 sockets in addition to old client-only functionality.
7654 (server_accept_connection): New function.
7655 (wait_reading_process_input): Use it to handle incoming connects.
7656 Do not enable input on a new connection if process is stopped.
7657 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
7658 (send_process): Handle datagram sockets.
7659 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
7660 network process is indicated by setting command field to t .
7661 (Fprocess_send_eof): No-op if datagram connection.
7662 (Fstatus_notify): Don't read input for a stream server socket or a
7663 stopped network process.
7664 (init_process): Initialize datagram_address array.
7665 (syms_of_process): Intern and staticpro new variables, defsubr new
7666 functions.
7667
7668 2002-03-16 Jason Rumney <jasonr@gnu.org>
7669
7670 * w32fns.c (w32_to_all_x_charsets): Return correct type in
7671 startup case.
7672
7673 2002-03-16 Richard M. Stallman <rms@gnu.org>
7674
7675 * xdisp.c (redisplay_internal, redisplay_windows):
7676 Use list_of_error to call internal_condition_case_1.
7677 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
7678 so as to catch all errors with no possibility of debugger redisplay.
7679 (list_of_error): New variable.
7680 (syms_of_xdisp): Init and staticpro it.
7681
7682 * print.c (print_object): Delete `\ ' from printed rep of frame.
7683
7684 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
7685
7686 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
7687 until its implementation is fixed.
7688
7689 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7690
7691 * xfns.c (png_load): Remove unused variable `gamma_str'.
7692
7693 2002-03-14 Richard M. Stallman <rms@gnu.org>
7694
7695 * xfns.c (x_real_positions): Handle failure in XQueryTree.
7696
7697 2002-03-14 Miles Bader <miles@gnu.org>
7698
7699 * intervals.c (adjust_for_invis_intang): New function.
7700 (set_point_both): Use `adjust_for_invis_intang' to do most of the
7701 work for dealing with invisible+intangible regions. Do so before
7702 and after both forward and backward movements, to handle both
7703 front-sticky and rear-sticky cases.
7704 * textprop.c (text_property_stickiness): Function moved here from
7705 `editfns.c'.
7706 * intervals.h (text_property_stickiness): New declaration.
7707 * editfns.c (char_property_eq): Function removed.
7708 (text_property_stickiness): Function moved to `textprop.c'.
7709
7710 2002-03-13 Jason Rumney <jasonr@gnu.org>
7711
7712 * config.in: Add STRFTIME_NO_POSIX2.
7713
7714 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
7715 and %OX when underlying strftime does not.
7716
7717 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
7718
7719 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
7720 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
7721 line) to avoid annoying flicker.
7722 (xm_scroll_callback): Get rid of the now unnecessary kludge.
7723 (XTread_socket): Mark it static.
7724
7725 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
7726
7727 2002-03-13 Kim F. Storm <storm@cua.dk>
7728
7729 * puresize.h (BASE_PURESIZE): Increase to 775000.
7730
7731 2002-03-12 Juanma Barranquero <lektu@terra.es>
7732
7733 * editfns.c (syms_of_editfns): Fix typo.
7734
7735 2002-03-12 Gerd Moellmann <gerd@gnu.org>
7736
7737 * xsmfns.c: Include stdio.h because termhooks.h needs it.
7738 Include termopt.h for interrupt_input.
7739
7740 2002-03-11 Andreas Schwab <schwab@suse.de>
7741
7742 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
7743
7744 2002-03-11 Gerd Moellmann <gerd@gnu.org>
7745
7746 * xterm.c (note_mouse_movement): Put code for
7747 x_autoselect_window_p in #if 0.
7748
7749 * lread.c (Fload): Don't assume that message_with_string uses the
7750 string it is given like a C string.
7751
7752 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7753
7754 * xterm.h (x_session_check_input, x_session_initialize): Declared.
7755
7756 * xterm.c: (XTread_socket): Add call to x_session_check_input and
7757 x_session_have_connection.
7758 (x_initialize): Add call to x_session_initialize.
7759
7760 * termhooks.h (enum event_kind): Add save_session_event.
7761
7762 * keyboard.c: Add Emacs event save_session_event.
7763
7764 * emacs.c (main): Add call to syms_of_xsmfns.
7765
7766 * lisp.h: Declare syms_of_xsmfns as extern.
7767
7768 * config.in: Add HAVE_X_SM.
7769
7770 * Makefile.in (LIBXT): Add -lSM -lICE
7771 if HAVE_X_SM and not USE_X_TOOLKIT.
7772 (XOBJ): New file xsmfns.c added.
7773
7774 * xsmfns.c: New file for X session management.
7775
7776 2002-03-09 Jason Rumney <jasonr@gnu.org>
7777
7778 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
7779 read-only when setting modified time.
7780
7781 2002-03-08 Gerd Moellmann <gerd@gnu.org>
7782
7783 * xdisp.c (move_it_vertically_backward): At the end of the function,
7784 when moving forward by lines, treat terminal frames specially.
7785
7786 * keyboard.c (echo_char): Make sure to add a separator between
7787 keys even if echo_dash hasn't been called.
7788
7789 * xdisp.c: Use new string macros.
7790 (update_echo_area): Pass number of bytes to message3 instead of
7791 number of chars.
7792 (set_message_1): Don't access a string's size_byte directly.
7793 (decode_mode_spec_coding): Use number of bytes of eoltype string
7794 instead number of chars.
7795
7796 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
7797
7798 2002-03-08 Juanma Barranquero <lektu@terra.es>
7799
7800 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
7801 24-bit.
7802
7803 2002-03-06 Jason Rumney <jasonr@gnu.org>
7804
7805 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
7806
7807 2002-03-06 Gerd Moellmann <gerd@gnu.org>
7808
7809 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
7810 (cancel_echoing, echo_length, echo_truncate): Changed to
7811 work with new kboard definition.
7812 (echo_now): Use message3_nolog instead of message2_nolog.
7813
7814 * alloc.c (mark_kboards): Mark echo_string.
7815
7816 * keyboard.h (ECHOBUFSIZE): Removed.
7817 (struct kboard): Member echoptr removed, member echobuf renamed
7818 to echo_string.
7819
7820 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
7821 message3 instead of message2 to display the message using STRING's
7822 text properties.
7823
7824 2002-03-05 Andreas Schwab <schwab@suse.de>
7825
7826 * xdisp.c (hscroll_margin): Change to EMACS_INT.
7827
7828 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
7829
7830 * frame.c (default-frame-alist): Explain that setting it doesn't
7831 affect existing frames.
7832
7833 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
7834
7835 * indent.c (skip_invisible): Fix my brain fart.
7836
7837 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
7838
7839 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
7840
7841 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
7842 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
7843 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
7844 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
7845 and variables to use EMACS_INT instead of just int.
7846
7847 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
7848
7849 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
7850
7851 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
7852 environment, pass it down with corrected value.
7853
7854 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7855
7856 * lread.c (read_filtered_event): Do not call start_hourglass
7857 before returning.
7858
7859 2002-03-04 Juanma Barranquero <lektu@terra.es>
7860
7861 * w32term.c (x_display_and_set_cursor): Fix typo.
7862
7863 2002-03-03 Richard M. Stallman <rms@gnu.org>
7864
7865 * fileio.c (Fmake_temp_name): Doc fix.
7866
7867 2002-03-03 Gary Wong <gtw@gnu.org>
7868
7869 * termcap.c [!emacs]: Replace ospeed for building standalone
7870 libtermcap, for binary compatibility.
7871
7872 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
7873
7874 2002-03-03 Richard M. Stallman <rms@gnu.org>
7875
7876 * xrdb.c (file_p): Rename arg `path' to `filename'.
7877
7878 * abbrev.c (Fexpand_abbrev): Increment plist as use count
7879 only if it is an integer.
7880
7881 * xfns.c (png_load): Set screen_gamma based on f->gamma.
7882 If png_get_sRGB gives an answer, call png_set_gamma
7883 using the default image gamma value.
7884
7885 * lread.c (read1): When reading from a file, default string to
7886 multibyte only if it has some multibyte characters.
7887
7888 * print.c (print_object): Output multibyte chars 128...255
7889 using \x even if ! print_escape_multibyte.
7890
7891 * xdisp.c (display_mode_element): Move the places where
7892 bytepos, charpos, this, and lisp_string are set.
7893 Use lisp_string to set bytepos.
7894
7895 * xdisp.c (redisplay_internal):
7896 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
7897
7898 * xdisp.c (display_mode_element): Merge properties specified with
7899 :propertize onto those that come with the string.
7900
7901 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
7902
7903 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
7904 automatic-hscrolling. Users changed.
7905 <hscroll-margin>: Renamed from automatic-hscroll-margin.
7906 Users changed.
7907 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
7908
7909 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
7910
7911 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
7912
7913 2002-03-02 Kim F. Storm <storm@cua.dk>
7914
7915 * window.c (Fminibuffer_selected_window): New function.
7916 (syms_of_window): Defsubr it.
7917
7918 2002-03-01 Kim F. Storm <storm@cua.dk>
7919
7920 * window.h (struct window): New member phys_cursor_width.
7921
7922 * window.c (make_window, replace_window): Init phys_cursor_width.
7923
7924 * xterm.c (x_display_and_set_cursor): Blink box cursor using
7925 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
7926
7927 * w32term.c (x_display_and_set_cursor): Blink box cursor using
7928 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
7929
7930 * lisp.h (GCPRO6): New macro.
7931
7932 * process.c (Fopen_network_stream): Use GCPRO6.
7933
7934 2002-03-01 Kim F. Storm <storm@cua.dk>
7935
7936 * process.c (Qconnect, Qfailed): New variables.
7937 (syms_of_process): Intern and staticpro them.
7938 (Fprocess_status): Document connect and failed return values.
7939 [NON_BLOCKING_CONNECT]: New conditional.
7940 (connect_wait_mask, num_pending_connects): New variables.
7941 (status_message): Convert Qfailed status.
7942 (Fopen_network_stream): Added support for non-blocking connect.
7943 New optional args: filter, sentinel, non_blocking. Doc updated.
7944 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
7945 (deactivate_process): Handle pending non-blocking connect.
7946 (wait_reading_process_input): Poll for status of non-blocking
7947 connects. Exec sentinel directly when connect succeeds.
7948 (status_notify): Don't read process output if not yet connected.
7949
7950 2002-02-28 Kim F. Storm <storm@cua.dk>
7951
7952 * window.c: (minibuf_selected_window): Renamed from
7953 Vminibuf_selected_window. Users changed.
7954 (syms_of_window): Staticpro it.
7955
7956 2002-02-26 Kim F. Storm <storm@cua.dk>
7957
7958 The following changes add a new Vminibuf_selected_window variable
7959 which is similar to Vminibuf_scroll_window, but which is only set
7960 on entry to the minibuffer (from a non-minibuffer window):
7961
7962 * window.c: (Vminibuf_selected_window): New variable.
7963 (struct save_window_data): New member minibuf_selected_window.
7964 (Fset_window_configuration): Restore Vminibuf_selected_window.
7965 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
7966 Set minibuf_scroll_window member to nil if minibuf_level is 0.
7967 (compare_window_configurations): Compare minibuf_selected_window.
7968
7969 * window.h: (Vminibuf_selected_window): Declare extern.
7970
7971 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
7972 entry to minibuffer or on entry from a non-minibuffer window.
7973
7974 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
7975 Vminibuf_selected_window instead of Vminibuf_scroll_window.
7976
7977 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
7978 instead of Vminibuf_scroll_window when deciding in which window
7979 the region should be highlighted. Consequently, the region remains
7980 highlighteded even when a completion buffer is also displayed.
7981
7982 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
7983
7984 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
7985
7986 * xselect.c (Qcompound_text_with_extensions): Renamed from
7987 Qcompound_text_no_extensions.
7988 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
7989
7990 2002-02-26 Juanma Barranquero <lektu@terra.es>
7991
7992 * w32proc.c (syms_of_ntproc): Doc fix.
7993
7994 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7995
7996 * intervals.h: Include "dispextern.h" unconditionally.
7997
7998 2002-02-24 Jason Rumney <jasonr@gnu.org>
7999
8000 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
8001 and disp-table.elc.
8002 (lisp): Add emacs-lisp/backquote.elc.
8003
8004 2002-02-24 Kim F. Storm <storm@cua.dk>
8005
8006 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
8007 The validation of the event type was too strict as it didn't
8008 allow string events; buffer names are used in bindings for
8009 menu-bar-select-buffer (see `menu-bar-update-buffers').
8010
8011 2002-02-23 Kim F. Storm <storm@cua.dk>
8012
8013 The following changes rework my patch of 2002-02-06 which
8014 added command remapping by entering the commands directly into
8015 the keymaps. Now, command remapping uses an explicit `remap'
8016 prefix in the keymaps, i.e. [remap COMMAND].
8017
8018 * keymap.c (Qremap, remap_command_vector): New variables.
8019 (is_command_symbol): Removed function.
8020 (Fdefine_key): No longer accept a symbol for KEY.
8021 Added validation of [remap COMMAND] argument for KEY.
8022 The DEF is no longer required to be a symbol when remapping a command.
8023 (Fremap_command): New function to remap command through keymaps.
8024 (Flookup_key): Perform command remapping initiated by
8025 Fremap_command directly for speed.
8026 (Fkey_binding): Use Fremap_command for command remapping.
8027 (where_is_internal): Handle new command remapping representation.
8028 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
8029 staticpro them. Defsubr Fremap_command.
8030
8031 * keymap.h (Fremap_command): Declare extern.
8032 (is_command_symbol): Remove extern.
8033
8034 * keyboard.c (command_loop_1): Use Fremap_command for command
8035 remapping; now try command remapping for all symbols.
8036
8037 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
8038
8039 * coding.h (run_pre_post_conversion_on_str): Add prototype.
8040
8041 2002-02-23 Jason Rumney <jasonr@gnu.org>
8042
8043 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
8044 on the string before encoding it.
8045 (Fw32_get_clipboard_data): Run post-read-conversion on the string
8046 after decoding it.
8047
8048 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
8049
8050 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8051
8052 * w32term.c (enter_timestamp): Remove unused static variable to
8053 prevent warning.
8054
8055 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
8056
8057 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
8058
8059 * w16select.c (Fw16_get_clipboard_data): Fix last change.
8060
8061 * xselect.c (selection_data_to_lisp_data): Fix last change.
8062
8063 2002-02-22 Jason Rumney <jasonr@gnu.org>
8064
8065 * w32term.h (struct w32_output): New member menu_command_in_progress.
8066
8067 * w32menu.c (menubar_selection_callback): Free the menu and
8068 clear the menu_command_in_progress flag.
8069
8070 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
8071 (menu_free_timer): New variable.
8072 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
8073 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
8074 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
8075 menu command is in progress.
8076 <WM_COMMAND>: Set the menu_command_in_progress flag.
8077 Kill any menu_free_timer that is running.
8078
8079 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
8080 Call ExtTextOutA rather than ExtTextOut.
8081
8082 2002-02-22 Eli Zaretskii <eliz@gnu.org>
8083
8084 * puresize.h (BASE_PURESIZE): Increase to 755000.
8085
8086 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
8087
8088 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
8089 on the string before encoding it.
8090 (Fw16_get_clipboard_data): Run post-read-conversion on the string
8091 after decoding it.
8092
8093 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
8094
8095 Support for ICCCM Extended Segments in X selections:
8096
8097 * xselect.c <Qcompound_text_no_extensions>: New variable.
8098 (syms_of_xselect): Intern and staticpro it.
8099 (selection_data_to_lisp_data): Run post-read-conversion on decoded
8100 selection text.
8101 (lisp_data_to_selection_data): If next-selection-coding-system is
8102 compound-text-no-extensions, set the type of selection to be
8103 compound-text.
8104
8105 * xterm.h (x_encode_text): Update prototype.
8106
8107 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
8108 callers changed. If SELECTIONP is non-zero, run the
8109 pre-write-conversion function before encoding the selection text.
8110
8111 2002-02-21 Kim F. Storm <storm@cua.dk>
8112
8113 * frame.c (syms_of_frame): Change mouse-highlight default to t.
8114
8115 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
8116 Correct composing of language-change event.
8117
8118 2002-02-20 Kim F. Storm <storm@cua.dk>
8119
8120 * keyboard.c (menu_bar_items): Don't include keymap or local-map
8121 bindings at PT when building menu (the menu is not updated often
8122 enough for this to work reliable).
8123 (tool_bar_items): Likewise.
8124 (current_active_maps): Removed unused (and buggy) function.
8125
8126 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8127
8128 * xfns.c (gif_load): Use correct width and height for GIF images.
8129
8130 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
8131
8132 * floatfns.c (Fatan): Accept an optional second arg and call
8133 atan2 if passed 2 args.
8134
8135 2002-02-18 Jason Rumney <jasonr@gnu.org>
8136
8137 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
8138
8139 2002-02-17 Jason Rumney <jasonr@gnu.org>
8140
8141 * w32term.c (x_autoselect_window_p): New variable.
8142 (syms_of_w32term): DEFVAR_BOOL and initialize it.
8143 (note_mouse_movement): Use it.
8144
8145 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
8146
8147 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
8148
8149 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
8150 New variables.
8151 (syms_of_w32fns): Intern and staticpro them.
8152 (x_frame_parms) <"fullscreen">: New parameter.
8153 (x_fullscreen_move, x_set_fullscreen): New functions.
8154 (x_set_frame_parameters): Support Qfullscreen.
8155 (x_real_positions): Save x/y_pixels_diff frame params.
8156 (x_figure_window_size): Support full-screen frames.
8157 (Fx_create_frame): Default the fullscreen parameter.
8158
8159 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
8160 (x_fullscreen_adjust): New functions.
8161 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
8162 fullscreen. Call x_check_fullscreen_move, and set the
8163 want_fullscreen member of output_data.w32
8164 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
8165
8166 * w32term.h: New enum for FULLSCREEN_* constants.
8167 (struct w32_output): New members want_fullscreen, x_pixels_diff,
8168 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
8169 (x-fullscreen-adjust): New prototype.
8170
8171 2002-02-17 Kim F. Storm <storm@cua.dk>
8172
8173 * frame.c: (Vmouse_highlight): New variable.
8174 (syms_of_frame): DEFVAR_LISP it.
8175
8176 * frame.h: (Vmouse_highlight): Declare extern.
8177
8178 * xterm.h (struct x_display_info): Add mouse_face_hidden.
8179
8180 * xterm.c (disable_mouse_highlight): Removed variable.
8181 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
8182 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
8183 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
8184 and on after keyboard input.
8185 (x_term_init): Initialize mouse_face_hidden.
8186
8187 * msdos.h (struct display_info): Add mouse_face_hidden.
8188
8189 * msdos.c (disable_mouse_highlight): Removed variable.
8190 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
8191 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
8192 (internal_terminal_init): Initialize mouse_face_hidden.
8193 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
8194 and on after keyboard input.
8195
8196 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
8197
8198 * w32term.c (disable_mouse_highlight): Removed variable.
8199 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
8200 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
8201 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
8202 and on after keyboard input.
8203 (w32_initialize_display_info): Initialize mouse_face_hidden.
8204
8205 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
8206
8207 * msdos.c (last_mouse_window): New variable.
8208 (dos_rawgetc): Fix last change--if the mouse is in the same window
8209 as recorded in last_mouse_window, don't select this window.
8210
8211 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
8212
8213 * msdos.c (x_autoselect_window_p): New variable.
8214 (syms_of_msdos): Defvar it.
8215 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
8216 which the last mouse movement occured, unless it is already selected.
8217
8218 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
8219 New variables.
8220 (syms_of_xdisp): DEVFAR them.
8221 (hscroll_window_tree): Use automatic_hscroll_margin and
8222 Vautomatic_hscroll_step to compute the amount of window scrolling.
8223
8224 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8225
8226 * xterm.c (x-autoselect-window): New variable.
8227 (note_mouse_movement): Use it.
8228
8229 * keyboard.c: Do not include "systime.h" twice.
8230
8231 2002-02-15 Andreas Schwab <schwab@suse.de>
8232
8233 * puresize.h (BASE_PURESIZE): Increase to 9/5.
8234
8235 * alloc.c (NSTATICS): Increase to 1280.
8236
8237 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
8238
8239 * alloc.c (NSTATICS): Bump to 1026.
8240
8241 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
8242 (Vx_super_keysym): New variables.
8243 (syms_of_xterm): DEFVAR_LISP them.
8244 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
8245 variables to determine which keys to use for the various modifiers.
8246
8247 2002-02-13 Kim F. Storm <storm@cua.dk>
8248
8249 * window.c: (Vmode_line_in_non_selected_windows): Removed.
8250 (mode_line_in_non_selected_windows): New variable.
8251 (syms_of_window): DEFVAR_BOOL it.
8252
8253 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
8254 Use mode_line_in_non_selected_windows.
8255 (mode_line_in_non_selected_windows): Declare extern.
8256 (Vmode_line_in_non_selected_windows): Removed extern.
8257
8258 2002-02-13 Richard M. Stallman <rms@gnu.org>
8259
8260 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
8261 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
8262 (Fclear_this_command_keys): Doc fixes.
8263
8264 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
8265 (update_face_from_frame_parameter): Increment face_change_count
8266 and windows_or_buffers_changed to force redisplay using changed faces.
8267
8268 * xdisp.c (QCpropertize): New variable.
8269 (mode_line_proptrans_alist): New variable.
8270 (display_mode_element): New arg PROPS; all calls changed.
8271 Implement this, for strings.
8272 Handle literal output of strings by sharing the
8273 main-line code for strings, using local var `literal'.
8274 Handle :propertize feature.
8275 (syms_of_xdisp): Initialze and staticpro QCpropertize and
8276 mode_line_proptrans_alist.
8277
8278 2002-02-11 Kim F. Storm <storm@cua.dk>
8279
8280 * window.c: (Vmode_line_in_non_selected_windows): New variable.
8281 (syms_of_window): DEFVAR_LISP it.
8282
8283 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
8284 (CURRENT_MODE_LINE_FACE_ID): Use it.
8285 (Vmode_line_in_non_selected_windows): Declare extern.
8286
8287 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
8288 to get mode line face.
8289
8290 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
8291
8292 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
8293 variables; cus-start.el doesn't need them anymore.
8294
8295 2002-02-09 Kim F. Storm <storm@cua.dk>
8296
8297 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
8298 reduction. This fixes a display problem where stray newlines were
8299 inserted in the window (corrected by C-l). Clarified code (IMHO).
8300
8301 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
8302
8303 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
8304
8305 * xdisp.c (display_mode_lines): Fix last change.
8306
8307 2002-02-09 Jason Rumney <jasonr@gnu.org>
8308
8309 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
8310 match each other.
8311 (w32_load_system_font): Prevent Cleartype fonts from loading.
8312 (Fx_show_tip): Ensure tip frames are above other topmost windows.
8313
8314 2002-02-09 Kim F. Storm <storm@cua.dk>
8315
8316 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
8317 (CURRENT_MODE_LINE_HEIGHT): Use it.
8318 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
8319
8320 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
8321 (pos_visible_p, handle_face_prop): Likewise.
8322 (display_mode_lines): Likewise, but for the real selected window.
8323 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
8324
8325 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
8326 in non-selected windows.
8327 (realize_basic_faces): Realize it.
8328 (syms_of_term): Intern and staticpro it.
8329
8330 2002-02-08 Kim F. Storm <storm@cua.dk>
8331
8332 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
8333 Changed mail addresses to emacs-devel@gnu.org.
8334
8335 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
8336
8337 * fileio.c (Fsubstitute_in_file_name): If the file name includes
8338 ~user, and there's no such user, don't discard everything before ~user.
8339
8340 * floatfns.c (Fround): Doc fix.
8341
8342 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8343
8344 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
8345
8346 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
8347
8348 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
8349
8350 2002-02-07 Kim F. Storm <storm@cua.dk>
8351
8352 * keymap.c (where_is_internal): Only check whether definition is
8353 remapped if it fulfills is_command_symbol.
8354
8355 2002-02-07 Andreas Schwab <schwab@suse.de>
8356
8357 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
8358
8359 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
8360
8361 2002-02-06 Kim F. Storm <storm@cua.dk>
8362
8363 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
8364 defining command remapping. Doc updated.
8365 (Flookup_key): Remap command through keymap if KEY is a symbol.
8366 (is_command_symbol): New function.
8367 (Fkey_binding): Use it. New optional argument NO-REMAP.
8368 Doc updated. Callers changed. Perform command remapping via
8369 recursive call unless that arg is non-nil.
8370 (where_is_internal): New argument no_remap. Callers changed.
8371 Call recursively to find original key bindings for a remapped
8372 comand unless that arg is non-nil.
8373 (Fwhere_is_internal): New optional argument NO-REMAP.
8374 Doc updated. Callers changed. Pass arg to where_is_internal.
8375
8376 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
8377 (is_command_symbol): Added prototype.
8378
8379 * keyboard.c (Vthis_original_command): New variable.
8380 (syms_of_keyboard): DEFVAR_LISP it.
8381 (command_loop_1): Set it, and perform command remapping.
8382
8383 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8384
8385 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
8386
8387 2002-02-06 Jason Rumney <jasonr@gnu.org>
8388
8389 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
8390
8391 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
8392
8393 * charset.c (get_charset_id): Use if-else instead of ?:.
8394
8395 2002-02-06 Richard M. Stallman <rms@gnu.org>
8396
8397 * filelock.c (S_ISLNK): Define if not defined.
8398
8399 2002-02-03 Richard M. Stallman <rms@gnu.org>
8400
8401 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
8402
8403 * lread.c (read1): Redesign strategy for force_multibyte and
8404 force_singlebyte. Now is_multibyte records whether read_buffer
8405 is multibyte. Encountering any multibyte character makes it so.
8406
8407 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
8408
8409 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
8410 with the same sequence, map that sequence to f10 rather than f0.
8411
8412 2002-02-03 Andreas Schwab <schwab@suse.de>
8413
8414 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
8415 latter never being defined on GNU/Linux.
8416
8417 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
8418
8419 * xfaces.c (realize_default_face): Don't set the weight and slant of
8420 the default face to Qnormal, unless these attributes are unspecified.
8421
8422 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8423
8424 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
8425 Call cancel_hourglass unconditionally.
8426
8427 * eval.c (Fsignal): Remove duplicated declaration of
8428 the variable `display_hourglass_p'.
8429
8430 2002-01-31 Richard M. Stallman <rms@gnu.org>
8431
8432 * editfns.c (region_limit): Nicer error message.
8433
8434 * coding.c (decode_composition_emacs_mule):
8435 Give up if NCOMPONENT gets too large to index `component'.
8436
8437 * callint.c (check_mark): New arg to specify clearer error message.
8438 Callers changed.
8439
8440 2002-01-27 Richard M. Stallman <rms@gnu.org>
8441
8442 * minibuf.c (Fcompleting_read): Doc fix.
8443
8444 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8445
8446 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
8447 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
8448 Fix doc-strings.
8449
8450 2002-01-26 Richard M. Stallman <rms@gnu.org>
8451
8452 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
8453
8454 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
8455 and scroll_up_aggressively.
8456
8457 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8458
8459 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
8460
8461 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
8462
8463 * textprop.c (Fnext_property_change, Fnext_single_property_change)
8464 (Fprevious_property_change, Fprevious_single_property_change):
8465 Stay within the narrowed-buffer boundaries.
8466
8467 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
8468
8469 * term.c (Ftty_display_color_cells): New function.
8470 (syms_of_term): Defsubr it.
8471 (Ftty_display_color_cells, Ftty_display_color_p): Change the
8472 argument name to DISPLAY. Doc fix.
8473
8474 * dispextern.h: Add prototype for set_tty_color_mode and
8475 tty_setup_colors.
8476
8477 2002-01-24 Jason Rumney <jasonr@gnu.org>
8478
8479 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
8480 If region left to draw is not what was expected, mark the frame as
8481 garbaged.
8482
8483 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
8484 Combine the regions returned by BeginPaint and GetUpdateRect.
8485
8486 2002-01-23 Jason Rumney <jasonr@gnu.org>
8487
8488 * w32term.c (x_update_window_begin): Only hide caret if
8489 w32_use_visible_system_caret is set.
8490 (x_update_window_end): Only show caret if
8491 w32_use_visible_system_caret is set.
8492 (syms_of_w32term): Handle SystemParametersInfo call failing.
8493
8494 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
8495
8496 2002-01-22 Richard M. Stallman <rms@gnu.org>
8497
8498 * unexelf.c (unexec): Define n so as to cause compilation error
8499 for the code where people have often written n instead of nn.
8500
8501 * .gdbinit (hookpost-run): Defined.
8502
8503 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8504
8505 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
8506
8507 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8508
8509 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
8510 if fullscreen is being set.
8511
8512 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8513
8514 * minibuf.c (Fminibuffer_contents)
8515 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
8516 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
8517
8518 2002-01-21 Richard M. Stallman <rms@gnu.org>
8519
8520 * window.c (check_frame_size): Fix minimum height calculation.
8521
8522 2002-01-20 Ken Raeburn <raeburn@gnu.org>
8523
8524 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
8525 height before comparison.
8526 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8527
8528 2002-01-20 Jason Rumney <jasonr@gnu.org>
8529
8530 * w32term.c (w32_system_caret_width): Remove.
8531 (w32_use_visible_system_caret): New user flag.
8532 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
8533 Windows reports a screen reader running.
8534 (x_update_window_begin): Hide the system caret.
8535 (x_update_window_end): Show the system caret.
8536 (x_display_and_set_cursor): Don't draw a cursor when
8537 w32_use_visible_system_caret is set. Do not adjust width.
8538
8539 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
8540 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
8541 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
8542 the user requests it. Use system default width when creating.
8543 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
8544
8545 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
8546 New window messages.
8547
8548 2002-01-20 Richard M. Stallman <rms@gnu.org>
8549
8550 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
8551
8552 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8553
8554 * doprnt.c (doprnt1): Fix typos in error call.
8555
8556 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
8557
8558 * unexelf.c (unexec) [__sgi]: Support the .got sections.
8559
8560 2002-01-20 Jason Rumney <jasonr@gnu.org>
8561
8562 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
8563 that Windows returns. If a double check fails, try to guess how
8564 ExtTextOut is going to act.
8565
8566 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
8567 in place of stricmp.
8568 (w32_list_synthesized_fonts): Removed.
8569 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
8570 (struct enumfont_t): New element; list.
8571 (enum_font_cb2): List all style and charset variations of a font.
8572 (Fw32_select_font): New optional argument; include_proportional.
8573 Exclude vertical fonts. Exclude proportional fonts unless
8574 include_proportional is non-nil.
8575 (w32_enable_synthesized_fonts): Change to a boolean.
8576 (Fw32_send_sys_command): Doc fix.
8577
8578 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8579
8580 * dispnew.c (update_frame): Move the variable `tem' to the block
8581 where it is used.
8582
8583 2002-01-19 Jason Rumney <jasonr@gnu.org>
8584
8585 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
8586 call to face-set-after-frame-default.
8587
8588 2002-01-18 Richard M. Stallman <rms@gnu.org>
8589
8590 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
8591 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
8592
8593 2002-01-17 Richard M. Stallman <rms@gnu.org>
8594
8595 * window.c (enlarge_window): When exceeding size of parent,
8596 directly delete all the siblings instead of trying to resize it.
8597
8598 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8599
8600 * term.c (set_tty_color_mode): Remove unused variable `tem'.
8601
8602 2002-01-16 Henrik Enberg <henrik@enberg.org>
8603
8604 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
8605
8606 2002-01-16 Kim F. Storm <storm@cua.dk>
8607
8608 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
8609 is invisible. This can happen if cursor is on top line of a
8610 window, and we switch to a buffer with a header line.
8611
8612 * w32term.c (x_erase_phys_cursor): Ditto.
8613
8614 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8615
8616 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
8617 `dont_resize' only when used.
8618
8619 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
8620
8621 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
8622
8623 * xdisp.c (display_mode_element): When computing charpos, depend
8624 on multibyteness of elt, not the text in field.
8625
8626 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8627
8628 * buffer.c (Fkill_all_local_variables):
8629 Increment `update_mode_lines' only once.
8630
8631 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8632
8633 * lisp.h (adjust_after_replace_noundo)
8634 (Fupdate_coding_systems_internal): Add prototypes.
8635
8636 * sound.c (Fplay_sound): Initialize header_size also for :data case.
8637
8638 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
8639
8640 Support for the --color command-line argument and tty-color-mode
8641 frame parameter:
8642
8643 * term.c (tty_default_color_capabilities, tty_setup_colors)
8644 (set_tty_color_mode): New functions.
8645 (term_init): Call tty_default_color_capabilities.
8646 (Qtty_color_mode_alist): New variable.
8647 (syms_of_term): Intern and staticpro it.
8648
8649 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
8650 frames.
8651 (do_switch_frame): For termcap frames, switch the tty
8652 color mode as specified by the frame's parameters.
8653 (Qtty_color_mode): New variable.
8654 (syms_of_frame): Intern and staticpro it.
8655
8656 * emacs.c (USAGE2): Add the --color option.
8657 (standard_args): Ditto.
8658
8659 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8660
8661 * xterm.h (struct x_output): New members want_fullscreen,
8662 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
8663 y_pixels_outer_diff.
8664 New enum for FULLSCREEN_* constants.
8665 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
8666 is NULL.
8667 (x_fullscreen_adjust): Add prototype.
8668
8669 * emacs.c (USAGE2): Add the new full-screen arguments.
8670 (standard_args): Ditto.
8671
8672 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
8673 New variables.
8674 (syms_of_xfns): Intern and staticpro them.
8675 (x_frame_parms) <"fullscreen">: New parameter.
8676 (x_fullscreen_move, x_set_fullscreen): New functions.
8677 (x_set_frame_parameters): Support for Qfullscreen.
8678 (x_real_positions): More accurate computation of the frame position.
8679 (x_figure_window_size): Support full-screen frames.
8680 (Fx_create_frame): Default the fullscreen parameter.
8681
8682 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
8683 (XTread_socket) <Expose>: Call x_check_fullscreen.
8684 <ConfigureNotify>: Don't resize to fullscreen.
8685 Call x_check_fullscreen_move, and set the want_fullscreen member of
8686 output_data.x.
8687
8688 2002-01-13 Jason Rumney <jasonr@gnu.org>
8689
8690 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
8691 for mice with more than 3 buttons.
8692
8693 * w32term.c (parse_button): New parameter xbutton. Callers changed.
8694 (w32_read_socket): Handle new "XBUTTON" messages.
8695
8696 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
8697 (syms_of_w32fns): DEFVAR_BOOL it.
8698 (w32_wnd_proc): Handle new "XBUTTON" messages.
8699
8700 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8701
8702 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
8703
8704 2002-01-13 Andreas Schwab <schwab@suse.de>
8705
8706 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
8707
8708 2002-01-12 Andreas Schwab <schwab@suse.de>
8709
8710 * .gdbinit (xbuffer): Remove address operator since data is now a
8711 pointer.
8712
8713 2002-01-11 Richard M. Stallman <rms@gnu.org>
8714
8715 * insdel.c (adjust_after_replace_noundo): New function.
8716
8717 * coding.c (code_convert_region): Don't copy old text if undo disabled.
8718
8719 2002-01-09 Jason Rumney <jasonr@gnu.org>
8720
8721 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
8722 when checking for multiple frames.
8723
8724 2002-01-08 Richard M. Stallman <rms@gnu.org>
8725
8726 * window.c (delete_window): Rewrite the code for changing the
8727 selected window to handle the case where WINDOW is not a leaf.
8728
8729 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
8730
8731 * process.c (send_process): Set src_multibyte to 1 after the call
8732 top setup_coding_system, not before the call.
8733
8734 2002-01-07 Jason Rumney <jasonr@gnu.org>
8735
8736 * xmenu.c (set_frame_menubar, xmenu_show):
8737 (xdialog_show): Initialize wv->help to Qnil.
8738
8739 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
8740 (w32_dialog_show): Initialize wv->help to Qnil.
8741
8742 2002-01-06 Jason Rumney <jasonr@gnu.org>
8743
8744 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
8745
8746 * w32menu.c (w32_menu_display_help): Revert last change.
8747
8748 * xmenu.c (menu_highlight_callback): Revert last change.
8749
8750 2002-01-06 Andreas Schwab <schwab@suse.de>
8751
8752 * insdel.c (make_gap_larger): Make sure buffer size does not
8753 overflow range of int.
8754
8755 2002-01-05 Jason Rumney <jasonr@gnu.org>
8756
8757 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
8758 OVERLAPS_P.
8759
8760 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
8761
8762 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
8763 to the left or to the right of the pointer, put it against
8764 the left screen edge.
8765 (x_frame_parms): Add missing braces around initializer.
8766
8767 * w32term.c (x_setup_relief_colors): Don't compute an image's
8768 background color if it doesn't have a Pixmap.
8769 (notice_overwritten_cursor): Don't depend on
8770 output_cursor and updated_area. Compare pixel coordinates with
8771 window's cursor pixel coordinates.
8772 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
8773 Call notice_overwritten_cursor with new arg list.
8774 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
8775 unconditionally.
8776 (x_draw_image_relief): Use predefined macro instead of
8777 constant when the value of `tool_bar_button_relief' is negative.
8778
8779 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
8780
8781 2002-01-04 Richard M. Stallman <rms@gnu.org>
8782
8783 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
8784
8785 2002-01-03 Richard M. Stallman <rms@gnu.org>
8786
8787 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
8788 (Fkey_binding): Try the `keymap' property map first.
8789 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
8790 minor mode bindings.
8791
8792 2002-01-03 Kim F. Storm <storm@cua.dk>
8793
8794 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
8795
8796 2002-01-02 Richard M. Stallman <rms@gnu.org>
8797
8798 * keyboard.c (read_key_sequence): Handle the keymap property
8799 before minor mode maps.
8800
8801 * editfns.c (Fformat): Update thissize from field_width
8802 based on the actual width, in the string case.
8803
8804 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8805
8806 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
8807 when used as truth value to prevent gcc warnings.
8808
8809 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
8810 * w32proc.c: Include <config.h>.
8811
8812 2002-01-01 Andreas Schwab <schwab@suse.de>
8813
8814 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
8815 not EMACS_INT, to make them compatible with DEFVAR_INT.
8816 * lisp.h (max_specpdl_size): Adjust declaration.
8817
8818 2002-01-01 Richard M. Stallman <rms@gnu.org>
8819
8820 * print.c (print_object): Test print_escape_nonascii only for
8821 unibyte strings.
8822 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
8823 when outputting to a multibyte buffer.
8824
8825 2001-12-29 Richard M. Stallman <rms@gnu.org>
8826
8827 * print.c (print_object): In multibyte string, use hex escapes.
8828 Use octal only for unibyte strings.
8829 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
8830
8831 * lread.c (read_escape): New arg BYTEREP for reporting whether
8832 escape forces unibyte or multibyte.
8833 (read1): When reading a string, take note of that info.
8834
8835 2001-12-29 Ken Raeburn <raeburn@gnu.org>
8836
8837 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
8838 comparison to test lisp value returned by Fget.
8839
8840 2001-12-29 Richard M. Stallman <rms@gnu.org>
8841
8842 * lisp.h (max_specpdl_size): Add declaration.
8843
8844 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
8845
8846 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
8847 Handle modifier bits. Correct typo in error message.
8848
8849 2001-12-28 Richard M. Stallman <rms@gnu.org>
8850
8851 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
8852 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
8853 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
8854 Update calls to Fdefine_abbrev.
8855 (write_abbrev): Update for changed data format.
8856 Don't list "system" abbrevs.
8857 (Fexpand_abbrev): Update use count with new data format.
8858 (describe_abbrev): Update for changed data format.
8859 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
8860
8861 * config.in (HAVE_MBSINIT): Add #undef.
8862
8863 * strftime.c (mbsinit): Define as no-op if not available.
8864
8865 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
8866 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
8867
8868 * keymap.c (Flookup_key): Error message if key has wrong data type.
8869 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
8870 (exclude_key): New variable.
8871
8872 2001-12-28 Gerd Moellmann <gerd@gnu.org>
8873
8874 * xterm.c (x_setup_relief_colors): Don't compute an image's
8875 background color if it doesn't have a Pixmap.
8876
8877 * xterm.c (notice_overwritten_cursor): Don't depend on
8878 output_cursor and updated_area. Compare pixel coordinates with
8879 window's cursor pixel coordinates.
8880 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
8881 Call notice_overwritten_cursor with new arg list.
8882 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
8883 unconditionally.
8884
8885 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
8886 height of the cursor line to the amount to scroll.
8887
8888 2001-12-27 Richard M. Stallman <rms@gnu.org>
8889
8890 * intervals.c (set_point_both): The position after an invisible,
8891 intangible character is not an acceptable stopping point.
8892
8893 2001-12-27 Ken Raeburn <raeburn@gnu.org>
8894
8895 * window.c (enlarge_window): In new preserve_before code, convert
8896 CURBEG from lisp object to integer before doing arithmetic.
8897
8898 2001-12-27 Richard M. Stallman <rms@gnu.org>
8899
8900 * bytecode.c (Fbyte_code): Undo previous change.
8901
8902 2001-12-26 Kim F. Storm <storm@cua.dk>
8903
8904 * keyboard.c (record_char): Ignore duplicate help-echo events only
8905 separated by mouse-movement. When tracking mouse, only record
8906 first and last mouse-movement event in same window.
8907 Don't record mouse-movement events in keyboard macros.
8908
8909 2001-12-25 Richard M. Stallman <rms@gnu.org>
8910
8911 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
8912 (Fenlarge_window): New arg PRESERVE_BEFORE.
8913
8914 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
8915 instead of Fstring_as_unibyte.
8916
8917 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8918
8919 The following changes remove mocklisp support:
8920
8921 * mocklisp.h, mocklisp.c: Files removed.
8922
8923 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
8924 `Qmocklisp' and `Qmocklisp_arguments'.
8925 Remove prototype of syms_of_mocklisp.
8926
8927 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
8928
8929 * callint.c: Do not include mocklisp.h.
8930 (Fcall_interactively): Do not test for mocklisp case.
8931
8932 * eval.c: Remove variables `Qmocklisp_arguments',
8933 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
8934 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
8935 Do not test for mocklisp case.
8936 (Fwhile): Remove unused variable `tem'.
8937 (syms_of_eval): Remove variable `moclisp-arguments'.
8938
8939 * data.c (wrong_type_argument): Remove mocklisp case.
8940
8941 * doc.c (Fdocumentation): Remove mocklisp case.
8942
8943 * emacs.c (main): Do not call syms_of_mocklisp.
8944
8945 2001-12-21 Richard M. Stallman <rms@gnu.org>
8946
8947 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
8948 to the left or to the right of the pointer, put it against
8949 the left screen edge.
8950
8951 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
8952
8953 * Makefile.in (distclean): Remove .gdbinit if we are building
8954 outside the source tree.
8955
8956 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
8957
8958 * w32.c (emacs_root_dir): New function.
8959
8960 * msdos.c (emacs_root_dir): New function.
8961
8962 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
8963 of the current drive as the fallback for default_directory.
8964
8965 * dired.c (file_name_completion): Run the elements of
8966 completion-ignored-extensions through ENCODE_FILE.
8967
8968 * lisp.h (scmp): Remove prototype, since it's now a static
8969 function private to dired.c.
8970
8971 2001-12-18 Richard M. Stallman <rms@gnu.org>
8972
8973 * dired.c (scmp): Function moved from minibuf.c.
8974 Delete multibyte handling--used only on encoded strings.
8975
8976 * minibuf.c (scmp): Function moved to dired.c.
8977
8978 * fns.c (merge): Add QUIT call.
8979
8980 2001-12-18 Dave Love <fx@gnu.org>
8981
8982 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
8983 language/georgian.el.
8984
8985 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
8986
8987 * Makefile.in (lisp, shortlisp): Synchronize with changes to
8988 lisp/Makefile.in:DONTCOMPILE.
8989
8990 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8991
8992 * xdisp.c (window_box_height): Do not return negative values.
8993 From Gerd Moellmann <gerd@gnu.org>.
8994
8995 * keyboard.c (head_table): Add missing braces around initializer.
8996
8997 * term.c (keys): Likewise.
8998
8999 * xfns.c (x_frame_parms, visual_classes): Likewise.
9000
9001 2001-12-17 Sam Steingold <sds@gnu.org>
9002
9003 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
9004 patch (COMPOSING_P, not COMPOSING).
9005
9006 2001-12-17 Richard M. Stallman <rms@gnu.org>
9007
9008 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
9009
9010 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
9011 before calling decode_coding.
9012
9013 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
9014
9015 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
9016 instead of only for COMPOSITION_DISABLED.
9017
9018 2001-12-16 Richard M. Stallman <rms@gnu.org>
9019
9020 * alloc.c (pure_alloc): After overflow, allocate just a small block.
9021
9022 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
9023
9024 * buffer.h (struct buffer): New field `display_error_modiff'.
9025 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
9026
9027 * window.c (Frecenter): Clear display_error_modiff field.
9028
9029 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
9030 Call redisplay_window, but not if display_error_modiff field says no.
9031 (redisplay_window_error): New function.
9032 (displayed_buffer): New variable.
9033 (redisplay_internal, redisplay_windows): Call the new functions
9034 instead of redisplay_window directly.
9035
9036 2001-12-15 Richard M. Stallman <rms@gnu.org>
9037
9038 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
9039
9040 2001-12-14 Andrew Innes <andrewi@gnu.org>
9041
9042 * makefile.w32-in (EMACSLOADPATH): Define.
9043 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
9044 (bootstrap-temacs): Remove dependency on bootstrap-clean.
9045
9046 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
9047
9048 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
9049 parameter have a numeric value all the time.
9050
9051 * w32fns.c (x_report_frame_params): Likewise.
9052
9053 2001-12-12 Richard M. Stallman <rms@gnu.org>
9054
9055 * fileio.c (Fwrite_region): Doc fix.
9056
9057 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
9058 (redisplay_internal): Call clear_image_cache only for window terminals.
9059
9060 2001-12-12 Gerd Moellmann <gerd@gnu.org>
9061
9062 * xdisp.c (move_it_vertically_backward): Change heuristic
9063 for the case that we didn't move far enough initially.
9064
9065 * window.c (Frecenter): Simplify computation in the case of window
9066 system frames and ARG < 0; use window_box_height.
9067
9068 2001-12-11 Richard M. Stallman <rms@gnu.org>
9069
9070 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
9071 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
9072
9073 2001-12-11 Andrew Innes <andrewi@gnu.org>
9074
9075 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
9076 arg is negative.
9077
9078 2001-12-11 Richard M. Stallman <rms@gnu.org>
9079
9080 * m/hp800.h: Split the __hpux conditional into the parts
9081 that are right for GNU/Linux too and the parts that are not.
9082 Use the former if GNU_LINUX.
9083 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
9084
9085 * s/gnu-linux.h (GNU_LINUX): Defined.
9086
9087 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9088
9089 * macros.c, msdos.c, w16select.c: Change doc-string comments to
9090 `new style' [w/`doc:' keyword].
9091
9092 2001-12-10 Jason Rumney <jasonr@gnu.org>
9093
9094 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
9095 before using.
9096
9097 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9098
9099 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
9100 keyword].
9101
9102 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
9103
9104 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
9105
9106 * s/hpux10.h (srand48): Don't undefine.
9107
9108 2001-12-09 Jason Rumney <jasonr@gnu.org>
9109
9110 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
9111 Add comment to explain where the struct came from.
9112 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
9113 (add_menu_item): Process pop-up menus first to avoid memory leak.
9114 (add_menu_item, w32_menu_display_help): Use `help' field as
9115 Lisp_Object.
9116 (w32_free_submenu_strings): Only free owner-drawn strings.
9117
9118 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9119
9120 * COPYING: Moved back.
9121
9122 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
9123 Add parentheses around && within ||.
9124
9125 * indent.c (compute_motion): Likewise.
9126
9127 * intervals.c (merge_properties_sticky): Likewise.
9128
9129 * coding.c (setup_coding_system, shrink_encoding_region)
9130 (Fdecode_sjis_char): Likewise.
9131
9132 2001-12-07 Andreas Schwab <schwab@suse.de>
9133
9134 * xdisp.c (display_mode_element): Don't read past end of string if
9135 it ends with '%'.
9136
9137 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
9138 can hold.
9139
9140 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
9141 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
9142 type changed to Lisp_Object.
9143 (syms_of_data): DEFVAR_LISP them.
9144
9145 2001-12-07 Richard M. Stallman <rms@gnu.org>
9146
9147 * callproc.c (init_callproc): Set Vdata_directory based on the source
9148 location whenever Emacs was run uninstalled.
9149
9150 2001-12-06 Paul Eggert <eggert@twinsun.com>
9151
9152 * config.in (HAVE_WORKING_VFORK): New #undefs.
9153 * process.c (create_process):
9154 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
9155 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
9156 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
9157 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
9158 * m/intel386.h (HAVE_VFORK): Likewise.
9159 * m/mips-siemens.h (HAVE_VFORK): Likewise.
9160 * m/mips.h (HAVE_VFORK): Likewise.
9161 * s/freebsd.h (vfork): Remove #define.
9162 * s/lynxos.h (HAVE_VFORK): Remove #undef.
9163 * s/usg5-4-2.h: Fix comment about vfork.
9164
9165 2001-12-06 Richard M. Stallman <rms@gnu.org>
9166
9167 * s/hpux10.h (random): Add undef.
9168 (HAVE_RANDOM): Define it just once.
9169
9170 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
9171
9172 * eval.c: Undo last change: the standard syntax is not wanted.
9173
9174 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
9175
9176 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
9177 scroll bars of the frame before deleting the frame itself. If the
9178 frame has a widget, delete the frame with XtDestroyWidget, and do
9179 not call XDestroyWindow before that.
9180
9181 2001-12-06 Kim F. Storm <storm@cua.dk>
9182
9183 * xfns.c (x_report_frame_params): Return actual fringe widths.
9184
9185 * w32fns.c (x_report_frame_params): Return actual fringe widths.
9186
9187 2001-12-05 Andrew Innes <andrewi@gnu.org>
9188
9189 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
9190 excessively large.
9191
9192 * insdel.c (make_gap_larger): New function.
9193 (make_gap_smaller): New function.
9194 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
9195 Call make_gap_smaller if arg is negative.
9196
9197 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
9198
9199 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
9200 Pass a dummy argument when calling interrupt_signal.
9201 (parse_menu_item): Mark disabled items before checking for empty def.
9202 (read_char_minibuf_menu_prompt): Make safety more visible.
9203 (read_key_sequence): Add a `first_unbound' variable.
9204 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
9205 unbound prefix as soon as we can detect it.
9206
9207 * doc.c (Fsnarf_documentation): Add prototype.
9208 (get_doc_string): Handle negative arguments.
9209 (Fdocumentation): Use AREF and ASIZE.
9210 Move the calls to get_doc_string to a single place.
9211 Don't confuse an interactive-spec for a docstring reference.
9212 (Fdocumentation_property): Take advantage of the fact that
9213 get_doc_string now ignores the sign of the docstring position.
9214
9215 * eval.c: Use standard syntax for usage in docstrings.
9216
9217 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9218
9219 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
9220
9221 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9222
9223 * xterm.c (x_draw_image_relief): Use predefined macro instead of
9224 constant when the value of `tool_bar_button_relief' is negative.
9225
9226 2001-12-02 Richard M. Stallman <rms@gnu.org>
9227
9228 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
9229 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
9230
9231 * fileio.c (read_non_regular): Delete Fsignal call.
9232
9233 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
9234
9235 * lisp.h (run_hook_list_with_args): Undo last change.
9236
9237 2001-12-01 Gerd Moellmann <gerd@gnu.org>
9238
9239 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
9240
9241 2001-12-01 Jason Rumney <jasonr@gnu.org>
9242
9243 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
9244
9245 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
9246 [!WM_MOUSELEAVE]: Define.
9247
9248 * w32menu.c (current_popup_menu, get_menu_item_info):
9249 (set_menu_item_info): New vars.
9250 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
9251 (w32_menu_show): Set current_popup_menu.
9252 (add_menu_item): Allocate new strings for owner-drawn menu items
9253 and help strings.
9254 Use owner-draw for disabled menu items again.
9255 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
9256 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
9257
9258 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
9259 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
9260 <WM_EXITMENULOOP>: Free menu strings.
9261 <WM_MOUSELEAVE>: Stop tracking mouse.
9262 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
9263
9264 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
9265 and mouse face.
9266
9267 2001-12-01 Kim F. Storm <storm@cua.dk>
9268
9269 The following changes add left-fringe and right-fringe
9270 frame parameters to adjust fringe widths, or remove one or
9271 both fringes.
9272
9273 * frame.h (struct frame): Remove trunc_area_pixel_width and
9274 trunc_area_cols fields.
9275 (Qleft_fringe, Qright_fringe): Declare.
9276 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
9277
9278 * frame.c (Qleft_fringe, Qright_fringe): New vars.
9279 (syms_of_frame): Initialize them.
9280
9281 * window.c (coordinates_in_window): Handle separate left and right
9282 fringe widths.
9283
9284 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
9285 and fringe_cols fields.
9286 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
9287 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
9288 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
9289 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
9290 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
9291 (x_compute_fringe_widths): Add prototype.
9292
9293 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
9294 fill fringe evenly with small dashes.
9295 (x_draw_fringe_bitmap): Clear background if necessary. Align and
9296 clip the new ZV bitmap to avoid jitter between rows.
9297 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
9298 background. Don't draw fringe bitmaps if fringe width is zero.
9299 (x_compute_fringe_widths): New function.
9300 (x_new_font, x_set_window_size_1): Use it.
9301
9302 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
9303 (x_set_frame_parameters): Process `font' parameter before other
9304 parameters as fringe widths depend on it.
9305 (x_set_fringe_width): New function.
9306 (x_figure_window_size): Use x_compute_fringe_widths.
9307 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
9308 parameters.
9309
9310 * widget.c (set_frame_size): Use x_compute_fringe_widths.
9311 (EmacsFrameSetCharSize): Ditto.
9312
9313 * w32term.h: Merged changes from xterm.h.
9314 * w32term.c: Merged changes from xterm.c.
9315 * w32fns.c: Merged changes from xfns.c.
9316
9317 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9318
9319 * COPYING: Removed.
9320
9321 2001-11-29 Dave Love <fx@gnu.org>
9322
9323 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
9324 extra extra slot.
9325 (detect_coding_mask): Fix call of detect_coding_iso2022.
9326
9327 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9328
9329 * fileio.c (file-name-coding-system)
9330 (default-file-name-coding-system): Doc fix (links to referenced
9331 variables added).
9332
9333 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
9334
9335 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
9336 Add dummy uses of gcproN variables.
9337
9338 * category.c (describe_category, describe_category_1)
9339 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
9340 (syms_of_category): Don't defsubr Sdescribe_categories.
9341
9342 2001-11-28 Richard M. Stallman <rms@gnu.org>
9343
9344 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
9345
9346 * Makefile.in (lispdir): New variable, referring to build dir.
9347 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
9348
9349 2001-11-28 Andrew Innes <andrewi@gnu.org>
9350
9351 * w32menu.c (w32_menu_display_help): Actually add the new argument
9352 OWNER.
9353
9354 2001-11-28 Jason Rumney <jasonr@gnu.org>
9355
9356 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
9357 menu items. From David Ponce <dponce@wanadoo.fr>.
9358 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
9359 conditionally.
9360 (w32_menu_display_help): New argument OWNER. Rewritten to store a
9361 help event in the owner frame's keyboard buffer.
9362
9363 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
9364 (Fx_show_tip): Don't subtract last width from row width.
9365
9366 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
9367 (w32_read_socket): Use EQ to compare frames.
9368
9369 2001-11-28 Gerd Moellmann <gerd@gnu.org>
9370
9371 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
9372 OVERLAPS_P.
9373
9374 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9375
9376 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
9377 `gcpro3' and `gcpro4'.
9378
9379 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
9380
9381 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
9382
9383 * ccl.c: Use AREF and ASIZE.
9384
9385 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
9386
9387 * lisp.h (run_hook_list_with_args): Remove.
9388 (LIST_END_P): Fix call to wrong_type_argument.
9389 (make_fixnum_or_float): Use EMACS_INT rather than int.
9390
9391 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
9392
9393 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
9394 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
9395
9396 * eval.c: Use AREF and ASIZE.
9397 (Ffetch_bytecode): Add the file name to the error message.
9398
9399 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
9400 which match the end of the file-name.
9401 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
9402 is not a valid env var, but leave it as is instead.
9403
9404 * keymap.c (access_keymap): Handle t bindings like nil bindings.
9405 Make nil bindings in char-tables transparent.
9406 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
9407
9408 2001-11-26 Richard M. Stallman <rms@gnu.org>
9409
9410 * textprop.c (set_text_properties_1): Allow START, END in either order.
9411 Do nothing if range is empty.
9412
9413 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
9414
9415 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
9416 (clean): Not here.
9417
9418 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
9419
9420 * textprop.c (set_text_properties_1): Clearly mark that the
9421 interval should not be empty.
9422
9423 * intervals.c (graft_intervals_into_buffer):
9424 Don't call set_text_properties_1 on an empty interval.
9425
9426 2001-11-25 Richard M. Stallman <rms@gnu.org>
9427
9428 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
9429
9430 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
9431 don't lose the data in it.
9432
9433 2001-11-25 Juanma Barranquero <lektu@terra.es>
9434
9435 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
9436
9437 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
9438
9439 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
9440
9441 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
9442
9443 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
9444
9445 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
9446
9447 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
9448 Niemitalo <kon@iki.fi>.
9449
9450 2001-11-25 Jason Rumney <jasonr@gnu.org>
9451
9452 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
9453
9454 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
9455 (Fx_show_tip): Block input during frame creation.
9456 (Fx_show_tip, Fx_hide_tip): Enable.
9457
9458 2001-11-24 Richard M. Stallman <rms@gnu.org>
9459
9460 * lread.c (Fload): Detect recursive load error for more than 3
9461 nestings of the same file.
9462 (Vrecursive_load_depth_limit): Variable deleted.
9463 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
9464
9465 2001-11-24 Jason Rumney <jasonr@gnu.org>
9466
9467 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
9468 mouse position if either left or top is not specified.
9469
9470 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
9471 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
9472 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
9473 (my_create_tip_window): Assign tip_window.
9474 (x_create_tip_frame): Use same defaults as X.
9475 (compute_tip_xy): Remove unused variable. Use full screen width.
9476 (Fx_show_tip): Do not double height. Call ShowWindow directly.
9477
9478 * w32term.c (x_after_update_window_line): Doc fix.
9479 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
9480 frames.
9481 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
9482
9483 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
9484 for all Windowed systems.
9485
9486 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
9487
9488 * msdos.c (IT_clear_screen): If the frame's faces are not yet
9489 realized, use the initial screen colors to clear the screen.
9490
9491 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9492
9493 * textprop.c (Fset_text_properties): Remove unused variables
9494 `unchanged', `prev_changed', `s' and `len'.
9495
9496 * search.c (Freplace_match): Remove unused variable `inslen'.
9497
9498 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
9499
9500 2001-11-22 Jason Rumney <jasonr@gnu.org>
9501
9502 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
9503 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
9504 (my_create_tip_window): New function.
9505 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
9506 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
9507
9508 2001-11-20 Jason Rumney <jasonr@gnu.org>
9509
9510 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
9511 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
9512
9513 * w32fns.c (Vw32_system_coding_system): Remove.
9514 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
9515
9516 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
9517
9518 * fileio.c (Fwrite_region): Move choose_write_coding_system to
9519 after build_annotations.
9520
9521 * syntax.c (describe_syntax): Add dummy arg.
9522 (describe_syntax_1): Update call to describe_vector.
9523
9524 * category.c (describe_category): Add dummy arg.
9525 (describe_category_1): Update call to describe_vector.
9526
9527 * keymap.c (Fdescribe_vector): Add `describer' parameter.
9528 (describe_command, describe_translation): Add dummy second param.
9529 (describe_map): Call elt_describer with two arguments.
9530 (describe_vector_princ): Add `fun' parameter.
9531 Call it instead of the hardcoded `princ'.
9532 (describe_vector): Add arg `args'.
9533 Pass it as a new second argument to elt_describer.
9534
9535 * keymap.h (describe_vector): Update prototype.
9536
9537 * frame.c: Don't include keymap.h any more.
9538 (keys_of_frame): Remove.
9539
9540 * lisp.h (keys_of_frame): Remove declaration.
9541
9542 * emacs.c (main): Don't call `keys_of_frame' any more.
9543
9544 2001-11-14 Andreas Schwab <schwab@suse.de>
9545
9546 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
9547 if defined, 0 otherwise.
9548 (MAP_FAILED): Define if not defined and use it to test mmap failure.
9549 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
9550
9551 2001-11-19 Richard M. Stallman <rms@gnu.org>
9552
9553 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
9554
9555 2001-11-18 Jason Rumney <jasonr@gnu.org>
9556
9557 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
9558 (x_draw_bar_cursor): If the background color of the glyph under
9559 the cursor equals the frame's cursor color, use the glyph's
9560 foreground color for drawing the bar cursor.
9561 (x_after_update_window_line): Clear internal border in different
9562 circumstances.
9563 (w32_set_vertical_scroll_bar): Check for width and height > 0.
9564 (w32_draw_relief_rect): Correct relief by 1 pixel.
9565 (x_set_glyph_string_background_width):
9566 Set extends_to_end_of_line_p if the row's fill_line_p is set and
9567 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
9568 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
9569 if cursor_in_non_selected_windows is false.
9570 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
9571 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
9572 Notice if cursor gets overwritten.
9573 (notice_overwritten_cursor): Renamed from
9574 note_overwritten_text_cursor. Rewritten to take glyph widths
9575 into account, and to take X positions as parameters.
9576 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
9577 around call to x_draw_glyphs.
9578 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
9579 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
9580 color to use for image glyph reliefs.
9581 (x_draw_image_relief): Accept zero tool_bar_button_relief.
9582 (glyph_rect): Remove unused variable `area'.
9583
9584 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
9585 some items.
9586 (x_set_internal_border_width): Set frame garbaged when window
9587 doesn't exist yet.
9588 (Fx_create_frame): Accept zero tool_bar_button_relief.
9589 (x_clear_image_1, four_corners_best, image_background)
9590 (image_background_transparent): New functions.
9591 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
9592 (gs_format): Add `:background' entry.
9593 (lookup_image): Set IMG's background color if specified.
9594 (pbm_load, xbm_load_image, png_load): Set IMG's background field
9595 when appropriate.
9596 (x_clear_image_1): Reset `background_valid' and
9597 `background_transparent_valid' fields.
9598 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
9599 calculating it here. Set IMG's background_transparent field.
9600 (enum xpm_keyword_index): Add XPM_BACKGROUND.
9601 (enum png_keyword_index): Add PNG_BACKGROUND.
9602 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
9603 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
9604 (enum gif_keyword_index): Add GIF_BACKGROUND.
9605 (enum gs_keyword_index): Add GS_BACKGROUND.
9606 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
9607 Pre-calculate image background color where necessary.
9608 (x_create_x_image_and_pixmap, xbm_load, gs_load):
9609 Use display info's n_cbits entry for screen depth.
9610 (Fx_show_tip): Remove unused variables `buffer', `top',
9611 `left', `max_width' and `max_height'.
9612
9613 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
9614
9615 2001-11-18 Gerd Moellmann <gerd@gnu.org>
9616
9617 * puresize.h (BASE_PURESIZE): Increase to 750000.
9618
9619 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9620
9621 * frame.c (Fframe_live_p): Doc fix.
9622
9623 2001-11-18 Richard M. Stallman <rms@gnu.org>
9624
9625 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
9626 (message_dolog_marker3): New static variables hold three markers.
9627 (syms_of_xdisp): Initialize and staticpro them.
9628 (message_dolog): Use message_dolog_marker1..3 instead of
9629 allocating markers each time. Unchain them when done.
9630
9631 2001-11-17 Richard M. Stallman <rms@gnu.org>
9632
9633 * doc.c (Fsnarf_documentation): Doc fix.
9634
9635 2001-11-17 Andreas Schwab <schwab@suse.de>
9636
9637 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
9638
9639 2001-11-17 Richard M. Stallman <rms@gnu.org>
9640
9641 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
9642
9643 2001-11-17 Jason Rumney <jasonr@gnu.org>
9644
9645 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
9646
9647 2001-11-17 Gerd Moellmann <gerd@gnu.org>
9648
9649 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
9650 with invalid position.
9651
9652 2001-11-16 Richard M. Stallman <rms@gnu.org>
9653
9654 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
9655
9656 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
9657 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
9658 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
9659
9660 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
9661
9662 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
9663
9664 * fileio.c (build_annotations): Split off the tail.
9665 (build_annotations_2): New fun. Extracted from build_annotations.
9666 (Fwrite_region): Split the call to build_annotations into two
9667 calls to build_annotations and build_annotations_2.
9668
9669 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9670
9671 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
9672 clear_waiting_for_input with argument.
9673
9674 * xterm.h (x_update_cursor): Remove duplicated prototype.
9675
9676 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
9677
9678 * xterm.c (waiting_for_input): Remove unnecessary declaration.
9679
9680 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
9681
9682 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
9683
9684 * fileio.c (choose_write_coding_system): New fun, extracted
9685 from Fwrite_region.
9686 (Fwrite_region): Use it.
9687
9688 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
9689 (funcall_lambda, run_hook_with_args): Make static and add prototype.
9690 (ml_apply, find_handler_clause): Add prototype.
9691
9692 2001-11-16 Eli Zaretskii <eliz@gnu.org>
9693
9694 * config.in: Add #undef HAVE_COFF_H.
9695
9696 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
9697 Required for ISC 4.1.
9698
9699 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
9700
9701 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
9702 Andrew Wiseman <a.wiseman@btclick.com>.
9703
9704 2001-11-16 Kim F. Storm <storm@cua.dk>
9705
9706 The following changes are made to clean up the various internal
9707 references to the fringes to actually use the term `fringe' for
9708 them. Previously, they were called `flags areas', `bitmap areas',
9709 `left/right side of windows', or implicitly as `flags' or
9710 `bitmaps':
9711
9712 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
9713 Comments fixed. Use renamed symbols.
9714
9715 * dispnew.c: Comment fix. Use renamed symbols.
9716
9717 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
9718 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
9719 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
9720
9721 * msdos.c: Comment fix.
9722
9723 * w32fns.c: Use renamed symbols.
9724
9725 * w32term.c: Comment fixes. Use renamed symbols.
9726 (fringe_bitmap_type): Renamed from bitmap_type.
9727 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
9728 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
9729 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
9730
9731 * w32term.h: Comment fixes. Use renamed symbols.
9732 (fringes_extra): Renamed from flags_areas_extra.
9733 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
9734 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
9735 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
9736 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
9737 (FRAME_X_LEFT_FRINGE_WIDTH):
9738 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
9739 (FRAME_X_RIGHT_FRINGE_WIDTH):
9740 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
9741
9742 * widget.c: Use renamed symbols.
9743
9744 * window.c: Comment fixes. Use renamed symbols.
9745 (coordinates-in-window-p): Doc fix.
9746
9747 * xdisp.c: Comment fixes. Use renamed symbols.
9748
9749 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
9750
9751 * xfns.c: Use renamed symbols.
9752
9753 * xterm.c: Comment fixes. Use renamed symbols.
9754 (fringe_bitmap_type): Renamed from bitmap_type.
9755 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
9756 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
9757 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
9758
9759 * xterm.h: Comment fixes. Use renamed symbols.
9760 (fringes_extra): Renamed from flags_areas_extra.
9761 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
9762 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
9763 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
9764 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
9765 (FRAME_X_LEFT_FRINGE_WIDTH):
9766 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
9767 (FRAME_X_RIGHT_FRINGE_WIDTH):
9768 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
9769
9770 2001-11-15 Jason Rumney <jasonr@gnu.org>
9771
9772 * w32menu.c (add-menu-item): Make help_echo and radio buttons
9773 work for most menu items. From David Ponce
9774 <david.ponce@wanadoo.fr>.
9775
9776 2001-11-15 Gerd Moellmann <gerd@gnu.org>
9777
9778 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
9779 Some x_set_* function expect to be called even if old and new
9780 value are equal.
9781
9782 * xdisp.c (build_desired_tool_bar_string): Accept zero
9783 tool_bar_button_relief.
9784
9785 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
9786
9787 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
9788
9789 * xterm.c (x_draw_bar_cursor): If the background color of the
9790 glyph under the cursor equals the frame's cursor color, use
9791 the glyph's foreground color for drawing the bar cursor.
9792
9793 * dispnew.c (direct_output_forward_char): Fix character/byte
9794 position comparison.
9795
9796 2001-11-15 Miles Bader <miles@gnu.org>
9797
9798 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
9799 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
9800 Update arguments to find_field.
9801 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
9802 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
9803 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
9804 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
9805
9806 2001-11-14 Richard M. Stallman <rms@gnu.org>
9807
9808 * editfns.c (Fpropertize): Allow call with 1 arg.
9809
9810 * dispextern.h (image_background, image_background_transparent):
9811 Conditionalize on HAVE_X_WINDOWS.
9812
9813 2001-11-13 Richard M. Stallman <rms@gnu.org>
9814
9815 * print.c (Fprin1_to_string): Doc fix.
9816
9817 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
9818
9819 * floatfns.c (Fceiling, Ffloor): Doc fixes.
9820
9821 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
9822
9823 * fileio.c (Ffile_accessible_directory_p): Doc fix.
9824
9825 * eval.c (syms_of_eval): Doc fix.
9826
9827 * coding.c (syms_of_coding): Doc fix.
9828
9829 * doc.c (Fsnarf_documentation): Doc fix.
9830
9831 * dispnew.c (syms_of_display): Doc fix.
9832
9833 * category.c (Fget_unused_category): Doc fix.
9834
9835 * buffer.c (syms_of_buffer): Doc fixes.
9836
9837 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
9838
9839 * print.c (prin1, print): Doc fix.
9840
9841 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9842
9843 * fontset.h: Remove declarations of variables
9844 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
9845
9846 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
9847 `Vclip_large_size_font'.
9848
9849 2001-11-13 Jason Rumney <jasonr@gnu.org>
9850
9851 * w32fns.c: Doc fix.
9852
9853 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9854
9855 * xfaces.c (Fface_attributes_as_vector): Doc fix.
9856
9857 * fns.c: Doc fix.
9858
9859 * emacs.c: Doc fix.
9860
9861 * coding.c: Doc fix.
9862
9863 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
9864 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
9865 `new style' [w/`doc:' keyword].
9866
9867 2001-11-12 Richard M. Stallman <rms@gnu.org>
9868
9869 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
9870 LeaveNotify events. Only FocusIn and FocusOut do that now.
9871 (x_display_and_set_cursor): Do display hollow cursors in active
9872 minibuffer windows when they are not selected.
9873
9874 2001-11-12 Jason Rumney <jasonr@gnu.org>
9875
9876 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
9877 * w32term.c: Change doc-string comments to `new style'.
9878 [w/`doc:' keyword]. Doc fixes.
9879
9880 * w32fns.c: Don't define max.
9881 (Fx_open_connection): Only execute once.
9882
9883 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9884
9885 * ccl.c: Change macros to use do-while block instead of if-else.
9886 Use braces to follow GNU Coding Standards.
9887
9888 2001-11-11 Richard M. Stallman <rms@gnu.org>
9889
9890 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
9891
9892 * lread.c (read_escape): Use end_of_file_error for reporting eof.
9893
9894 * insdel.c (replace_range): Use adjust_markers_for_replace
9895 instead of adjust_markers_for_delete and adjust_markers_for_insert.
9896
9897 * intervals.h: Declare set_text_properties and set_text_properties_1.
9898
9899 * textprop.c (set_text_properties_1): New subroutine
9900 broken out of set_text_properties.
9901 (set_text_properties): Use set_text_properties_1.
9902
9903 * intervals.c (graft_intervals_into_buffer):
9904 Use set_text_properties_1 to clear out properties.
9905
9906 * search.c (Freplace_match): Use replace_range to insert
9907 and delete. Don't request property inheritance from
9908 surrounding text.
9909
9910 2001-11-10 Jason Rumney <jasonr@gnu.org>
9911
9912 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
9913 vertical fonts. Allow them if face name is explicitly specified.
9914 Do not give up if we find a font that cannot be converted to an xlfd.
9915
9916 2001-11-10 Gerd Moellmann <gerd@gnu.org>
9917
9918 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
9919 instead of malloc/free.
9920
9921 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9922
9923 * xfaces.c (merge_face_vectors): Use braces to follow GNU
9924 Coding Standards.
9925 (Finternal_set_lisp_face_attribute): Likewise.
9926
9927 * buffer.c (Fbury_buffer): Likewise.
9928
9929 * indent.c (current_column_1): Remove unused variable `prev_col'.
9930
9931 * coding.c (encode_coding): Use precomputed value of `src'.
9932 (encode_coding): Remove unused variable `src_end'.
9933 (code_convert_region): Remove unused variables `count'.
9934
9935 2001-11-07 Jason Rumney <jasonr@gnu.org>
9936
9937 * w32term.c (x_display_and_set_cursor): Do not move system caret
9938 if cursor_glyph is NULL.
9939
9940 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9941
9942 * keymap.c (access_keymap): Fix compilation error.
9943
9944 2001-11-07 Miles Bader <miles@gnu.org>
9945
9946 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
9947
9948 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9949
9950 * intervals.c (graft_intervals_into_buffer):
9951 Remove #ifdef'd-out code.
9952 (graft_intervals_into_buffer): Remove unused variable `middle'.
9953
9954 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
9955 code (eval-current-buffer).
9956 Change doc-string comments to `new style' [w/`doc:' keyword].
9957
9958 2001-11-06 Richard M. Stallman <rms@gnu.org>
9959
9960 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
9961
9962 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
9963
9964 * lread.c (read1): Fix behavior with nested backquoting.
9965
9966 * keyboard.c (make_lispy_event): Check integerness and fix
9967 Lisp_Object/int mixup.
9968
9969 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9970
9971 * fns.c (copy_hash_table): Remove unused variable `v'.
9972
9973 * fontset.c (fontset_font_pattern): Remove unused variable
9974 `family_registry'.
9975
9976 * indent.c (current_column_1): Remove unused variable `prev_col'.
9977
9978 2001-11-05 Richard M. Stallman <rms@gnu.org>
9979
9980 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
9981
9982 * buffer.c (Fkill_buffer): Don't delete auto save file
9983 if buffer is modified.
9984
9985 2001-11-05 Andrew Innes <andrewi@gnu.org>
9986
9987 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
9988 CHECK_NUMBER_CDR.
9989
9990 2001-11-05 Richard M. Stallman <rms@gnu.org>
9991
9992 * unexelf.c (unexec): Minor changes; clean up comments.
9993
9994 2001-11-05 Sam Steingold <sds@gnu.org>
9995
9996 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
9997
9998 2001-11-05 Andreas Schwab <schwab@suse.de>
9999
10000 * sound.c (sound_perror): Save errno from being clobbered.
10001
10002 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
10003
10004 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
10005 the program image directly.
10006
10007 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10008
10009 * buffer.h (Fbuffer_local_value): Add prototype.
10010
10011 2001-11-04 Richard M. Stallman <rms@gnu.org>
10012
10013 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
10014 and CHECK_BUFFER.
10015
10016 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
10017 (record_char): Likewise.
10018
10019 * keyboard.c (make_lispy_event): Don't insist a drag event must
10020 move to a different buffer position. Instead, check for moving at
10021 least double_click_fuzz.
10022
10023 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
10024
10025 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
10026
10027 * indent.c (current_column_1, Fmove_to_column): Separate the code
10028 for display-table glyphs from the code for buffer text, to fix
10029 bugs in the former.
10030
10031 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
10032
10033 * buffer.c (Fbuffer_local_value): New function.
10034 (syms_of_buffer): Defsubr it.
10035
10036 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
10037 value of `cursor-in-non-selected-windows'.
10038
10039 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
10040 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
10041 (syms_of_xdisp): Initialize it.
10042
10043 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10044
10045 * xfns.c (Fx_create_frame): Doc fix.
10046
10047 * coding.c: Change doc-string comments to `new style' [w/`doc:'
10048 keyword].
10049
10050 * eval.c (top_level_value, top_level_set): Remove commented and
10051 #ifdef'd-out code.
10052 (Fdefvar): Fix usage in doc-string.
10053
10054 2001-11-03 Richard M. Stallman <rms@gnu.org>
10055
10056 * xfns.c: Include unistd.h, if it exists.
10057
10058 * editfns.c: Move the include of ctype.h after unistd.h.
10059
10060 * gmalloc.c: Test BROKEN_PROTOTYPES.
10061
10062 2001-11-03 Ken Raeburn <raeburn@gnu.org>
10063
10064 * lisp.h (CHECK_STRING_CAR): New macro.
10065 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
10066 treating XCAR and XCDR as lvalues.
10067 (openp): Use CHECK_STRING_CAR.
10068 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
10069
10070 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
10071
10072 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
10073 (SIGMASKTYPE): Define.
10074
10075 * syssignal.h (sigunblock): Don't define if already defined.
10076
10077 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10078
10079 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
10080 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
10081 Fix typos in comments.
10082
10083 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
10084 and #ifdef'd-out code.
10085 Fix and reindent comments.
10086
10087 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
10088
10089 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
10090 argument `i' in macros.
10091
10092 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
10093 `i' in macros.
10094
10095 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
10096 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
10097 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
10098 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
10099 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
10100 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
10101 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
10102 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
10103 in macros.
10104
10105 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
10106 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
10107 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
10108 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
10109 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
10110 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
10111 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
10112 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
10113 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
10114 (remove unused second argument).
10115
10116 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
10117
10118 * syntax.c (describe_syntax): New wrapper.
10119 (Finternal_describe_syntax_value): Rename from describe_syntax.
10120 Don't insert space at front and \n at the end.
10121 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
10122
10123 * regex.c (re_wctype): Try to fix some warnings.
10124 (regcomp, regexec): Don't forget the __restrict.
10125
10126 2001-11-02 Richard M. Stallman <rms@gnu.org>
10127
10128 * textprop.c (Fget_char_property): Doc fix.
10129
10130 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10131
10132 * process.c (Fstart_process): Add usage to doc-string.
10133
10134 * data.c (Fsetq_default): Ditto.
10135
10136 * callint.c (Finteractive): Ditto.
10137
10138 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
10139
10140 * macros.c: Don't include keymap.h any more.
10141
10142 2001-11-01 Richard M. Stallman <rms@gnu.org>
10143
10144 * data.c (Fmake_local_variable): Doc fix.
10145
10146 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
10147 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
10148
10149 * keymap.c (Fdescribe_buffer_bindings): Print character property
10150 bindings along with or instead of the buffer local map.
10151 Make the overriding maps override what they should.
10152
10153 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10154
10155 * window.c (grow_mini_window): Fix typo in comment.
10156
10157 2001-11-01 Gerd Moellmann <gerd@gnu.org>
10158
10159 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
10160 (XTset_vertical_scroll_bar): Likewise.
10161
10162 * xfns.c (x_build_heuristic_mask): Use four_corners_best
10163 instead of IMAGE_BACKGROUND.
10164
10165 * xfns.c (four_corners_best): Reindent.
10166
10167 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
10168 Handle :box so that it is possible to specify sexprs.
10169
10170 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
10171
10172 * s/hpux11.h: New file.
10173
10174 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10175
10176 * emacs.c (USAGE1): Show command line option --no-window-system
10177 instead of --no-windows in usage.
10178 (standard_args): Rename --no-windows to --no-window-system.
10179 (bug_reporting_address): Follow Emacs coding conventions.
10180
10181 * eval.c (Fcommandp): Doc fix.
10182 Change doc-string comments to `new style' [w/`doc:' keyword].
10183
10184 * frame.c (Fframe_live_p): Doc fix.
10185
10186 * buffer.c (selective-display-ellipses): Doc fix.
10187
10188 2001-10-31 Gerd Moellmann <gerd@gnu.org>
10189
10190 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
10191
10192 * xfaces.c (realize_x_face): If C is not a single-byte character,
10193 set the face's colors_copied_bitwise_p instead of the defaulted_p
10194 members which have a different meaning.
10195 (free_face_colors): Do nothing for a face whose colors have been
10196 copied bitwise.
10197
10198 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
10199
10200 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10201
10202 * marker.c, mocklisp.c: Change doc-string comments to `new style'
10203 [w/`doc:' keyword].
10204
10205 2001-10-31 Gerd Moellmann <gerd@gnu.org>
10206
10207 * fns.c (require_unwind): Return Lisp_Object.
10208
10209 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10210
10211 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
10212 (last-input-char): Revert doc-string to be the same as the
10213 doc-string of `last-input-event'.
10214
10215 * xdisp.c: Fix typos in comments.
10216
10217 2001-10-31 Gerd Moellmann <gerd@gnu.org>
10218
10219 * window.c (grow_mini_window): Handle case that the root
10220 window is already smaller than the nominal mininum height.
10221
10222 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
10223
10224 * emacs.c (main): Don't call keys_of_macros any more.
10225
10226 * lisp.h (keys_of_macros): Remove.
10227
10228 * macros.c (keys_of_macros): Remove.
10229
10230 * xfaces.c (Fface_attribute_relative_p): Declare args.
10231
10232 2001-10-30 Jason Rumney <jasonr@gnu.org>
10233
10234 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
10235 (enum_font_cb2): Ignore fonts with vertical orientation.
10236
10237 2001-10-30 Richard M. Stallman <rms@gnu.org>
10238
10239 * keyboard.c (Finput_pending_p): Doc fix.
10240
10241 2001-10-30 Gerd Moellmann <gerd@gnu.org>
10242
10243 * xterm.c (x_after_update_window_line): Don't run the code
10244 clearing in borders for rows whose visible height is 0.
10245
10246 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
10247 resized_p flag is set. If not set, use the much less flickering
10248 method previously used.
10249
10250 * dispnew.c (change_frame_size_1): Set frame's resized_p.
10251
10252 * frame.h (struct frame) <resized_p>: New member.
10253
10254 * lread.c (to_multibyte): Ensure read_buffer is at least twice
10255 as large as the number of bytes to convert.
10256
10257 * lread.c (to_multibyte): New function.
10258 (read1): Use it.
10259
10260 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
10261
10262 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
10263
10264 2001-10-30 Gerd Moellmann <gerd@gnu.org>
10265
10266 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
10267 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
10268 if the row's fill_line_p is set and drawing the last glyph with
10269 DRAW_IMAGE_{RAISED,SUNKEN}.
10270
10271 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
10272
10273 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
10274
10275 * xmenu.c: Include coding.h and charset.h.
10276 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
10277 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
10278 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
10279 Explicitly set wv->help. Use `TRUE' rather than `True'.
10280 (menu_help_callback): Use empty_string.
10281
10282 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
10283 (Fx_popup_dialog): Explicitly init f.
10284 (w32_menu_display_help): Use empty_string.
10285
10286 2001-10-29 Richard M. Stallman <rms@gnu.org>
10287
10288 * fns.c (Frequire): Detect recursive try to require the same
10289 feature 3 or more levels deep, and get error.
10290 (require_unwind): New subroutine.
10291 (require_nesting_list): New variable.
10292 (syms_of_fns): Init and staticpro it.
10293
10294 * print.c (print_object): Clarify indication of insertion type.
10295
10296 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
10297
10298 * coding.c (syms_of_coding): Document that locale-coding-system is
10299 used for decoding input on X.
10300
10301 * window.c (Fscroll_left, Fscroll_right): Doc fix.
10302
10303 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10304
10305 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
10306 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
10307
10308 2001-10-29 Gerd Moellmann <gerd@gnu.org>
10309
10310 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
10311 use NO_CURSOR if cursor_in_non_selected_windows is false.
10312
10313 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
10314 the slant attribute if FRAME is t.
10315
10316 * xfns.c (x_set_internal_border_width): Set frame garbaged
10317 when X window doesn't exist yet.
10318
10319 * xterm.c (x_after_update_window_line): Clear internal border
10320 in different circumstances.
10321
10322 * xterm.c (XTread_socket) <KeyPress>: Don't use
10323 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
10324 <handa@etl.go.jp>.
10325
10326 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
10327
10328 * m/ibms390.h: New file. From Adam Thornton
10329 <athornton@sinenomine.net>.
10330
10331 2001-10-28 Gerd Moellmann <gerd@gnu.org>
10332
10333 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
10334
10335 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
10336 a loop counter.
10337
10338 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10339
10340 * emacs.c: Use argv[0] instead of emacs when -t was specified.
10341
10342 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
10343 keyword].
10344 Fix typos in comments.
10345
10346 * emacs.c (bug_reporting_address): New function.
10347 Use it when displaying usage message.
10348
10349 * minibuf.c (read_minibuf): Remove unused external declaration of
10350 variable `Qread_only'.
10351
10352 * keymap.c (access_keymap): Remove unused variable `charset'.
10353
10354 2001-10-28 Miles Bader <miles@gnu.org>
10355
10356 * xfaces.c (merge_face_heights): Handle TO being relative as well.
10357 Remove #ifdef'd-out code.
10358 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
10359 (syms_of_xfaces): Initialize them.
10360
10361 2001-10-27 Jason Rumney <jasonr@gnu.org>
10362
10363 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
10364 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
10365 position using the system caret.
10366
10367 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
10368 (w32_system_caret_height, w32_system_caret_x)
10369 (w32_system_caret_y): New variables for tracking system caret.
10370 (w32_initialize): Initialize them.
10371 (x_display_and_set_cursor): Make system caret follow the active cursor.
10372
10373 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
10374 New messages types.
10375
10376 * w32term.c (note_mouse_highlight): Clear old help_echo.
10377
10378 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10379
10380 * xterm.c: Fix typo in a comment.
10381
10382 * emacs.c: Fix typos in comments.
10383 Remove unnecessary spaces.
10384 Change doc-string comments to `new style' [w/`doc:' keyword].
10385 (USAGE2): Fix typos in usage string.
10386
10387 * xterm.c: Fix typo in a comment.
10388
10389 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
10390 emacs.c.
10391
10392 2001-10-27 Gerd Moellmann <gerd@gnu.org>
10393
10394 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
10395 instead of 1/2 line_height in the heuristic for skipping
10396 farther backward when target_y was not reached.
10397
10398 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
10399 Display errno only if non-zero.
10400 (sound_warning): New function.
10401 (vox_configure): Don't treat failing to set sample rate as error.
10402 (various places): Improve error messages.
10403
10404 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
10405
10406 * fileio.c (Faccess_file): Run the argument filename through
10407 Fexpand_file_name, before using it.
10408
10409 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
10410 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
10411
10412 2001-10-26 Gerd Moellmann <gerd@gnu.org>
10413
10414 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
10415
10416 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
10417 Fix clearing in the case of scroll bars on the right.
10418
10419 2001-10-26 Juanma Barranquero <lektu@terra.es>
10420
10421 * w32gui.h (XImage): Add a dummy typedef.
10422
10423 2001-10-26 Gerd Moellmann <gerd@gnu.org>
10424
10425 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
10426
10427 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
10428
10429 * frame.c (Fframe_parameter): Fix last change.
10430
10431 * fileio.c: Revert last change (which removed old commented-out
10432 version of expand-file-name). Add a comment that explains why
10433 this old version should not be removed.
10434
10435 2001-10-25 Gerd Moellmann <gerd@gnu.org>
10436
10437 * frame.c (Fframe_parameter): Fix a bug whereby some
10438 ``artificial'' frame parameters, like `minibuffer' were not
10439 obtained by calling Fframe_parameters.
10440
10441 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
10442 cursor differently.
10443
10444 * xdisp.c (move_it_vertically_backward): Compute line height
10445 differently. Add heuristic to try to be more compatible to 20.x.
10446
10447 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
10448
10449 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
10450
10451 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
10452 boolean.
10453
10454 2001-10-25 Miles Bader <miles@gnu.org>
10455
10456 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
10457 BG is a pointer to a structure, not a structure.
10458 (gif_format, png_format): Add missing commas.
10459
10460 2001-10-24 Richard M. Stallman <rms@gnu.org>
10461
10462 * xfaces.c (Fface_attributes_as_vector): New function.
10463 (syms_of_xfaces): Defsubr it.
10464
10465 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10466
10467 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
10468 variable `area'.
10469
10470 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10471
10472 * search.c (scan_newline): Remove unused variable `selective_display'.
10473
10474 2001-10-25 Miles Bader <miles@gnu.org>
10475
10476 * dispextern.h (struct image): Add `background',
10477 `background_valid', and `background_transparent' fields.
10478 (image_background, image_background_transparent): New declarations.
10479 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
10480 * xfns.c (image_background, image_background_transparent)
10481 (four_corners_best): New functions.
10482 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
10483 (gs_format): Add `:background' entry.
10484 (lookup_image): Set IMG's background color if specified.
10485 (pbm_load, xbm_load_image, png_load): Set IMG's background field
10486 when appropriate.
10487 (x_clear_image_1): Reset `background_valid' and
10488 `background_transparent_valid' fields.
10489 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
10490 calculating it here. Set IMG's background_transparent field.
10491 (enum xpm_keyword_index): Add XPM_BACKGROUND.
10492 (enum png_keyword_index): Add PNG_BACKGROUND.
10493 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
10494 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
10495 (enum gif_keyword_index): Add GIF_BACKGROUND.
10496 (enum gs_keyword_index): Add GS_BACKGROUND.
10497 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
10498 Pre-calculate image background color where necessary.
10499 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
10500 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
10501 color to use for image glyph reliefs.
10502
10503 2001-10-24 Gerd Moellmann <gerd@gnu.org>
10504
10505 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
10506 in full-width rows.
10507
10508 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
10509 Fix clearing of area not covered by scroll bar.
10510
10511 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10512
10513 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
10514 and `real_start'.
10515 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
10516 (glyph_rect): Remove unused variable `area'.
10517
10518 2001-10-24 Gerd Moellmann <gerd@gnu.org>
10519
10520 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
10521
10522 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
10523 (row_containing_pos): Take additional argument DY.
10524 Treat rows ending in middle of char differently.
10525 (display_line): Handle tabs on window systems differently.
10526
10527 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
10528 with additional argument.
10529
10530 * dispextern.h (row_containing_pos): Adjust prototype.
10531
10532 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
10533 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
10534 (try_window_id, try_window_reusing_current_matrix)
10535 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
10536 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
10537
10538 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10539
10540 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
10541 gnuemacs).
10542 (HAVE_BOXES): Fix typo in comment.
10543 (push_menu_pane): Fix typo in comment.
10544
10545 * xdisp.c: (display_prop_string_p): Remove unused local declaration
10546 of `Qwhen'.
10547 (single_display_prop_string_p): Remove unused local declarations
10548 of `Qwhen' and `Qmargin'.
10549 (string_buffer_position): Remove unused variable `around'.
10550 (store_frame_title): Remove unused variable `width'.
10551
10552 * window.c: Don't define max.
10553 (coordinates_in_window): Remove unused variable `uy'.
10554
10555 * widget.c: Don't define max.
10556
10557 * process.c: Don't define max.
10558 (create_process): Remove unused variable `buffer'.
10559
10560 2001-10-23 Gerd Moellmann <gerd@gnu.org>
10561
10562 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
10563
10564 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
10565
10566 * xfaces.c (Finternal_set_lisp_face_attribute)
10567 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
10568 frame is on a windowed display.
10569
10570 2001-10-23 Gerd Moellmann <gerd@gnu.org>
10571
10572 * dispnew.c (sync_window_with_frame_matrix_rows):
10573 Fix handling of windows which aren't full-width, fix handling
10574 of marginal areas.
10575
10576 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
10577
10578 2001-10-23 Andreas Schwab <schwab@suse.de>
10579
10580 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
10581 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
10582
10583 2001-10-23 Gerd Moellmann <gerd@gnu.org>
10584
10585 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
10586 REAL_END. Notice if cursor gets overwritten.
10587 (notice_overwritten_cursor): Take X positions as parameters.
10588 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
10589 around call to x_draw_glyphs.
10590
10591 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10592
10593 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
10594 instead of C) and usage.
10595
10596 * editfns.c (char-to-string): Fix argument names (use CHAR instead
10597 of C) and usage.
10598
10599 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
10600 `left', `max_width' and `max_height'.
10601
10602 2001-10-23 Gerd Moellmann <gerd@gnu.org>
10603
10604 * xdisp.c (display_line): For a tab continued to the next line,
10605 set row's ends_in_middle_of_char_p.
10606
10607 2001-10-22 Gerd Moellmann <gerd@gnu.org>
10608
10609 * xdisp.c (display_line): Fix computation of continuation lines
10610 width for TABs.
10611
10612 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10613
10614 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
10615 `Qlaplace'.
10616
10617 * fileio.c: Remove unused code.
10618
10619 2001-10-22 Miles Bader <miles@gnu.org>
10620
10621 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
10622 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
10623 Remove `DOC_STRINGS_IN_COMMENTS' cases.
10624
10625 2001-10-21 Jason Rumney <jasonr@gnu.org>
10626
10627 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
10628
10629 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
10630
10631 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
10632 (Finsert_string): Avoid the multi-line string literals warning.
10633
10634 2001-10-22 Miles Bader <miles@gnu.org>
10635
10636 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
10637 (Fdocumentation): Don't use it.
10638 (syms_of_doc): Don't initialize it.
10639
10640 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
10641 * print.c (Fwith_output_to_temp_buffer): Likewise.
10642 * window.c (Fsave_window_excursion): Likewise.
10643 * editfns.c (Fsave_excursion, Fsave_current_buffer)
10644 (Fsave_restriction): Likewise.
10645 * eval.c (Frun_hooks, Frun_hook_with_args)
10646 (Frun_hook_with_args_until_failure)
10647 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
10648 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
10649 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
10650 (Funwind_protect, Fcondition_case): Likewise.
10651 * coding.c (Ffind_operation_coding_system): Likewise.
10652 * keyboard.c (Ftrack_mouse): Likewise.
10653
10654 2001-10-21 Miles Bader <miles@gnu.org>
10655
10656 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
10657 (Fmake_hash_table): Add usage: string to doc string.
10658 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
10659 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
10660 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
10661 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
10662 (Fml_prefix_argument_loop): Likewise.
10663
10664 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10665
10666 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
10667
10668 * sysdep.c (init_sys_modes): Change doc-string comments to `new
10669 style' [w/`doc:' keyword].
10670
10671 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
10672 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
10673 comments to `new style' [w/`doc:' keyword].
10674
10675 2001-10-21 Jason Rumney <jasonr@gnu.org>
10676
10677 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
10678
10679 * w32term.c (remember_mouse_glyph): New function.
10680 (w32_mouse_position): Use it.
10681 (note_mouse_movement): If the mouse moved off the glyph, remember
10682 its new position.
10683
10684 * w32term.h (struct w32_output): Correct spelling of x_compatible.
10685 (w32_display_info): Add mouse_face_overlay.
10686
10687 * w32term.c (notice_overwritten_cursor): Renamed from
10688 note_overwritten_text_cursor. Rewritten to take glyph widths into
10689 account.
10690 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
10691 (fast_find_string_pos): New function.
10692 (fast_find_position): Return the correct vpos. Add parameter
10693 STOP. In the final row, stop before glyphs having STOP as object.
10694 Don't consider glyphs that are not from a buffer.
10695 (fast_find_position) [0]: Add a presumably more correct version
10696 for after 21.1.
10697 (expose_window_tree, expose_frame): Don't compute intersections here.
10698 (expose_window): Do it here instead.
10699 (expose_window_tree, expose_window, expose_line): Return 1 when
10700 overwriting mouse-face.
10701 (expose_window): If W is the window currently being updated, mark
10702 the frame garbaged.
10703 (expose_frame): If mouse-face was overwritten, redo it.
10704 (x_use_underline_position_properties): New variable.
10705 (syms_of_xterm): DEFVAR_BOOL it.
10706 (x_draw_glyph_string): Add comment to use it in future.
10707 (x_draw_glyph_string): Restore clipping after drawing box.
10708 Fix a computation of the underline position.
10709 (w32_get_glyph_string_clip_rect): Minor cleanup.
10710 (x_fill_stretch_glyph_string): Remove an assertion.
10711 (x_produce_glyphs): Don't convert multibyte characters
10712 to unibyte characters in unibyte buffers.
10713 (cursor_in_mouse_face_p): New function.
10714 (x_draw_stretch_glyph_string): Use it to choose a different GC
10715 when drawing a cursor within highlighted text. Don't draw
10716 background again if it has already been drawn.
10717 (x_draw_glyph_string_box): Don't draw a full-width
10718 box just because the glyph row's full_width_p flag is set.
10719 (x_draw_glyphs): Fix computation of rightmost x for
10720 full-width rows.
10721 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
10722 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
10723 change bottom shadow accordingly. Some cleanup.
10724 (x_update_window_end): Handle overwritten mouse face
10725 also for tool bar windows.
10726 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
10727 DRAW is DRAW_IMAGE_RAISED.
10728 (clear_mouse_face): Return 1 if text with mouse face was
10729 actually redrawn. Make the function static.
10730 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
10731 optimize away highlighting if we pass over that same overlay again.
10732 (note_mouse_highlight): Call mouse_face_overlay_overlaps
10733 to detect a case where we have to highlight a different region
10734 despite not having left the currently highlighted region.
10735 Set mouse_face_overlay in the x_display_info. Avoid changing the
10736 mouse pointer shape when show_mouse_face has already done it, or
10737 there is no need. Handle mouse-face and help-echo in strings.
10738 (glyph_rect): New function.
10739 (w32_mouse_position): Use it to raise the threshold for mouse
10740 movement event generation.
10741 (w32_initialize_display_info): Initialize the x_display_info's
10742 mouse_face_overlay.
10743 (w32_set_vertical_scroll_bar): Don't clear a zero height
10744 or width area.
10745 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
10746 a widget to zero height.
10747
10748 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
10749 Protect unibyte strings created by replacing their multibyte
10750 equivalents in menu_items.
10751 (w32_menu_show): Don't overwrite an item's name with its key
10752 description in case the description is a multibyte string.
10753 (single_submenu): Some cleanup.
10754
10755 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
10756 (postprocess_image): New function.
10757 (lookup_image): Call it for all image types except PostScript.
10758 (x_kill_gs_process): Call postprocess_image.
10759 (tiff_error_handler, tiff_warning_handler): New functions.
10760 (tiff_load): Install them as handlers.
10761 (x_kill_gs_process): Recognize if someone has cleared the image
10762 cache under us.
10763 (valid_image_p): Protect better against invalid image
10764 specifications. Previous code could signal an error.
10765 (Fx_hide_tip, Fshow_tip): Doc fix.
10766 (Fv_max_tooltip_size): New variable.
10767 (syns_of_xfns): DEFVAR_LISP it.
10768 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
10769 window buffer to *tip* right after creating the frame. Set frame's
10770 window_width. Use a maximum tooltip size specified by
10771 Vx_max_tooltip_size, if that has valid contents.
10772 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
10773 Make sure the tooltip is completely visible.
10774 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
10775 (Fx_create_frame): Adjust the frame's height for presence
10776 of the tool bar before calling x_figure_window_size.
10777 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
10778 when the window gets smaller.
10779 (x_set_foreground_color): Set frame's cursor_pixel.
10780 (x_set_foreground_color, x_set_background_color): Cleaned up.
10781 (x_set_font): Handle case of x_new_fontset returning the same name
10782 as before, although there was a change in fontsets.
10783
10784 2001-10-21 Miles Bader <miles@gnu.org>
10785
10786 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
10787 (Flogxor): Add usage: string to doc string.
10788 * charset.c (Fstring): Likewise.
10789 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
10790 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
10791
10792 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10793
10794 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
10795
10796 * alloc.c: Reindent DEFUNs with doc: keywords.
10797
10798 * abbrev.c (Finsert_abbrev_table_description): Reindent.
10799
10800 * frame.c: Change doc-string comments to `new style' [w/`doc:'
10801 keyword].
10802
10803 See ChangeLog.9 for earlier changes.
10804
10805 ;; Local Variables:
10806 ;; coding: iso-2022-7bit
10807 ;; End:
10808
10809 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
10810 Copying and distribution of this file, with or without modification,
10811 are permitted provided the copyright notice and this notice are preserved.
10812
10813 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4