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