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