Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-377
[bpt/emacs.git] / src / ChangeLog
1 2004-06-06 Miles Bader <miles@gnu.org>
2
3 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
4 immediately if non-interactive or not initialized.
5
6 2004-06-05 Richard M. Stallman <rms@gnu.org>
7
8 * minibuf.c (Fcompleting_read): Doc fix.
9
10 2004-06-05 Andreas Schwab <schwab@suse.de>
11
12 * macfns.c (x_create_tip_frame): Fix declaration after statement.
13
14 2004-06-05 Juanma Barranquero <lektu@terra.es>
15
16 * keymap.c (Fdescribe_vector): Fix docstring.
17 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
18
19 2004-06-05 Miles Bader <miles@gnu.org>
20
21 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
22 attributes have different values than the default face.
23
24 2004-06-04 Eli Zaretskii <eliz@gnu.org>
25
26 * xfaces.c (x_supports_face_attributes_p): Make this function
27 conditional on HAVE_WINDOW_SYSTEM.
28 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]: Don't
29 call x_supports_face_attributes_p if it was not compiled in.
30
31 2004-06-04 Miles Bader <miles@gnu.org>
32
33 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
34 from Ftty_supports_face_attributes_p.
35 (x_supports_face_attributes_p): New function.
36 (Ftty_supports_face_attributes_p): Function deleted.
37 (Fdisplay_supports_face_attributes_p): New function.
38 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
39 (face_attr_equal_p): New function.
40 (lface_equal_p): Use it.
41
42 2004-06-03 Juanma Barranquero <lektu@terra.es>
43
44 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
45 (Vw32_color_map): Fix typo in docstring.
46 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
47 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
48 Make argument names match their use in docstring.
49
50 2004-06-02 Juanma Barranquero <lektu@terra.es>
51
52 Work around bugs/problems with MinGW builds of graphics libraries
53 called from MSVC builds of Emacs.
54
55 * image.c (lookup_image): Make pointer to img static.
56 (png_read_from_memory): Disable "global" optimization.
57
58 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
59
60 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
61
62 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
63
64 * macfns.c: Don't include ccl.h.
65 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
66 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
67 TextUtils.h.
68 (Fx_create_frame): Sync with xfns.c. Initialize cursor
69 descriptors.
70 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
71 display height/width.
72 (compute_tip_xy, Vx_max_tooltip_size): Declare.
73 (unwind_create_tip_frame, compute_tip_xy): New functions.
74 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
75 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
76 and last_show_tip_args.
77
78 * macgui.h [!MAC_OSX]: Include Gestalt.h.
79 (Cursor, No_Cursor): New defines.
80 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility
81 macro.
82 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
83
84 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
85
86 * macterm.c: Don't include Gestalt.h.
87 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
88 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
89 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
90 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
91 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
92 (construct_mouse_click, XTmouse_position)
93 (x_scroll_bar_report_motion, x_calc_absolute_position)
94 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
95 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
96 (note_mouse_movement): Clear the mouse face and reset the pointer
97 shape when the pointer goes outside the frame without grabbing.
98 (mac_front_window): New function.
99 (mac_window_to_frame): New macro.
100 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
101 (do_window_activate, do_window_deactivate, do_app_resume)
102 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
103 (do_zoom_window, mac_do_receive_drag, XTread_socket)
104 (mac_check_for_quit_char): Use mac_front_window and/or
105 mac_window_to_frame.
106 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
107 scroll-bar click event.
108 (mac_define_frame_cursor): Change the pointer shape.
109 (x_free_frame_resources): Reset tip_window to NULL when it is
110 disposed.
111 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
112 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize
113 arrow_cursor.
114 (do_window_update): Don't do anything if the updated window is the
115 tooltip window.
116 (do_mouse_moved): Handle mouse movement events here (previously in
117 XTread_socket). Clear the mouse face if
118 dpyinfo->mouse_face_hidden is set.
119 (do_os_event, do_events): Remove (now in XTread_socket).
120 (XTread_socket): Immediately return if interrupt_input_blocked.
121 Loop until all the events in the queue are processed. Rearrange
122 codes for mouse grabbing. Add tooltip support. Include the
123 contents of do_os_event and do_events. Remove mouse movement
124 handling (now in do_mouse_moved). Add the case where
125 Vmouse_highlight has an integer value.
126 (NewMacWindow): Remove.
127 (make_mac_frame): Do what NewMacWindow previously did. Don't do
128 excess initializations.
129 (make_mac_terminal_frame): Previous initializations in
130 make_mac_frame are moved here.
131 (mac_initialize_display_info): Initialize
132 dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
133
134 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
135 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
136
137 2004-05-29 Richard M. Stallman <rms@gnu.org>
138
139 * lisp.h (truncate_undo_list): Update decl.
140
141 * alloc.c (undo_outer_limit): New variable.
142 (syms_of_alloc): Defvar it.
143 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
144
145 * undo.c (truncate_undo_list): New arg LIMITSIZE.
146
147 * alloc.c (lisp_align_malloc): Check for base == 0
148 regardless of HAVE_POSIX_MEMALIGN.
149 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
150
151 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
152
153 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
154 (marker_blocks_pending_free): Remove.
155 (Fgarbage_collect): Sweep after cleaning up undo-lists.
156 Mark the undo lists after claning them up.
157 Don't free block in marker_blocks_pending_free.
158 (mark_buffer): Don't mark undo_list.
159 (gc_sweep): Sweep hash-tables and strings first.
160 Do free marker blocks that are empty.
161
162 2004-05-28 Jim Blandy <jimb@redhat.com>
163
164 * regex.c (print_partial_compiled_pattern): Add missing 'break'
165 after 'case wordend'. For symbeg and symend, print to stderr,
166 like the other cases.
167
168 2004-05-28 Noah Friedman <friedman@splode.com>
169
170 * process.c (Fdelete_process): Do not call remove_process.
171
172 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
173
174 * alloc.c (struct backtrace): Remove.
175 (Fgarbage_collect): Use the new mark_backtrace.
176
177 * eval.c (mark_backtrace): New function.
178
179 * minibuf.c (run_exit_minibuf_hook): New function.
180 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
181 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
182
183 2004-05-27 Kim F. Storm <storm@cua.dk>
184
185 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
186 over display properties, e.g. images, that replace buffer text.
187
188 2004-05-25 Kim F. Storm <storm@cua.dk>
189
190 * alloc.c (marker_blocks_pending_free): New var.
191 (gc_sweep): Store free marker blocks on that list.
192 (Fgarbage_collect): Free them after undo-list cleanup.
193
194 * process.c (wait_reading_process_input): Check connect_wait_mask
195 before actually accepting connection in case it has already been
196 accepted due to recursion.
197
198 2004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu> (tiny change)
199
200 * coding.c (Fset_safe_terminal_coding_system_internal):
201 Set suppress_error in safe_terminal_coding, not terminal_coding.
202
203 2004-05-22 Richard M. Stallman <rms@gnu.org>
204
205 * alloc.c (Fmake_string): Doc fix.
206
207 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
208 and the alist pairs too.
209
210 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
211
212 * emacs.c (main): Update copyright year.
213
214 * fileio.c (Fread_file_name): Expand DIR if not absolute.
215
216 * insdel.c (del_range_2, replace_range): Don't write an anchor
217 if the gap is empty.
218
219 * xdisp.c (try_scrolling): If scroll-up-aggressively or
220 scroll-down-aggressively is small but positive, put point
221 near the screen edge.
222
223 2004-05-22 Juanma Barranquero <lektu@terra.es>
224
225 * keymap.c (Fdefine_key): Doc fix.
226
227 2004-05-22 Kim F. Storm <storm@cua.dk>
228
229 * alloc.c (struct backtrace): Add debug_on_exit member.
230 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
231 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
232 the removed cons cells.
233 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
234 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
235 any cons cells pointing to unallocated stings.
236 Do not lisp_free any marker blocks, as there may still be pointers
237 to them from buffer undo lists at this stage of GC.
238
239 * keyboard.c (struct backtrace): Add debug_on_exit member.
240 (Fcommand_execute): Clear it.
241
242 2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
243
244 * intervals.c (lookup_char_property): Do not prematurely return nil.
245
246 2004-05-19 Jim Blandy <jimb@redhat.com>
247
248 Add support for new '\_<' and '\_>' regexp operators, matching the
249 beginning and end of symbols.
250
251 * regex.c (enum syntaxcode): Add Ssymbol.
252 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
253 (re_opcode_t): New opcodes `symbeg' and `symend'.
254 (print_partial_compiled_pattern): Print the new opcodes properly.
255 (regex_compile): Parse the new operators.
256 (analyse_first): Skip sym(beg|end) (they match only the empty string).
257 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
258 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
259 (re_match_2_internal): Match symbeg and symend.
260
261 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
262
263 2004-05-19 Kim F. Storm <storm@cua.dk>
264
265 * .gdbinit (xsymbol): Fix last change.
266
267 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
268
269 * .gdbinit (xprintstr): New fun.
270 (xstring, xprintsym): Use it.
271
272 * w32proc.c (create_child): Use INTMASK.
273
274 * alloc.c (Fgarbage_collect): Do all the marking before flushing
275 unmarked elements of the undo list.
276
277 2004-05-18 David Ponce <david@dponce.com>
278
279 * print.c (print): Reset print_depth before to call print_object.
280
281 2004-05-18 Jason Rumney <jasonr@gnu.org>
282
283 * w32console.c: Prefix RIF functions with w32con_ to avoid
284 namespace clash with functions in term.c and w32term.c.
285
286 * w32menu.c (add_menu_item, w32_menu_display_help)
287 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
288
289 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
290
291 2004-05-18 Eli Zaretskii <eliz@gnu.org>
292
293 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
294
295 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
296 with make_number.
297 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
298 with XINT.
299
300 2004-05-18 Kim F. Storm <storm@cua.dk>
301
302 * blockinput.h (INPUT_BLOCKED_P): New macros.
303
304 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
305 (Ftop_level): Unblock input if blocked.
306
307 * buffer.h (GET_OVERLAYS_AT): New macro.
308 * msdos.c (IT_note_mouse_highlight): Use it.
309 * textprop.c (get_char_property_and_overlay): Use it.
310 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
311 * xfaces.c (face_at_buffer_position): Use it.
312
313 * print.c (print_object): Increase buf size.
314
315 2004-05-17 Jason Rumney <jasonr@gnu.org>
316
317 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
318 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
319 Lisp_Object using i member.
320 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
321 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
322 consistently.
323
324 * w32proc.c (create_child): Use make_number instead of masking pid.
325
326 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
327 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
328 Use EQ to compare Lisp_Objects.
329 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
330
331 * w32term.c (w32_num_mouse_buttons): Rename from
332 Vw32_num_mouse_buttons and make it an int.
333
334 * w32.c (init_environment): Use it.
335
336 * w32fns.c (w32_wnd_proc): Likewise.
337
338 * w32proc.c (w32_pipe_read_delay): Rename from
339 Vw32_pipe_read_delay and make it an int.
340
341 * w32.c (_sys_read_ahead): Use it.
342
343 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
344
345 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
346
347 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
348 (key_event): Don't mix Lisp_Object and int.
349
350 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
351
352 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
353 modifiers in language change event.
354
355 2004-05-17 Kim F. Storm <storm@cua.dk>
356
357 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
358 Such objects may be freed markers which still exist on an undo list.
359
360 2004-05-16 Juanma Barranquero <lektu@terra.es>
361
362 * data.c (Fset_default): Make argument names match their use in
363 docstring.
364
365 2004-05-15 Andreas Schwab <schwab@suse.de>
366
367 * emacs.c (gdb_array_mark_flag): Define.
368 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
369
370 2004-05-15 Eli Zaretskii <eliz@gnu.org>
371
372 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
373 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
374 defined for the MS-DOS build.
375
376 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
377
378 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
379
380 2004-05-14 Kenichi Handa <handa@m17n.org>
381
382 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
383
384 2004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
385
386 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
387 section to frame.c section.
388 (Fxw_display_color_p, Fx_file_dialog): Declare if
389 HAVE_WINDOW_SYSTEM defined.
390
391 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
392
393 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
394
395 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
396 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
397 (XTread_socket): Fix int/Lisp_Object mixup.
398 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
399
400 * macterm.h (struct frame, struct face, struct image)
401 (display_x_get_resource, Fx_display_color_p)
402 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
403 Add prototypes.
404
405 2004-05-14 Kim F. Storm <storm@cua.dk>
406
407 * process.c (wait_reading_process_input): Make reentrant.
408 Make Available and Connecting non-static. Save and restore value
409 of waiting_for_user_input_p.
410
411 2004-05-13 Kim F. Storm <storm@cua.dk>
412
413 * keyboard.c (mark_kboards): Don't mark x and y members
414 that are overloaded in selection request events.
415
416 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
417
418 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
419
420 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
421
422 * window.c (Fdisplay_buffer, Fsplit_window)
423 (split-height-threshold): Doc fix.
424
425 2004-05-13 Juanma Barranquero <lektu@terra.es>
426
427 * xfaces.c (Ftty_supports_face_attributes_p)
428 (Finternal_copy_lisp_face): Fix typo in docstring.
429 (Finternal_get_lisp_face_attribute): Fix docstring.
430
431 2004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
432
433 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
434
435 2004-05-11 Steven Tamm <steventamm@mac.com>
436
437 * macfns.c (Fx_create_frame): Default to using tool-bar by
438 setting tool-bar-lines to 1 in default-frame-alist.
439
440 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
441
442 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
443 (xpm_get_color_table_v, xpm_make_color_table_h)
444 (xpm_put_color_table_h, xpm_get_color_table_h)
445 (xpm_str_to_color_key, xpm_load_image, xpm_load)
446 (syms_of_image): Support XPM on Carbon Emacs. Does not
447 depend on libXpm, but only supports XPM version 3 without extensions.
448
449 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
450
451 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
452 instead of FRAME_X_P
453
454 2004-05-11 Kim F. Storm <storm@cua.dk>
455
456 * process.c (read_process_output): Grow decoding_buf when needed;
457 this could cause a crash in allocate_string and compact_small_strings.
458
459 2004-04-29 Jim Blandy <jimb@redhat.com>
460
461 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
462 against proper opcode.
463
464 2004-05-10 Juanma Barranquero <lektu@terra.es>
465
466 * process.c (Fstart_process): Fix docstring.
467
468 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
469 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
470 (Fsplit_char, Fchar_charset): Make argument names match their use
471 in docstring.
472
473 2004-05-10 Richard M. Stallman <rms@gnu.org>
474
475 * print.c (print_preprocess): Use being_printed, loop_count and
476 halftail to detect overdeep nesting and cyclic cdr chains.
477
478 2004-05-10 Andreas Schwab <schwab@suse.de>
479
480 * lisp.h: Declare Fmake_symbolic_link.
481
482 * fileio.c (Frename_file): Remove extra argument in call to
483 Fmake_symbolic_link.
484
485 2004-05-10 Kim F. Storm <storm@cua.dk>
486
487 * xdisp.c (calc_line_height_property): Use string position when
488 object is a string.
489
490 2004-05-10 Kenichi Handa <handa@m17n.org>
491
492 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
493 inhibit-modification-hooks to t temporarily before calling
494 Ferase_buffer.
495
496 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
497 inhibit-modification-hooks to t temporarily before calling
498 Ferase_buffer.
499
500 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
501 inhibit-modification-hooks to t temporarily before calling
502 Ferase_buffer.
503
504 * fns.c (count_combining): Delete it.
505 (concat): Don't check combining bytes.
506
507 2004-05-09 Jason Rumney <jasonr@gnu.org>
508
509 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
510 (globals_of_w32fns): Set it.
511
512 2004-05-09 Piet van Oostrum <piet@cs.uu.nl> (tiny change)
513
514 * data.c (Fquo): Simplify.
515
516 2004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
517
518 * data.c (Fquo): If any argument is float, do the computation in
519 floating point.
520
521 2004-05-08 Juanma Barranquero <lektu@terra.es>
522
523 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
524 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
525 Fix spelling of Emacs on docstring.
526 (Fset_process_coding_system, Fprocess_coding_system)
527 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
528 Make argument names match their use in docstring.
529 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
530 Fix docstring.
531
532 * editfns.c (Finsert_buffer_substring): Make argument names match their
533 use in docstring.
534
535 * syntax.c (Fmodify_syntax_entry): Fix docstring.
536
537 2004-05-07 Steven Tamm <steventamm@mac.com>
538
539 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
540 around call to ReceiveEvent to avoid certain crashes.
541
542 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
543
544 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
545 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
546 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
547 Save/restore the current graphics port and device handle when
548 drawing into an offscreen graphics world.
549
550 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
551 (gif_load): Likewise.
552
553 2004-05-07 Juanma Barranquero <lektu@terra.es>
554
555 * window.c (Fset_window_buffer): Fix docstring.
556
557 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
558
559 * emacs.c (main) [VMS]: Fix var ref.
560
561 2004-05-06 Romain Francoise <romain@orebokech.com> (tiny change)
562
563 * data.c (Fsetq_default): Fix docstring.
564
565 2004-05-06 Jason Rumney <jasonr@gnu.org>
566
567 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
568 to avoid name clash.
569
570 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
571
572 * fileio.c (barf_or_query_if_file_exists): Use lstat.
573 (Frename_file): Handle renaming of symlinks across file systems.
574 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
575
576 2004-05-04 Kim F. Storm <storm@cua.dk>
577
578 * xdisp.c (Qtotal): New var.
579 (syms_of_xdisp): Intern and staticpro it.
580 (calc_line_height_property): New arg total. Set it if
581 line-spacing property has format (total . VALUE).
582 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
583 Handle total line-spacing property.
584
585 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
586
587 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
588 "under" scroll bar when size/position changes.
589
590 2004-05-03 Jason Rumney <jasonr@gnu.org>
591
592 * makefile.nt: Remove.
593
594 2004-05-02 Eli Zaretskii <eliz@gnu.org>
595
596 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
597 Avoid compiler warnings.
598
599 * Makefile.in (region-cache.o): Depend on config.h.
600
601 2004-05-02 Romain Francoise <romain@orebokech.com> (tiny change)
602
603 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
604 with continuation lines, too.
605
606 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
607
608 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
609
610 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
611
612 * xdisp.c (calc_line_height_property): YAILOM (yet another
613 int/Lisp_Object mixup).
614
615 2004-05-01 Eli Zaretskii <eliz@gnu.org>
616
617 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
618 undo bad effect of pack(4) in some versions of system headers.
619
620 2004-05-01 Jason Rumney <jasonr@gnu.org>
621
622 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
623
624 2004-04-30 Kim F. Storm <storm@cua.dk>
625
626 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
627 (syms_of_buffer) <cursor-type>: Doc fix.
628
629 * dispextern.h (struct it): Remove member use_default_face.
630 Add members override_ascent, override_descent, override_boff.
631
632 * xdisp.c (init_iterator): Handle line-spacing float value.
633 Initialize override_ascent member.
634 (append_space_for_newline): Reset override_ascent.
635 Remove use_default_face.
636 (calc_line_height_property): New function to calculate value of
637 line-height and line-spacing properties. Look at overlays, too.
638 Set override_ascent, override_descent, override_boff members when
639 using another face than the current face. Float values are now
640 relative to the frame default font, by default; accept a cons
641 of ratio and face name to specify value relative to a specific face.
642 (x_produce_glyphs): Use calc_line_height_property.
643 Use override_ascent etc. when set to handle different face heights.
644 A negative line-spacing property value is interpreted as a total
645 line height, rather than inter-line spacing.
646 (note_mouse_highlight): Allocate room for 40 overlays initially.
647
648 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
649
650 * data.c (Fsubr_name): New fun.
651 (syms_of_data): Defsubr it.
652
653 2004-04-29 Kim F. Storm <storm@cua.dk>
654
655 * xdisp.c (null_glyph_slice): New var.
656 (append_glyph, append_composite_glyph, append_stretch_glyph):
657 Use it to initialize glyph slice.
658
659 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
660
661 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
662 (on_hot_spot_p): Make sure we always return a value.
663 (Flookup_image_map): Remove unused var ix and iy.
664 (note_mode_line_or_margin_highlight): Remove unused var `image'.
665
666 2004-04-27 Eli Zaretskii <eliz@gnu.org>
667
668 * msdos.c (init_environment): If one of the TMP... environment
669 variables is set to a drive letter without a trailing slash,
670 append a slash.
671
672 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
673
674 * editfns.c (lisp_time_argument): Provide externally.
675
676 * fileio.c (Fset_file_times): New function.
677 (syms_of_fileio): Intern and staticpro it.
678
679 2004-04-27 Kim F. Storm <storm@cua.dk>
680
681 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
682 header line strings.
683
684 * dispextern.h (struct it): New member use_default_face.
685
686 * xdisp.c (Qline_height): New variable.
687 (syms_of_xdisp): Intern and staticpro it.
688 (append_space_for_newline): Partially undo 2004-04-25 change;
689 add default_face_p arg, and restore callers.
690 Clear it->use_default_face after use.
691 (x_produce_glyphs): Set default font for ascii char if
692 it->use_default_font is set. Change line-spacing property to set
693 just extra line spacing. Handle new line-height property.
694
695 2004-04-26 Andreas Schwab <schwab@suse.de>
696
697 * print.c (print_object): Print non-ascii characters in bool
698 vector representation as octal escapes.
699
700 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
701 * print.c (print_object): Use it instead of BITS_PER_CHAR for
702 bool vectors.
703 * lread.c (read1): Likewise.
704 * alloc.c (Fmake_bool_vector): Likewise.
705 * data.c (Faref, Faset): Likewise.
706 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
707 (mapcar1): Likewise.
708
709 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
710
711 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
712
713 2004-04-26 Miles Bader <miles@gnu.org>
714
715 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
716
717 2004-04-26 Juanma Barranquero <lektu@terra.es>
718
719 * buffer.c (Fpop_to_buffer): Fix docstring.
720
721 2004-04-26 Steven Tamm <steventamm@mac.com>
722
723 * lread.c (init_lread): Don't display missing lisp directory
724 warnings with Carbon Emacs because self-contained bundled Emacs
725 may be built without correct installation path.
726
727 2004-04-25 Kim F. Storm <storm@cua.dk>
728
729 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
730
731 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
732
733 * xdisp.c (append_space_for_newline): Rename from append_space.
734 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
735 (x_produce_glyphs): Handle line-spacing property on newline char.
736 If value is t, adjust ascent and descent to fit current row height.
737 If value is an integer or float, set extra_line_spacing to integer
738 value, or to float value x current line height.
739
740 2004-04-23 Kenichi Handa <handa@m17n.org>
741
742 * fontset.c (Finternal_char_font): If POSITION is nil, return
743 font for displaying CH with the default face.
744
745 2004-04-23 Juanma Barranquero <lektu@terra.es>
746
747 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
748
749 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
750
751 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
752 Don't make assumptions about the relative place of i and val.
753 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
754
755 2004-04-21 Kim F. Storm <storm@cua.dk>
756
757 * dispextern.h (struct glyph_slice): New struct.
758 (struct glyph): New member slice.
759 (GLYPH_SLICE_EQUAL_P): New macro.
760 (GLYPH_EQUAL_P): Use it.
761 (struct glyph_string): New member slice.
762 (struct it_slice): New struct.
763 (struct it): New member slice, add member to stack too.
764 New member constrain_row_ascent_descent_p.
765 (image_ascent): Add prototype.
766
767 * dispnew.c (buffer_posn_from_coords): Return full image width
768 and height even for image slices (posn is relative to full image).
769 (marginal_area_string): Adjust x0,y0 for image slice.
770
771 * image.c (image_ascent): Add slice arg; calculate ascent for
772 image slice (or full image).
773
774 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
775 (syms_of_keyboard): Defsubr them.
776
777 * lisp.h (pos_visible_p): Fix prototype.
778
779 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
780 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
781 (x_draw_image_foreground, x_draw_image_relief)
782 (x_draw_image_foreground_1, x_draw_image_glyph_string):
783 Draw sliced images.
784
785 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
786 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
787 (x_draw_image_foreground, x_draw_image_relief)
788 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
789 Draw sliced images.
790
791 * w32term.h (image_ascent): Remove prototype.
792
793 * window.c (Fpos_visible_in_window_p): Return pixel position if
794 PARTIALLY arg is non-nil. Simplify. Doc fix.
795 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
796 to return/set vscroll in pixels.
797
798 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
799
800 * xdisp.c (Qslice): New variable.
801 (syms_of_xdisp): Intern and staticpro it.
802 (pos_visible_p): Return pixel position in new x and y args.
803 (init_iterator): Reset it->slice info.
804 (handle_display_prop): Parse (slice ...) property.
805 (push_it, pop_it): Save/restore slice info.
806 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
807 force repositioning of tall row if window is vscrolled, as that
808 would reset vscroll.
809 (append_space): Set it->constrain_row_ascent_descent_p to avoid
810 increasing row height if row is non-empty.
811 (fill_image_glyph_string): Copy slice info.
812 (take_vertical_position_into_account): Simplify.
813 (produce_image_glyph): Handle iterator slice info, setup glyph
814 slice info. Do not force minimum line height.
815 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
816 do not increase height (ascent/descent) of non-empty row when
817 adding normal character glyph; instead reduce glyph ascent/descent
818 appropriately; if row is higher than current glyph, adjust glyph
819 descent/ascent to reposition glyph within the existing row.
820 Likewise, when char is newline, only set ascent/descent if row is
821 currently empty.
822 (note_mouse_highlight): Handle hotspots with sliced image.
823
824 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
825 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
826 (x_draw_image_foreground, x_draw_image_relief)
827 (x_draw_image_foreground_1, x_draw_image_glyph_string):
828 Draw sliced images.
829
830 * xterm.h (image_ascent): Remove prototype.
831
832 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
833
834 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
835
836 2004-04-20 John Paul Wallington <jpw@gnu.org>
837
838 * fns.c (Fassoc, Feql): Fix indentation.
839
840 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
841
842 2004-04-19 John Paul Wallington <jpw@gnu.org>
843
844 * fns.c (Feql): New function.
845 (syms_of_fns): Defsubr it.
846
847 2004-04-18 Jason Rumney <jasonr@gnu.org>
848
849 * w32select.c (Fw32_set_clipboard_data): Get sequence number
850 after closing the clipboard.
851
852 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
853
854 * buffer.c (Fbuffer_base_buffer): Doc fix.
855
856 2004-04-17 Kim F. Storm <storm@cua.dk>
857
858 * keymap.c (Fkey_description): Add optional PREFIX arg.
859 Combine prefix with KEYS to make up the full key sequence to describe.
860 Correlate meta_prefix_char and following (simple) key to describe
861 as meta modifier. All callers changed.
862 (describe_map): Rename arg `keys' to `prefix'. Remove local
863 `elt_prefix' var. Use Fkey_description with prefix instead of
864 elt_prefix combined with Fsingle_key_description.
865 (describe_vector): Declare static. Replace arg `elt_prefix' with
866 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
867 if !KEYMAP_P. Use Fkey_description with prefix instead of
868 Fsingle_key_description.
869
870 * keymap.h (Fkey_description): Fix prototype.
871 (describe_vector): Remove prototype.
872
873 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
874
875 * image.c (PNG_BG_COLOR_SHIFT): Remove.
876 (png_load): Fix calculation of transparent background color on X
877 and W32 platforms.
878
879 2004-04-16 Juanma Barranquero <lektu@terra.es>
880
881 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
882 not too large before computing how much to scroll.
883
884 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
885
886 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
887
888 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
889
890 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
891 Add hyperlink to Elisp manual to the docstring.
892
893 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
894
895 * callint.c (fix_command): Use XDCR.
896
897 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
898
899 * window.c (Fget_lru_window): Doc fix.
900
901 2004-04-14 Kim F. Storm <storm@cua.dk>
902
903 * editfns.c (Fformat): Fix allocation size of precision array.
904
905 * dispnew.c (update_window): Only set changed_p if
906 scrolling_window actually did scroll.
907 (scrolling_window): Only return 1 if we actually did scroll.
908
909 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
910 height to glyph height when cursor row is not fully visible.
911 (make_cursor_line_fully_visible): Add FORCE_P arg to return
912 failure in case row is higher than window. Callers changed.
913 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
914 Try to scroll partially visible, higher-than-window cursor row.
915 (redisplay_window): Always try to scroll partially visible,
916 higher-than-window cursor row - both initially and again with
917 centering_position = 0.
918 Clear desired matrix before retrying with centering_position = 0.
919
920 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
921
922 * syntax.c (scan_lists): Simplify backward string scan.
923 Fix off-by-one boundary check for string and comment fences.
924
925 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
926
927 * sheap.c, unexcw.c: New files.
928
929 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
930
931 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
932 base buffer has been killed. Correct the error message if the
933 base buffer does not exist.
934
935 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
936
937 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
938 Cygwin itself. Add support for Xaw3d scrollbars.
939
940 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
941
942 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
943
944 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
945 before Cygwin unexec.
946
947 * Makefile.in: Link changes for Cygwin unexec() support.
948
949 2004-04-12 Andreas Schwab <schwab@suse.de>
950
951 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
952
953 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
954
955 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
956 IGNORE argument equals NAME. Doc fix.
957
958 2004-04-11 Masatake YAMATO <jet@gyve.org>
959
960 * buffer.c (fix_start_end_in_overlays): Make overlays
961 empty if they are backwards.
962
963 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
964
965 * xfaces.c (face_color_supported_p): Fix compilation without X11.
966
967 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
968
969 * doc.c (Fsnarf_documentation): Ignore new file name entries.
970
971 2004-04-06 Kim F. Storm <storm@cua.dk>
972
973 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
974 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
975
976 * w32term.c (w32_read_socket): Set mouse_face_hidden after
977 clearing highlight.
978
979 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
980
981 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
982 clearing highlight.
983
984 * indent.c (vmotion): Do not reserve one column for continuation
985 marks on window frames.
986
987 2004-04-04 Eli Zaretskii <eliz@gnu.org>
988
989 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
990 from GCC.
991
992 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
993
994 * .gdbinit-union: Remove.
995
996 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
997 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
998 ($nonvalbits): Remove.
999 ($valmask): Set it by calling xreload to avoid redundancy.
1000
1001 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
1002 (gdb_emacs_intbits): Remove.
1003
1004 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1005
1006 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
1007
1008 2004-03-30 Kenichi Handa <handa@m17n.org>
1009
1010 * editfns.c (Fformat): Fix initialization of the array info.
1011
1012 2004-03-30 Kim F. Storm <storm@cua.dk>
1013
1014 * xterm.c (x_mouse_click_focus_ignore_position): New var.
1015 (syms_of_xterm): DEFVAR_BOOL it.
1016 (ignore_next_mouse_click_timeout): New var.
1017 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
1018 Use it to filter mouse clicks following focus event.
1019
1020 2004-03-29 David Ponce <david@dponce.com>
1021
1022 * callint.c (Fcall_interactively): Fix last change.
1023
1024 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
1025
1026 * eval.c (Fcommandp): Simplify.
1027
1028 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
1029 Extend to handle all kinds of functions.
1030
1031 * lisp.h (Finteractive_form): Declare.
1032
1033 * callint.c (Fcall_interactively): Use it.
1034
1035 2004-03-26 Kim F. Storm <storm@cua.dk>
1036
1037 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
1038 to catch errors in calc_pixel_width_or_height during redisplay.
1039
1040 2004-03-26 Masatake YAMATO <jet@gyve.org>
1041
1042 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
1043
1044 * lisp.h (fix_start_end_in_overlays): Likewise.
1045
1046 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
1047
1048 * editfns.c (Ftranspose_regions): Likewise.
1049
1050 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1051
1052 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
1053
1054 2004-03-19 Richard M. Stallman <rms@gnu.org>
1055
1056 * s/sol2-6.h: Delete previous change.
1057
1058 2004-03-19 Kim F. Storm <storm@cua.dk>
1059
1060 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
1061 to_charpos corresponds to newline in right fringe. Use local
1062 BUFFER_POS_REACHED_P macro.
1063
1064 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1065
1066 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
1067 to compile on non-window system.
1068
1069 2004-03-19 Kim F. Storm <storm@cua.dk>
1070
1071 * dispextern.h (calc_pixel_width_or_height): Add prototype.
1072
1073 * image.c (Qcenter): Move to xdisp.c.
1074
1075 * xdisp.c (Qcenter): Declare here.
1076 (syms_of_xdisp): Intern and staticpro it.
1077 (handle_single_display_prop): Allow space display property on all
1078 platforms.
1079 (display_mode_line): Set mode_line_p before displaying line.
1080 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
1081 handling. Remove complex cases for fringes and scroll-bars.
1082 Add left, right, and center alignment positions. Add text (area)
1083 width/height. Return width or height for image specs.
1084 (produce_stretch_glyph): Improve handling of :align-to. Is now
1085 relative to left of text area by default, but other base offsets
1086 can be specified -- also for text lines.
1087
1088 * term.c (produce_glyphs): Handle IT_STRETCH.
1089 (produce_stretch_glyph): New function to handle space width and
1090 align-to display properties on non-window systems.
1091
1092 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
1093
1094 * fileio.c (Fread_file_name): Set completion-ignore-case for
1095 case-insensitive systems.
1096
1097 2004-03-14 Masatake YAMATO <jet@gyve.org>
1098
1099 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
1100 when keymap and cursor are setup.
1101
1102 2004-03-14 Steven Tamm <steventamm@mac.com>
1103
1104 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
1105
1106 2004-03-14 Kim F. Storm <storm@cua.dk>
1107
1108 * dispextern.h (x_find_image_file): Add prototype.
1109
1110 * image.c (x_find_image_file): Make extern.
1111
1112 * xfns.c (x_find_image_file): Remove prototype.
1113
1114 2004-03-13 Eli Zaretskii <eliz@gnu.org>
1115
1116 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
1117
1118 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
1119
1120 2004-03-12 Richard M. Stallman <rms@gnu.org>
1121
1122 * fns.c (internal_equal): New arg PROPS controls comparing
1123 text properties. All callers changed.
1124 (Fequal_including_properties): New function.
1125 (syms_of_fns): defsubr it.
1126
1127 2004-03-12 Kim F. Storm <storm@cua.dk>
1128
1129 Fix image support on MAC. From YAMAMOTO Mitsuharu.
1130
1131 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
1132 (image_background, image_background_transparent): Fix prototypes.
1133
1134 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
1135
1136 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
1137 (x_query_font, x_find_ccl_program, x_set_window_size)
1138 (x_make_frame_visible, mac_initialize, XCreatePixmap)
1139 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
1140 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
1141
1142 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
1143 (x_query_font, x_find_ccl_program, x_set_window_size)
1144 (x_make_frame_visible, mac_initialize, XCreatePixmap)
1145 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
1146 (mac_draw_line_to_pixmap): Add prototypes.
1147
1148 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1149
1150 * macterm.c (XTread_socket): Fix mouse click on tool bar.
1151
1152 2004-03-11 Kim F. Storm <storm@cua.dk>
1153
1154 * dispextern.h: Move image related prototypes from xfns.c section
1155 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
1156 HAVE_X_WINDOWS.
1157
1158 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
1159 Move gtkutil.o to new GTK_OBJ list.
1160 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
1161 (GTK_OBJ) [USE_GTK]: New declaration.
1162 (obj): Add $(GTK_OBJ) to list.
1163
1164 2004-03-11 Steven Tamm <steventamm@mac.com>
1165
1166 * image.c [MAC_OSX]: Include sys/stat.h
1167
1168 * macfns.c (syms_of_macfns): Remove definitions of things now
1169 defined in image.c
1170
1171 2004-03-11 Kim F. Storm <storm@cua.dk>
1172
1173 The following changes consolidates the identical/similar image
1174 support code previously found in xfns.c, w32fns.c, and macfns.c
1175 into a new file image.c.
1176
1177 * makefile.w32-in (OBJ1): Add image.o.
1178 ($(BLD)/image.$(O)): Add dependencies.
1179
1180 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
1181 (image.o): Add dependencies.
1182
1183 * image.c: New file with consolidated image support code.
1184 (COLOR_TABLE_SUPPORT): New define to control whether
1185 color table support is available (X only).
1186 (Bitmap_Record): Common name for x_bitmap_record,
1187 w32_bitmap_record, and mac_bitmap_record.
1188 (XImagePtr): Common name for pointer to XImage or equivalent.
1189 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
1190 to XImagePtr on X+MAC, and to HDC on W32.
1191 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
1192 (NO_PIXMAP): Common name for "None" or equivalent.
1193 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
1194 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
1195 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
1196 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
1197 Define with suitable equivalents on W32 and MAC for code sharing.
1198 (XDrawLine): Define on MAC for code sharing.
1199 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
1200 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
1201 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1202 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1203 (x_reference_bitmap, x_create_bitmap_from_data)
1204 (x_create_bitmap_from_file, x_destroy_bitmap)
1205 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1206 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1207 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1208 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1209 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1210 (define_image_type, lookup_image_type, valid_image_p)
1211 (image_error, enum image_value_type, struct image_keyword)
1212 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1213 (make_image, free_image, prepare_image_for_display, image_ascent)
1214 (four_corners_best, image_background, image_background_transparent)
1215 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1216 (make_image_cache, free_image_cache, clear_image_cache)
1217 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1218 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1219 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1220 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
1221 (init_image_func_pointer, image_load_quartz2d)
1222 (struct ct_color, init_color_table, free_color_table)
1223 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1224 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1225 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1226 (x_disable_image, x_build_heuristic_mask)
1227 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1228 (TIFF support, GIF support, Ghostscript support): Consolidate image
1229 code from xfns.c, w32fns.c, and macfns.c.
1230 (syms_of_image): Consolidate image related symbol setup here.
1231 (init_image): Consolidate image related initializations here.
1232
1233 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
1234 and init_image. Remove call to init_xfns.
1235
1236 * macterm.h (struct mac_bitmap_record): Add file member.
1237 Not currently used, but simplifies code sharing.
1238
1239 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1240 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1241 (x_reference_bitmap, x_create_bitmap_from_data)
1242 (x_create_bitmap_from_file, x_destroy_bitmap)
1243 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1244 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1245 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1246 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1247 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1248 (define_image_type, lookup_image_type, valid_image_p)
1249 (image_error, enum image_value_type, struct image_keyword)
1250 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1251 (make_image, free_image, prepare_image_for_display, image_ascent)
1252 (four_corners_best, image_background, image_background_transparent)
1253 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1254 (make_image_cache, free_image_cache, clear_image_cache)
1255 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1256 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1257 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1258 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
1259 (init_image_func_pointer, image_load_quartz2d)
1260 (struct ct_color, init_color_table, free_color_table)
1261 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1262 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1263 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1264 (x_disable_image, x_build_heuristic_mask)
1265 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1266 (TIFF support, GIF support, Ghostscript support): Merge with image
1267 code from xfns.c and macfns.c into image.c.
1268 (syms_of_xfns): Move image related symbols to image.c.
1269 (init_external_image_libraries, init_xfns): Remove; initialization
1270 moved to init_image in image.c.
1271
1272 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1273 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1274 (x_reference_bitmap, x_create_bitmap_from_data)
1275 (x_create_bitmap_from_file, x_destroy_bitmap)
1276 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1277 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1278 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1279 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1280 (define_image_type, lookup_image_type, valid_image_p)
1281 (image_error, enum image_value_type, struct image_keyword)
1282 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1283 (make_image, free_image, prepare_image_for_display, image_ascent)
1284 (four_corners_best, image_background, image_background_transparent)
1285 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1286 (make_image_cache, free_image_cache, clear_image_cache)
1287 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1288 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1289 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1290 (struct ct_color, init_color_table, free_color_table)
1291 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1292 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1293 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1294 (x_disable_image, x_build_heuristic_mask)
1295 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1296 (TIFF support, GIF support, Ghostscript support): Merge with image
1297 code from xfns.c and macfns.c into image.c.
1298 (syms_of_xfns): Move image related symbols to image.c.
1299 (init_external_image_libraries, init_xfns): Remove; initialization
1300 moved to init_image in image.c.
1301
1302 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1303 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1304 (x_reference_bitmap, x_create_bitmap_from_data)
1305 (x_create_bitmap_from_file, x_destroy_bitmap)
1306 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1307 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1308 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1309 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1310 (define_image_type, lookup_image_type, valid_image_p)
1311 (image_error, enum image_value_type, struct image_keyword)
1312 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1313 (make_image, free_image, prepare_image_for_display, image_ascent)
1314 (four_corners_best, image_background, image_background_transparent)
1315 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1316 (make_image_cache, free_image_cache, clear_image_cache)
1317 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1318 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1319 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1320 (struct ct_color, init_color_table, free_color_table)
1321 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1322 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1323 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1324 (x_disable_image, x_build_heuristic_mask)
1325 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1326 (TIFF support, GIF support, Ghostscript support): Merge with
1327 w32fns.c and macfns.c image code into image.c.
1328 (syms_of_xfns): Move image related symbols to image.c.
1329 (init_xfns): Remove; initialization moved to init_image in image.c.
1330
1331 * lisp.h (syms_of_image, init_image): Add protoypes.
1332 (init_xfns): Remove prototype.
1333
1334 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1335 (x_reference_bitmap, x_create_bitmap_from_data)
1336 (x_create_bitmap_from_file, x_destroy_bitmap)
1337 (x_create_bitmap_mask): Move prototypes from dispextern.h.
1338 (gamma_correct) [MAC_OS]: Add prototype.
1339
1340 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1341 (x_reference_bitmap, x_create_bitmap_from_data)
1342 (x_create_bitmap_from_file, x_destroy_bitmap)
1343 (x_create_bitmap_mask): Move prototypes to dispextern.h.
1344
1345 2004-03-09 Kenichi Handa <handa@etlken2>
1346
1347 * coding.c (decode_coding_emacs_mule): Handle insufficent source
1348 correctly.
1349
1350 2004-03-04 Richard M. Stallman <rms@gnu.org>
1351
1352 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
1353
1354 * window.c (Fdisplay_buffer): Doc fix.
1355
1356 * buffer.c (Fpop_to_buffer): Doc fix.
1357
1358 2004-03-03 Kim F. Storm <storm@cua.dk>
1359
1360 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
1361
1362 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
1363
1364 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
1365
1366 2004-03-02 Richard M. Stallman <rms@gnu.org>
1367
1368 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
1369
1370 2004-03-02 Kenichi Handa <handa@m17n.org>
1371
1372 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
1373
1374 2004-03-02 Kim F. Storm <storm@cua.dk>
1375
1376 * window.h (struct window): New member overlay_arrow_bitmap.
1377
1378 * window.c (make_window): Initialize overlay_arrow_bitmap.
1379
1380 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
1381 implement and integrate multiple overlay arrows with redisplay.
1382 (syms_of_xdisp): DEFVAR_LISP and initialize it.
1383 (last_arrow_position, last_arrow_string): Replace by properties.
1384 (Qlast_arrow_position, Qlast_arrow_string)
1385 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
1386 (syms_of_xdisp): Intern and staticpro them.
1387 (overlay_arrow_string_or_property, update_overlay_arrows)
1388 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
1389 (overlay_arrow_at_row): New functions for multiple overlay arrows.
1390 (redisplay_internal): Use them instead of directly accessing
1391 Voverlay_arrow_position etc. for multiple overlay arrows.
1392 (mark_window_display_accurate): Use update_overlay_arrows.
1393 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
1394 (try_window_id): Use overlay_arrows_changed_p.
1395 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
1396 (display_line): Use overlay_arrow_at_row to check multiple
1397 overlay arrows, and get relevant overlay-arrow-string and
1398 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
1399 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
1400 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
1401
1402 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
1403 (update_window_fringes): Remove unused code.
1404
1405 2004-03-01 Jason Rumney <jasonr@gnu.org>
1406
1407 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
1408
1409 2004-03-01 Juanma Barranquero <lektu@terra.es>
1410
1411 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
1412
1413 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
1414
1415 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1416
1417 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
1418 how many colors can be displayed.
1419
1420 2004-03-01 Kenichi Handa <handa@m17n.org>
1421
1422 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
1423 correctly.
1424
1425 2004-02-28 Kim F. Storm <storm@cua.dk>
1426
1427 * dispnew.c (update_window): Update header line also if there are
1428 no other changes in window (move code after set_cursor label).
1429
1430 * lisp.h (mark_window_display_accurate): Remove prototype.
1431
1432 * window.c (window_loop, Fforce_window_update): Force mode line
1433 updates by setting prevent_redisplay_optimizations_p and
1434 update_mode_lines.
1435
1436 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1437
1438 * xfns.c (x_window): Fix indentation.
1439
1440 * xterm.c (x_calc_absolute_position): Call x_real_positions
1441 to get WM window sizes and use those to calculate position.
1442 (x_set_offset): Remove code commented out.
1443
1444 2004-02-28 Miles Bader <miles@gnu.org>
1445
1446 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
1447
1448 2004-02-28 Kim F. Storm <storm@cua.dk>
1449
1450 * keyboard.c (kbd_buffer_store_event_hold): New function to store
1451 an event into kbd fifo, but with special handling of quit event;
1452 a quit event is saved for later, and further events are discarded
1453 until the saved quit event has been processed.
1454 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
1455 (gen_help_event): Store help event in kbd fifo.
1456 (NREAD_INPUT_EVENTS): Remove.
1457 (read_avail_input): Adapt to new read_socket_hook interface.
1458 Remove allocation and initialization of local input_event buffer,
1459 as read_socket_hook stores events directly in fifo. Allocate and
1460 initialize local hold_quit event to handle postponed quit event
1461 (and store it if set by kbd_buffer_store_event_hold).
1462
1463 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
1464 (gen_help_event): Fix prototype.
1465
1466 * macterm.c (XTread_socket): Remove bufp_r and
1467 numcharsp args. Add hold_quit arg.
1468 Rework to use just one, local, inev input_event. Store inev
1469 directly in fifo using kbd_buffer_store_event_hold.
1470
1471 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
1472 (read_input_waiting): Adapt to new read_socket_hook interface.
1473 Remove allocation and initialization of local input_event buffer,
1474 as read_socket_hook stores events directly in fifo. Allocate and
1475 initialize local hold_quit event to handle postponed quit event
1476 (and store it if set by kbd_buffer_store_event_hold).
1477
1478 * term.c (read_socket_hook): Fix arg list.
1479
1480 * termhooks.h (read_socket_hook): Fix prototype.
1481
1482 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
1483 numcharsp args. Add hold_quit arg.
1484 Rework to use just one, local, inev input_event. Store inev
1485 directly in fifo using kbd_buffer_store_event_hold.
1486
1487 * w32inevt.h (w32_console_mouse_position): Fix prototype.
1488
1489 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
1490 Add hold_quit arg. Rework to use just one, local, inev
1491 input_event. Store inev directly in fifo using
1492 kbd_buffer_store_event_hold. Update count in one place.
1493 Postpone call to gen_help_event until inev is stored; use new
1494 local do_help for this.
1495 Remove local emacs_event in handing of ButtonPress event; just use
1496 inev instead (so no reason to copy it later).
1497
1498 * xsmfns.c (x_session_check_input): Remove numchars arg.
1499
1500 * xterm.c (x_focus_changed, x_detect_focus_change):
1501 Remove numchars arg. Always store event into bufp arg.
1502 Return nothing. Callers changed accordingly.
1503 (glyph_rect): Simplify.
1504 (STORE_KEYSYM_FOR_DEBUG): New macro.
1505 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
1506 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
1507 (current_hold_quit) [USE_GTK]: Add.
1508 (event_handler_gdk): Adapt to new handle_one_xevent.
1509 (handle_one_xevent): Remove bufp_r and numcharsp args.
1510 Add hold_quit arg. Rework to use just one, local, inev
1511 input_event. Store inev directly in fifo using
1512 kbd_buffer_store_event_hold. Update count in one place.
1513 Postpone call to gen_help_event until inev is stored; use new
1514 local do_help for this.
1515 Simplify handling of keysyms (consolidate common code). Fix bug
1516 where count was updated with nchars instead of nbytes.
1517 Remove local emacs_event in handing of ButtonPress event; just use
1518 inev instead (so no reason to copy it later).
1519 Remove `out' label. Rename label `ret' to `done'; add various
1520 `goto done' to clarify code flow in deeply nested blocks.
1521 (x_dispatch_event): Simplify as handle_one_xevent now calls
1522 kbd_buffer_store_event itself.
1523 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
1524 arg. Call handle_one_xevent with new arglist. Store event from
1525 x_session_check_input in fifo.
1526 [USE_GTK]: Setup current_hold_quit.
1527 Decrement handling_signal before unblocking input.
1528 (x_initialize) [USE_GTK]: Initialize current_count.
1529
1530 * xterm.h (x_session_check_input): Fix prototype.
1531
1532 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1533
1534 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
1535
1536 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
1537 macgui.h).
1538
1539 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
1540
1541 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
1542 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
1543 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
1544 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
1545 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
1546 (Bitmap): Remove typedef.
1547 (Pixmap): Change int to GWorldPtr.
1548
1549 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
1550
1551 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
1552 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
1553 New #define to extract 16-bit depth color components from unsigned
1554 long representation.
1555 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
1556 colors used for masks.
1557 (struct mac_display_info): Add color_p. Remove n_cbits.
1558
1559 * macfns.c: Include sys/types.h and sys/stat.h.
1560 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
1561 Include QuickTime/QuickTime.h.
1562 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
1563 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
1564 functions defined in macterm.c.
1565 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
1566 (ZPixmap): New #define for compatibility with xfns.c.
1567 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1568 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
1569 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
1570 New functions.
1571 (four_corners_best, x_create_x_image_and_pixmap)
1572 (x_destroy_x_image, unwind_create_frame, x_disable_image)
1573 (x_edge_detection, init_color_table, colors_in_color_table)
1574 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
1575 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
1576 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
1577 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
1578 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
1579 long mixup.
1580 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
1581 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
1582 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
1583 (x_set_cursor_type, Fxw_color_values, valid_image_p)
1584 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
1585 (x_alloc_image_color, clear_image_cache, lookup_image)
1586 (x_find_image_file, xbm_read_bitmap_file_data)
1587 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
1588 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
1589 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
1590 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
1591 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
1592 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
1593 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
1594 #if 0.
1595 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
1596 #if 0. Free white_relief.gc and black_relief.gc.
1597 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
1598 New functions (from xfns.c).
1599 (Fx_create_frame): Record unwind_create_frame.
1600 (Fxw_display_color_p): Use dpyinfo->color_p.
1601 (Fx_display_grayscale_p, Fx_display_planes): Don't use
1602 dpyinfo->n_cbits.
1603 (Fx_display_color_cells): Use dpyinfo->n_planes;
1604 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
1605 (Qheuristic, cross_disabled_images, emboss_matrix)
1606 (laplace_matrix): New variables (from xfns.c).
1607 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
1608 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
1609 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
1610 (image_background_transparent): New function (from xfns.c).
1611 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1612 (image_load_quicktime): Add declaration.
1613 [MAC_OSX] (image_load_quartz2d): Likewise.
1614 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
1615 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
1616 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
1617 (xbm_load_image_from_file, x_laplace_read_row)
1618 (x_laplace_write_row, pbm_read_file): Remove functions.
1619 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
1620 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
1621 (colors_in_color_table): Sync with xfns.c (although not used).
1622 (lookup_rgb_color): Don't lookup color table. Just do gamma
1623 correction.
1624 (COLOR_INTENSITY): New #define (from xfns.c).
1625 (x_disable_image): New function (from xfns.c).
1626 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1627 (x_build_heuristic_mask): Sync with xfns.c.
1628 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1629 (HAVE_PBM): Remove #ifdef.
1630 (pbm_load): Sync with xfns.c. Set img->width and img->height
1631 before IMAGE_BACKGROUND.
1632 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
1633 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
1634 Don't enclose with #if HAVE_PNG.
1635 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
1636 symbol _CGImageCreateWithPNGDataProvider is defined.
1637 Otherwise use image_load_quicktime.
1638 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
1639 [HAVE_PNG] (png_load): Sync with xfns.c.
1640 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1641 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
1642 HAVE_JPEG.
1643 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
1644 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
1645 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
1646 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
1647 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
1648 (tiff_image_p, tiff_load): Don't enclose declarations with #if
1649 HAVE_TIFF.
1650 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
1651 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
1652 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
1653 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
1654 New functions (from xfns.c).
1655 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
1656 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
1657 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
1658 Don't enclose with #if HAVE_GIF.
1659 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
1660 animated gif. Otherwise use image_load_quicktime.
1661 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
1662 gif_DrawText to avoid conflict with QuickdrawText.h.
1663 [HAVE_GIF] (gif_load): Sync with xfns.c.
1664 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
1665 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
1666 Ghostscript is not supported yet).
1667 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
1668 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
1669 cross_disabled_images (from xfns.c). Remove #if 0 for supported
1670 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
1671 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
1672 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
1673 HAVE_PNG. Call EnterMovies to support animated gifs.
1674 Call init_image_func_pointer to bind a symbol
1675 _CGImageCreateWithPNGDataProvider if it is defined.
1676
1677 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
1678 (x_draw_bar_cursor): Sync declaration with xterm.c.
1679 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
1680 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
1681 graphics).
1682 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
1683 (mac_draw_line_to_pixmap, XCreatePixmap)
1684 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
1685 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
1686 New functions.
1687 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
1688 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
1689 Cast bits to char *.
1690 (reflect_byte): New function (from w32fns.c).
1691 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
1692 due to byte alignment.
1693 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
1694 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
1695 (XSetForeground): Remove static (now used in macfns.c).
1696 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
1697 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
1698 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
1699 (x_draw_glyph_string_box, x_draw_image_foreground)
1700 (x_draw_image_foreground_1, x_draw_image_glyph_string)
1701 (x_draw_stretch_glyph_string, x_draw_glyph_string)
1702 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
1703 Sync with xterm.c.
1704 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
1705 than the xterm.c version when a strictly horizontal or vertical
1706 line is drawn.
1707 (XTset_terminal_window): Add static.
1708 (x_make_frame_visible): Add UNBLOCK_INPUT.
1709 (x_free_frame_resources): New funcion (from xterm.c).
1710 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
1711 occurs in tool bar area.
1712 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
1713 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
1714 Initialize image cache.
1715 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
1716 Enclose unused functions with #if 0.
1717 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
1718 (decode_mac_font_name): New function to apply code conversions
1719 from a mac font name to an XLFD font name according to its script code.
1720 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
1721 font name to a mac font name according to REGISTRY and ENCODING fields.
1722 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
1723 whose name starts with `.'.
1724 (init_font_name_table): Use decode_mac_font_name. Add both
1725 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
1726 of a font is smJapanese.
1727 (mac_do_list_fonts): New function to list fonts that match a given
1728 pattern.
1729 (x_list_fonts, XLoadQueryFont): Use it.
1730 (XLoadQueryFont): Set rbearing field for each variable width
1731 character to avoid needless redraw.
1732 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
1733
1734 2004-02-26 Kim F. Storm <storm@cua.dk>
1735
1736 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
1737 as read_socket_hook handler on X aborts if buffer is too small
1738 and W32 handler doesn't always check buffer limit.
1739
1740 * xdisp.c (handle_single_display_prop): Handle left-fringe and
1741 right-fringe similar to a display margin image. Specifically,
1742 the characters having the fringe prop are no longer shown, and
1743 we use IT_IMAGE/next_element_from_image with image_id = -1 to
1744 do this. Set fringe bitmap face_id in it->face_id.
1745 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
1746 still realize it->face (i.e. the fringe bitmap face).
1747
1748 2004-02-25 Miles Bader <miles@gnu.org>
1749
1750 * xdisp.c (check_it): Check string/string_pos consistency.
1751 (init_iterator): Initialize string-related fields properly.
1752
1753 2004-02-11 Miles Bader <miles@gnu.org>
1754
1755 * xdisp.c (produce_image_glyph): Force negative descents to zero.
1756
1757 2004-02-10 Miles Bader <miles@gnu.org>
1758
1759 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
1760 BLOCK_INPUT can be nested, so it doesn't make much sense.
1761
1762 2004-02-24 Michael Mauger <mmaug@yahoo.com>
1763
1764 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
1765 (xbm_read_bitmap_data): Use unsigned char for image data.
1766
1767 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
1768
1769 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
1770
1771 2004-02-22 Jason Rumney <jasonr@gnu.org>
1772
1773 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
1774 correctly over other bitmaps.
1775
1776 2004-02-21 Eli Zaretskii <eliz@gnu.org>
1777
1778 * emacs.c (USAGE1): Split into two halves.
1779 (USAGE2): Second half of the old USAGE1.
1780 (USAGE3): Rename from USAGE2.
1781 (USAGE4): Rename from USAGE3.
1782
1783 2004-02-21 Juri Linkov <juri@jurta.org>
1784
1785 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
1786 Fix --multibyte. Move --help, --version to USAGE2. Add alias
1787 --file. Fix -f, -l. Sort options. Untabify.
1788 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
1789
1790 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
1791
1792 * category.c (Fdefine_category, Fcategory_docstring)
1793 (Fget_unused_category, Fset_category_table)
1794 (Fcategory_set_mnemonics): Doc fixes.
1795
1796 2004-02-20 Kim F. Storm <storm@cua.dk>
1797
1798 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
1799 The following changes are relative to the 2004-01-21 revision.
1800 (NREAD_INPUT_EVENTS): Define as max number of input events to read
1801 in one call to read_socket_hook. Value is 8.
1802 (read_avail_input): Separate and rework handling of read_socket_hook
1803 and non-read_socket_hook cases. Use smaller input_event buffer
1804 in read_socket_hook case, and repeat if full buffer is read.
1805 Use new local variable 'discard' to skip input after C-g.
1806 In non-read_socket_hook case, just use a single input_event, and
1807 call kbd_buffer_store_event on the fly for each character.
1808
1809 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
1810
1811 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
1812 Remove unused `gu' alternative.
1813
1814 2004-02-19 Andreas Schwab <schwab@suse.de>
1815
1816 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
1817 warning.
1818
1819 2004-02-18 Kim F. Storm <storm@cua.dk>
1820
1821 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
1822 Fix last change.
1823
1824 2004-02-17 Kim F. Storm <storm@cua.dk>
1825
1826 * xdisp.c (fast_find_position): Fix return value of new version;
1827 it was inverted compared to the 21.1 version.
1828 (get_window_cursor_type): Don't look at glyph if NULL.
1829 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
1830
1831 * keyboard.c: Rework previous change; it didn't consider that the
1832 buf array was allocated on the stack.
1833 (prev_read): Remove variable.
1834 (read_avail_input_buf): New static event buffer array.
1835 (in_read_avail_input): New static variable to handle re-entrancy.
1836 (read_avail_input): Change buf to pinter to read_avail_input_buf.
1837 Use in_read_avail_input to handle re-entrance; when re-entered,
1838 fully initialize and use tmp_buf array instead of read_avail_input_buf.
1839 Do not initialize read_avail_input_buf in full here; instead assume it
1840 is always cleared on entry. To ensure that, we clear (just) the
1841 entries that were used before we return.
1842 (init_keyboard): Initialize read_avail_input_buf here.
1843
1844 2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change)
1845
1846 * cmds.c (Fend_of_line): Doc fix.
1847
1848 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
1849
1850 * keyboard.c (prev_read): New static variable.
1851 (read_avail_input): Use it to zero out only those slots in buf[]
1852 that were used last time we were called.
1853
1854 2004-02-16 Eli Zaretskii <eliz@gnu.org>
1855
1856 * Makefile.in (obj): Move fringe.o from here...
1857 (XOBJ, MAC_OBJ): ...to here.
1858
1859 2004-02-16 Stephen Eglen <stephen@gnu.org>
1860
1861 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
1862
1863 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
1864
1865 * data.c (Fbyteorder):
1866 * fringe.c (Fdefine_fringe_bitmap):
1867 * xdisp.c (handle_single_display_prop):
1868 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
1869
1870 2004-02-16 Jason Rumney <jasonr@gnu.org>
1871
1872 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
1873
1874 2004-02-15 Steven Tamm <steventamm@mac.com>
1875
1876 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
1877 controlling emulation of a three button mouse with option and
1878 command keys.
1879 (Qreverse, mac_get_enumlated_btn): Handle the emulation
1880 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
1881
1882 2004-02-15 Kim F. Storm <storm@cua.dk>
1883
1884 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
1885
1886 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
1887 Perform byte-swapping.
1888
1889 2004-02-14 Kim F. Storm <storm@cua.dk>
1890
1891 * dispextern.h (struct draw_fringe_bitmap_params): Change member
1892 bits from char to short to facilitate wider bitmaps.
1893 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
1894 member.
1895
1896 * fringe.c (struct fringe_bitmap): Change member bits from char to
1897 short to facilitate 16 bits wide bitmaps. Modify all standard
1898 bitmaps accordingly.
1899 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
1900 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
1901 (draw_fringe_bitmap): Ditto.
1902 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
1903 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
1904 handle up to 16 bits wide bitmaps.
1905 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
1906 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
1907
1908 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
1909 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
1910 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
1911
1912 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
1913 so it is no longer necessary to expand them here.
1914
1915 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
1916
1917 2004-02-12 Kim F. Storm <storm@cua.dk>
1918
1919 * window.c (Fwindow_fringes): Doc fix.
1920
1921 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1922
1923 * xselect.c (x_get_foreign_selection): Add new optional parameter
1924 time_stamp.
1925 (Fx_get_selection_internal): Ditto, pass time_stamp to
1926 x_get_foreign_selection.
1927
1928 * data.c (Fbyteorder): New function.
1929
1930 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1931
1932 * atimer.c: Move include stdio.h to same place as in other files.
1933
1934 * region-cache.c: Ditto.
1935
1936 * sysdep.c: Ditto.
1937
1938 * xfaces.c: Ditto.
1939
1940 2004-02-09 Sam Steingold <sds@gnu.org>
1941
1942 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
1943
1944 2004-02-09 Kim F. Storm <storm@cua.dk>
1945
1946 * fringe.c: New file. Move original fringe related declarations
1947 and code from dispextern.h and xdisp.c here.
1948 Rework code to support user defined fringe bitmaps, redefining
1949 standard bitmaps, ability to overlay user defined bitmap with
1950 overlay arrow bitmap, and add faces to bitmaps.
1951 (Voverflow_newline_into_fringe): Declare here.
1952 (enum fringe_bitmap_align): New enum.
1953 (..._bits): All bitmaps are now defined without bitswapping; that
1954 is now done in init_fringe_once (if necessary).
1955 (standard_bitmaps): New array with specifications for the
1956 standard fringe bitmaps.
1957 (fringe_faces): New array.
1958 (valid_fringe_bitmap_id_p): New function.
1959 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
1960 (draw_fringe_bitmap): New function which draws fringe bitmap,
1961 possibly overlaying bitmap with cursor in right fringe or the
1962 overlay arrow in the left fringe.
1963 (update_window_fringes): Do not handle overlay arrow here.
1964 Compare and copy fringe bitmap faces.
1965 (init_fringe_bitmap): New function.
1966 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
1967 define and destroy user defined fringe bitmaps.
1968 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
1969 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
1970 (syms_of_fringe): New function. Defsubr new DEFUNs.
1971 DEFVAR_LISP Voverflow_newline_into_fringe.
1972 (init_fringe_once, init_fringe): New functions.
1973 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
1974
1975 * Makefile.in (obj): Add fringe.o.
1976 (fringe.o): New dependencies.
1977
1978 * dispextern.h (FRINGE_ID_BITS): New definition for number of
1979 bits allocated to hold a fringe number. Increase number of bits
1980 from 4 to 8 to allow user defined fringe bitmaps.
1981 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
1982 left_user_fringe_face_id, right_user_fringe_bitmap,
1983 right_user_fringe_face_id.
1984 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
1985 Move to new file fringe.c.
1986 (MAX_FRINGE_BITMAPS): Define here.
1987 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
1988 and overlay_p. Change member which to int.
1989 (struct redisplay_interface): New members define_fringe_bitmap
1990 and destroy_fringe_bitmap.
1991 (valid_fringe_bitmap_id_p): Add prototype.
1992 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
1993
1994 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
1995 arrows.
1996 (update_frame): Do flush_display if force_flush_display_p to
1997 ensure display (specifically fringes) are updated in a timely
1998 manner when resizing the frame by dragging the mouse.
1999 (update_window_line): Update row if overlay arrow changed.
2000 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
2001 or overlay arrow changed.
2002
2003 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
2004 syms_of_fringe, and init_fringe.
2005
2006 * frame.h (struct frame): New member force_flush_display_p.
2007
2008 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
2009 Add prototypes.
2010
2011 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
2012 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
2013 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
2014 Use cursor color for displaying cursor in fringe.
2015 (x_redisplay_interface): Add null handlers for
2016 define_fringe_bitmap and destroy_fringe_bitmap functions.
2017
2018 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
2019 xterm.c to handle overlayed fringe bitmaps and to use cursor color
2020 for displaying cursor in fringe.
2021 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
2022 specific functions to define and destroy fringe bitmaps in fringe_bmp.
2023 (w32_redisplay_interface): Add them to redisplay_interface.
2024 (w32_term_init): Call w32_init_fringe instead of explicitly
2025 defining fringe bitmaps in fringe_bmp array.
2026 (x_delete_display): Call w32_reset_fringes instead of explicitly
2027 destroying fringe bitmaps in fringe_bmp array.
2028
2029 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
2030 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
2031 (continued_bits, continuation_bits, ov_bits, first_line_bits)
2032 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
2033 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
2034 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
2035 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
2036 Move fringe handling vars and code to new file fringe.c.
2037 (handle_display_prop): Handle left-fringe and right-fringe
2038 display properties; store user fringe bitmaps in iterator.
2039 (move_it_in_display_line_to): Handle cursor in fringe at eob.
2040 (clear_garbaged_frames): Set force_flush_display_p if resized.
2041 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
2042 (display_line): Handle cursor in fringe at eob.
2043 (display_line): Set row user fringe bitmaps from iterator.
2044
2045 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
2046 Use cursor color for displaying cursor in fringe.
2047 (x_redisplay_interface): Add null handlers for
2048 define_fringe_bitmap and destroy_fringe_bitmap functions.
2049
2050 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2051
2052 * macfns.c (Fx_change_window_property): Make doc string and
2053 parameters same as for X version.
2054
2055 * w32fns.c (Fx_change_window_property): Ditto.
2056
2057 2004-02-07 Kim F. Storm <storm@cua.dk>
2058
2059 * xdisp.c (hscroll_window_tree): Position cursor near to right
2060 margin in hscrolled window when jumping to end of line (rather
2061 than centering cursor).
2062
2063 * process.c (wait_reading_process_input): Don't do adaptive read
2064 buffering if waiting for a specific process.
2065
2066 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
2067
2068 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
2069 (Fread_minibuffer, Feval_minibuffer)
2070 (Fread_string, Fread_no_blanks_input)
2071 (Fcompleting_read): Doc fixes.
2072 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
2073 completion-regexp-list. Define Qcase_fold_search and staticpro it.
2074 (read_minibuf): Fix initial comment.
2075 (Ftry_completion, Fall_completions, Ftest_completion): Bind
2076 case-fold-search to the value of completion-ignore-case when
2077 checking completion-regexp-list.
2078 (Fdisplay_completion_list): Make it handle arguments that are
2079 symbols. Doc fix.
2080
2081 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2082
2083 * xterm.h: Add declaration of free_frame_menubar.
2084
2085 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
2086 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
2087 (Fx_change_window_property): Add declaration of parameters type and
2088 format. Remove unused variable cons.
2089
2090 * xselect.c: Include stdio,h.
2091
2092 2004-02-05 Kenichi Handa <handa@m17n.org>
2093
2094 * fns.c (Fset_char_table_range): Fix previous change.
2095
2096 * buffer.c (Fset_buffer_multibyte): Fix docstring.
2097
2098 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
2099
2100 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
2101
2102 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
2103
2104 * keymap.c (Vmouse_events): Rename from Vmenu_events.
2105 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
2106
2107 2004-02-04 Kenichi Handa <handa@m17n.org>
2108
2109 * fns.c (Fset_char_table_range): Handle charsets ascii,
2110 eight-bit-control, and eight-bit-graphic correctly.
2111
2112 2004-02-03 Jason Rumney <jasonr@gnu.org>
2113
2114 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
2115
2116 * w32fns.c (x_to_w32_font): Likewise.
2117
2118 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2119
2120 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
2121 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
2122
2123 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
2124 ClientMessages.
2125
2126 * xselect.c: Include termhooks.h and X11/Xproto.h
2127 (x_check_property_data, x_fill_property_data)
2128 (x_property_data_to_lisp, mouse_position_for_drop)
2129 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
2130 (Fx_send_client_event): Move here from xfns.c.
2131 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
2132
2133 * xfns.c (x-send-client-message): Move to xselect.c
2134 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
2135 OUTER_P.
2136 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
2137 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
2138 if vector_ret_p is true.
2139 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
2140
2141 2004-02-02 Eli Zaretskii <eliz@gnu.org>
2142
2143 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
2144 basename of FILE relative to it, not FILE itself.
2145
2146 2004-02-02 Kenichi Handa <handa@m17n.org>
2147
2148 * coding.c (coding_restore_composition): Check invalid
2149 composition data more rigidly.
2150
2151 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
2152
2153 * fileio.c (Fread_file_name_internal): Correctly handle the case
2154 where insert-default-directory is nil.
2155 (Fread_file_name): Always return an empty string if the user exits
2156 with an empty minibuffer. Adapt the docstring accordingly.
2157 (syms_of_fileio): Adapt the docstring of insert-default-directory
2158 to the change in Fread_file_name.
2159
2160 2004-01-29 Eli Zaretskii <eliz@gnu.org>
2161
2162 * alloca.c [!alloca]: Fix the prototype for xfree.
2163
2164 2004-01-29 Kenichi Handa <handa@m17n.org>
2165
2166 * fns.c (string_char_to_byte): Optimize for ASCII only string.
2167 (string_byte_to_char): Likewise.
2168
2169 2004-01-28 Peter Runestig <peter@runestig.com>
2170
2171 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
2172
2173 2004-01-27 Steven Tamm <steventamm@mac.com>
2174
2175 * unexmacosx.c (unexec_copy): Do not copy more than was
2176 requested to prevent overwriting during unexec.
2177
2178 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2179
2180 * process.c (sigchld_handler): Add comment about not calling malloc.
2181
2182 * process.h: Add extern to synch_process_termsig.
2183
2184 2004-01-27 Steven Tamm <steventamm@mac.com>
2185
2186 * macterm.c (make_mac_frame, make_mac_terminal_frame):
2187 Move setting of scroll bars from make_mac_frame to
2188 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
2189
2190 2004-01-26 Richard M. Stallman <rms@gnu.org>
2191
2192 * search.c (Freplace_match): Handle nonexistent
2193 back-references properly.
2194
2195 2004-01-03 Richard M. Stallman <rms@gnu.org>
2196
2197 * window.c (decode_any_window): New function.
2198 (Fwindow_height, Fwindow_width, Fwindow_edges)
2199 (Fwindow_pixel_edges, Fwindow_inside_edges)
2200 (Fwindow_inside_pixel_edges): Use decode_any_window.
2201
2202 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2203
2204 * process.h: synch_process_termsig new variable.
2205
2206 * callproc.c: Define synch_process_termsig.
2207 (Fcall_process): Initiate synch_process_termsig to zero and
2208 check if non-zero and get signal name after subprocess has ended.
2209
2210 * process.c (sigchld_handler): Set synch_process_termsig
2211 if terminated by a signal. synch_process_death setting removed.
2212
2213 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
2214
2215 2004-01-26 Andreas Schwab <schwab@suse.de>
2216
2217 * print.c (print_preprocess): Declare size as EMACS_INT to not
2218 lose bits.
2219 (print_object): Likewise.
2220 * alloc.c (Fpurecopy): Likewise.
2221
2222 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
2223
2224 * window.c (Fwindow_minibuffer_p): Doc fix.
2225
2226 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
2227
2228 * editfns.c (Fformat): Make both passes accept the same set of flags.
2229
2230 2004-01-23 Kenichi Handa <handa@m17n.org>
2231
2232 * fns.c (Fmd5): If OBJECT is a buffer different from the current
2233 one, set buffer to OBJECT temporarily.
2234
2235 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
2236
2237 * keyboard.c (kbd_buffer_gcpro): Remove.
2238 (kbd_buffer_store_event, clear_event, Fdiscard_input)
2239 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
2240 Don't initialize and/or maintain the variable any more. It was made
2241 redundant by my commit of 2003-06-15.
2242
2243 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
2244
2245 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2246
2247 * lisp.h: Add undef DECL_ALIGN.
2248
2249 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
2250
2251 * process.c (wait_reading_process_input) [SYNC_INPUT]:
2252 Check interrupt_input_pending explicitly.
2253
2254 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
2255
2256 * keyboard.c (handle_async_input): New fun,
2257 extracted from input_available_signal.
2258 (input_available_signal, reinvoke_input_signal): Use it.
2259
2260 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
2261
2262 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
2263
2264 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
2265 manipulation macros for when tags are in the lower bits.
2266 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
2267 (DECL_ALIGN): New macro.
2268 (DEFUN): Use it.
2269
2270 * lisp.h [ENABLE_CHECKING]: Don't force union type.
2271
2272 * s/darwin.h (__attribute__): Remove outdated workaround.
2273
2274 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
2275
2276 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
2277 Don't check range of malloc address.
2278 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
2279
2280 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
2281
2282 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
2283
2284 2004-01-19 Kenichi Handa <handa@m17n.org>
2285
2286 * fontset.c (fontset_font_pattern): Fix previous change.
2287
2288 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
2289
2290 * xdisp.c (Voverflow_newline_into_fringe)
2291 (move_it_in_display_line_to, redisplay_internal)
2292 (update_window_fringes, redisplay_window, display_line, window):
2293 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
2294 that it compiles without a window-system.
2295 * dispnew.c (direct_output_for_insert, update_window): Likewise.
2296
2297 2004-01-16 Kim F. Storm <storm@cua.dk>
2298
2299 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
2300
2301 * buffer.c (init_buffer_once): Set buffer_defaults and
2302 buffer_local_flags for indicate_buffer_boundaries.
2303 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
2304 default- variable for it.
2305
2306 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
2307 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
2308 New members exact_window_width_line_p and cursor_in_fringe_p for
2309 overflowing newlines into right fringe.
2310 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
2311 and indicate_bottom_line_p for buffer boundaries and scrolling.
2312 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
2313 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
2314 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
2315 and HOLLOW_SQUARE_BITMAP.
2316 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
2317 Add prototypes.
2318
2319 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
2320 instead of related indicator fields.
2321 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
2322 (direct_output_for_insert): Handle exact width lines like
2323 contined lines. Call update_window_fringes.
2324 (update_window): Call update_window_fringes.
2325 (scrolling_window): Don't skip desired rows with changed bitmaps.
2326 Check if fringe bitmaps changes when assigning scrolled rows.
2327
2328 * xdisp.c (Voverflow_newline_into_fringe): New variable.
2329 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
2330 (move_it_in_display_line_to): Overflow newline into fringe for
2331 rows that are exactly as wide as the window.
2332 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
2333 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
2334 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
2335 (fringe_bitmaps): Add new bitmaps.
2336 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
2337 Select proper bitmap for cursor in fringe when appropriate.
2338 Handle alignment of bitmap to top or bottom of row.
2339 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
2340 done by update_window_fringes.
2341 (update_window_fringes, draw_window_fringes): New functions.
2342 (redisplay_internal): Call update_window_fringes in case only
2343 cursor row is updated.
2344 (redisplay_window): Call update_window_fringes.
2345 Explicitly call draw_window_fringes if redisplay was done using
2346 the current matrix or the overlay arrow is in the window.
2347 (try_window_reusing_current_matrix): Mark scrolled rows for
2348 fringe update (to update buffer-boundaries / scrolling icons).
2349 (find_last_unchanged_at_beg_row): Handle exact width lines line
2350 continued lines.
2351 (display_line): Overflow newline into fringe for rows that are
2352 exactly as wide as the window. Don't append space for newline
2353 in this case.
2354 (notice_overwritten_cursor): Explicitly clear cursor bitmap
2355 in fringe as if it had been overwritten.
2356 (erase_phys_cursor): Erase cursor bitmap in fringe.
2357 (syms_of_xdisp): Mark show-trailing-whitespace and
2358 void-text-area-pointer as user options.
2359 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
2360
2361 * xterm.c (x_update_window_end): Call draw_window_fringes.
2362 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
2363 in row instead of actually drawing fringe bitmaps.
2364 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
2365 (x_draw_window_cursor): Draw cursor in fringe.
2366
2367 * w32term.c (x_update_window_end): Call draw_window_fringes.
2368 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
2369 in row instead of actually drawing fringe bitmaps.
2370 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
2371 (w32_draw_window_cursor): Draw cursor in fringe.
2372
2373 * macterm.c (x_update_window_end): Call draw_window_fringes.
2374 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
2375 in row instead of actually drawing fringe bitmaps.
2376 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
2377 (mac_draw_window_cursor): Draw cursor in fringe.
2378
2379 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2380
2381 * xterm.c (handle_one_xevent): Don't handle characters that are part
2382 of an old style (XLookupString) compose sequence.
2383
2384 2004-01-15 Kenichi Handa <handa@m17n.org>
2385
2386 * search.c (Freplace_match): Use make_multibyte_string or
2387 make_unibyte_string according to the buffer multibyteness.
2388
2389 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
2390
2391 * alloc.c (struct interval_block, struct string_block)
2392 (struct symbol_block, struct marker_block, live_string_p)
2393 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
2394 Better preserve alignment for objects in blocks.
2395 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
2396
2397 * lread.c (defvar_per_buffer): Remove dead declaration.
2398
2399 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
2400 space size.
2401
2402 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2403
2404 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
2405 if a key press should pop down. Only pop down if a key is pressed
2406 outside the menu/dialog.
2407 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
2408 popup_get_selection.
2409 (create_and_show_dialog): Pass 1 for down_on_keypress to
2410 popup_get_selection.
2411
2412 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2413
2414 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
2415 BLOCK/UNBLOCK_INPUT.
2416
2417 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2418
2419 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
2420 specified.
2421
2422 2004-01-08 Kenichi Handa <handa@m17n.org>
2423
2424 * editfns.c (Fformat): Fix '&' to '&&'.
2425
2426 2004-01-08 Andreas Schwab <schwab@suse.de>
2427
2428 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
2429 size if PSEUDOVECTOR_FLAG is set.
2430
2431 2004-01-07 Kenichi Handa <handa@m17n.org>
2432
2433 * charset.c (Fdeclare_equiv_charset): Fix docstring.
2434
2435 * fontset.c (fontset_ref_via_base): Fix previous change.
2436
2437 2004-01-07 Kim F. Storm <storm@cua.dk>
2438
2439 * process.c (read_process_output): Only activate adaptive
2440 buffering if we read less than 256 bytes at a time.
2441
2442 2004-01-06 Kim F. Storm <storm@cua.dk>
2443
2444 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
2445 object and image object. Return glyph width and height.
2446 (mode_line_string, marginal_area_string): Ditto.
2447
2448 * dispextern.h (buffer_posn_from_coords, mode_line_string)
2449 (marginal_area_string): Fix prototypes.
2450
2451 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
2452 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
2453 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
2454
2455 * keyboard.c (make_lispy_position): Use modified mode_line_string,
2456 buffer_posn_from_coords, and marginal_area_string functions to
2457 include both string object and image object in the lispy position.
2458 Also add actual glyph width and height to position.
2459 (read_key_sequence): Use real buffer position from mouse
2460 event to find keymap property even when click is in marginal area.
2461
2462 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
2463 mode_line_string and marginal_area_string functions to handle
2464 both string object and image object properties.
2465
2466 2004-01-06 Andreas Schwab <schwab@suse.de>
2467
2468 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
2469 character.
2470
2471 2004-01-02 Andreas Schwab <schwab@suse.de>
2472
2473 * macterm.c (emacs_options, x_initialized, same_x_server):
2474 Remove unused (and duplicated) definitions.
2475
2476 2004-01-02 Kim F. Storm <storm@cua.dk>
2477
2478 * process.h (struct Lisp_Process): New members for adaptive read
2479 buffering: adaptive_read_buffering, read_output_delay, and
2480 read_output_skip.
2481
2482 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
2483 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
2484 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
2485 (process_output_delay_count, process_output_skip): New vars.
2486 (Vprocess_adaptive_read_buffering): New variable.
2487 (make_process): Initialize adaptive read buffering members.
2488 (Fstart_process): Set adaptive_read_buffering member.
2489 (deactivate_process): Cleanup adaptive read buffering.
2490 (wait_reading_process_input): Temporarily omit delayed
2491 subprocesses from the set of file descriptors to read from;
2492 adjust the select timeout if we skipped any subprocesses.
2493 (read_process_output): Increase adaptive read buffering delay if
2494 we read less than a full buffer; reduce delay when we read a
2495 full buffer.
2496 (send_process): Simplify using local Lisp_Process var.
2497 Reset adaptive read buffering delay after write.
2498 (init_process): Initialize process_output_delay_count and
2499 process_output_skip.
2500 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
2501
2502 2004-01-01 Jason Rumney <jasonr@gnu.org>
2503
2504 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
2505
2506 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
2507
2508 * print.c (Ferror_message_string): Add hyperlink in the docstring
2509 to the definition of `signal' in the Elisp manual.
2510 * eval.c (Fsignal): Ditto.
2511
2512 2003-12-29 James Clark <jjc@jclark.com> (tiny change)
2513
2514 * fns.c (internal_equal): Return t for two NaN arguments.
2515
2516 2003-12-29 Richard M. Stallman <rms@gnu.org>
2517
2518 * data.c (store_symval_forwarding): Handle setting
2519 default-fill-column, etc., by changing the value in
2520 buffers that use the default.
2521
2522 * minibuf.c (Fset_minibuffer_window): Doc fix.
2523
2524 * fileio.c (choose_write_coding_system): Ignore auto_saving
2525 if using the visited file for auto saves.
2526 (Fwrite_region): Don't update SAVE_MODIFF
2527 if auto-saving in visited file.
2528
2529 2003-12-29 Kenichi Handa <handa@m17n.org>
2530
2531 * dispextern.h (face_font_available_p): Extern it.
2532
2533 * fontset.c (Voverriding_fontspec_alist): New variable.
2534 (lookup_overriding_fontspec): New function.
2535 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
2536 (fontset_font_pattern): Likewise.
2537 (regulalize_fontname): New function.
2538 (Fset_fontset_font): Call regulalize_fontname.
2539 (Fset_overriding_fontspec_internal): New function.
2540 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
2541 Defsubr Sset_overriding_fontspec_internal.
2542
2543 * xfaces.c (face_font_available_p): New function.
2544
2545 2003-12-28 Richard M. Stallman <rms@gnu.org>
2546
2547 * buffer.c (Fother_buffer): Don't crash if BUF is nil
2548 or if its name is nil.
2549
2550 * buffer.c (Fkill_buffer): Don't delete auto-save file
2551 if it's the same as the visited file.
2552
2553 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
2554
2555 * coding.c (Fcheck_coding_system): Doc fix.
2556
2557 2003-12-28 Kim F. Storm <storm@cua.dk>
2558
2559 * Makefile.in (eval.o): Depend on dispextern.h.
2560
2561 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
2562 image glyph using image's ascent.
2563 (mode_line_string): Return image glyph as object clicked on.
2564 Adjust y0 for image glyph using image's ascent.
2565
2566 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
2567 (struct glyph): New members, ascent and descent. Used to save
2568 this glyph's ascent and descent, instead of having.
2569 (struct glyph): Declare member face_id using FACE_ID_BITS.
2570 (find_hot_spot): Add prototype.
2571
2572 * keyboard.c (Qimage): Remove extern (now in lisp.h).
2573 (QCmap): Declare extern.
2574 (make_lispy_position): When position is inside image hot-spot,
2575 use hot-spot element's id as posn element.
2576
2577 * lisp.h (IMAGEP): New macro to test for image object type.
2578 (Qimage): Declare extern.
2579
2580 * macfns.c (Qimage): Remove extern (now in lisp.h).
2581 (valid_image_p, parse_image_spec): Use IMAGEP macro.
2582
2583 * macterm.c (Qface, Qmouse_face): Remove unused externs.
2584
2585 * w32fns.c (Qimage): Remove extern (now in lisp.h).
2586 (valid_image_p, parse_image_spec): Use IMAGEP macro.
2587
2588 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
2589
2590 * w32term.c (Qface, Qmouse_face): Remove unused externs.
2591
2592 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
2593 pointer types.
2594 (Qrelative_width, Qalign_to): Remove unused variables.
2595 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
2596 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
2597 image maps.
2598 (x_y_to_hpos_vpos): Return glyph relative coordinates through
2599 new dx and dy args.
2600 Remove buffer_only_p arg (always 0). Simplify code accordingly.
2601 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
2602 than row's ascent and height, to get sensible height on tall rows.
2603 (build_desired_tool_bar_string): Remove Qimage extern.
2604 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
2605 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
2606 image glyph is alone on the last line.
2607 (append_glyph, append_composite_glyph, produce_image_glyph)
2608 (append_stretch_glyph): Set glyph's ascent and descent.
2609 (on_hot_spot_p): New function to check if position is inside an
2610 rectangular, circular, or polygon-shaped image hot-spot,
2611 (find_hot_spot): New function to search for image hot-spot.
2612 (Flookup_image_map): New defun to search for image hot-spot.
2613 (define_frame_cursor1): New aux function to determine frame pointer.
2614 (note_mode_line_or_margin_highlight, note_mouse_highlight):
2615 Handle `pointer' text property and :pointer image property to
2616 control frame pointer shape. Detect image hot-spots for pointer
2617 and help_echo properties. Use define_frame_cursor1.
2618 (note_mouse_highlight): Use Vvoid_text_area_pointer.
2619 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
2620 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
2621
2622 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
2623
2624 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
2625 (Qimage): Remove extern (now in lisp.h).
2626 (valid_image_p, parse_image_spec): Use IMAGEP macro.
2627
2628 * xmenu.c (show_help_event): Remove unused code.
2629
2630 * xterm.c (Qface, Qmouse_face): Remove unused externs.
2631 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
2632 row's ascent and descent, to get a sensible height on tall rows.
2633
2634 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
2635
2636 * minibuf.c (Fcompleting_read): Undo previous change.
2637
2638 2003-12-25 Lars Hansen <larsh@math.ku.dk>
2639
2640 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
2641 Arguments GCPRO'ed in call to file name handler.
2642
2643 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
2644
2645 * termcap.c (tgetst1): Scan for "%pN"; if all
2646 N are continuous in [1,9], remove all "%pN".
2647
2648 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2649
2650 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
2651
2652 * xfaces.c (lface_fully_specified_p): Take into account that
2653 MAC OS always have unspecified stipple.
2654
2655 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
2656
2657 * tparam.c (tparam1): Add handling for `%pN', which
2658 means use param N for the next substitution.
2659
2660 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
2661
2662 * xfaces.c (Fcolor_gray_p): Fix omission bug:
2663 In case `frame' is nil, consult the selected frame.
2664 (Fcolor_supported_p): Likewise.
2665
2666 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
2667
2668 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
2669 Doc fixes.
2670
2671 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
2672 and an integer. Adapt the introductory comment accordingly.
2673 (Fread_from_minibuffer): Delete code moved into read_minibuf.
2674 Doc fix.
2675 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
2676 read_minibuf.
2677 (Fcompleting_read): Delete code moved into read_minibuf.
2678 (Ftest_completion): Make it handle obarrays and hash tables correctly.
2679
2680 2003-12-03 Kenichi Handa <handa@m17n.org>
2681
2682 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
2683 encoding sequence.
2684
2685 2003-12-01 Kenichi Handa <handa@m17n.org>
2686
2687 * composite.c (syms_of_composite): Don't make the compostion hash
2688 table week.
2689
2690 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
2691
2692 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
2693 * textprop.c (Fget_char_property_and_overlay): New function.
2694 (syms_of_textprop): Defsubr it.
2695
2696 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2697
2698 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
2699 to compile on terminal configuration.
2700
2701 * fileio.c (Fread_file_name): Check use_file_dialog also before
2702 calling Fx_file_dialog.
2703
2704 * fns.c: use_file_dialog: New variable.
2705 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
2706
2707 2003-11-29 Kim F. Storm <storm@cua.dk>
2708
2709 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
2710 (syms_of_msdos): Don't intern and staticpro them.
2711
2712 2003-11-27 Kim F. Storm <storm@cua.dk>
2713
2714 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
2715 coordinates relative to glyph at posn. If glyph is an image,
2716 return that as object at posn. Callers changed.
2717 (mode_line_string, marginal_area_string): Calculate and return
2718 pixel coordinates relative to glyph. Callers changed.
2719
2720 * dispextern.h (buffer_posn_from_coords, mode_line_string)
2721 (marginal_area_string): Fix prototypes.
2722 (window_box_left_offset, window_box_right_offset): Add prototypes.
2723
2724 * frame.h (get_specified_cursor_type, get_window_cursor_type):
2725 Remove prototypes.
2726
2727 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
2728
2729 * keyboard.c (make_lispy_position): Add x and y coordinates
2730 relative to the current glyph as 7th element of position.
2731 If glyph is an image, return it in the object element.
2732 (read_key_sequence): Skip checks for keymap property in cases
2733 where POSN_STRING is not a string (e.g. an image).
2734
2735 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
2736 (Vshow_text_cursor_in_void): New variable.
2737 (glyph_to_pixel_coords): Don't use negative hpos.
2738 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
2739 (append_stretch_glyph): Change ascent arg to be actual value
2740 in pixels rather than ratio to height. Callers changed.
2741 (calc_pixel_width_or_height): New aux function, implementing
2742 pixel based artihmetic for glyph widths and heights.
2743 (produce_stretch_glyph): Use calc_pixel_width_or_height for
2744 :width, :height, :align-to, and :ascent, thus allowing these to
2745 be specified in pixels as well as multiples of characters.
2746 Don't produce stretch glyphs with zero width or height.
2747 (get_specified_cursor_type): Declare static.
2748 (get_window_cursor_type): Declare static. Add glyph arg to be
2749 able to know when cursor is on an image; always substitute
2750 hollow-box cursor for filled-box cursor on images, to avoid
2751 negative images and flicker when blinking the cursor.
2752 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
2753 (note_mode_line_or_margin_highlight): Use non-text cursor rather
2754 than vertical scroll-bar cursor in display margins.
2755 (note_mouse_highlight): Use non-text cursor rather than text
2756 cursor in fringes and over images in the text area.
2757 Use non-text cursor when mouse pointer is outside editable text,
2758 i.e. in the void after end-of-line or end-of-buffer; this was
2759 already done for W32, but is now standard for all systems --
2760 user can toggle show-text-cursor-in-void to get old behaviour.
2761 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
2762 Vdisplay_pixels_per_inch.
2763
2764 2003-11-25 Andreas Schwab <schwab@suse.de>
2765
2766 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
2767 EMACS_INT to not lose bits.
2768 (Ffillarray): Don't set bits beyond the size of a bool vector.
2769
2770 2003-11-25 Kim F. Storm <storm@cua.dk>
2771
2772 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
2773 define this defun on systems that cannot use stderr as lvalue.
2774
2775 2003-11-24 Gerd Moellmann <gerd@gnu.org>
2776
2777 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
2778 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
2779 ld's default is incompatible with unexec.
2780
2781 2003-11-23 Kim F. Storm <storm@cua.dk>
2782
2783 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
2784 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
2785 (Fforce_window_update): New defun.
2786 (syms_of_window): Defsubr it.
2787 (Fset_window_margins, Fset_window_fringes): Doc fix.
2788
2789 * print.c (Fredirect_debugging_output): New defun.
2790 (syms_of_print): Defsubr it.
2791
2792 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
2793
2794 * fns.c (Fset_char_table_parent): Doc fix.
2795
2796 2003-11-22 Kim F. Storm <storm@cua.dk>
2797
2798 * dispnew.c (buffer_posn_from_coords): Return actual row/column
2799 for glyph clicked on, rather than (unused) pixel positions.
2800 (mode_line_string, marginal_area_string): Change X and Y args to
2801 pointers for returning actual row/column for glyph clicked on.
2802 Simplify and optimize loops.
2803
2804 * dispextern.h (mode_line_string, marginal_area_string):
2805 Update prototypes.
2806
2807 * keyboard.c (make_lispy_position): New function for generating
2808 mouse click positions from frame and pixel coordinates.
2809 Enhanced to return buffer position and actual row/column for
2810 events outside the text area using updated mode_line_string and
2811 marginal_area_string functions.
2812 Return left-fringe and right-fringe clicks as such, rather than
2813 clicks in text area.
2814 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
2815 pixel_to_glyph_coords, as we never use the results.
2816 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
2817 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
2818 Eliminate unused code in WHEEL_EVENT handling.
2819 (make_lispy_movement): Use make_lispy_position.
2820
2821 * window.c (coordinates_in_window): Remove redundant tests.
2822 Fix returned X pixel value for left-margin.
2823
2824 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
2825 mode_line_string and marginal_area_string parameters.
2826
2827 2003-11-22 Lars Hansen <larsh@math.ku.dk>
2828
2829 * w32.c (struct the_group, getgrgid): Add.
2830 * mac.c (struct my_group, getgrgid): Add.
2831
2832 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
2833
2834 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
2835
2836 2003-11-21 Lars Hansen <larsh@math.ku.dk>
2837
2838 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
2839 include in call to file name handler. Optionally translate numeric
2840 UID and GID to strings. Update docstring.
2841 (directory_files_internal): Add parameter ID-FORMAT.
2842 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
2843 include in call to file name handler and call to
2844 directory_files_internal. Update Docstring.
2845 (Fdirectory_files): Add dummy parameter in call to
2846 directory_files_internal.
2847 * lisp.h (Qinteger): Add.
2848 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
2849 (Ffile_attributes): Add parameter.
2850 * data.c (Qinteger): Export.
2851
2852 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
2853
2854 * fns.c (Freverse, Fnreverse): Doc fixes.
2855
2856 2003-11-19 Kim F. Storm <storm@cua.dk>
2857
2858 * xdisp.c (init_iterator): Initialize it->start to position
2859 before reseating (in case start position is invisible).
2860 (init_to_row_start): Set it->start to row-start.
2861 (redisplay_window): Accept optional_new_start if start position
2862 is invisible (in which case IT_CHARPOS overshoots PT).
2863 (display_line): Setup row->start from it->start (rather than
2864 it->current which is wrong if first char on line is invisible).
2865 When done, reseat it->start to it->current (= start of next row).
2866 (expose_area): Fix exposure of text area when first char (e.g. TAB)
2867 is only partially visible.
2868
2869 * dispextern.h (struct it): New member start.
2870
2871 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
2872
2873 * alloc.c (make_float, Fcons): Clear the markbit at init time.
2874 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
2875 of block_index outside of the macro call.
2876 (Fgarbage_collect): Remove null code.
2877
2878 * m/amdx86-64.h: Don't redefine XPNTR.
2879
2880 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
2881 of VALMASK.
2882
2883 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
2884 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
2885 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
2886
2887 * lisp.h (VALMASK): Only define for non-union type.
2888 (MARKBIT): Remove.
2889 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
2890 (XTYPE): Define unconditionally.
2891 (XSETTYPE): Remove one more remnant.
2892 (EQ): Define differently for the union and non-union cases.
2893 (INTMASK): New bit mask.
2894 (struct Lisp_Marker): Move down to prepare for upcoming patch.
2895 (GC_EQ): Delegate to EQ.
2896
2897 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
2898
2899 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2900
2901 * xterm.c (x_window_to_scroll_bar): Move check of display to
2902 where window_id is compared.
2903
2904 2003-11-17 Kim F. Storm <storm@cua.dk>
2905
2906 * dispextern.h (struct it): New member first_vpos.
2907
2908 * xdisp.c (start_display): Set it->first_vpos.
2909 (try_window_id): Use first_vpos to start display in first _text_
2910 line if no reusable lines at start of window with header line.
2911
2912 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2913
2914 * w32fns.c (XPutPixel):
2915 * w32bdf.c (w32_init_bdf_font):
2916 * sunfns.c (sel_read):
2917 * process.c (Fmake_network_process):
2918 * frame.c (store_frame_param):
2919 * fontset.c (Fset_fontset_font):
2920 * emacs.c (shut_down_emacs):
2921 * ccl.c (ccl_driver): Remove period at end of error message.
2922
2923 * config.in: Regenerate.
2924
2925 * xfns.c (x_window_to_frame, x_any_window_to_frame)
2926 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
2927 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
2928 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
2929 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
2930
2931 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
2932
2933 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
2934 (XTmouse_position, handle_one_xevent): Pass Display* to
2935 x_window_to_scroll_bar.
2936 (x_window_to_scroll_bar): Take a Display* argument.
2937 Check that display for frame is equal to Display* argument.
2938 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
2939 x_display_info_for_display instead. Use Display in xev instead
2940 of GDK_DISPLAY.
2941 (x_dispatch_event): Call x_display_info_for_display.
2942 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
2943 (x_connection_closed): Call xg_display_close for GTK.
2944 (x_term_init): Call xg_display_open for additional displays.
2945 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
2946 for GTK.
2947
2948 * xmenu.c (single_menu_item, mouse_position_for_popup)
2949 (x_activate_menubar): Formatting adjustments.
2950
2951 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
2952 adjustments.
2953
2954 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
2955 (xg_display_close, xg_create_default_cursor)
2956 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
2957 handling.
2958 (xg_left_ptr_cursor): Remove.
2959 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
2960 cursor here.
2961 (xg_win_to_widget): Take Display* argument, call
2962 gdk_xid_table_lookup_for_display.
2963 (xg_create_frame_widgets, xg_get_file_name, create_menus)
2964 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
2965 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
2966 in FRAME_X_DISPLAY_INFO.
2967 (xg_get_scroll_id_for_window): Take Display* argument.
2968 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
2969 (xg_initialize): Remove xg_left_ptr_cursor.
2970
2971 * gtkutil.h: xg_get_scroll_id_for_window, xg_win_to_widget takes
2972 Display* argument also. Declare xg_display_open,
2973 xg_display_close, xg_create_default_cursor.
2974
2975 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2976
2977 * xterm.c (x_detect_focus_change): Do not change focus frame for
2978 Enter/LeaveNotify if the current focus frame has explicit focus.
2979
2980 2003-11-14 Kim F. Storm <storm@cua.dk>
2981
2982 * dispnew.c (update_text_area): Fix redisplay error when hscroll
2983 is active and first glyph is only partially visible.
2984
2985 2003-11-13 Kenichi Handa <handa@m17n.org>
2986
2987 * xdisp.c (select_frame_for_redisplay): New function.
2988 (redisplay_internal): Record also selected_frame for
2989 unwind_redisplay. Call select_frame_for_redisplay before
2990 redrawing each frame.
2991 (unwind_redisplay): Argument changed to a cons.
2992
2993 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
2994
2995 * fns.c (Fstring_to_multibyte): Doc fix.
2996
2997 2003-11-11 Kenichi Handa <handa@m17n.org>
2998
2999 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
3000
3001 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3002
3003 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
3004 program specified positions.
3005
3006 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3007
3008 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
3009
3010 2003-11-08 Kenichi Handa <handa@m17n.org>
3011
3012 * Makefile.in (lisp): Add kannada.el.
3013 (shortlisp): Likewise.
3014
3015 2003-11-07 Kenichi Handa <handa@m17n.org>
3016
3017 * coding.c (coding_allocate_composition_data):
3018 Reset coding->composing to COMPOSITION_NO.
3019 (coding_restore_composition): Detect invalid composition data.
3020 Give Fstring and Fvector a Lispy integer, not C int.
3021
3022 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
3023
3024 * floatfns.c (Flogb): Don't use VALMASK.
3025
3026 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
3027 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
3028
3029 * lisp.h (XINT): Move the cast to clarify what is going on.
3030 (GCTYPEMASK, XSETTYPE): Remove.
3031 (XGCTYPE): Make it an alias of XTYPE.
3032
3033 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3034
3035 * xterm.c (x_term_init): Fix formatting.
3036
3037 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3038
3039 * gtkutil.h: Declare xg_have_tear_offs, remove xg_keep_popup
3040 and xg_did_tearoff.
3041
3042 * gtkutil.c: Remove variable xg_did_tearoff.
3043 (xg_have_tear_offs): New function.
3044 (tearoff_remove): Just decrease xg_detached_menus.
3045 (tearoff_activate): Increase xg_detached_menus and call
3046 tearoff_remove when tearoff is removed.
3047 (xg_keep_popup): Remove function.
3048 (create_menus): Give add_tearoff_p as argument to recursive
3049 call to create_menus.
3050 (xg_create_widget): Use variables instead of multiple
3051 strcmp. Tell create_menus to create tear off only for
3052 menu bar menus.
3053 (xg_update_menubar): Change title for a detached menu also.
3054 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
3055 of deep_p.
3056 (xg_initialize): Initialize xg_detached_menus, remove
3057 initialization of xg_did_tearoff.
3058
3059 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
3060 xg_have_tear_offs returns non-zero.
3061 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
3062 call to xg_keep_popup.
3063
3064 2003-11-01 Andrew Choi <akochoi@shaw.ca>
3065
3066 * macterm.c (XTread_socket): Handle menubar selection and grow
3067 window only for mouseDown events.
3068
3069 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3070
3071 * xterm.c (x_term_init): For GTK part, increase x_initialized
3072 to check for more than one display. Use error instead of return 0.
3073
3074 2003-10-31 Andrew Choi <akochoi@shaw.ca>
3075
3076 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
3077 (copy_dysymtab): Call it.
3078
3079 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
3080
3081 * eval.c (Fdefvaralias): Doc fix.
3082
3083 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
3084
3085 * data.c (Fsetplist): Doc fix.
3086
3087 2003-10-14 Lute Kamstra <lute@gnu.org>
3088
3089 * window.c (Fset_window_fringes): Clarify docstring.
3090
3091 2003-10-14 Kim F. Storm <storm@cua.dk>
3092
3093 * window.c (Fset_window_margins): Simplify arg checking.
3094
3095 2003-10-13 Richard M. Stallman <rms@gnu.org>
3096
3097 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
3098 (print_partial_compiled_pattern): Replace assert with a printout.
3099 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
3100
3101 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
3102
3103 * window.c (Fset_window_margins): Allow only integers as args.
3104 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
3105 Doc fixes.
3106
3107 2003-10-13 Lute Kamstra <lute@gnu.org>
3108
3109 * window.c (Fset_window_fringes): Elaborate docstring.
3110
3111 2003-10-12 Andrew Choi <akochoi@shaw.ca>
3112
3113 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
3114
3115 * s/darwin.h (GC_MARK_STACK): Define.
3116
3117 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3118
3119 * window.c (shrink_windows): New function.
3120 (size_window): Call shrink_windows to calculate window sizes when
3121 shrinking frame with more than one window.
3122
3123 2003-10-12 Kim F. Storm <storm@cua.dk>
3124
3125 * xdisp.c (compute_fringe_widths): Doc fix.
3126
3127 2003-10-08 Kenichi Handa <handa@m17n.org>
3128
3129 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
3130
3131 2003-10-07 Kenichi Handa <handa@m17n.org>
3132
3133 * coding.c (Qcoding_system_define_form): New variable.
3134 (syms_of_coding): Intern and staticpro it.
3135 (Fcheck_coding_system): Try to autoload the definition of
3136 CODING-SYSTEM.
3137
3138 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
3139
3140 * fns.c (Frequire): Doc fix.
3141
3142 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3143
3144 * xfns.c (Fx_send_client_event): New function as a base for
3145 manipulating extended window manager hints.
3146 (Fx_send_client_event): Remove unused variable s.
3147
3148 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
3149 that function is removed.
3150
3151 * xterm.c (x_set_offset): Use move_offset_left/top instead of
3152 x/y_pixels_outer_diff.
3153 (x_check_expected_move): Calculate move_offset_left/top.
3154
3155 * xterm.h (struct x_output): New members: move_offset_top/left.
3156
3157 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
3158 call x_set_offset directly.
3159
3160 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
3161
3162 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
3163
3164 * xterm.c (x_delete_display): Free font names and font_encoder
3165 in dpyinfo->font_table.
3166
3167 * xfns.c (Fx_close_connection): Only call XFreeFont here.
3168 Move xfree of font names to x_delete_display.
3169
3170 * xterm.h (struct x_display_info): New member, wm_type.
3171 (struct x_output): New members, expected_top/left and
3172 check_expected_move.
3173
3174 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
3175 is received.
3176 (handle_one_xevent): Rename x_check_expected_move from
3177 x_check_fullscreen_move.
3178 (x_set_offset): Only add WM decoration sizes to modified_top/left
3179 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
3180 (x_check_expected_move): Rename from x_check_fullscreen_move.
3181 Removed fullscreen specific code. Use check_expected_move,
3182 expected_left/top instead. Also, set wm_type.
3183 (x_term_init): Initialize wm_type to unknown.
3184
3185 * frame.c (x_fullscreen_move): Remove addition of WM decoration
3186 sizes to move_x/y.
3187
3188 2003-10-03 Kenichi Handa <handa@m17n.org>
3189
3190 * macterm.c (x_load_font): Clear all members of FONTP before start
3191 filling them.
3192
3193 2003-10-02 Kenichi Handa <handa@m17n.org>
3194
3195 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
3196 before calling find_ccl_program_func. Call find_ccl_program_func
3197 only when fontp->font_encoder is not NULL.
3198
3199 * xterm.c (x_load_font): Clear all members of FONTP before start
3200 filling them.
3201
3202 2003-10-03 John Paul Wallington <jpw@gnu.org>
3203
3204 * keymap.c (map_keymap): Don't abort when binding is a vector.
3205
3206 2003-10-02 Jason Rumney <jasonr@gnu.org>
3207
3208 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
3209 Sync dependencies with Makefile.in.
3210 (alloca.o): Remove.
3211
3212 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
3213 filling them.
3214
3215 * w32bdf.c (w32_load_bdf_font): Likewise.
3216
3217 2003-09-30 Richard M. Stallman <rms@gnu.org>
3218
3219 * term.c (set_tty_color_mode): Calculate current_mode_spec
3220 regardless of value of VAL.
3221
3222 * intervals.c (graft_intervals_into_buffer):
3223 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
3224 Handle over_used when splitting UNDER.
3225
3226 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3227
3228 * regex.c (regex_compile): Free the stack when returning from function.
3229
3230 2003-09-28 Kenichi Handa <handa@m17n.org>
3231
3232 * fontset.c (Finternal_char_font): Change return value to
3233 cons (FONT-NAME . GLYPH-CODE).
3234
3235 2003-09-28 Eli Zaretskii <eliz@gnu.org>
3236
3237 * term.c (tty_setup_colors): Treat any negative argument as -1.
3238
3239 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
3240
3241 * process.c (send_process): Delete unused temp_buf.
3242
3243 2003-09-26 Dave Love <fx@gnu.org>
3244
3245 * xterm.c (x_bitmap_mask): Declare.
3246
3247 2003-09-25 Dave Love <fx@gnu.org>
3248
3249 * Makefile.in (fns.o): Depend on md5.h.
3250
3251 2003-09-25 Kim F. Storm <storm@cua.dk>
3252
3253 * window.c (set_window_buffer): Fix redisplay problems when
3254 switching between buffers with different display margin widths.
3255
3256 2003-09-23 Kim F. Storm <storm@cua.dk>
3257
3258 * process.c (set_socket_option): Fix :bindtodevice option.
3259 (Fset_network_process_option): Update process contact list when
3260 setting option succeeds.
3261 (Fmake_network_process): Doc fix.
3262
3263 2003-09-23 Dave Love <fx@gnu.org>
3264
3265 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
3266
3267 2003-09-22 Eli Zaretskii <eliz@gnu.org>
3268
3269 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
3270 color mode is an integer number (it could be -1).
3271
3272 2003-09-22 Richard M. Stallman <rms@gnu.org>
3273
3274 * intervals.c (graft_intervals_into_buffer): Correct the main loop
3275 in the case where OVER is longer than UNDER.
3276
3277 2003-09-22 Masatake YAMATO <jet@gyve.org>
3278
3279 * window.c (Fset_window_scroll_bars): Validate the value of
3280 `vertical_type'.
3281
3282 2003-09-21 Kim F. Storm <storm@cua.dk>
3283
3284 * frame.c (Vdefault_frame_scroll_bars): New variable.
3285 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
3286 (syms_of_frame): DEFVAR_LISP it, and initialize according to
3287 window-system default scroll bar position.
3288
3289 * window.c (Fwindow_scroll_bars): Doc fix.
3290
3291 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3292
3293 * xterm.c (x_set_offset): Take window manager decorations into account.
3294
3295 2003-09-19 Richard M. Stallman <rms@gnu.org>
3296
3297 * atimer.h: Don't include lisp.h.
3298 (P_): Define it here (as well as elsewhere).
3299
3300 * print.c (Fprin1_to_string): Move the PRINTPREPARE
3301 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
3302
3303 * data.c (Fvariable_binding_locus): New function.
3304 (syms_of_data): defsubr it.
3305 (Flocal_variable_p): Delete duplicate call to indirect_variable.
3306
3307 2003-09-18 Dave Love <fx@gnu.org>
3308
3309 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
3310
3311 * process.c (Fnetwork_interface_info): Fix type error.
3312 (Fnetwork_interface_list): Doc fix.
3313 (read_process_output, read_process_output): Delete unused var.
3314
3315 2003-09-17 Kim F. Storm <storm@cua.dk>
3316
3317 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
3318 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
3319 (Fnetwork_interface_info): Check that ifreq struct has required
3320 fields before accessing them; this requires that those fields are
3321 defined as macros, which may be too restrictive on some platforms,
3322 but it is better than failing on other platforms.
3323 (syms_of_process): Only defsubr above fns when included.
3324
3325 2003-09-17 Dave Love <fx@gnu.org>
3326
3327 * unexalpha.c: Don't include varargs.h.
3328
3329 2003-09-17 Kim F. Storm <storm@cua.dk>
3330
3331 * process.c (Fset_process_sentinel): Add sentinel to childp plist
3332 for network process.
3333 (socket_options): Add `:' prefix to option names. Add optbit field.
3334 (set_socket_option): Remove no_error arg and special handling of s < 0.
3335 Return 1<<optbit for known option, 0 for unknown.
3336 Do not interpret 0 as false for boolean option (only nil).
3337 Pass failed option and value to report_file_error.
3338 (Fset_network_process_options): Replace by Fset_network_process_option.
3339 (Fset_network_process_option): New function to set just one option.
3340 (Fmake_network_process): Allow :coding arg to be a cons.
3341 Allow :server arg to be an integer specifying backlog size.
3342 Remove :options arg, and allow options to be specified directly
3343 as :KEY, VALUE pairs. Parse these options before binding socket.
3344 As before, :reuseaddr t is default for a server process, but this
3345 can now be disabled by specifying :reuseaddr nil.
3346 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
3347 (init_process): Availability of network options is now checked with
3348 simpler syntax (featurep 'make-network-process :OPTION); use loop to
3349 setup features.
3350 (syms_of_process): Fix defsubr's for the replaced functions.
3351
3352 2003-09-16 Dave Love <fx@gnu.org>
3353
3354 * Makefile.in: Depend on coding.h.
3355
3356 2003-09-14 Kim F. Storm <storm@cua.dk>
3357
3358 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
3359 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
3360 (syms_of_process): Defsubr them.
3361
3362 * config.in: Regenerate.
3363
3364 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
3365
3366 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
3367 * m/news-r6.h (XUNMARK): Remove.
3368 * m/mips.h (XUNMARK): Remove.
3369 * m/mips-siemens.h (XUNMARK): Remove.
3370 * m/iris4d.h (XUNMARK): Remove.
3371 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
3372
3373 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
3374
3375 * lisp.h (VALBITS): Don't remove 1 for the markbit.
3376 (union Lisp_Object): Use unsigned int for types. Remove markbit.
3377 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
3378 (XTYPE): Use unsigned right-shift.
3379 (XMARKBIT, XMARK, XUNMARK): Remove.
3380
3381 * alloc.c (init_intervals, init_symbol, init_marker):
3382 Don't preallocate anything.
3383 (Fgarbage_collect, mark_object): Ignore the markbit.
3384
3385 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
3386
3387 2003-09-08 Lute Kamstra <lute@gnu.org>
3388
3389 * xdisp.c (pint2hrstr): New function.
3390 (decode_mode_spec): Add `%i' and `%I' specs.
3391 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
3392 for `mode-line-format'.
3393
3394 2003-09-07 Andreas Schwab <schwab@suse.de>
3395
3396 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
3397 avoid warning.
3398
3399 2003-09-07 Eli Zaretskii <eliz@gnu.org>
3400
3401 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
3402
3403 2003-09-03 Kim F. Storm <storm@cua.dk>
3404
3405 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
3406 change (superseded by 2002-08-30 change); the default blink-off
3407 cursor is now again "no cursor".
3408
3409 2003-09-01 Jason Rumney <jasonr@gnu.org>
3410
3411 * makefile.w32-in (alloca.o): Remove.
3412 (coding.o): Depend on intervals.h
3413 (emacs.o, bytecode.o): Depend on window.h
3414
3415 2003-09-01 Dave Love <fx@gnu.org>
3416
3417 * Makefile.in (alloca.o): Remove commands.
3418 (coding.o): Depend on intervals.h composite.h window.h.
3419 (emacs.o): Depend on window.h keyboard.h keymap.h.
3420 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
3421 (bytecode.o): Depend on window.h.
3422
3423 2003-08-31 Jason Rumney <jasonr@gnu.org>
3424
3425 * w32term.c (w32_per_char_metric): Allow cached metrics to be
3426 returned even when font_type is unknown.
3427
3428 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
3429
3430 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3431
3432 * xterm.c (x_term_init): Initialize new fields in x_display_info.
3433
3434 * xterm.h (struct x_display_info): Add red/green/blue_bits and
3435 *_offset.
3436
3437 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
3438 calculate pixel value.
3439
3440 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
3441
3442 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
3443 Don't tell redisplay display is accurate when it's actually been
3444 paused for pending input.
3445
3446 2003-08-29 Richard M. Stallman <rms@gnu.org>
3447
3448 * dispnew.c (adjust_glyph_matrix): Call window_box
3449 whenever W is nonzero.
3450
3451 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
3452 (Fkill_local_variable, Fmake_variable_frame_local)
3453 (Flocal_variable_p, Flocal_variable_if_set_p):
3454 Use indirect_variable to trace thru variable aliases.
3455
3456 * config.in: Updated.
3457
3458 * callint.c (Fcall_interactively): Save and restore
3459 Vthis_command, Vthis_original_command, real_this_command,
3460 and current_kboard->Vlast_command.
3461
3462 * abbrev.c (Fexpand_abbrev): Insert before deleting.
3463
3464 2003-08-29 Gerd Moellmann <gerd@gnu.org>
3465
3466 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
3467
3468 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
3469
3470 * coding.c (decode_coding_iso2022): Initialize local variable c2.
3471 (decode_coding_sjis_big5): Likewise.
3472
3473 2003-08-27 Jason Rumney <jasonr@gnu.org>
3474
3475 * w32.c (sys_pipe): Protect against file descriptor overflow.
3476
3477 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
3478
3479 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
3480
3481 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
3482
3483 * xfns.c (Vgtk_version_string): New variable.
3484 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
3485
3486 2003-08-24 Eli Zaretskii <eliz@gnu.org>
3487
3488 * term.c (term_init): Remove `const' from buffer_size's declaration.
3489
3490 * Makefile.in (msdos.o): Depend on intervals.h.
3491
3492 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
3493
3494 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3495
3496 * xterm.h (struct x_display_info): New fields: client_leader_window
3497 and Xatom_wm_client_leader.
3498
3499 * xterm.c (x_initialize): Move call to x_session_initialize to ...
3500 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
3501
3502 * xsmfns.c (create_client_leader_window): New function.
3503 (x_session_initialize): Call create_client_leader_window, take
3504 dpyinfo as argument.
3505
3506 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
3507
3508 * Makefile.in (xsmfns.o): Add more depenedencies.
3509
3510 2003-08-21 Dave Love <fx@gnu.org>
3511
3512 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
3513
3514 2003-08-21 Kenichi Handa <handa@m17n.org>
3515
3516 * term.c (term_init): Fix previous change; don't rely on the
3517 length of `buffer' if TERMINFO is defined.
3518
3519 2003-08-20 Dave Love <fx@gnu.org>
3520
3521 * atimer.h: Include lisp.h.
3522
3523 * lisp.h (EMACS_LISP_H): New.
3524 (popup_activated_flag): Don't declare.
3525
3526 * alloca.c: Some merging with gnulib. Change logic and doc
3527 concerning (x)malloc/(x)free -- no longer Emacs-specific.
3528 [DO_BLOCK_INPUT]: Don't include lisp.h.
3529 (xmalloc, xfree): Declare.
3530 (malloc): Don't declare.
3531
3532 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
3533 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
3534 atimer.h, blockinput.h.
3535
3536 * alloc.c (lisp_align_malloc): Change type of `aligned'.
3537
3538 * alloca.s: Removed.
3539
3540 2003-08-19 Gerd Moellmann <gerd@gnu.org>
3541
3542 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
3543 use -lncurses.
3544
3545 * term.c (term_init): Use a buffer of size 4096 for tgetent since
3546 FreeBSD returns something longer than 2044. Abort if the end of
3547 the buffer is overwritten.
3548
3549 2003-08-19 Miles Bader <miles@gnu.org>
3550
3551 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
3552
3553 2003-08-19 Gerd Moellmann <gerd@gnu.org>
3554
3555 * alloc.c (lisp_align_malloc): Check for memory full when
3556 allocating ablocks, which also avoids freeing a pointer into an
3557 ablocks structure.
3558
3559 * puresize.h (BASE_PURESIZE): Increase to 1100000.
3560
3561 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
3562
3563 2003-08-16 Richard M. Stallman <rms@gnu.org>
3564
3565 * editfns.c (Fencode_time): Doc fix.
3566
3567 2003-08-16 David Ponce <david@dponce.com>
3568
3569 * fileio.c (Fwrite_region): Fix conditional expression to issue
3570 the right message.
3571
3572 2003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
3573
3574 * syntax.c (Fforward_word): Argument changed to optional.
3575 Set default value to 1.
3576
3577 2003-08-15 Kenichi Handa <handa@m17n.org>
3578
3579 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
3580 what autoscaled.
3581 (best_matching_font): Once we find a better scalable font, set
3582 non_scalable_has_exact_height_p to 1.
3583 (try_font_list): Call try_alternative_families to try any family
3584 with the given registry.
3585
3586 2003-08-09 Andreas Schwab <schwab@suse.de>
3587
3588 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
3589
3590 * print.c (print_string): Fix printing of multibyte string with
3591 nontrivial printcharfun.
3592
3593 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3594
3595 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
3596
3597 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
3598
3599 2003-07-31 Kenichi Handa <handa@m17n.org>
3600
3601 * process.c (read_process_output): Return the actually read bytes
3602 instead of the result of decoding.
3603
3604 2003-07-31 Kenichi Handa <handa@m17n.org>
3605
3606 * xterm.h (struct x_bitmap_record): New member have_mask.
3607
3608 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
3609 to 0.
3610 (x_create_bitmap_from_file): Likewise.
3611 (x_destroy_bitmap): Check have_mask member before freeing a mask.
3612 (x_destroy_all_bitmaps): Likewise.
3613 (x_create_bitmap_mask): Set have_mask member to 1.
3614
3615 2003-07-30 Richard M. Stallman <rms@gnu.org>
3616
3617 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
3618
3619 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3620
3621 * gtkutil.c (xg_mark_data): Update calls to mark_object.
3622
3623 2003-07-29 Richard M. Stallman <rms@gnu.org>
3624
3625 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
3626 Conditionalize XIM code on HAVE_XIM.
3627
3628 * fns.c (Fclear_string): New function.
3629 (syms_of_fns): defsubr it.
3630
3631 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
3632
3633 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
3634
3635 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
3636
3637 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
3638
3639 * buffer.c (delete_all_overlays): New function.
3640 * buffer.h (delete_all_overlays): Declare.
3641 * coding.c (run_pre_post_conversion_on_str):
3642 * print.c (temp_output_buffer_setup):
3643 * fileio.c (Finsert_file_contents):
3644 * minibuf.c (get_minibuffer): Use it.
3645
3646 2003-07-22 Andrew Choi <akochoi@shaw.ca>
3647
3648 * unexmacosx.c (unexec_regions_sort_compare):
3649 (unexec_regions_merge): New functions. Sort and merge unexec
3650 regions before dumping them.
3651
3652 2003-07-22 Dave Love <fx@gnu.org>
3653
3654 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
3655
3656 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
3657
3658 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
3659 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
3660 MARKBIT as the gcmarkbit for strings.
3661
3662 2003-07-21 Richard M. Stallman <rms@gnu.org>
3663
3664 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
3665
3666 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
3667 (syms_of_fns): Corresponding change.
3668
3669 * alloc.c (syms_of_alloc): Doc fixes.
3670
3671 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
3672
3673 * s/netbsd.h: Use -Wl syntax.
3674
3675 2003-07-17 Richard M. Stallman <rms@gnu.org>
3676
3677 * xterm.c (xim_initialize): Redo 6/24 change.
3678
3679 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
3680
3681 * buffer.c (copy_overlays): Use EMACS_INT for positions.
3682 (Fswitch_to_buffer): Don't signal an error when switching to the same
3683 buffer in a dedicated window.
3684
3685 * alloc.c: Use bitmaps for cons, as was done for floats.
3686 (init_float, init_cons): Let the normal code allocate the first block.
3687 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
3688 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
3689 New macros.
3690 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
3691 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
3692 (live_cons_p): Check the pointer is not past the `conses' array.
3693 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
3694 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
3695 (survives_gc_p): Use CONS_MARKED_P and simplify.
3696 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
3697
3698 2003-07-13 Paul Eggert <eggert@twinsun.com>
3699
3700 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
3701 puts it into BSS instead, at least on Solaris 8 and 9.
3702 This is a valid optimization, and it may occur on other platforms,
3703 so Emacs should not assume that initializing a static variable to
3704 zero puts it into data.
3705 * alloc.c (pure, staticvec):
3706 Initialize these arrays to nonzero, so that they're not
3707 put into BSS by that optimization.
3708
3709 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
3710
3711 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
3712 (lisp_align_malloc): Use posix_memalign is available.
3713 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
3714 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
3715 for consistency. Update users.
3716
3717 2003-07-13 Richard M. Stallman <rms@gnu.org>
3718
3719 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
3720
3721 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
3722
3723 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
3724 and use the Gtk+ function gtk_window_icon_from_file if available.
3725
3726 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
3727 handle mask of bitmaps.
3728 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
3729 mask property.
3730 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
3731
3732 * xterm.h (xg_set_icon): New function.
3733
3734 2003-07-12 Paul Eggert <eggert@twinsun.com>
3735
3736 * unexelf.c (unexec): Consider a section to precede the .bss
3737 section if its addresses overlap that of .bss.
3738
3739 2003-07-12 Richard M. Stallman <rms@gnu.org>
3740
3741 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
3742
3743 * config.in (HAVE_CRTIN): Add #undef.
3744 (INLINE): Really inline only if OPTIMIZE is defined.
3745
3746 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
3747 END_FILES_1.
3748 (START_FILES_1, END_FILES_1): New macros (conditional).
3749 (LD_SWITCH_SYSTEM_TEMACS): Define.
3750
3751 * s/openbsd.h: Don't include bsd4-3.h.
3752 (TERMINFO): Define.
3753 (LIBS_TERMCAP): Define.
3754 (LD_SWITCH_SYSTEM): Define (two definitions).
3755
3756 * xfns.c: Include libpng/png.h instead of png.h.
3757
3758 2003-07-11 Andreas Schwab <schwab@suse.de>
3759
3760 * buffer.c (modify_overlay): Update prototype.
3761 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
3762 Likewise.
3763
3764 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
3765
3766 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
3767 (struct interval): Move to intervals.h.
3768 (struct Lisp_Marker): Use EMACS_INT for position info.
3769 (forward_point): Remove prototype of defunct function.
3770 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
3771 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
3772 (syms_of_textprop, set_text_properties): Remove prototypes that are
3773 already in intervals.h.
3774
3775 * intervals.h (struct interval): Move from lisp.h.
3776 Use EMACS_INT for position and size info.
3777
3778 * coding.c: Include intervals.h for Fset_text_properties.
3779
3780 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
3781 position and length information.
3782
3783 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
3784
3785 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
3786 position and length information.
3787
3788 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
3789
3790 Change overlays_after and overlays_before so the overlays themselves
3791 are linked into lists, rather than using cons cells. After all each
3792 Lisp_Misc already occupies 5 words, so we can add a `next' field to
3793 Lisp_Overlay for free and save up one cons cell per overlay (not
3794 to mention one indirection when traversing the list of overlay).
3795
3796 * lisp.h (struct Lisp_Overlay): New field `next'.
3797
3798 * buffer.h (struct buffer): Change overlays_before and overlays_after
3799 from Lisp lists of overlays to pointers to overlays.
3800
3801 * buffer.c (overlay_strings, recenter_overlay_lists):
3802 Fix typo in eassert in last commit.
3803 (unchain_overlay): New function.
3804 (add_overlay_mod_hooklist): Use AREF.
3805 (copy_overlays, reset_buffer, overlays_at, overlays_in)
3806 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
3807 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
3808 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
3809 (report_overlay_modification, evaporate_overlays, init_buffer_once):
3810 Adjust to new type of overlays_(before|after).
3811
3812 * alloc.c (mark_object): Mark the new `next' field of overlays.
3813 (mark_buffer): Manually mark the overlays_(after|before) fields.
3814
3815 * coding.c (run_pre_post_conversion_on_str):
3816 * editfns.c (overlays_around):
3817 * xdisp.c (load_overlay_strings):
3818 * fileio.c (Finsert_file_contents):
3819 * indent.c (current_column):
3820 * insdel.c (signal_before_change, signal_after_change):
3821 * intervals.c (set_point_both):
3822 * print.c (temp_output_buffer_setup): Use new type for
3823 overlays_(before|after).
3824
3825 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
3826
3827 * buffer.c (report_overlay_modification): Don't run hooks while
3828 traversing the list of overlays.
3829
3830 * buffer.h (struct buffer): Use an int for overlay_center.
3831 (overlays_at, evaporate_overlays, recenter_overlay_lists)
3832 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
3833
3834 * buffer.c (reset_buffer, recenter_overlay_lists)
3835 (adjust_overlays_for_insert, adjust_overlays_for_delete)
3836 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
3837 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
3838 (overlays_at, evaporate_overlays, recenter_overlay_lists)
3839 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
3840
3841 * xdisp.c (fast_find_position): Remove unused var.
3842
3843 * cmds.c (Qexpand_abbrev): New sym.
3844 (syms_of_cmds): Initialize it.
3845 (internal_self_insert): Use it to call expand-abbrev.
3846
3847 2003-07-09 Kim F. Storm <storm@cua.dk>
3848
3849 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
3850 was configured with --without-xim.
3851 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
3852
3853 2003-07-07 Richard M. Stallman <rms@gnu.org>
3854
3855 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
3856
3857 * alloc.c (Fgarbage_collect): Doc fix.
3858
3859 2003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
3860
3861 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
3862
3863 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
3864
3865 * minibuf.c (read_minibuf): UNGCPRO before returning.
3866 (Ftry_completion, Fall_completions): Doc fix.
3867
3868 * alloc.c (live_float_p): Check that p is not past the `floats' array,
3869 now that `floats' is not the last element of the struct any more.
3870
3871 2003-07-06 Jason Rumney <jasonr@gnu.org>
3872
3873 * w32term.h (ClipboardSequence_Proc): New type.
3874
3875 * w32fns.c (clipboard_sequence_fn): New variable.
3876 (globals_of_w32fns): Initialize it.
3877
3878 * w32select.c (last_clipboard_sequence_number): New variable.
3879 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
3880 number if possible.
3881
3882 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
3883
3884 * m/amdx86-64.h (MARKBIT):
3885 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
3886 MARKBIT and ARRAY_MARK_FLAG any more.
3887
3888 * m/hp800.h (XSETMARKBIT):
3889 * m/sr2k.h (XSETMARKBIT):
3890 * lisp.h (XSETMARKBIT): Remove unused macro.
3891
3892 * lisp.h (mark_object): Change prototype.
3893
3894 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
3895 (last_marked): Change accordingly.
3896 (mark_interval, mark_maybe_object, mark_maybe_pointer)
3897 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
3898 (mark_buffer): Update calls to mark_object.
3899
3900 * bytecode.c (mark_byte_stack):
3901 * fns.c (sweep_weak_table):
3902 * keyboard.c (mark_kboards): Update calls to mark_object.
3903
3904 2003-07-06 Jason Rumney <jasonr@gnu.org>
3905
3906 * alloc.c (struct ablock): Only include padding when there is some.
3907
3908 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
3909
3910 * alloc.c (ALIGN): Add casts to simplify usage.
3911 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
3912 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
3913 (struct ablock, struct ablocks): New types.
3914 (free_ablock): New global var.
3915 (lisp_align_malloc, lisp_align_free): New functions.
3916 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
3917 (struct float_block): Reorder and add gcmarkbits.
3918 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
3919 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
3920 (init_float, make_float): Use lisp_align_malloc.
3921 (free_float, live_float_p): Don't use `type' any more.
3922 (make_float): Use FLOAT_UNMARK to access to mark bit.
3923 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
3924 Use FLOAT_MARKED_P to access the mark bit.
3925 (pure_alloc): Simplify use of ALIGN.
3926 (mark_object): Use FLOAT_MARK to access the mark bit.
3927 (gc_sweep): Use new macros to access the float's mark bit.
3928 (init_alloc_once): Init free_ablock.
3929
3930 * lisp.h (struct Lisp_Float): Remove unused field `type'.
3931
3932 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
3933
3934 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
3935 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
3936 (allocate_buffer): Move.
3937 (string_bytes): Don't mask markbit of `size_byte'.
3938 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
3939 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
3940 Use the `size' field of buffers (rather than the `name' field) for
3941 the mark bit, as is done for all other vectorlike objects.
3942 Use the new macros to access the mark bit of vectorlike objects.
3943
3944 2003-06-26 Richard M. Stallman <rms@gnu.org>
3945
3946 * puresize.h (BASE_PURESIZE): Increment base size.
3947
3948 * xdisp.c (fast_find_position): Enable Gerd's new definition.
3949
3950 * xterm.c (xim_initialize): Undo previous change.
3951
3952 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
3953
3954 * alloc.c (survives_gc_p): Simplify.
3955
3956 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
3957
3958 * window.c (Fset_window_dedicated_p): Simplify.
3959 (display_buffer_1): Don't raise the win from which minibuf was entered.
3960 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
3961 (Fminibuffer_selected_window): Simplify.
3962
3963 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
3964
3965 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
3966 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
3967
3968 * insdel.c (check_markers, adjust_markers_for_delete)
3969 (adjust_markers_for_insert, adjust_markers_for_replace)
3970 (prepare_to_modify_buffer, RESTORE_VALUE):
3971 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
3972 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
3973 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
3974 * alloc.c (Fmake_marker, free_marker, gc_sweep):
3975 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
3976 * editfns.c (save_excursion_restore, transpose_markers):
3977 * window.c (delete_window):
3978 * xdisp.c (message_dolog): Update for new types.
3979
3980 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3981
3982 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
3983 (realize_default_face): Use default_face_done_p for the force_p
3984 argument to set_lface_from_font_name. Set default_face_done_p to one.
3985
3986 * frame.c (make_frame): Initialize default_face_done_p.
3987
3988 * frame.h (struct frame): Add default_face_done_p.
3989
3990 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
3991 will be defined.
3992
3993 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
3994
3995 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
3996 Initialize the new field `gcmarkbit'.
3997 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
3998 (mark_interval_tree): Don't mark the tree separately from the nodes.
3999 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
4000 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
4001 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
4002
4003 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
4004 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
4005 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
4006 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
4007 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
4008
4009 2003-06-24 Dave Love <fx@gnu.org>
4010
4011 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
4012
4013 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
4014 from gnulib.
4015
4016 2003-06-21 Richard M. Stallman <rms@gnu.org>
4017
4018 * fileio.c (Fwrite_region): Alternate messages
4019 for append and partial write.
4020
4021 * keyboard.c (read_key_sequence): When converting upcase fn key to
4022 downcase, update fkey and keytran so `backspace' gets translated.
4023
4024 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
4025
4026 * process.c (wait_reading_process_input): Don't signal SIGIO
4027 in batch mode.
4028
4029 2003-06-17 Kenichi Handa <handa@m17n.org>
4030
4031 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
4032 composite.h.
4033
4034 * xselect.c: Don't include charset.h, coding.h, composite.h.
4035 (Qforeign_selection): New variable.
4036 (syms_of_xselect): Intern and static it.
4037 (selection_data_to_lisp_data): Return a unibyte string made from
4038 data with `foreign-selection' text property.
4039
4040 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
4041
4042 * termhooks.h (EVENT_INIT): New macro.
4043
4044 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
4045
4046 * alloc.c (mark_kboards): Move to keyboard.c.
4047
4048 * keyboard.c (record_asynch_buffer_change, read_avail_input):
4049 * xterm.c (x_dispatch_event):
4050 * xmenu.c (find_and_call_menu_selection):
4051 * xdisp.c (handle_tool_bar_click):
4052 * w32menu.c (menubar_selection_callback):
4053 * sysdep.c (kbd_input_ast, read_input_waiting):
4054 * msdos.c (dos_rawgetc):
4055 * macterm.c (mac_check_for_quit_char):
4056 * macmenu.c (menubar_selection_callback):
4057 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
4058 data to kbd_buffer_store_event.
4059
4060 2003-06-15 Kim F. Storm <storm@cua.dk>
4061
4062 * xdisp.c (x_fix_overlapping_area): Always use area relative X
4063 to fix redisplay problem with tall characters (such as \e,AC\e(B).
4064
4065 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
4066
4067 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
4068
4069 2003-06-12 Kenichi Handa <handa@m17n.org>
4070
4071 * fileio.c (Fwrite_region): Save and restore restriction.
4072
4073 2003-06-12 Dave Love <fx@gnu.org>
4074
4075 * alloca.c (alloca): Declare arg as size_t.
4076
4077 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
4078 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
4079
4080 2003-06-11 Dave Love <fx@gnu.org>
4081
4082 * search.c (shrink_regexp_cache): Use xrealloc.
4083 (syms_of_search): Use xmalloc.
4084
4085 2003-06-10 Kim F. Storm <storm@cua.dk>
4086
4087 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
4088 Adjust phys_cursor.x to be relative to window box, rather than
4089 text area before checking -- to ensure cursor is redrawn when
4090 exposing window.
4091 Note: This also fixes a similar (older) bug if display margins
4092 are present.
4093
4094 2003-06-06 Kenichi Handa <handa@m17n.org>
4095
4096 * coding.c (encoding_buffer_size): If coding->type is
4097 coding_type_ccl, double magnification on CRLF encoding.
4098
4099 2003-06-06 Jason Rumney <jasonr@gnu.org>
4100
4101 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
4102 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
4103
4104 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
4105 Mac too.
4106
4107 2003-06-05 Dave Love <fx@gnu.org>
4108
4109 * strftime.c: Merge changes from gnulib.
4110
4111 * mktime.c (__mktime_internal): Merge changes from gnulib
4112 involving year 69 and dst2.
4113
4114 Changes to merge with gnulib version and be consistent with the
4115 autoconf test:
4116
4117 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
4118 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
4119 [HAVE_LOCALE_H]: Include locale.h.
4120 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
4121
4122 2003-06-05 Kim F. Storm <storm@cua.dk>
4123
4124 * window.c (coordinates_in_window): Convert X and Y to window
4125 relative coordinates inside mode-line and header-line parts.
4126 Convert X and Y to margin area relative coordinates inside left
4127 and right display margin parts.
4128
4129 2003-06-05 Jason Rumney <jasonr@gnu.org>
4130
4131 * w32fns.c (add_system_logical_colors_to_map): New function.
4132 (Fx_open_connection): Use it.
4133
4134 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
4135
4136 * process.c (allocate_pty): Revert part of the previous patch.
4137 (Faccept_process_output): Simplify.
4138
4139 2003-06-04 Jason Rumney <jasonr@gnu.org>
4140
4141 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
4142
4143 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
4144 (lispy_mouse_wheel_names): Remove.
4145 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
4146 Always define drag_and_drop_syms.
4147
4148 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
4149 WHEEL_EVENT events.
4150
4151 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
4152
4153 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
4154
4155 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
4156
4157 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4158
4159 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
4160 menu item label.
4161
4162 2003-06-03 Richard M. Stallman <rms@gnu.org>
4163
4164 * window.c (Fwindow_edges): Doc fix.
4165 (Fwindow_pixel_edges, Fwindow_inside_edges)
4166 (Fwindow_inside_pixel_edges): New functions.
4167 (syms_of_window): defsubr them.
4168
4169 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
4170 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
4171
4172 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
4173
4174 * dispnew.c (Fsit_for): Don't lie about the number of args.
4175
4176 2003-06-02 Dave Love <fx@gnu.org>
4177
4178 * callproc.c: Use HAVE_FCNTL_H, not USG5.
4179 (syms_of_callproc) <process-environment>: Doc fix.
4180
4181 * doc.c: Use HAVE_FCNTL_H, not USG5.
4182
4183 * xfaces.c (font_rescale_ratio): Fix for K&R.
4184
4185 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
4186
4187 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
4188
4189 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
4190
4191 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
4192 (xg_create_frame_widgets): Use ENCODE_UTF_8.
4193
4194 * xterm.c (Qutf_8): Move to coding.c
4195
4196 * xmenu.c (ENCODE_MENU_STRING): New.
4197 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
4198 Use it.
4199
4200 * coding.h (ENCODE_UTF_8): New.
4201 (Qutf_8): Declare.
4202
4203 * coding.c (Qutf_8): New.
4204 (syms_of_coding): Intern it.
4205
4206 * fns.c: Doc fixes.
4207
4208 2003-06-02 Kenichi Handa <handa@m17n.org>
4209
4210 * buffer.c (Fset_buffer_multibyte): Fix previous change.
4211
4212 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
4213
4214 * lread.c (openp): Make sure STR is a string.
4215
4216 2003-06-01 David Ponce <david@dponce.com>
4217
4218 * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
4219 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
4220
4221 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
4222 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
4223 (discard_mouse_events): Discard WHEEL_EVENT events too.
4224 (lispy_wheel_names, wheel_syms): New.
4225 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
4226 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
4227 defined.
4228 (make_lispy_event): Add WHEEL_EVENT handler.
4229
4230 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
4231 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
4232 WHEEL_EVENT events.
4233
4234 2003-05-31 John Paul Wallington <jpw@gnu.org>
4235
4236 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
4237 timer are in lisp/emacs-lisp.
4238
4239 2003-05-31 Kenichi Handa <handa@m17n.org>
4240
4241 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
4242 region when a buffer is changed to unibyte.
4243
4244 * charset.h (VALID_LEADING_CODE_P): New macro.
4245 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
4246
4247 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
4248 is nonzero, accept multibyte form of eight-bit-control chars.
4249 (decode_composition_emacs_mule): Likewise.
4250 (decode_coding_emacs_mule): Likewise.
4251 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
4252 multibyte form of eight-bit-control chars.
4253
4254 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
4255 (Finsert_file_contents): If coding-system-for-read is bound to
4256 Qauto_save_coding, use the coding system emacs-mule with special
4257 setting for recovering a file.
4258 (choose_write_coding_system): On auto saving, use the coding
4259 system emacs-mule with special setting for auto saving.
4260 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
4261
4262 2003-05-30 Kenichi Handa <handa@m17n.org>
4263
4264 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
4265 properly before calling ccl_driver.
4266
4267 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
4268
4269 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
4270 nonzero.
4271 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
4272 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
4273
4274 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
4275
4276 * xfaces.c (realize_default_face): Do not abort if lface is
4277 non-existent - reverts change from 2003-05-19.
4278
4279 2003-05-29 Kenichi Handa <handa@m17n.org>
4280
4281 * coding.c (decode_coding_iso2022): Pay attention to the byte
4282 sequence of CTEXT extended segment, and retain those bytes as is.
4283
4284 2003-05-28 Kenichi Handa <handa@m17n.org>
4285
4286 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
4287 of CODING_REPLACEMENT_CHARACTER.
4288 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
4289 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
4290 check this flag on encoding.
4291 (encode_coding_sjis_big5): Check
4292 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
4293 (Fset_terminal_coding_system_internal): Set
4294 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
4295 instead of setting CODING_FLAG_ISO_SAFE flag in
4296 terminal_coding.flags.
4297
4298 * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
4299 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
4300 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
4301
4302 2003-05-28 Richard M. Stallman <rms@gnu.org>
4303
4304 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
4305
4306 * eval.c (unbind_to): Move init of this_binding to separate statement.
4307
4308 2003-05-28 Kim F. Storm <storm@cua.dk>
4309
4310 * xdisp.c (expose_window): Fix error in calculation of
4311 window relative coordinates of area to redisplay.
4312
4313 2003-05-27 Jason Rumney <jasonr@gnu.org>
4314
4315 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
4316
4317 2003-05-27 David Ponce <david@dponce.com>
4318
4319 Handle W32 mouse wheel events as mouse click events, like in X.
4320
4321 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
4322 MOUSE_WHEEL_EVENT anymore.
4323
4324 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
4325 Scrolling down/up the mouse wheel is respectively mapped to mouse
4326 button 4 and 5.
4327 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
4328 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
4329 WM_MOUSEWHEEL events.
4330
4331 2003-05-27 Andreas Schwab <schwab@suse.de>
4332
4333 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
4334
4335 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
4336 partially visible line.
4337
4338 * alloc.c (Fgarbage_collect): Fix last change.
4339
4340 2003-05-26 John Paul Wallington <jpw@gnu.org>
4341
4342 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
4343
4344 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
4345
4346 * window.c (Fset_window_buffer): Add type of `keep_margins'.
4347 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
4348
4349 * window.h (window_box_text_cols): Declare.
4350
4351 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
4352 (x_draw_vertical_border): Remove unused var `f'.
4353
4354 * xfaces.c (build_scalable_font_name): Remove `unused var
4355 pixel_size' warning.
4356
4357 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
4358
4359 * unexelf.c (unexec): Remove `unused var n' warning.
4360
4361 * strftime.c (my_strftime_localtime_r): Remove `defined but
4362 unused' warning.
4363
4364 * process.c (allocate_pty): Remove `unused var stb' and
4365 `cp might be used uninitialized' warnings.
4366
4367 * dispnew.c (mode_line_string): Remove unused var `f'.
4368
4369 * coding.c (find_safe_codings): Remove unused var `i'.
4370
4371 * bytecode.c (Fbyte_code): Remove `unused val' warning.
4372
4373 * buffer.c (Fkill_buffer): Remove unused var `list'.
4374
4375 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
4376
4377 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4378
4379 * frame.c (make_frame): Condition want_fullscreen with
4380 HAVE_WINDOW_SYSTEM.
4381
4382 2003-05-25 Juanma Barranquero <lektu@terra.es>
4383
4384 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
4385 (Fwindow_scroll_bars): Fix typo in docstring.
4386
4387 2003-05-24 Kim F. Storm <storm@cua.dk>
4388
4389 The following changes serve several purposes:
4390
4391 1) Swap the position of fringes and display margins in windows, i.e.
4392 the fringes are now displayed between the margins and the text area
4393 (by default).
4394
4395 2) Allow fringe and scroll bar parameters to be set per-buffer and
4396 per-window (like display margins). Such settings are now stored
4397 in window configurations, preserved when frames are resized, and
4398 copied when windows are split vertically or horizontally.
4399 Several bugs related to display margins have been fixed.
4400
4401 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
4402
4403 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
4404 rather than FRAME_WIDTH (FRAME_FONT (f)).
4405
4406 5) Introduce a consistent naming of variables, members and macros
4407 depending on whether their value is measured in pixels or in
4408 canonical columns/lines. Pixel dimensions are named *_width and
4409 *_height, while canonical columns/lines are named *_cols and
4410 *_lines. Pixel positions are named *_x and *_y, while column/line
4411 positions are named *_col and *_line.
4412
4413 6) Consolidate more of the X, W32, and MAC gui code by moving
4414 common data into struct frame, and generalize it for the non-gui
4415 case by using suitable defaults.
4416
4417 7) Cleanup and consolidate the macros controlling frame and window
4418 layout into frame.h and window.h, and generalize the use of the
4419 various window_box_* functions (enhanced to handle the new fringe
4420 position and the per-window fringe and scroll bar settings).
4421
4422 * frame.h (struct frame): Rename members height to text_lines,
4423 width to text_cols, window_height to total_lines, window_width to
4424 total_cols, new_height to new_text_lines, new_width to
4425 new_text_cols. All uses changed.
4426 (struct frame): New members which consolidate common members of
4427 x_output, w32_output, and mac_output structures: left_pos,
4428 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
4429 win_gravity, size_hint_flags, border_width, internal_border_width,
4430 line_height, fringe_cols, left_fringe_width, right_fringe_width,
4431 want_fullscreen. All uses changed.
4432 (struct frame): New member column_width contaning the canonical
4433 column width, analogue to line_height. All uses changed.
4434 (struct frame): Rename members scroll_bar_pixel_width to
4435 config_scroll_bar_width, and scroll_bar_cols to
4436 config_scroll_bar_cols. All uses changed.
4437 (struct frame): New member scroll_bar_actual_width which
4438 consolidates and renames the vertical_scroll_bar_extra member of
4439 x_output, w32_output, and mac_output structures. All uses changed.
4440 (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
4441 from x/w32/macterm.h files. All uses changed. Also change code
4442 which referred to f->output_data...->pixel_height.
4443 (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
4444 from x/w32/macterm.h files. All uses changed. Also change code
4445 which referred to f->output_data...->pixel_width.
4446 (FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
4447 Also change code which referred to f->height.
4448 (FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
4449 Also change code which referred to f->width.
4450 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
4451 to update new_text_lines and new_text_cols members directly.
4452 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
4453 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
4454 (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
4455 FRAME_SCROLL_BAR_COLS. All uses changed.
4456 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
4457 Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
4458 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
4459 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
4460 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
4461 (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
4462 (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
4463 (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
4464 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
4465 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
4466 (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
4467 return line_height member (it now has proper value also for
4468 non-window frames).
4469 (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
4470 return new column_width member (rather than the default font width).
4471 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
4472 (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
4473 from x/w32/macterm.h files. Unconditionally return corresponding
4474 member of frame structure (they now have proper values also for
4475 non-window frames).
4476 (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
4477 Calculate return value from left and right widths.
4478 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
4479 internal_border_width member (has proper value for non-window frame).
4480 (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
4481 (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
4482 (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
4483 (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
4484 (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
4485 consolidated from xterm.h, macterm.h, and w32term.h.
4486 (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
4487 consolidated from xterm.h, macterm.h, and w32term.h.
4488 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
4489 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
4490 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
4491 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
4492 (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
4493 consolidated from x/mac/w32term.h.
4494 (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
4495 consolidated from x/mac/w32term.h.
4496 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
4497 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
4498 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
4499 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
4500
4501 * window.h (struct window): Rename members left to left_col,
4502 top to top_line, height to total_lines, width to total_cols,
4503 left_margin_width to left_margin_cols, right_margin_width to
4504 right_margin_cols, orig_height to orig_total_lines, orig_top to
4505 orig_top_line. All uses changed.
4506 (struct window): New members left_fringe_width, right_fringe_width,
4507 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
4508 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
4509 New macros primarily used to simplify other macros.
4510 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
4511 referred to XINT (w->width).
4512 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
4513 referred to XINT (w->height).
4514 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
4515 referred to XINT (w->width) * canon_x_unit.
4516 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
4517 referred to XINT (w->height) * canon_y_unit.
4518 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
4519 referred to XINT (w->left).
4520 (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE. Change
4521 all uses and code that referred to XINT (w->left) + XINT (w->width).
4522 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
4523 referred to XINT (w->top).
4524 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
4525 referred to XINT (w->top) + XINT (w->height).
4526 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
4527 referred to XINT (w->left) * canon_x_unit.
4528 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
4529 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
4530 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
4531 referred to XINT (w->top) * canon_y_unit.
4532 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
4533 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
4534 (WINDOW_LEFTMOST_P): New macro.
4535 (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
4536 All uses changed.
4537 (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
4538 All uses changed.
4539 (WINDOW_BOX_LEFT_EDGE_X): Renamed from
4540 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
4541 Do not exclude left fringe width.
4542 (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
4543 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
4544 Do not exclude fringe widths.
4545 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
4546 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
4547 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
4548 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
4549 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
4550 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
4551 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
4552 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
4553 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
4554 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
4555 New macros. Change code which referenced corresponding
4556 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
4557 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
4558 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
4559 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
4560 allow per-window scroll-bar settings.
4561 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
4562 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
4563 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
4564 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
4565 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
4566 FRAME_SCROLL_BAR_WIDTH.
4567 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
4568 (WINDOW_SCROLL_BAR_AREA_X): New macros.
4569 (WINDOW_HEADER_LINE_HEIGHT): Renamed from
4570 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
4571 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
4572 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
4573 (WINDOW_BOX_TEXT_HEIGHT): Renamed from
4574 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
4575 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
4576 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
4577 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
4578 (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
4579 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
4580 (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
4581 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
4582 (window_from_coordinates): Update prototype.
4583 (Fset_window_buffer): Update EXFUN.
4584 (set_window_buffer): Update prototype.
4585
4586 * dispextern.h (struct glyph_matrix): Rename members window_left_x
4587 to window_left_col, window_top_y to window_top_line. All uses
4588 changed.
4589 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
4590 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
4591 internal_border_width is now set to 0 for non-window frames.
4592 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
4593 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
4594 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
4595 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
4596 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
4597 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
4598 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
4599 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
4600 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
4601 Move to window.h and renamed [see window.h changes].
4602 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
4603 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
4604 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
4605 Use WINDOW_TOTAL_LINES.
4606 (frame_update_line_height): Remove prototype.
4607
4608 * buffer.h (struct buffer): Rename members measured in columns:
4609 left_margin_width to left_margin_cols, right_margin_width to
4610 right_margin_cols. All uses changed.
4611 New members left_fringe_width, right_fringe_width,
4612 fringes_outside_margins for per-buffer fringe settings.
4613 New members scroll_bar_width and vertical_scroll_bar_type for
4614 per-buffer scroll bar settings.
4615
4616 * buffer.c (init_buffer_once): Set buffer_defaults and
4617 buffer_local_flags for new buffer-local variables
4618 left_fringe_width, right_fringe_width, fringes_outside_margins,
4619 scroll_bar_width, and vertical_scroll_bar_type.
4620 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
4621 default-* variables for them.
4622
4623 * dispnew.c: Make (many) trivial substitutions for renamed and
4624 new macros in dispextern.h, frame.h and window.h.
4625 (mode_line_string): No need to adjust width for mode lines, as it
4626 is already adjusted by the caller.
4627 (marginal_area_string): Handle fringes inside/outside margins.
4628
4629 * frame.c: Make (many) trivial substitutions for renamed and
4630 new macros in dispextern.h, frame.h and window.h.
4631 (make_frame): Initialize left_fringe_width, right_fringe_width,
4632 fringe_cols, scroll_bar_actual_width, border_width,
4633 internal_border_width, column_width, line_height, x_pixels_diff,
4634 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
4635 members with values suitable for a non-window frames.
4636
4637 * gtkutil.c: Make (many) trivial substitutions for renamed and
4638 new macros in dispextern.h, frame.h and window.h.
4639
4640 * indent.c: Make (few) trivial substitutions for renamed and
4641 new macros in dispextern.h, frame.h and window.h.
4642
4643 * keyboard.c: Make (many) trivial substitutions for renamed and
4644 new macros in dispextern.h, frame.h and window.h.
4645 (make_lispy_event): Use window positions returned from
4646 window_from_coordinates when constructing the lisp event for
4647 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
4648 (incorrect) values locally.
4649 (make_lispy_movement): Use window positions returned from
4650 window_from_coordinates when constructing the lisp event, rather
4651 than calculating (incorrect) values locally.
4652
4653 * scroll.c: Make (some) trivial substitutions for renamed and
4654 new macros in dispextern.h, frame.h and window.h.
4655
4656 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
4657 scroll-bars.
4658
4659 * sysdep.c: Make (few) trivial substitutions for renamed and
4660 new macros in dispextern.h, frame.h and window.h.
4661
4662 * term.c: Make (some) trivial substitutions for renamed and
4663 new macros in dispextern.h, frame.h and window.h.
4664
4665 * widget.c: Make (few) trivial substitutions for renamed and
4666 new macros in dispextern.h, frame.h and window.h.
4667
4668 * window.c: Make (many) trivial substitutions for renamed and
4669 new macros in dispextern.h, frame.h and window.h.
4670 (make_window): Initialize new members
4671 left_margin_cols, right_margin_cols, left_fringe_width,
4672 right_fringe_width, fringes_outside_margins, scroll_bar_width,
4673 and vertical_scroll_bar_type.
4674 (coordinates_in_window): Adapted to new fringe/margin positions
4675 and per-window fringes and scroll-bars.
4676 Fix bug related to incorrectly adjusting coordinates by
4677 frame's internal_border_width (the effect normally negible since
4678 the internal_border_width is typically 0 or 1 pixel, but very
4679 noticeable for an internal_border_width of e.g. 25 pixels).
4680 Upon successful return (other than ON_NOTHING), the coordinates
4681 are now always properly converted to window relative for the
4682 given display element.
4683 (window_from_coordinates): Add new parameters wx and wy to
4684 return the window relative x and y position in the returned
4685 window and part. A null arg means, don't return the position.
4686 All callers changed.
4687 (adjust_window_margins): New function which may reduce the width
4688 of the display margins if a window's text area is too small after
4689 resizing or splitting windows.
4690 (size_window): Fix bug that did not account for display margin
4691 widths when checking the minimum width of a window; use
4692 adjust_window_margins.
4693 (set_window_buffer): Call Fset_window_fringes and
4694 Fset_window_scroll_bars to setup per-window elements.
4695 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
4696 existing display margin, fringe widths, and scroll bar settings
4697 (e.g. after splitting a window or resizing the frame).
4698 All callers changed.
4699 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
4700 (Fsplit_window): Duplicate original window's display margin,
4701 fringe, and scroll-bar settings; then call Fset_window_buffer with
4702 KEEP_MARGINS non-nil. This fixes a bug which caused a split
4703 window to only preserve the display margins in one of the windows.
4704 When splitting horizontally, call adjust_window_margins on both
4705 windows to ensure that the text area of the new windows is non too
4706 narrow. This fixes a bug which could cause Emacs to trap if the
4707 width of the split window was less than the width of the display
4708 margins.
4709 (window_box_text_cols): Renamed from window_internal_width.
4710 All uses changed. Adapt to per-window fringes and scroll bars.
4711 Fix bug that caused vertical separator to be subtracted also on
4712 window frames. Fix another bug that did not reduce the returned
4713 value by the columns used for display margins.
4714 (window_scroll_line_based): Fix bug related to scrolling too much
4715 when display margins are present (implicitly fixed by the fix to
4716 window_box_text_cols).
4717 (scroll_left, scroll_right): Fix bug related to scrolling too far
4718 by default when display margins are present (implicitly fixed by
4719 the fix to window_box_text_cols).
4720 (struct saved_window): Rename members left to left_col, top to
4721 top_line, width to total_cols, height to total_lines, orig_top to
4722 orig_top_line, orig_height to orig_total_lines. All uses changed.
4723 New members left_margin_cols, right_margin_cols,
4724 left_fringe_width, right_fringe_width, fringes_outside_margins,
4725 scroll_bar_width, and vertical_scroll_bar_type for saving
4726 per-window display elements.
4727 (Fset_window_configuration): Restore display margins, fringes,
4728 and scroll bar settings. This fixes a bug which caused display
4729 margins to be discarded when saving and restoring a window
4730 configuration.
4731 (save_window_save): Save display margins, fringes, and scroll bar
4732 settings. This fixes a bug which caused display margins to be
4733 discarded when saving and restoring a window configuration.
4734 (Fset_window_margins): Do nothing if display margins are not
4735 really changed. Otherwise, call adjust_window_margins to ensure
4736 the text area doesn't get too narrow. This fixes a bug which
4737 could cause Emacs to trap if setting display margins wider than
4738 the width of the window.
4739 (Fset_window_fringes): New defun to allow user to specifically set
4740 this window's fringe widths and position vs. display margins.
4741 (Fwindow_fringes): New defun to return window's actual fringe
4742 settings.
4743 (Fset_window_scroll_bars): New defun to allow user to specifically
4744 set this window's scroll bar width and position.
4745 (Fwindow_scroll_bars): New defun to return window's actual scroll
4746 bar settings.
4747 (compare_window_configurations): Also compare display margins,
4748 fringes, and scroll bar settings.
4749 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
4750
4751 * xdisp.c: Make (many) trivial substitutions for renamed and
4752 new macros in dispextern.h, frame.h and window.h.
4753 (window_box_width): Adapt to per-window fringes and scroll bars,
4754 and new fringe vs. display margin position. Note that returned
4755 value is no longer guaranteed to be a whole multiple of the frame
4756 column width, since per-window fringes may now be any width.
4757 (window_box_left_offset): New function like window_box_left, but
4758 value is relative to left border of window (rather than frame).
4759 (window_box_right_offset): New function like window_box_right,
4760 but value is relative to left border of window.
4761 (window_box_left): Adapt to per-window fringes and scroll bars,
4762 and new fringe vs. display margin position. Simplify by using
4763 WINDOW_LEFT_EDGE_X and window_box_left_offset.
4764 (window_box): Allow null args for unnecessary return values;
4765 change/simplify relevant callers.
4766 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
4767 and new fringe vs. display margin position.
4768 Use window_box_left_offset and window_box_right_offset
4769 (get_glyph_string_clip_rect): Adapt to per-window fringes and
4770 scroll bars, and new fringe vs. display margin position.
4771 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
4772 (draw_fringe_bitmap): Rework to handle per-window fringes and new
4773 fringe vs. display margin position.
4774 (hscroll_window_tree): Use window_box_width instead of window_box.
4775 (redisplay_window): Adapt to per-window scroll bars.
4776 (draw_glyphs): Rework to handle per-window fringes and scroll
4777 bars, and new fringe vs. display margin position.
4778 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
4779 (x_clear_end_of_line): Adapt to per-window fringes and scroll
4780 bars, and new fringe vs. display margin position. Fix bug which
4781 increased total width of full_width rows by width of scroll bars
4782 although window's total width already includes that.
4783 (x_fix_overlapping_area): Simplify using window_box_left_offset.
4784 (expose_area): Simplify using window_box_left_offset.
4785 (x_draw_vertical_border): Handle per-window scroll bar settings,
4786 mixing windows with left, right and no scroll bars.
4787
4788 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
4789 where it's used in x_list_fonts (for clarity).
4790 (frame_update_line_height): Remove unused function; functionality
4791 is now done directly when setting the default font in x_set_font.
4792
4793 * xfns.c: Make (many) trivial substitutions for renamed and
4794 new macros in dispextern.h, frame.h and window.h.
4795
4796 * xmenu.c: Make (some) trivial substitutions for renamed and
4797 new macros in dispextern.h, frame.h and window.h.
4798
4799 * xterm.h (struct x_output): Move members left_pos, top_pos,
4800 border_width, pixel_height, pixel_width, line_height,
4801 internal_border_width, vertical_scroll_bar_extra,
4802 left_fringe_width, right_fringe_width, fringe_cols,
4803 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
4804 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
4805 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
4806 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
4807 (PIXEL_WIDTH, PIXEL_HEIGHT)
4808 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
4809 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
4810 frame.h and renamed [see frame.h changes].
4811 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
4812 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
4813 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
4814 and renamed [see frame.h changes].
4815
4816 * xterm.c: Make (several) trivial substitutions for renamed and
4817 new macros in dispextern.h, frame.h and window.h.
4818 (x_draw_glyph_string_box): Adapt to per-window fringes and
4819 scroll-bars.
4820 (scroll_run): Adapt to new fringe position.
4821 (glyph_rect): Use window coordinates returned from
4822 window_from_coordinates rather than frame_to_window_pixel_xy.
4823 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
4824 scroll-bars.
4825 (handle_one_xevent): Simplify a USE_GTK conditional.
4826 (x_clip_to_row): Remove superfluous whole_line_p arg and code
4827 (fringes are now inside margins, i.e. always in the clipping area).
4828 All callers changed.
4829 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
4830 directly, then call compute_fringe_widths. Don't call
4831 frame_update_line_height.
4832
4833 * w32term.h (struct w32_output): Move members left_pos, top_pos,
4834 border_width, pixel_height, pixel_width, line_height,
4835 internal_border_width, vertical_scroll_bar_extra,
4836 left_fringe_width, right_fringe_width, fringe_cols,
4837 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
4838 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
4839 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
4840 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
4841 (PIXEL_WIDTH, PIXEL_HEIGHT)
4842 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
4843 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
4844 frame.h and renamed [see frame.h changes].
4845 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
4846 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
4847 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
4848 and renamed [see frame.h changes].
4849
4850 * w32term.c: Make (several) trivial substitutions for renamed and
4851 new macros in dispextern.h, frame.h and window.h.
4852 (x_draw_glyph_string_box): Adapt to per-window fringes and
4853 scroll-bars.
4854 (glyph_rect): Use window coordinates returned from
4855 window_from_coordinates rather than frame_to_window_pixel_xy.
4856 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
4857 scroll-bars.
4858 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
4859 (fringes are now inside margins, i.e. always in the clipping area).
4860 All callers changed.
4861 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
4862 directly, then call compute_fringe_widths. Don't call
4863 frame_update_line_height.
4864
4865 * w32console.c: Make (few) trivial substitutions for renamed and
4866 new macros in dispextern.h, frame.h and window.h.
4867
4868 * w32fns.c: Make (many) trivial substitutions for renamed and
4869 new macros in dispextern.h, frame.h and window.h.
4870
4871 * w32menu.c: Make (few) trivial substitutions for renamed and
4872 new macros in dispextern.h, frame.h and window.h.
4873
4874 * macterm.h (struct mac_output): Move members left_pos, top_pos,
4875 border_width, pixel_height, pixel_width, line_height,
4876 internal_border_width, vertical_scroll_bar_extra,
4877 left_fringe_width, right_fringe_width, fringe_cols,
4878 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
4879 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
4880 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
4881 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
4882 (PIXEL_WIDTH, PIXEL_HEIGHT)
4883 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
4884 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
4885 frame.h and renamed [see frame.h changes].
4886 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
4887 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
4888 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
4889 and renamed [see frame.h changes].
4890
4891 * macterm.c: Make (several) trivial substitutions for renamed and
4892 new macros in dispextern.h, frame.h and window.h.
4893 (x_draw_glyph_string_box): Adapt to per-window fringes and
4894 scroll-bars.
4895 (glyph_rect): Use window coordinates returned from
4896 window_from_coordinates rather than frame_to_window_pixel_xy.
4897 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
4898 scroll-bars.
4899 (x_clip_to_row): Remove superfluous whole_line_p arg and code
4900 (fringes are now inside margins, i.e. always in the clipping area).
4901 All callers changed.
4902 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
4903 directly, then call compute_fringe_widths. Don't call
4904 frame_update_line_height.
4905
4906 * macfns.c: Make (several) trivial substitutions for renamed and
4907 new macros in dispextern.h, frame.h and window.h.
4908 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
4909
4910 * macmenu.c: Make (few) trivial substitutions for renamed and
4911 new macros in dispextern.h, frame.h and window.h.
4912
4913 * msdos.h (struct x_output): Remove members left_pos, top_pos,
4914 and line_height, and use corresponding new members in struct
4915 frame. All uses changed.
4916 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
4917 superseeded by corresponding macros in frame.h.
4918
4919 * msdos.c: Make (several) trivial substitutions for renamed and
4920 new macros in dispextern.h, frame.h and window.h.
4921 (IT_note_mouse_highlight): Use updated window coordinates returned
4922 by window_from_coordinates, rather than adjusting them locally.
4923 (internal_terminal_init): No need to initialize line_height here;
4924 it now defaults to 1.
4925
4926 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
4927
4928 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
4929 dropping `down' events.
4930
4931 2003-05-24 Andreas Schwab <schwab@suse.de>
4932
4933 * coding.c (find_safe_codings): Fix last change.
4934
4935 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
4936
4937 * xfns.c (x_window): Fix typo from 2003-05-21 change.
4938
4939 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
4940
4941 * xdisp.c (display_mode_element): Increase max depth.
4942 Simplify the error handling code. Use a different error string
4943 for the case where we hit the depth limit.
4944
4945 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
4946
4947 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
4948
4949 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
4950
4951 * intervals.c (get_local_map): Don't get char-property of previous
4952 point any more: get_pos_property already does it and better.
4953
4954 2003-05-21 Dave Love <fx@gnu.org>
4955
4956 [Merged from unicode branch.]
4957
4958 * xfns.c (x_window, x_window): Use use_xim.
4959
4960 * xterm.c (use_xim): Initialize.
4961 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
4962 (x_term_init): Maybe set use_xim.
4963
4964 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
4965
4966 2003-05-21 Jason Rumney <jasonr@gnu.org>
4967
4968 * unexw32.c (_start): Remove _fmode initialization.
4969
4970 * emacs.c (main) [WINDOWSNT]: Move it here.
4971
4972 2003-05-20 Dave Love <fx@gnu.org>
4973
4974 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
4975
4976 2003-05-19 Richard M. Stallman <rms@gnu.org>
4977
4978 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
4979 as value for QCfont attribute.
4980 (realize_default_face): lface should already exist; crash if not.
4981 Specify 0 for FORCE_P when calling set_lface_from_font_name.
4982
4983 * frame.c (Fignore_event): Doc fix.
4984
4985 2003-05-19 Kenichi Handa <handa@m17n.org>
4986
4987 * coding.c (decode_coding_string): Handle post-read-conversion
4988 even if the coding doesn't require decoding.
4989
4990 2003-05-18 Richard M. Stallman <rms@gnu.org>
4991
4992 * callproc.c (Fcall_process_region): Doc fix.
4993
4994 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
4995
4996 * lread.c (Fload): Print a message if package is obsolete.
4997
4998 * window.c (Fselect_window): Add optional `norecord' arg.
4999 (select_window_1): Fold into Fselect_window.
5000 (select_window_norecord): New function.
5001 (temp_output_buffer_show): Use it. Preserve current buffer.
5002
5003 * window.h (Fselect_window): Update declaration.
5004
5005 * window.c (delete_window, Fother_window, Fset_window_configuration):
5006 * minibuf.c (read_minibuf):
5007 * macterm.c (x_new_focus_frame):
5008 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
5009 * callint.c (Fcall_interactively):
5010 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
5011
5012 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
5013
5014 2003-05-17 David Kastrup <dak@gnu.org>
5015
5016 * process.c (read_process_output): Back out change from 2003-03-09.
5017
5018 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
5019
5020 * editfns.c (get_pos_property): Don't assume that `object' = nil.
5021
5022 * textprop.c (text_property_stickiness): New arg `buffer'.
5023
5024 * intervals.h (text_property_stickiness): New arg `buffer'.
5025 (get_pos_property): Declare.
5026
5027 * intervals.c (get_local_map): Use get_pos_property, to obey
5028 stickiness and empty overlays.
5029 (create_root_interval, graft_intervals_into_buffer): Use BEG.
5030 (merge_properties, intervals_equal, merge_properties_sticky):
5031 Use XCAR, XCDR.
5032 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
5033
5034 2003-05-17 Richard M. Stallman <rms@gnu.org>
5035
5036 * minibuf.c (read_minibuf): If buffer is empty, record the default
5037 in the history.
5038 (Fminibuffer_complete_word): When deleting the overlap, take account
5039 of its real position.
5040
5041 * fns.c (map_char_table): Fix previous change.
5042
5043 * syntax.c (find_defun_start):
5044 When open_paren_in_column_0_is_defun_start,
5045 return beginning of buffer.
5046
5047 * lisp.h (map_char_table): Declare added arg.
5048
5049 * fns.c (map_char_table): New arg TABLE gets the master table.
5050 All calls changed.
5051 Process default and inheritance, resorting to Faref if necessary.
5052
5053 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
5054 (Faccessible_keymaps): Pass new arg to map_char_table.
5055
5056 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
5057
5058 * casetab.c (set_case_table): Pass new arg to map_char_table.
5059
5060 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
5061
5062 * lisp.h (specbinding_func): New typedef.
5063 (struct specbinding): Use specbinding_func, to put the `volatile'
5064 in the right place.
5065
5066 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
5067 to avoid GCC warning.
5068
5069 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org> (tiny change)
5070
5071 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
5072
5073 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
5074
5075 * keyboard.c (apply_modifiers): Don't fill the other cache.
5076
5077 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
5078
5079 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
5080
5081 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
5082 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
5083 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
5084 (Fset_window_configuration, Fcurrent_window_configuration)
5085 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
5086 (Fpos_visible_in_window_p, mark_window_cursors_off)
5087 (window_internal_height, window_internal_width, Frecenter)
5088 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
5089 (replace_buffer_in_all_windows, init_window_once, init_window)
5090 (syms_of_window, keys_of_window): Move from lisp.h.
5091 * lisp.h: Move window.c declarations to window.h.
5092
5093 * bytecode.c: Include window.h.
5094 * emacs.c: Include window.h.
5095
5096 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
5097 (keyremap): Add `parent' field.
5098 (keyremap_step): Use it. Remove `parent' argument.
5099 (read_key_sequence): Setup and use the new `parent' field.
5100
5101 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
5102
5103 * keyboard.c (adjust_point_for_property): Ensure termination.
5104
5105 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
5106
5107 * keyboard.c (follow_key): Remove dead variable `did_meta'.
5108 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
5109 duplicated handling of function-key-map and key-translation-map
5110 in read_key_sequence.
5111 (read_key_sequence): Use them.
5112
5113 * keyboard.c (adjust_point_for_property): Try harder to move point
5114 to the non-sticky end of an invisible property.
5115
5116 * xdisp.c (single_display_prop_intangible_p): Make `space' display
5117 property intangible as well.
5118
5119 2003-05-10 Andreas Schwab <schwab@suse.de>
5120
5121 * xmenu.c (single_menu_item): Change last parameter to void* to
5122 avoid warning.
5123
5124 2003-05-09 Richard M. Stallman <rms@gnu.org>
5125
5126 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
5127 Bind Qinhibit_modification_hooks to t so there will be no GC.
5128 Rename local `tem' to `save_deactivate_mark'.
5129
5130 * eval.c (specpdl_ptr): Declare volatile.
5131 (unbind_to): Copy the whole binding and decrement specpdl_ptr
5132 before doing the work of unbinding it.
5133
5134 * lisp.h (struct specbinding): Declare elements volatile.
5135 (specpdl_ptr): Declare volatile.
5136
5137 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
5138
5139 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
5140 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
5141
5142 2003-05-08 Dave Love <fx@gnu.org>
5143
5144 * coding.c (Vlast_coding_system_used): Doc fix.
5145
5146 2003-05-07 Jason Rumney <jasonr@gnu.org>
5147
5148 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
5149 when system does not support them.
5150
5151 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
5152
5153 * fileio.c (Qwrite_region_annotate_functions): New var.
5154 (build_annotations): Use it to process the global part of the hook.
5155 (syms_of_fileio): Init and staticpro it.
5156
5157 * keyboard.c (safe_run_hooks_error): Display a message instead of
5158 silently ignoring the error.
5159
5160 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
5161
5162 * keyboard.c (input_available_signal): Mark static.
5163 (menu_bar_items): Use map_keymap.
5164 (menu_bar_one_keymap): Remove.
5165 (menu_bar_item): Adjust arglist (for use in map_keymap).
5166 Properly hide a second binding when not both are keymaps.
5167
5168 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
5169 (single_keymap_panes): Use it and map_keymap.
5170 (single_menu_item): Use skp as well.
5171
5172 * keymap.h (map_keymap_function_t): New type.
5173 (map_keymap): Declare.
5174
5175 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
5176 (map_keymap_call, Fmap_keymap): New functions.
5177 (syms_of_keymap): Defsubr map-keymap.
5178
5179 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5180
5181 * gtkutil.c (create_dialog, make_widget_for_menu_item)
5182 (make_menu_item, create_menus, xg_update_menu_item): Don't call
5183 ..._with_mnemonic functions for menu items.
5184
5185 2003-05-01 Kenichi Handa <handa@m17n.org>
5186
5187 * coding.c (coding_system_accept_latin_extra_p): Delete this
5188 function.
5189 (find_safe_codings): Pay attention to
5190 the property tranlsation-table-for-encode of each codings.
5191 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
5192
5193 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
5194
5195 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
5196
5197 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
5198
5199 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
5200
5201 * lisp.h (CHECK): Wrap args in parenthesis.
5202 (specbind): Fix doc: symbol = Qnil is not supported any more.
5203
5204 * bytecode.c (Fbyte_code) <unwind-protect>:
5205 Use Fprogn rather than 0 and Qnil.
5206
5207 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
5208 `double', and `triple' modifiers as well.
5209
5210 2003-04-30 Richard M. Stallman <rms@gnu.org>
5211
5212 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
5213
5214 * alloc.c (abort_on_gc): New variable.
5215 (Fgarbage_collect): Abort if abort_on_gc is set.
5216
5217 * lisp.h (abort_on_gc): Add decl.
5218
5219 * eval.c (Fsignal): Clear abort_on_gc.
5220
5221 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
5222 Reinit FORMAT_START and END before second scan.
5223
5224 * xdisp.c (move_it_vertically_backward): Do the final big else
5225 even if nlines is 0.
5226
5227 * xdisp.c (redisplay_internal): Finish the per-frame loop
5228 even if redisplay is suspended by input.
5229
5230 2003-04-24 Andrew Choi <akochoi@shaw.ca>
5231
5232 * macterm.c (x_list_fonts): Return all fonts that match if
5233 maxnames = -1.
5234
5235 2003-04-25 Kenichi Handa <handa@m17n.org>
5236
5237 * syntax.c (skip_chars): Fix previous change.
5238
5239 2003-04-24 Kenichi Handa <handa@m17n.org>
5240
5241 * syntax.c (skip_chars): Make the code faster by using the common
5242 technique of *p, *stop, and *endp.
5243
5244 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5245
5246 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
5247 tool_bar_items so GTK tool bar expose callback does not access items
5248 being updated.
5249
5250 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
5251
5252 * eval.c (Fapply): Undo last change and add a comment about why.
5253
5254 2003-04-18 Miles Bader <miles@gnu.org>
5255
5256 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
5257 pickier PARSE_MULTIBYTE_SEQ.
5258
5259 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
5260
5261 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
5262 Use XCDR, XCAR, CONSP.
5263 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
5264 (Fapply): Remove unnecessary GCPRO.
5265
5266 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
5267
5268 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
5269
5270 * buffer.h: Don't hardcode BEG==1.
5271
5272 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
5273
5274 2003-04-16 Richard M. Stallman <rms@gnu.org>
5275
5276 * xdisp.c (try_window, try_window_reusing_current_matrix):
5277 When at end of window, set window_end_pos to Z-ZV.
5278
5279 * buffer.c (Foverlay_recenter): Doc fix.
5280
5281 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
5282
5283 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
5284
5285 2003-04-14 Andrew Choi <akochoi@shaw.ca>
5286
5287 * macterm.c (mac_check_for_quit_char): Don't check more often than
5288 once a second.
5289
5290 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
5291
5292 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
5293 specially, so that they can't hide an implicit switch-frame event.
5294 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
5295 (head_table): Use switch-frame as event_kind for select-window.
5296 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
5297
5298 * editfns.c (Fformat): Lisp_Object/int mixup.
5299 (format2): Remove unused var numargs.
5300
5301 2003-04-11 Kenichi Handa <handa@m17n.org>
5302
5303 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
5304 (Qafter_insert_file_set_coding): New variable.
5305 (syms_of_fileio): Initialize and staticpro it. Delete declaration
5306 for after-insert-file-adjust-coding-function.
5307 (Finsert_file_contents): Call Qafter_insert_file_set_coding
5308 instead of Vafter_insert_file_adjust_coding_function.
5309
5310 2003-04-11 Kenichi Handa <handa@m17n.org>
5311
5312 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
5313
5314 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
5315 string. Callers changed.
5316
5317 2003-04-10 Kenichi Handa <handa@m17n.org>
5318
5319 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
5320 (syms_of_fileio): Declare it as a lisp variable.
5321 (Finsert_file_contents):
5322 Call Vafter_insert_file_adjust_coding_function before calling
5323 decode-format.
5324
5325 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5326
5327 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
5328 get GtkAdjustment as widget now is a GtkRange.
5329
5330 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
5331 GtkRange to avoid memory leak.
5332
5333 2003-04-09 Kenichi Handa <handa@m17n.org>
5334
5335 * xfaces.c (Vface_font_rescale_alist): New variable.
5336 (struct font_name): New member rescale_ratio.
5337 (font_rescale_ratio): New function.
5338 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
5339 (better_font_p): On comparing point sized, pay attention to
5340 recale_ratio member of fonts.
5341 (build_scalable_font_name): Reflect font->rescale_ratio in the
5342 font name.
5343 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
5344
5345 * lread.c (read1): Before calling index, check if the 2nd
5346 arguemnt is in ASCII range.
5347
5348 2003-04-08 Richard M. Stallman <rms@gnu.org>
5349
5350 * fileio.c (Ffile_symlink_p): Doc fix.
5351
5352 * editfns.c (Fformat): Translate positions of text properties
5353 in the format string to apply them to the result.
5354
5355 * fileio.c (Finsert_file_contents): Doc fix.
5356 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
5357
5358 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
5359
5360 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
5361
5362 2003-04-08 Steven Tamm <steventamm@mac.com>
5363
5364 * mac.c (init_mac_osx_environment): Switch libexec and bin so
5365 that self-contained application finds libexec files.
5366
5367 2003-04-08 Kenichi Handa <handa@m17n.org>
5368
5369 * coding.c (code_convert_region_unwind):
5370 Set Vlast_coding_system_used to the argument.
5371 (code_convert_region): If post-read-conversion function changed
5372 the value of last-coding-sytem, keep the new value in
5373 coding->symbol so that it won't be overridden.
5374 (run_pre_post_conversion_on_str): Likewise.
5375 (coding_system_accept_latin_extra_p): New function.
5376 (find_safe_codings): Pay attention to characters registered in
5377 latin-extra-code-table.
5378
5379 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
5380
5381 * Makefile.in (md5.o): Add missing dependency info.
5382
5383 2003-04-06 Richard M. Stallman <rms@gnu.org>
5384
5385 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
5386
5387 * marker.c (verify_bytepos): New function.
5388
5389 * intervals.c (set_intervals_multibyte_1): When becoming
5390 multibyte, adjust right and left child sizes to a whole set of
5391 characters. If an interval gets zero total-length, delete it.
5392 If an interval consists of just its children, delete one of them.
5393
5394 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
5395 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
5396
5397 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
5398 All calls deleted.
5399 (lisp_malloc): Do the work here directly.
5400
5401 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
5402
5403 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
5404 char tables.
5405
5406 2003-04-04 Kenichi Handa <handa@m17n.org>
5407
5408 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
5409 destructively change "%S" to "%s".
5410
5411 2003-04-03 Miles Bader <miles@gnu.org>
5412
5413 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
5414 always set.
5415
5416 2003-04-01 Dave Love <fx@gnu.org>
5417
5418 * xfns.c (xpm_lookup_color): Grok "opaque".
5419
5420 2003-03-31 Andrew Choi <akochoi@shaw.ca>
5421
5422 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
5423 parent window ID.
5424
5425 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
5426
5427 * macterm.h (struct mac_output): Define x_pixels_diff and
5428 y_pixels_diff.
5429
5430 2003-03-31 Juanma Barranquero <lektu@terra.es>
5431
5432 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
5433 blockinput.h and files included from it.
5434
5435 2003-03-31 Kim F. Storm <storm@cua.dk>
5436
5437 The following changes consolidates the common code related to
5438 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
5439 files into frame.c.
5440
5441 * frame.c: Include blockinput.h.
5442 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
5443 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
5444 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
5445 related vars here.
5446 (struct frame_parm_table, frame_parms): New table for describing
5447 frame parameters and their associated Q-variable.
5448 The order of the parameters corresponds to the sequence of the
5449 frame_parm_handlers table in redisplay_interface.
5450 (x_fullscreen_move, x_set_frame_parameters)
5451 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
5452 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
5453 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5454 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
5455 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
5456 Generic functions for processing of frame parameters.
5457 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
5458 (display_x_get_resource, x_get_resource_string): Functions for
5459 generic access to X resources.
5460 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
5461 (x_default_parameter, Fx_parse_geometry): Functions for generic
5462 access to frame parameters.
5463 (x_figure_window_size): Generic calculation of frame size.
5464 Fixed to add space needed for tool bar. Also setup size_hint_flags.
5465 (syms_of_frame): Intern and staticpro frame parameter variables.
5466 Defvar_lisp Vx_resource_class and Vx_resource_name here.
5467 Defsubr Sx_get_resource and Sx_parse_geometry.
5468
5469 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
5470 parameter related vars defined in frame.c.
5471 (EMACS_CLASS): Define here.
5472 (enum FULLSCREEN_*): Define here.
5473 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
5474 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
5475 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
5476 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
5477 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
5478 (x_set_visibility, x_set_autoraise, x_set_autolower)
5479 (x_set_unsplittable, x_set_vertical_scroll_bars)
5480 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
5481 (x_figure_window_size): Add prototypes.
5482
5483 * dispextern.h (frame_parm_handler): New typedef.
5484 (struct redisplay_interface): New member frame_parm_handlers.
5485 (enum resource_types): Move declaration here.
5486 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
5487 (x_default_parameter): Add prototypes.
5488
5489 * window.c: Remove extern decl for frame parameter vars.
5490 (change_window_heights): New generic function;
5491 replaces x_change_window_heights. All users changed.
5492
5493 * window.h (change_window_heights): Add prototype.
5494
5495 * xfaces.c: Remove extern decl for frame parameter vars.
5496
5497 * xterm.h (EMACS_CLASS): Remove. Use generic define.
5498 (struct w32_display_info): Fix type of xrdb member.
5499 (enum FULLSCREEN_*): Remove.
5500 Remove prototypes for generic functions (in frame.h).
5501
5502 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
5503 parameters now defined in frame.h and frame.c.
5504 (Vx_resource_name): Remove. Use generic var.
5505 (enum x_frame_parms): Remove (bogus, unused enum).
5506 (check_x_display_info): Make non-static (for frame.c).
5507 (struct x_frame_parm_table, x_frame_parms): Remove.
5508 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
5509 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
5510 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5511 (x_change_window_heights, x_set_autoraise, x_set_autolower)
5512 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
5513 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
5514 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
5515 Remove. Use generic functions instead.
5516 (enum resource_types): Remove.
5517 (x_set_scroll_bar_default_width): New global function (for frame.c).
5518 (Fx_create_frame): Depend on x_figure_window_size to add space for
5519 toolbar and setup size_hint_flags.
5520 (x_frame_parm_handlers): New table for redisplay_interface.
5521 (syms_of_xfns): Don't intern/staticpro removed vars.
5522
5523 * xterm.c: Remove unnecessary extern declarations.
5524 (x_fullscreen_adjust): Remove. Use generic instead.
5525 (x_redisplay_interface): Add x_frame_parm_handlers member.
5526
5527 * w32gui.h (XrmDatabase): New (dummy) typedef.
5528
5529 * w32term.h (EMACS_CLASS): Remove. Use generic define.
5530 (struct w32_display_info): Fix type of xrdb member.
5531 (enum FULLSCREEN_*): Remove.
5532 (x_fullscreen_adjust): Remove prototype.
5533
5534 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
5535 parameters now defined in frame.h and frame.c.
5536 (Vx_resource_name): Remove. Use generic var.
5537 (enum x_frame_parms): Remove (bogus, unused enum).
5538 (check_x_display_info): Make non-static (for frame.c).
5539 (struct x_frame_parm_table, x_frame_parms): Remove.
5540 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
5541 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
5542 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5543 (x_change_window_heights, x_set_autoraise, x_set_autolower)
5544 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
5545 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
5546 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
5547 Remove. Use generic functions instead.
5548 (enum resource_types): Remove.
5549 (x_set_scroll_bar_default_width): New global function (for frame.c).
5550 (Fx_create_frame): Depend on x_figure_window_size to add space for
5551 toolbar and setup size_hint_flags.
5552 (w32_frame_parm_handlers): New table for redisplay_interface.
5553 (syms_of_w32fns): Don't intern/staticpro removed vars.
5554
5555 * w32term.c: Remove unnecessary extern declarations.
5556 (x_fullscreen_adjust): Remove. Use generic instead.
5557 (x_redisplay_interface): Add w32_frame_parm_handlers member.
5558
5559 * w32reg.c (x_get_string_resource): Use XrmDatabase.
5560
5561 * macgui.h (XrmDatabase): New (dummy) typedef.
5562
5563 * macterm.h (EMACS_CLASS): Remove.
5564 (struct mac_display_info): Add xrdb member.
5565 (struct mac_output): Add want_fullscreen member.
5566
5567 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
5568 parameters now defined in frame.h and frame.c.
5569 (Vx_resource_name): Remove. Use generic var.
5570 (check_x_display_info): Make non-static (for frame.c).
5571 (struct x_frame_parm_table, x_frame_parms): Remove.
5572 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
5573 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
5574 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5575 (x_change_window_heights, x_set_autoraise, x_set_autolower)
5576 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
5577 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
5578 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
5579 Remove. Use generic functions instead.
5580 (enum resource_types): Remove.
5581 (x_set_scroll_bar_default_width): New global function (for frame.c).
5582 (mac_frame_parm_handlers): New table for redisplay_interface.
5583 (syms_of_macfns): Don't intern/staticpro removed vars.
5584
5585 * macterm.c: Remove unnecessary extern declarations.
5586 (x_redisplay_interface): Add mac_frame_parm_handlers member.
5587
5588 * Makefile.in (frame.o): Add dependency on blockinput.h and files
5589 included from it (atimer.h and systime.h).
5590
5591 2003-03-30 Andreas Schwab <schwab@suse.de>
5592
5593 * xdisp.c (x_insert_glyphs): Fix swapped width and height
5594 parameters for shift_glyphs_for_insert.
5595
5596 * macterm.c (x_redisplay_interface): Add missing entry for
5597 draw_vertical_window_border.
5598
5599 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
5600
5601 * fileio.c (Fexpand_file_name): In the no-handler case, after
5602 expanding, look again for a handler and invoke it. This is needed
5603 for filenames like "/foo/../user@host:/bar/../baz" -- the first
5604 expansion produces "/user@host:/bar/../baz" which needs to be
5605 expanded again for the finame result "/user@host:/baz".
5606
5607 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5608
5609 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
5610 of area to be redrawn for better performance.
5611
5612 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
5613
5614 * xterm.c (take_vertical_position_into_account): Remove.
5615 (xt_action_hook): Call set_vertical_scroll_bar if needed.
5616 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
5617 (xm_scroll_callback, x_create_toolkit_scroll_bar)
5618 (x_set_toolkit_scroll_bar_thumb): Simplify.
5619 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
5620 (XTread_socket): Remove unused var.
5621 (x_make_frame_invisible): Replace goto with else.
5622
5623 * xdisp.c (set_vertical_scroll_bar): New fun.
5624 (redisplay_window): Use it.
5625
5626 2003-03-26 Richard M. Stallman <rms@gnu.org>
5627
5628 * xdisp.c (update_tool_bar): Recompute tool bar if
5629 update_mode_lines is set. Set w->update_mode_line
5630 only if the tool bar contents actually change.
5631 (update_menu_bar): Undo previous change.
5632
5633 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5634
5635 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
5636 (xg_frame_set_char_size): Calculate scroll bar width before frame
5637 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
5638 (xg_separator_p): Check for all documented separator types.
5639 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
5640 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
5641
5642 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
5643 so tool bar gets updated.
5644
5645 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
5646
5647 * data.c (store_symval_forwarding): Re-instate part of the code
5648 that was deleted with too much enthusiasm.
5649
5650 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
5651
5652 * data.c (store_symval_forwarding): Delete special read-only
5653 hack for type == -1, since we now use ->constant instead.
5654 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
5655
5656 * buffer.c (overlays_in): Declare static.
5657 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
5658 `constant' field rather than the variable's `type' field.
5659
5660 2003-03-24 Andrew Choi <akochoi@shaw.ca>
5661
5662 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
5663
5664 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
5665
5666 * fns.c [MAC_OSX]: Do not redefine vector.
5667
5668 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
5669
5670 * macgui.h: Remove definition of No_Cursor.
5671
5672 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
5673
5674 * xdisp.c: Define No_Cursor.
5675 (x_write_glyphs, notice_overwritten_cursor)
5676 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
5677 (note_mouse_highlight): Remove Mac-specific code.
5678 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
5679
5680 2003-03-24 John Paul Wallington <jpw@gnu.org>
5681
5682 * xdisp.c (redisplay_window): If mini window's buffer is not
5683 empty, then redisplay it like other windows.
5684
5685 2003-03-23 Kim F. Storm <storm@cua.dk>
5686
5687 * w32term.c (w32_draw_window_cursor): Fix last change.
5688
5689 2003-03-23 Kenichi Handa <handa@m17n.org>
5690
5691 * alloc.c (make_string_from_bytes, make_specified_string):
5692 Add `const' for the arg CONTENTS.
5693
5694 * lisp.h (make_string_from_bytes, make_specified_string):
5695 Prototypes adjusted.
5696
5697 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5698
5699 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
5700
5701 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
5702 (XG_SB_RANGE): New define.
5703
5704 * gtkutil.c (xg_fixed_handle_expose): New function.
5705 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
5706 expose events.
5707 (xg_update_scrollbar_pos): Take two more arguments, left and width
5708 of scroll bar including borders.
5709 Clear left and right part outside scroll bar separately as some
5710 themes have bars that are not an even number of pixels.
5711 Don't set reallocate_redraws, don't call
5712 gdk_window_process_all_updates.
5713 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
5714 so no need to change it. Calculate size and value with XG_SB_RANGE.
5715
5716 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
5717 Pass left and width of scroll bar including borders to
5718 xg_update_scrollbar_pos.
5719
5720 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
5721
5722 * Makefile.in: Make sure space precedes end-of-line backslashes.
5723
5724 2003-03-22 Kim F. Storm <storm@cua.dk>
5725
5726 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
5727 Add generic versions here. Remove system specific versions
5728 defined elsewhere.
5729
5730 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
5731 Add prototypes.
5732
5733 * xterm.h (STORE_NATIVE_RECT): New macro.
5734
5735 2003-03-21 Kim F. Storm <storm@cua.dk>
5736
5737 * xdisp.c (get_glyph_string_clip_rect):
5738 Use FRAME_INTERNAL_BORDER_WIDTH.
5739
5740 * dispextern.h (struct redisplay_interface): Add active_p
5741 argument to draw_window_cursor member. All uses changed.
5742
5743 2003-03-21 Kim F. Storm <storm@cua.dk>
5744
5745 The following changes consolidate code related to writing and
5746 inserting glyphs, exposing frame, the tool bar, the mouse face,
5747 the output cursor, and help echo from xterm.c, w32term.c and
5748 macterm.c into xdisp.c. It also generalizes the use of the
5749 window_part enum instead of using numeric values throughout.
5750
5751 * xdisp.c: Consolidate gui-independent code here.
5752 Include keymap.h.
5753 (Qhelp_echo): Import.
5754 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
5755 (help_echo_string, help_echo_window, help_echo_object)
5756 (previous_help_echo_string, help_echo_pos): Declare here.
5757 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
5758 (estimate_mode_line_height): Define here. Handle windowing
5759 systems directly (without using estimate_mode_line_height_hook).
5760 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
5761 (update_window_cursor, update_cursor_in_window_tree)
5762 (fast_find_position, fast_find_string_pos)
5763 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
5764 (expose_area, expose_line, expose_overlaps, expose_window)
5765 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
5766 declared static as they are only used locally in xdisp.c.
5767 (draw_glyphs): Rename from x_draw_glyphs and make static.
5768 (tool_bar_item_info, notice_overwritten_cursor): Make static.
5769 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
5770 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
5771 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
5772 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
5773 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
5774 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
5775 (note_mouse_highlight, x_clear_window_mouse_face)
5776 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
5777 (x_intersect_rectangles): New generic functions for use by xdisp.c
5778 and GUI front-ends.
5779 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
5780 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
5781
5782 * dispextern.h (Display_Info): Generic typedef for *_display_info.
5783 (NativeRectangle): Generic typedef for rectangle type.
5784 (enum window_part): Move here from window.c.
5785 (struct redisplay_interface): New members flush_display_optional,
5786 define_frame_cursor, clear_frame_area, draw_window_cursor,
5787 draw_vertical_window_border, shift_glyphs_for_insert.
5788 Rename member clear_mouse_face to clear_window_mouse_face.
5789 (estimate_mode_line_height_hook): Remove hook.
5790 (auto_raise_tool_bar_buttons_p): Don't declare extern.
5791 (tool_bar_item_info): Remove prototype.
5792 (help_echo_string, help_echo_window, help_echo_object)
5793 (previous_help_echo_string, help_echo_pos)
5794 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
5795 (x_stretch_cursor_p, output_cursor): Declare extern.
5796 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
5797 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
5798 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
5799 (display_and_set_cursor, set_output_cursor, x_cursor_to)
5800 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
5801 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
5802 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
5803 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
5804 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
5805 Add prototypes.
5806 (mode_line_string, marginal_area_string): Fix prototypes.
5807
5808 * window.c (enum window_part): Move to dispextern.h.
5809 (coordinates_in_window): Use enum window_part member names
5810 instead of numbers to describe return value.
5811 (struct check_window_data): Change part member to window_part.
5812 (check_window_containing): Return window_part unaltered.
5813 (window_from_coordinates): Change part arg from int to enum
5814 window_part. Allow part arg to be null. All users changed.
5815
5816 * window.h (window_from_coordinates): Fix prototype.
5817
5818 * term.c (estimate_mode_line_height): Move to xdisp.c.
5819
5820 * keyboard.c (make_lispy_event): Use enum window_part.
5821
5822 * dispnew.c (mode_line_string, marginal_area_string): Use enum
5823 window_part instead of int in arg list. Users changed.
5824
5825 * xterm.h (No_Cursor): Declare as None for X.
5826 (struct mac_output): Replace member cross_cursor by hand_cursor.
5827
5828 * xterm.c: Remove consolidated defines and code.
5829 (BETWEEN): Remove unused macro.
5830 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
5831 (x_define_frame_cursor, x_clear_frame_area)
5832 (x_draw_window_cursor): New X-specific functions for RIF.
5833 (x_redisplay_interface): Add new members.
5834
5835 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
5836
5837 * w32term.h (struct w32_output): Remove cross_cursor member.
5838
5839 * w32term.c: Remove consolidated defines and code.
5840 (BETWEEN): Remove unused macro.
5841 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
5842 (w32_define_frame_cursor, w32_clear_frame_area)
5843 (w32_draw_window_cursor): New W32-specific functions for RIF.
5844 (w32_redisplay_interface): Add new members.
5845
5846 * w32gui.h (No_Cursor): Define as 0 for W32.
5847 (XRectangle): Add X compatible rectangle type.
5848 (NativeRectangle): Declare as RECT for W32.
5849 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
5850
5851 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
5852
5853 * w32console.c: Remove consolidated defines and code.
5854
5855 * msdos.h (Display_Info): Add generic typedef.
5856
5857 * msdos.c: Remove consolidated defines and code.
5858 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
5859
5860 * macterm.h (struct mac_output): Replace member cross_cursor by
5861 hand_cursor.
5862 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
5863
5864 * macterm.c: Remove consolidated defines and code.
5865 (BETWEEN): Remove unused macro.
5866 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
5867 (mac_define_frame_cursor, mac_clear_frame_area)
5868 (mac_draw_window_cursor): New Mac-specific functions for RIF.
5869 (x_redisplay_interface): Add new members.
5870
5871 * macgui.h (No_Cursor): Define as 0 for Mac.
5872 (XRectangle): Add X compatible rectangle type.
5873 (NativeRectangle): Declare as Rect for Mac.
5874 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
5875
5876 * macfns.c (x_set_mouse_color): Setup hand_cursor.
5877 (x_set_cursor_color): Use x_display_and_set_cursor.
5878
5879 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
5880 included from it. Add dependency on keymap.h.
5881
5882 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
5883
5884 2003-03-21 Kenichi Handa <handa@m17n.org>
5885
5886 * fileio.c (Fexpand_file_name): Fix previous change.
5887
5888 2003-03-19 Kenichi Handa <handa@m17n.org>
5889
5890 * fileio.c (Ffile_name_directory): Reconstruct file name by
5891 make_specified_string.
5892 (Ffile_name_nondirectory, Ffile_name_as_directory)
5893 (Fdirectory_file_name, Fexpand_file_name)
5894 (Fsubstitute_in_file_name): Likewise.
5895 (Fread_file_name): Compare decoded homedir with DIR and
5896 DEFAULT_FILENAME.
5897
5898 * alloc.c (make_specified_string): If NCHARS is negative, count
5899 the number of characters.
5900
5901 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5902
5903 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
5904 all widgets.
5905
5906 * gtkutil.h: Removed xg_ignore_next_thumb.
5907
5908 2003-03-18 Kenichi Handa <handa@m17n.org>
5909
5910 * coding.c (Vchar_coding_system_table): Remove this variable.
5911 (Vcoding_system_safe_chars): New variable.
5912 (intersection): Remove this function.
5913 (find_safe_codings): Don't use Vchar_coding_system_table, but try
5914 all codings in SAFE_CODINGS.
5915 (Ffind_coding_systems_region_internal): Adjust for the change of
5916 find_safe_codings. Get generic coding systems from
5917 Vcoding_system_safe_chars.
5918 (Fdefine_coding_system_internal): New function.
5919 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
5920 Initialize and staticpro Vcoding_system_safe_chars.
5921
5922 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5923
5924 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
5925 equal old values before updating.
5926
5927 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
5928
5929 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
5930
5931 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5932
5933 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
5934 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
5935 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
5936 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
5937 (xg_create_scroll_bar): Pass bar to button event callback.
5938 (xg_find_top_left_in_fixed): New function.
5939 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
5940 whole scroll bar area. Get old position with
5941 xg_find_top_left_in_fixed, calculate and only clear needed areas.
5942 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
5943 dragging is in progress. Calculate whole as for Motif.
5944 Remove code that saved last values. Call gtk_range functions to
5945 set scroll bar sizes.
5946
5947 * gtkutil.h: Removed xg_ignore_next_thumb.
5948
5949 2003-03-17 Juanma Barranquero <lektu@terra.es>
5950
5951 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
5952 and files included from it.
5953
5954 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
5955
5956 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
5957 multiple occurrences of the same keymap under different prefixes.
5958 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
5959
5960 2003-03-16 Jason Rumney <jasonr@gnu.org>
5961
5962 * w32gui.h: Use HDC for Display.
5963
5964 * w32term.c (w32_encode_char): Prevent double-byte chars from
5965 crashing Emacs.
5966
5967 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
5968 as binary.
5969
5970 2003-03-16 Juanma Barranquero <lektu@terra.es>
5971
5972 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
5973
5974 2003-03-16 Kim F. Storm <storm@cua.dk>
5975
5976 The following changes consolidate some of the gui-independent
5977 parts of the processing and drawing of "glyph strings" from
5978 xterm.c, w32term.c, and macterm.c into xdisp.c.
5979
5980 * dispextern.h (struct glyph): Reduce face_id member from 22 to
5981 21 bits (this reduces number of faces from 4M to 2M).
5982 Replace W32 specific w32_font_type member (2 bits) by generic
5983 font_type member (3 bits) for portability.
5984 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
5985 (enum draw_glyphs_face): Define here.
5986 (struct glyph_string): Define here. Merge W32 and X versions.
5987 (struct redisplay_interface): New members per_char_metric,
5988 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
5989 (VCENTER_BASELINE_OFFSET): Define here.
5990 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
5991 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
5992
5993 * xdisp.c: Consolidate gui-independent "glyph string" code here.
5994 (dump_glyph_string): Moved here.
5995 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
5996 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
5997 (fill_composite_glyph_string, fill_glyph_string)
5998 (fill_image_glyph_string, fill_stretch_glyph_string)
5999 (left_overwritten, left_overwriting, right_overwritten)
6000 (right_overwriting, get_char_face_and_encoding)
6001 (set_glyph_string_background_width, compute_overhangs_and_x)
6002 (append_glyph, append_composite_glyph, produce_image_glyph)
6003 (take_vertical_position_into_account, append_stretch_glyph)
6004 (produce_stretch_glyph): New generic functions (based on X version).
6005 Call platform specific functions through rif.
6006 (INIT_GLYPH_STRING): New macro, hides W32 details.
6007 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
6008 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
6009 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
6010 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
6011 (notice_overwritten_cursor):
6012 Generic functions exported to platform modules. Users changed.
6013
6014 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
6015 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
6016 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
6017 New macros for consolidated code.
6018
6019 * xterm.c: Remove consolidated defines and code.
6020 (x_per_char_metric, x_encode_char)
6021 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
6022 (x_redisplay_interface): Add new members.
6023
6024 * w32gui.h (Display): Add dummy typedef for consolidation.
6025 (XChar2b): Define alias for wchar_t for consolidation.
6026 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
6027
6028 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
6029 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
6030 New macros for consolidation.
6031
6032 * w32term.c: Remove consolidated defines and code.
6033 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
6034 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
6035 (w32_per_char_metric): Change font_type arg to int for RIF.
6036 (w32_encode_char): Return int according to RIF requirements.
6037 (w32_compute_glyph_string_overhangs): Adapt to RIF.
6038 (w32_get_glyph_overhangs): New function for RIF. Uses generic
6039 x_get_glyph_overhangs.
6040 (w32_redisplay_interface): Add new members.
6041
6042 * macgui.h (XChar2b): Move typedef here for consolidation.
6043 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
6044
6045 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
6046 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
6047 consolidation.
6048
6049 * macterm.c: Remove consolidated defines and code.
6050 (mac_per_char_metric): New function for RIF.
6051 (mac_encode_char): Adapt to new RIF requirements.
6052 (mac_compute_glyph_string_overhangs): Adapt for RIF.
6053 (x_redisplay_interface): Add new members.
6054
6055 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
6056
6057 * keymap.c (Vmenu_events): New var.
6058 (syms_of_keymap): Initialize it.
6059 (where_is_internal): Check more carefully what is a menu event.
6060
6061 2003-03-14 Richard M. Stallman <rms@gnu.org>
6062
6063 * lread.c (read1): After #!, exit loop on eof.
6064
6065 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6066
6067 * gtkutil.h: Add declaration for xg_frame_cleared.
6068
6069 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
6070
6071 * gtkutil.c (struct xg_last_sb_pos): New structure.
6072 (handle_fixed_child): New function.
6073 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
6074 and force a redraw on them.
6075 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
6076 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
6077 so we can avoid unneeded redraws.
6078 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
6079 and force a redraw on the scroll bar.
6080 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
6081 if xg_last_sb_pos shows the positions are up to date.
6082 (xg_frame_cleared): New function.
6083
6084 2003-03-13 Kenichi Handa <handa@m17n.org>
6085
6086 * coding.c (Fdetect_coding_region): Fix docstring.
6087 (Fdetect_coding_string): Fix docstring.
6088
6089 2003-03-13 Andreas Schwab <schwab@suse.de>
6090
6091 * gtkutil.c: Add prototype for create_menus.
6092
6093 * data.c (long_to_cons): Fix type of top.
6094
6095 * xselect.c (selection_data_to_lisp_data): Use int instead of
6096 long for an integer of size 4.
6097
6098 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
6099 (xg_tool_bar_help_callback): Likewise.
6100
6101 2003-03-12 Andreas Schwab <schwab@suse.de>
6102
6103 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
6104
6105 2003-03-12 Kim F. Storm <storm@cua.dk>
6106
6107 The following changes consolidate the fringe handling from
6108 xterm.c, w32term.c, and macterm.c into xdisp.c.
6109
6110 * xdisp.c: Consolidate fringe handling code here.
6111 (left_bits, right_bits, continued_bits, continuation_bits)
6112 (ov_bits, zv_bits): Define fringe bitmaps.
6113 (fringe_bitmaps): New array holding fringe bitmaps.
6114 (draw_fringe_bitmap): Draw a specific bitmap; call display
6115 specific drawing routine via rif->draw_fringe_bitmap.
6116 (draw_row_fringe_bitmaps): Generic replacement for
6117 x_draw_row_fringe_bitmaps; all callers changed.
6118 (compute_fringe_widths): Generic replacement for
6119 x_compute_fringe_widths; all callers changed.
6120
6121 * dispextern.h (enum fringe_bitmap_type): Define here.
6122 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
6123 (fringe_bitmaps): Declare extern.
6124 (struct redisplay_interface): New member draw_fringe_bitmap.
6125 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
6126
6127 * xterm.c: Remove generic fringe code.
6128 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
6129 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
6130
6131 * w32term.c: Remove generic fringe code.
6132 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
6133 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
6134
6135 * macterm.c: Remove generic fringe code.
6136 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
6137 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
6138
6139 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
6140
6141 * print.c (Fprin1_to_string): Return unibyte string if possible.
6142
6143 2003-03-09 David Kastrup <dak@gnu.org>
6144
6145 * process.c (read_process_output): We have allocated enough space
6146 for readmax and carryover, so actually use the alloted space.
6147
6148 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6149
6150 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
6151 toolkit scrollbar click.
6152
6153 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
6154 for USE_GTK.
6155 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
6156 also.
6157 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
6158 scrollbar and control is pressed, call x_scroll_bar_handle_click.
6159
6160 * gtkutil.h: Declare xg_get_scroll_id_for_window.
6161
6162 * gtkutil.c (xg_get_scroll_id_for_window): New function.
6163 (xg_tool_bar_item_expose_callback): New function.
6164 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
6165 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
6166 on the tool bar widget.
6167 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
6168 to expose on the tool bar item widgets.
6169
6170 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6171
6172 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
6173 struct image* when deciding to update (struct image* may have been
6174 deleted from the image cache).
6175
6176 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
6177 the event isn't for a frame (i.e. for dialogs).
6178
6179 2003-03-07 Kenichi Handa <handa@m17n.org>
6180
6181 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
6182 composition components reaches the limit, terminate composing.
6183 (COMPOSITION_OK): New macro.
6184 (detect_coding_iso2022): Use it if an escape sequence for
6185 composition is found.
6186 (coding_restore_composition): Adjust the number of composition
6187 components if it is not sane.
6188
6189 2003-03-06 Juanma Barranquero <lektu@terra.es>
6190
6191 * w32term.h (struct w32_display_info): Add xrdb member to support
6192 passing resources via -xrm on Windows.
6193
6194 * w32term.c (w32_make_rdb): New function.
6195 (w32_term_init): Use it to initialize xrdb member of w32_display_info
6196 struct. Delete leftover code.
6197
6198 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
6199 for resources passed on the command line.
6200
6201 * w32reg.c (w32_get_rdb_resource): New function.
6202 (x_get_string_resource): Use it, so resources passed with -xrm
6203 supercede the ones in the registry.
6204
6205 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6206
6207 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
6208 instead of x_top_window_to_frame.
6209
6210 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6211
6212 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
6213 when restarting Emacs.
6214
6215 2003-03-03 Richard M. Stallman <rms@gnu.org>
6216
6217 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
6218 to run kill-buffer-query-functions.
6219 (Qkill_buffer_query_functions): New var.
6220 (syms_of_buffer): Init and staticpro it.
6221
6222 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6223
6224 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
6225
6226 2003-02-25 Kim F. Storm <storm@cua.dk>
6227
6228 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
6229 If centering point failed to make whole line visible and vscroll
6230 is non-zero, disable vscroll and try centering point again.
6231
6232 * lread.c (read1): Accept `single space' syntax like (? x).
6233
6234 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6235
6236 * keyboard.c (cancel_hourglass_unwind): Surround with
6237 #ifdef HAVE_X_WINDOWS
6238
6239 2003-02-25 Kenichi Handa <handa@m17n.org>
6240
6241 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
6242 process only when "subprocesses" is defined.
6243
6244 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
6245
6246 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
6247
6248 2003-02-24 Juanma Barranquero <lektu@terra.es>
6249
6250 * callint.c (fix_command): Declare as static void and move before
6251 Fcall_interactively.
6252
6253 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
6254 (syms_of_xdisp): Don't initialize Qwhen.
6255
6256 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6257
6258 * keyboard.c (cancel_hourglass_unwind): New function.
6259 (command_loop_1): Cancel hourglass with unwind-protect.
6260
6261 2003-02-23 Richard M. Stallman <rms@gnu.org>
6262
6263 * callint.c (fix_command): New subroutine, from Fcall_interactively.
6264 Detect (when ... (region-beginning)) etc.
6265 (Fcall_interactively): Call fix_command.
6266 (Qif, Qwhen): New variables.
6267 (syms_of_callint): Init and staticpro them.
6268
6269 * regex.c (print_partial_compiled_pattern): Output to stderr.
6270
6271 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
6272
6273 * dired.c (directory_files_internal): Don't expand directory.
6274 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
6275 instead. From Lars Hansen <larsh@math.ku.dk>.
6276
6277 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
6278
6279 * fns.c (string_to_multibyte): Remove unused var i.
6280 (Flanginfo): Fix int/Lisp_Object mixup.
6281 (void_call2): New fun.
6282 (Fmap_char_table): Use it in place of call2.
6283
6284 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
6285
6286 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
6287
6288 * keymap.c (copy_keymap_1): Make it static.
6289
6290 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
6291
6292 2003-02-22 David Ponce <david@dponce.com>
6293
6294 * lread.c (Fload): Don't check STRING_MULTIBYTE.
6295
6296 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6297
6298 * process.h: Removed subtty field from struct Lisp_Process.
6299
6300 * process.c (create_process): Remove setting of subtty.
6301 (emacs_get_tty_pgrp): New function.
6302 (Fprocess_running_child_p, process_send_signal):
6303 Call emacs_get_tty_pgrp instead of ioctl.
6304 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
6305
6306 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
6307
6308 * keymap.c (Fdefine_key): Doc fix.
6309
6310 2003-02-21 Juanma Barranquero <lektu@terra.es>
6311
6312 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
6313
6314 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
6315 POLLING_PROBLEM_IN_SELECT.
6316
6317 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
6318 Delete #undef of POLLING_PROBLEM_IN_SELECT.
6319
6320 * s/hpux10-20.h: New file.
6321
6322 * process.c (wait_reading_process_input):
6323 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
6324
6325 2003-02-20 Kenichi Handa <handa@m17n.org>
6326
6327 * fontset.c (check_fontset_name): If NAME is nil, return the
6328 default fontset.
6329 (override_font_info): New function.
6330 (Fset_fontset_font): Document that NAME nil means the default fontset.
6331 (Ffontset_info): If FONTSET is not the default fontset, merge
6332 FONTSET onto the copy of the default fontset, and work on that
6333 copy. Document that NAME nil means the default fontset.
6334 (Ffontset_font): Document that NAME nil means the default fontset.
6335
6336 * process.c (setup_process_coding_systems): If the process's
6337 in/out descriptor is -1, do nothing.
6338
6339 2003-02-19 Andreas Schwab <schwab@suse.de>
6340
6341 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
6342 Add prototypes.
6343
6344 2003-02-19 Kenichi Handa <handa@m17n.org>
6345
6346 * xfaces.c (try_alternative_families): Try all scalable fonts if
6347 Vscalable_fonts_allowed is not Qt.
6348
6349 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6350
6351 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
6352
6353 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6354
6355 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
6356 names.
6357
6358 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
6359 (sorted_font_list): Move allocation of struct font_name to
6360 x_face_list_fonts.
6361 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
6362 (Fx_list_fonts): Set maxnames to -1 to get all font names.
6363
6364 2003-02-18 Kim F. Storm <storm@cua.dk>
6365
6366 * lread.c (read1): Fix last change.
6367 "`" is not always special. Allow "?" after a character constant.
6368
6369 2003-02-18 Andrew Choi <akochoi@shaw.ca>
6370
6371 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
6372
6373 2003-02-18 Andreas Schwab <schwab@suse.de>
6374
6375 * window.c (window_scroll_pixel_based): Move outside a
6376 multi-glyph character before setting new window start.
6377
6378 * xdisp.c (in_display_vector_p): New function.
6379 * dispextern.h (in_display_vector_p): Declare.
6380
6381 2003-02-18 Kim F. Storm <storm@cua.dk>
6382
6383 * lread.c (read1): Fix and relax read syntax.
6384 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
6385 Only recognize "," after dotted-pair dot if inside backquote.
6386 Never include "`" or "," (inside backquote) in a symbol.
6387 Allow dotted-pair dot after a character constant.
6388 Allow "`" and "," (inside backquote) after a character constant.
6389
6390 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6391
6392 * gtkutil.c (xg_tool_bar_expose_callback): New function.
6393 (xg_create_tool_bar): Force style of tool bar to be horizontal with
6394 icons. Set name of tool bar to emacs-toolbar.
6395 (update_frame_tool_bar): Connect expose event to
6396 xg_tool_bar_expose_callback.
6397
6398 2003-02-17 Richard M. Stallman <rms@gnu.org>
6399
6400 * keyboard.c (this_command_key_count_reset): New variable.
6401 Initiatize to 0 where this_command_key_count is set.
6402 (read_char): Save and restore this_command_key_count_reset
6403 around input method code.
6404 (read_char): If this_command_key_count_reset, echo reread commands.
6405 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
6406
6407 2003-02-17 Kenichi Handa <handa@m17n.org>
6408
6409 * fns.c (string_to_multibyte): Always return a multibyte string.
6410
6411 2003-02-16 Jason Rumney <jasonr@gnu.org>
6412
6413 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
6414 Negative max_fonts parameter means list all.
6415
6416 2003-02-14 Dave Love <fx@gnu.org>
6417
6418 * fns.c (Flanginfo): Doc fix.
6419
6420 2003-02-13 Kim F. Storm <storm@cua.dk>
6421
6422 * lread.c (read_escape): Interpret \s as a SPACE character, except
6423 for \s-X in a character constant which still is the super modifier.
6424 (read1): Signal an `invalid read syntax' error if a character
6425 constant is immediately followed by a digit or symbol character.
6426
6427 * search.c (Fmatch_data): Doc fix. Explicitly state that
6428 match-data is undefined if last search failed.
6429
6430 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
6431 All uses changed.
6432
6433 2003-02-12 Juanma Barranquero <lektu@terra.es>
6434
6435 * eval.c (Fdefmacro): Fix typo.
6436
6437 2003-02-12 Kim F. Storm <storm@cua.dk>
6438
6439 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
6440 macro is a string, convert meta modifiers in string when copying
6441 the string into a vector.
6442
6443 2003-02-11 Kim F. Storm <storm@cua.dk>
6444
6445 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
6446
6447 2003-02-11 Kenichi Handa <handa@m17n.org>
6448
6449 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
6450
6451 2003-02-10 Kim F. Storm <storm@cua.dk>
6452
6453 * process.c: Doc fixes.
6454 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
6455
6456 2003-02-10 Kenichi Handa <handa@m17n.org>
6457
6458 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
6459
6460 * process.c (QCfilter_multibyte): New variable.
6461 (setup_process_coding_systems): New function.
6462 (Fset_process_buffer, Fset_process_filter):
6463 Call setup_process_coding_systems.
6464 (Fstart_process): Initialize the member `filter_multibyte' of
6465 struct Lisp_Process.
6466 (create_process): Call setup_process_coding_systems.
6467 (Fmake_network_process): New keyward `:filter-multibyte'.
6468 Initialize the member `filter_multibyte' of struct Lisp_Process.
6469 Call setup_process_coding_systems.
6470 (server_accept_connection): Call setup_process_coding_systems.
6471 (read_process_output): If the process has a filter, decide the
6472 multibyteness of a string to given to the filter by
6473 `filter_multibyte' member of the process. If the process doesn't
6474 have a filter and the result of conversion is unibyte, use
6475 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
6476 multibyte form.
6477 (Fset_process_coding_system): Call setup_process_coding_systems.
6478 (Fset_process_filter_multibyte): New function.
6479 (Fprocess_filter_multibyte_p): New function.
6480 (syms_of_process): Intern and staticpro QCfilter_multibyte.
6481 Defsubr Sset_process_filter_multibyte and
6482 Sprocess_filter_multibyte_p.
6483
6484 * process.h (struct Lisp_Process): New member filter_multibyte.
6485
6486 * lisp.h (setup_process_coding_systems): Add prototype.
6487
6488 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
6489 process, update coding systems for the process.
6490
6491 2003-02-09 Kenichi Handa <handa@m17n.org>
6492
6493 * fns.c (string_to_multibyte): New function.
6494 (Fstring_to_multibyte): New function.
6495 (syms_of_fns): Defsubr it.
6496
6497 2003-02-08 Andreas Schwab <schwab@suse.de>
6498
6499 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
6500 instead of the substitution.
6501
6502 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6503
6504 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
6505
6506 * xmenu.c (menu_position_func): Adjust menu popup position so that
6507 the menu is fully visible.
6508
6509 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6510
6511 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
6512 (x_make_frame_invisible, x_wm_set_icon_position):
6513 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
6514
6515 * xfns.c (x_set_name, x_set_title): Ditto.
6516
6517 2003-02-04 Richard M. Stallman <rms@gnu.org>
6518
6519 * keyboard.c (echo_now): Update before_command_echo_length.
6520 (Freset_this_command_lengths): Reset this_command_key_count etc.
6521 immediately rather than arranging to do it later.
6522 (before_command_key_count_1, before_command_echo_length_1)
6523 (before_command_restore_flag): Vars deleted.
6524 (add_command_key): Don't handle before_command_restore_flag.
6525 (read_char, record_menu_key): Don't update before_command_key_count or
6526 before_command_echo_length.
6527 (read_char): Don't handle before_command_restore_flag.
6528
6529 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
6530 in direct-output clauses if it wouldn't be called in the ordinary case.
6531
6532 2003-02-04 Kim F. Storm <storm@cua.dk>
6533
6534 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
6535
6536 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6537
6538 * gtkutil.c (remove_from_container): Copying list is not needed.
6539 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
6540 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
6541 on list returned from gtk_container_get_children to avoid memory leak.
6542
6543 2003-02-01 Jason Rumney <jasonr@gnu.org>
6544
6545 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
6546 local malloc.
6547 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
6548 definitions in xpm.h.
6549 (init_xpm_functions): New function.
6550 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
6551 (init_external_image_libraries): Try to load libXpm.dll.
6552
6553 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
6554 timestamp.
6555
6556 2003-01-31 Dave Love <fx@gnu.org>
6557
6558 * syntax.c (Fskip_chars_forward)
6559 (open-paren-in-column-0-is-defun-start): Doc fix.
6560
6561 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
6562
6563 * fileio.c: Support // at start of name for Cygwin (just added proper
6564 preprocessor tests).
6565
6566 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
6567
6568 * Makefile.in: Use @EXEEXT@ for Cygwin.
6569
6570 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
6571
6572 * s/cygwin.h: Added for Cygwin port.
6573
6574 2003-01-31 Juanma Barranquero <lektu@terra.es>
6575
6576 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
6577 when including gif_lib.h.
6578 (init_gif_functions, init_tiff_functions): New functions.
6579 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
6580 Windows. Disable color table lookups. Call library functions
6581 through pointers determined at runtime.
6582 (init_external_image_libraries): Try to load libungif.dll and
6583 libtiff.dll.
6584
6585 2003-01-31 Kenichi Handa <handa@m17n.org>
6586
6587 * xdisp.c (SKIP_GLYPHS): New macro.
6588 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
6589
6590 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6591
6592 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
6593
6594 2003-01-30 Dave Love <fx@gnu.org>
6595
6596 * alloc.c (Vgc_elapsed, gcs_done): New variables.
6597 (Fgarbage_collect): Use them.
6598 (init_alloc, syms_of_alloc): Set them up.
6599
6600 2003-01-30 Juanma Barranquero <lektu@terra.es>
6601
6602 * w32fns.c (init_external_image_libraries): Add missing operator.
6603
6604 2003-01-29 Jason Rumney <jasonr@gnu.org>
6605
6606 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
6607 an alternative name for jpeg.dll.
6608
6609 2003-01-29 Kenichi Handa <handa@m17n.org>
6610
6611 * xdisp.c (set_cursor_from_row): Pay attention to string display
6612 properties.
6613
6614 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
6615
6616 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
6617 <escape>.
6618 (keycode_to_xkeysym_table): Reformat and add more comments.
6619 (XTread_socket): Drop special case for backspace.
6620
6621 2003-01-28 Andrew Choi <akochoi@shaw.ca>
6622
6623 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
6624 values in old-style RGB specs.
6625
6626 2003-01-27 Juanma Barranquero <lektu@terra.es>
6627
6628 * w32fns.c (init_external_image_libraries): Try alternate names for the
6629 jpeg dll.
6630
6631 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6632
6633 * gtkutil.c (create_dialog, xg_separator_p)
6634 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
6635 before calling strcmp or strlen.
6636
6637 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6638
6639 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
6640 and handle image load failure.
6641
6642 2003-01-26 Jason Rumney <jasonr@gnu.org>
6643
6644 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
6645 New functions.
6646 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
6647 Disable color table lookups. Call jpeg library functions
6648 through pointers determined at runtime.
6649 (init_external_image_libraries): Try to load jpeg.dll.
6650
6651 2003-01-25 Richard M. Stallman <rms@gnu.org>
6652
6653 * lisp.h: Declare format2 instead of format1.
6654
6655 * fileio.c (barf_or_query_if_file_exists):
6656 Call format2 instead of format1.
6657
6658 * editfns.c (format2): New function, replaces format1
6659 but takes exactly two Lisp Objects as format args.
6660
6661 * buffer.c (Fkill_buffer): Call format2 instead of format1.
6662
6663 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6664
6665 * xterm.h: Change to return value of x_dispatch_event to int.
6666
6667 * xterm.c (x_filter_event): New function.
6668 (event_handler_gdk, XTread_socket): Call x_filter_event.
6669 (x_dispatch_event): Change to return value of finish.
6670 (event_handler_gdk): Use return value from x_dispatch_event.
6671
6672 * xfns.c (x_window): Call create_frame_xic for GTK version to
6673 initialize input methods.
6674
6675 * gtkutil.h: Add (void) prototypes.
6676
6677 * gtkutil.c (create_menus): Remove code that puts the help menu to
6678 the right.
6679
6680 2003-01-25 Jason Rumney <jasonr@gnu.org>
6681
6682 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
6683 [HAVE_PNG]: Sync with xfns.c version.
6684 (png_load): Adjust colors for Windows. Use Windows
6685 bitmaps. Disable color table lookups.
6686 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
6687 (init_png_functions): New function.
6688 (png_read_from_memory, png_load): Call png library functions
6689 through pointers determined at runtime.
6690 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
6691 (init_external_image_libraries): New function.
6692 (init_xfns): Call it.
6693
6694 2003-01-24 Andreas Schwab <schwab@suse.de>
6695
6696 * minibuf.c (Fminibuffer_message): Verify type of parameter.
6697
6698 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6699
6700 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
6701 of static initializer.
6702
6703 2003-01-24 Dave Love <fx@gnu.org>
6704
6705 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
6706 architectures.
6707
6708 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
6709 Use __alignof__.
6710
6711 2003-01-24 Kenichi Handa <handa@m17n.org>
6712
6713 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
6714 It it is nonzero, don't pretend that an invisible area doesn't exist.
6715 (command_loop_1): Call adjust_point_for_property with proper
6716 second arg.
6717
6718 2003-01-22 Jason Rumney <jasonr@gnu.org>
6719
6720 Sync changes with xterm.c and xfns.c.
6721
6722 * w32term.c (x_draw_glyph_string_foreground)
6723 (x_draw_composite_glyph_string_foreground): Implement overstriking.
6724
6725 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
6726 phys_cursor's hpos is overwritten. This is still not completely
6727 correct, as it doesn't really make sense to use hpos at all to
6728 get the cursor glyph (as that is relative to the width of the
6729 characters on the line, which may have changed during the update).
6730
6731 * w32term.c (notice_overwritten_cursor): Handle the special case
6732 of the cursor being in the first blank non-text line at the
6733 end of a window.
6734
6735 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
6736 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
6737 Compute from the x position returned by x_draw_glyphs.
6738
6739 (x_display_and_set_cursor): Don't set phys_cursor_width here,
6740 except for NO_CURSOR and system caret, to make phys_cursor_width
6741 contain what its name suggests.
6742 (notice_overwritten_cursor): Consider the cursor image erased if
6743 the output area intersects the cursor image in y-direction.
6744
6745 * w32term.c (note_mode_line_or_margin_highlight): Rename from
6746 note_mode_line_highlight and extend.
6747
6748 * w32term.c (last_window): New variable.
6749 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
6750 (note_mouse_movement): Remove reimplemented code in #if 0.
6751
6752 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
6753 not update_mode_lines, and always set it to 1.
6754
6755 2003-01-21 Jason Rumney <jasonr@gnu.org>
6756
6757 * w32fns.c (IDC_HAND): Define it if system headers don't.
6758
6759 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
6760
6761 * w32term.h (struct w32_output): New member hand_cursor.
6762 (WM_EMACS_SETCURSOR): New message definition.
6763
6764 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
6765 function w32_define_cursor.
6766 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
6767 position, change member name output_data.x to output_data.w32 and
6768 add function w32_define_cursor.
6769 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
6770 and change member name output_data.x to output_data.w32.
6771 (w32_initialize_display_info):
6772 Setup dpyinfo->vertical_scroll_bar_cursor.
6773
6774 * w32fns.c (Vx_hand_shape): New variable.
6775 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
6776 WM_EMACS_SETCURSOR.
6777 (x-create-frame): Setup Cursor types.
6778
6779 2003-01-21 David Ponce <david@dponce.com>
6780
6781 * w32term.c (w32_encode_char): For DIM=1 charset, set
6782 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
6783 x_encode_char change by Kenichi Handa <handa@m17n.org> on
6784 2002-09-30.)
6785 (w32_draw_relief_rect): Declare all args.
6786 (w32_define_cursor): New.
6787
6788 * w32fns.c (w32_load_cursor): New function.
6789 (w32_init_class): Use it.
6790 (x_put_x_image): Declare all args.
6791
6792 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
6793
6794 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
6795
6796 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6797
6798 * gtkutil.c: Must include stdio.h before termhooks.h
6799
6800 2003-01-21 Dave Love <fx@gnu.org>
6801
6802 * alloc.c (Fgc_status): Print zombie list.
6803 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
6804 Fix assignment of zombies.
6805 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
6806 Don't take car of non-cons.
6807
6808 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6809
6810 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6811
6812 2003-01-20 David Ponce <david@dponce.com>
6813
6814 * w32menu.c (digest_single_submenu): Declare all args.
6815
6816 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
6817 changes in xmenu.c:
6818
6819 (parse_single_submenu): Use individual keymap's prompt
6820 string as pane name, if there is one.
6821 (set_frame_menubar): Save menu_items_n_panes from each call to
6822 parse_single_submenu and use it when calling digest_single_submenu.
6823
6824 2003-01-20 Steven Tamm <steventamm@mac.com>
6825
6826 * macterm.c (XTread_socket): Checks for valid, visible window
6827 before sending a scroll-wheel event.
6828
6829 2003-01-20 Richard M. Stallman <rms@gnu.org>
6830
6831 * xdisp.c (redisplay_window): If mini window's buffer is not
6832 a minibuffer, then redisplay it like other windows.
6833
6834 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6835
6836 * gtkutil.c (xg_create_frame_widgets): Check if there is an
6837 external tool bar before setting tool bar height.
6838
6839 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6840
6841 * xterm.c (handle_one_xevent): Surround popup_activated
6842 with #ifdef:s for non-toolkit version.
6843
6844 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
6845 (gtkutil.o): New file.
6846 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
6847 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
6848
6849 * gtkutil.c: New file for GTK version.
6850
6851 * gtkutil.h: New file for GTK version.
6852
6853 * xterm.h: Add xt_or_gtk_widget.
6854 Include gtk files for USE_GTK.
6855 (struct x_output): Add toolbar_height.
6856 (struct x_output): Add GTK widgets and Gdk size_hints.
6857 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
6858 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
6859 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
6860
6861 * xterm.c: Include gtkutil.h for USE_GTK.
6862 Declare extern void free_frame_menubar for USE_GTK.
6863 (note_mouse_highlight): Check popup_activated for USE_GTK.
6864 (xt_action_hook): Don't compile if USE_GTK.
6865 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
6866 (xg_scroll_callback): New function.
6867 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
6868 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
6869 for USE_GTK.
6870 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
6871 xg_show_scroll_bar for USE_GTK.
6872 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
6873 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
6874 (event_handler_gdk): New function for USE_GTK.
6875 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
6876 (handle_one_xevent): Make sure widget is mapped before
6877 calling x_real_positions for USE_GTK.
6878 (XTread_socket): Add GTK event loop for USE_GTK.
6879 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
6880 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
6881 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
6882 (x_iconify_frame): Add code for USE_GTK.
6883 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
6884 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
6885 is in gtkutil.c.
6886 (x_term_init): Add initialization for GTK.
6887 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
6888
6889 * xmenu.c: Include gtkutil.h for USE_GTK.
6890 (Fx_popup_menu): Use current position if x and y is NIL.
6891 (single_menu_item, single_menu_item, Fx_popup_dialog):
6892 Check for USE_GTK.
6893 (popup_widget_loop): New function for USE_GTK.
6894 (x_activate_menubar): Add code for USE_GTK.
6895 (popup_activate_callback, popup_deactivate_callback)
6896 (menu_highlight_callback, menubar_selection_callback):
6897 Add USE_GTK versions.
6898 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
6899 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
6900 (free_frame_menubar): Only compile if not USE_GTK. GTK version
6901 is in gtkutil.c.
6902 (popup_selection_callback): New version for USE_GTK.
6903 (create_and_show_popup_menu): New fuction, one USE_GTK version and
6904 one USE_X_TOOLKIT version.
6905 (xmenu_show): Call create_and_show_popup_menu.
6906 (dialog_selection_callback): New version for USE_GTK.
6907 (create_and_show_dialog): New fuction, one USE_GTK version and
6908 one USE_X_TOOLKIT version.
6909 (xdialog_show): Call create_and_show_dialog.
6910
6911 * xfns.c: Include gtkutil for USE_GTK.
6912 (x_window_to_frame, x_any_window_to_frame)
6913 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
6914 (x_top_window_to_frame): Add code for USE_GTK.
6915 (x_set_background_color): Call xg_set_background_color for GTK.
6916 (x_set_menu_bar_lines): Check for USE_GTK.
6917 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
6918 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
6919 (x_window): Call xg_create_frame_widgets for USE_GTK.
6920 (Fx_create_frame): Check for USE_GTK
6921 (Fx_file_dialog): New implementation for USE_GTK.
6922
6923 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
6924 (update_menu_bar): Add check for USE_GTK.
6925 (update_tool_bar): Add check for USE_GTK and external tool bar.
6926 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
6927 (redisplay_internal): Add check for USE_GTK and popup_activated.
6928 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
6929 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
6930 (display_menu_bar): Add check for USE_GTK
6931
6932 * lisp.h: Declare Vx_resource_name extern.
6933
6934 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
6935 for USE_GTK.
6936 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
6937
6938 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
6939 (FRAME_EXTERNAL_TOOL_BAR): New macro.
6940 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
6941
6942 * fileio.c (Fread_file_name): Add check for USE_GTK.
6943
6944 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
6945 Add check for USE_GTK.
6946
6947 * config.in: Added HAVE_GTK
6948
6949 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
6950
6951 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
6952
6953 * charset.h (Funibyte_char_to_multibyte): Export.
6954
6955 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6956
6957 * xmenu.c (mouse_position_for_popup): New function.
6958 (Fx_popup_menu): Call mouse_position_for_popup for X and
6959 mouse_position_hook for others.
6960
6961 2003-01-17 Kim F. Storm <storm@cua.dk>
6962
6963 * editfns.c (Finsert): Mention `string-make-multibyte' and
6964 `string-as-multibyte' in doc string.
6965
6966 2003-01-17 Kenichi Handa <handa@m17n.org>
6967
6968 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
6969
6970 * editfns.c (Fformat): Convert an unibyte char argument that is
6971 formatted by "%c" to multibyte if the total result must be a
6972 multibyte string.
6973
6974 2003-01-16 Kim F. Storm <storm@cua.dk>
6975
6976 * process.c (set-process-filter): Document unibyte/multibyte-ness
6977 of string argument.
6978
6979 2003-01-16 Kenichi Handa <handa@m17n.org>
6980
6981 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
6982
6983 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
6984 (re_search_2): Likewise.
6985
6986 2003-01-15 Kenichi Handa <handa@m17n.org>
6987
6988 * xdisp.c (message_dolog): Fix bug of the case that *Message*
6989 buffer is unibyte.
6990
6991 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
6992
6993 * fns.c (Fsubstring): Clarify doc string.
6994
6995 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
6996 (Fprevious_char_property_change)
6997 (Fnext_single_char_property_change)
6998 (Fprevious_single_char_property_change, Fnext_property_change)
6999 (Fnext_single_property_change, Fprevious_property_change)
7000 (Fprevious_single_property_change, Fadd_text_properties)
7001 (Fput_text_property, Fset_text_properties)
7002 (Fremove_text_properties, Fremove_list_of_text_properties)
7003 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
7004
7005 2003-01-14 Kim F. Storm <storm@cua.dk>
7006
7007 * process.h (struct Lisp_Process): New member plist replaces old
7008 member private_vars. All uses changed.
7009
7010 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
7011 (QCplist): Rename from QCvars. Change all uses.
7012 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
7013 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
7014 (syms_of_process): Intern, staticpro, defsubr these.
7015 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
7016
7017 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
7018
7019 * m/delta.h: Remove (obsolete).
7020
7021 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
7022
7023 * fileio.c (Fdelete_directory, Fdelete_file): Document the
7024 behaviour in front of symlinks.
7025 (Fdelete_file): Raise an error on directories.
7026
7027 2003-01-13 Dave Love <fx@gnu.org>
7028
7029 * fns.c (Freverse): Use QUIT.
7030
7031 2003-01-13 Richard M. Stallman <rms@gnu.org>
7032
7033 * minibuf.c (minibuffer_completion_contents):
7034 Error if point is inside prompt.
7035
7036 * keyboard.c (command_loop_1): Don't redisplay directly
7037 if there's a post-command-hook.
7038
7039 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
7040 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
7041
7042 2003-01-12 Kim F. Storm <storm@cua.dk>
7043
7044 * process.h (struct Lisp_Process): New member private_vars.
7045
7046 * process.c (QCvars): New variable.
7047 (syms_of_process): Intern and staticpro it.
7048 (Fset_process_contact): Removed function.
7049 (Fprocess_variable, Fset_process_variable): New functions.
7050 (syms_of_process): Defsubr them.
7051 (Fstart_process): Initialize private_vars plist to nil.
7052 (Fmake_network_process): New arg :vars to setup the private
7053 variables for new network process.
7054 (server_accept_connection): Copy server's private variables to
7055 client process.
7056
7057 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
7058 crashes). Code rewritten and simplified. Now directly aligns the
7059 pointer and recalculates pure_bytes_used, rather than aligning the
7060 size and adjusting the pointer.
7061
7062 2003-01-11 Kim F. Storm <storm@cua.dk>
7063
7064 * process.c (Fset_process_contact): New function.
7065 (syms_of_process): defsubr it.
7066 (make-network-process): Update doc.
7067
7068 2003-01-10 Andreas Schwab <schwab@suse.de>
7069
7070 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
7071 Reported by Berthold Gunreben <b.gunreben@web.de>.
7072
7073 2003-01-10 Dave Love <fx@gnu.org>
7074
7075 * composite.c (syms_of_composite): Make composition_hash_table weak.
7076
7077 2003-01-09 Kim F. Storm <storm@cua.dk>
7078
7079 * process.c (Fmake_network_process): Convert new port number
7080 to host byte order for `:service t' case. From Mario Lang.
7081
7082 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7083
7084 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
7085 instead of XtAppProcessEvent.
7086
7087 * xterm.c (handle_one_xevent): New function.
7088 (x_dispatch_event): New function.
7089 (XTread_socket): Call handle_one_xevent.
7090
7091 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
7092
7093 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
7094 call XQueryPointer to get coordinates.
7095 (popup_get_selection): Do not set popup_activated_flag to zero,
7096 let popup_deactivate_callback do that. Needed for Motif.
7097 Call x_dispatch_event instead of XtDispatchEvent.
7098 (xmenu_show): Calculate root coordinate from frame top/left position.
7099
7100 2003-01-08 Kim F. Storm <storm@cua.dk>
7101
7102 * process.c (server_accept_connection): Fix recording of new
7103 connection's local address in :local property of contact info.
7104 (Fmake_network_process): Record local network address for new
7105 client processes in :local property of contact info.
7106 (format-network-address): Add arg OMIT-PORT. Change callers.
7107
7108 2003-01-07 Dave Love <fx@gnu.org>
7109
7110 * Makefile.in (fns.o): Depend on coding.h.
7111
7112 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
7113
7114 * minibuf.c (Fread_variable): Doc fix.
7115
7116 * eval.c (Fuser_variable_p): Doc change. For custom variables,
7117 use the same test as for custom-variable-p.
7118
7119 2003-01-05 Richard M. Stallman <rms@gnu.org>
7120
7121 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
7122 Count LAST_LINE_MISFIT in scroll margin for end of window.
7123 Move label too_near_end before setting SCROLL_MARGIN_POS.
7124 Set LAST_LINE_MISFIT before jumping there.
7125
7126 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
7127 scroll_conservatively case. If scrolling that much doesn't change
7128 STARTP, move it down one line.
7129
7130 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
7131 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
7132
7133 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
7134 selected frame.
7135
7136 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
7137 (syms_of_keymap): staticpro them.
7138 (Fapropos_internal): Initialize them and clear them out.
7139 Don't GCPRO them.
7140
7141 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
7142 Doc fixes.
7143
7144 * lisp.h: New misc type Lisp_Save_Value.
7145 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
7146 (XSAVE_VALUE): New macro.
7147 (struct Lisp_Save_Value): New data type.
7148 (union Lisp_Misc): Add u_save_value alternative.
7149 (make_save_value): Declared.
7150
7151 * alloc.c (make_save_value): New function.
7152
7153 * xterm.c (x_catch_errors): Save dpy using make_save_value.
7154 (x_catch_errors_unwind): Call XSync.
7155
7156 2003-01-01 Richard M. Stallman <rms@gnu.org>
7157
7158 * window.c (window_scroll_pixel_based): Partially undo last change.
7159
7160 * keyboard.c (command_loop_1): Call adjust_point_for_property
7161 in direct action cases for Qforward_char and Qbackward_char.
7162 Set already_adjusted so it won't be done twice.
7163
7164 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
7165
7166 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
7167 type definition of size_t.
7168
7169 2003-01-02 Steven Tamm <steventamm@mac.com>
7170
7171 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
7172 distinguish Carbon GUI builds from X11 builds on darwin.
7173
7174 2002-12-30 Steven Tamm <steventamm@mac.com>
7175
7176 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
7177 to default to t.
7178
7179 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
7180
7181 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
7182
7183 2002-12-28 Steven Tamm <steventamm@mac.com>
7184
7185 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
7186 allow building in a different directory than source. Uses some
7187 GNU Make extensions, but there is no other make on Mac OS X.
7188
7189 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
7190
7191 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
7192 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
7193 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
7194 (Fstring_to_number): Mention the returned value in the doc strings.
7195
7196 2002-12-23 Richard M. Stallman <rms@gnu.org>
7197
7198 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
7199 <scroll-down-aggressively>: Doc fix.
7200
7201 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
7202 string as pane name, if there is one.
7203 (set_frame_menubar): Save menu_items_n_panes from each call to
7204 parse_single_submenu and use it when calling digest_single_submenu.
7205
7206 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
7207 Don't try to make last line fully visible if it is past end of window.
7208
7209 2002-12-22 Steven Tamm <steventamm@mac.com>
7210
7211 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
7212 (mac_menu_show): Add support for hierarchical popup menus.
7213 (add_menu_item): Remove indentation support.
7214 (fill_submenu, fill_menu): Create hierarchical menus
7215 instead of using indentation.
7216
7217 2002-12-22 Richard M. Stallman <rms@gnu.org>
7218
7219 * xdisp.c (try_cursor_movement): Don't call try_window here.
7220 (redisplay_window): Never redisplay minibuffer when inactive.
7221
7222 * window.c (select_window_1): Undo 9/21 change.
7223
7224 2002-12-22 Steven Tamm <steventamm@mac.com>
7225
7226 * macterm.c (XTread_socket): Call KeyTranslate for control and
7227 meta to deal correctly shifted non-alpha characters, like C-S-5
7228 being treated like C-%. Does not look for shift key to deal
7229 with masking off control-key with mac-reverse-ctrl-meta.
7230
7231 2002-12-21 Richard M. Stallman <rms@gnu.org>
7232
7233 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
7234 If it is non-nil, run timers. Use an unwind-protect to requeue
7235 the events that were read ahead.
7236 (popup_get_selection_unwind): New subroutine.
7237 (popup_get_selection_queue): File-scope variable now holds that queue.
7238 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
7239 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
7240 Use an unwind-protect to pop down the dialog box.
7241 (xdialog_show_unwind): New subroutine implements that.
7242
7243 * xdisp.c (row_containing_pos): Change exit test using last_y.
7244 (try_window_id): Abort if row_containing_pos returns null.
7245
7246 * lread.c (load_error_handler): New function.
7247 (Fload): Handle errors in Fsubstitute_in_file_name.
7248 Don't expect Fsignal to return.
7249
7250 * eval.c: Errors and throws work right with interrupt blocking.
7251 (struct catchtag): New elt interrupt_input_blocked.
7252 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
7253 (internal_catch, Fcondition_case, internal_condition_case)
7254 (internal_condition_case_1, internal_condition_case_2): Save it.
7255 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
7256
7257 * editfns.c (Fformat): Add parens.
7258
7259 * dired.c (file_name_completion): Fix that change.
7260 Delete special quit-handling code; just use QUIT.
7261
7262 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change)
7263
7264 * dired.c (file_name_completion): Close directory on error
7265 just as in directory_files_internal.
7266
7267 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
7268
7269 * window.c (Fset_window_configuration): Set old_point to correct
7270 value when new_current_buffer == current_buffer.
7271
7272 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
7273
7274 Revisited my earlier fix for the following entry in etc/PROBLEMS:
7275 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
7276 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
7277
7278 These changes were in part based upon suggestions made by Peter
7279 'Luna' Runestig [peter@runestig.com].
7280
7281 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
7282 g_b_init_get_token_information, g_b_init_lookup_account_sid,
7283 g_b_init_get_sid_identifier_authority ): Add several static
7284 global variables.
7285
7286 * w32.c (globals_of_w32): New function. Used to initialize those
7287 global variables that must always be initialized on startup even
7288 when the global variable initialized is non zero. Its primary
7289 purpose at this time is to set the global variables
7290 g_b_init_is_windows_9x, g_b_init_open_process_token,
7291 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
7292 g_b_init_get_sid_identifier_authority to 0 on startup.
7293 Called from main.
7294
7295 * w32.c (is_windows_9x): Perform initialization only if
7296 g_b_init_is_windows_9x is equal to 0. On initialization set
7297 g_b_init_is_windows_9x equal to 1.
7298
7299 * w32.c (open_process_token): Perform initialization only if
7300 g_b_init_open_process_token is equal to 0. On initialization set
7301 g_b_init_open_process_token equal to 1.
7302
7303 * w32.c (get_token_information): Perform initialization only if
7304 g_b_init_get_token_information is equal to 0. On initialization
7305 set g_b_init_get_token_information equal to 1.
7306
7307 * w32.c (lookup_account_sid): Perform initialization only if
7308 g_b_init_lookup_account_sid is equal to 0. On initialization
7309 set g_b_init_lookup_account_sid equal to 1.
7310
7311 * w32.c (get_sid_identifier_authority): Perform initialization
7312 only if g_b_init_get_sid_identifier_authority is equal to 0.
7313 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
7314
7315 * w32fns.c (globals_of_w32fns): New function. Used to initialize
7316 those global variables that must always be initialized on startup
7317 even when the global variable initialized is non zero.
7318 Its primary purpose at this time is to initialize the global variable
7319 track_mouse_event_fn.
7320
7321 * w32fns.c (w32_wnd_proc): Remove initialization of
7322 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
7323
7324 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
7325
7326 * w32menu.c (globals_of_w32menu): New function. Used to
7327 initialize those global variables that must always be initialized
7328 on startup even when the global variable initialized is non zero.
7329 Its primary purpose at this time is to initialize the global
7330 variables get_menu_item_info and set_menu_item_info.
7331
7332 * w32menu.c (initialize_frame_menubar): Remove initialization of
7333 get_menu_item_info and set_menu_item_info.
7334
7335 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
7336
7337 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
7338 Declare them.
7339
7340 * emacs.c (main): Call globals_of_w32 prior to calling
7341 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
7342 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
7343 is defined.
7344
7345 * w32term.c (x_update_window_begin): Fix Windows API error
7346 detected by BoundsChecker. Test to determine if
7347 w32_system_caret_hwnd is NULL prior to attempting to use
7348 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
7349
7350 * w32term.c (x_update_window_end): Fix Windows API error
7351 detected by BoundsChecker. Test to determine if
7352 w32_system_caret_hwnd is NULL prior to attempting to use
7353 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
7354
7355 2002-12-17 Kenichi Handa <handa@m17n.org>
7356
7357 * coding.c (coding_system_require_warning): New variable.
7358 (syms_of_coding): DEFVAR it.
7359
7360 * coding.h (coding_system_require_warning): Extern it.
7361
7362 * fileio.c (choose_write_coding_system): Even if
7363 Vcoding_system_for_write is non-nil, if
7364 coding_system_require_warning is nonzero, call
7365 Vselect_safe_coding_system_function.
7366
7367 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
7368
7369 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
7370 (lisp): Add font-core.
7371
7372 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
7373
7374 * textprop.c (text_read_only): New arg `propval'.
7375 (get_char_property_and_overlay): Remove unused var `next_overlay'.
7376 (verify_interval_modification): Use text_read_only's new arg.
7377
7378 2002-12-13 Kenichi Handa <handa@m17n.org>
7379
7380 * coding.c (Funencodable_char_position): Set pend correctly.
7381
7382 2002-12-12 Jason Rumney <jasonr@gnu.org>
7383
7384 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
7385 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
7386 Be more careful about when help_events are generated.
7387
7388 2002-12-12 Steven Tamm <steventamm@mac.com>
7389
7390 * macterm.c (mac_check_for_quit_char): Correctly set the
7391 modifiers of the event to 0.
7392 * mac.c (sys_select): Duplicate rfds before calling select to
7393 ensure that rfds survive the while loop.
7394
7395 2002-12-11 Kim F. Storm <storm@cua.dk>
7396
7397 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
7398 row_containing_pos returned NULL.
7399
7400 2002-12-10 Steven Tamm <steventamm@mac.com>
7401
7402 * mac.c (sys_read): Fix sys_read to not call select if IO is
7403 non-blocking.
7404 (sys_select): Fix sys_select to not use a timeout larger than
7405 the one given.
7406
7407 2002-12-10 Juanma Barranquero <lektu@terra.es>
7408
7409 * editfns.c (Fformat): Use alloca, not _alloca.
7410
7411 2002-12-09 Richard M. Stallman <rms@gnu.org>
7412
7413 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
7414 as the last thing.
7415
7416 2002-12-09 Dave Love <fx@gnu.org>
7417
7418 * s/sol2-8.h: Removed. (Not necessary.)
7419
7420 2002-12-09 Matthew Swift <swift@alum.mit.edu>
7421
7422 * editfns.c (Fformat): Handle precision in string conversion
7423 specifiers like libc functions do (ie, print at most that many
7424 characters).
7425
7426 2002-12-08 Richard M. Stallman <rms@gnu.org>
7427
7428 * xdisp.c (row_containing_pos): Check more carefully
7429 whether charpos is really in the row before returning it.
7430
7431 2002-12-07 Steven Tamm <steventamm@mac.com>
7432
7433 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
7434
7435 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
7436 each stack frame. This may change as it could be time consuming.
7437
7438 * macterm.c (mac_check_for_quit_char, quit_char_comp)
7439 (init_quit_char_handler, mac_determine_quit_char_modifiers)
7440 (mac_initialize): Add code to check for pressing of quit_char
7441 in the OS event queue.
7442
7443 * mac.c (sys_select): Call mac_check_for_quit_char every second
7444 while blocking on select.
7445
7446 * mac.c (sys_read): Use sys_select to test for input first
7447 before calling read, to allow C-g to break.
7448
7449 2002-12-07 Richard M. Stallman <rms@gnu.org>
7450
7451 * minibuf.c (Fcompleting_read): Doc fix.
7452
7453 * lread.c (syms_of_lread) <load-history>: Doc fix.
7454
7455 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
7456
7457 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
7458 autoload.
7459
7460 * data.c (Fdefalias): Record in load-history redefining an autoload.
7461
7462 * alloca.c: Undo ifdef change accidentally made on 12-04.
7463
7464 2002-12-06 Francesco Potorti` <pot@gnu.org>
7465
7466 * xfns.c (png_load): Avoid double gamma correction for PNG images.
7467
7468 2002-12-04 Richard M. Stallman <rms@gnu.org>
7469
7470 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
7471
7472 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
7473
7474 * alloca.c: Don't use #error.
7475
7476 2002-12-03 Dave Love <fx@gnu.org>
7477
7478 * buffer.c (Qucs_set_table_for_input): New.
7479 (Fget_buffer_create): Use it.
7480 (Qset_buffer_major_mode_hook): Deleted.
7481 (Fset_buffer_major_mode): Revert previous change.
7482 (init_buffer_once): Intern ucs-set-table-for-input.
7483 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
7484 Add &Qucs_set_table_for_input.
7485
7486 2002-12-03 Andreas Schwab <schwab@suse.de>
7487
7488 * callint.c (Fcall_interactively): Use next_event only if less
7489 than key_count.
7490
7491 2002-12-02 Andrew Choi <akochoi@shaw.ca>
7492
7493 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
7494 names to 255 characters.
7495
7496 * macterm.c (XTread_socket): If all frames have been collapsed,
7497 expand the first one before handling drag-and-drop events.
7498
7499 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
7500 which is detected by autoconf.
7501
7502 2002-12-01 Steven Tamm <steventamm@mac.com>
7503
7504 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
7505 offset in two hints table to allow prebinding to be redone and
7506 allow the executable to be stripped.
7507
7508 2002-11-29 Dave Love <fx@gnu.org>
7509
7510 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
7511 already provided.
7512
7513 2002-11-29 Richard M. Stallman <rms@gnu.org>
7514
7515 * xdisp.c (start_display): Check more intelligently for
7516 whether the line is continued.
7517 (move_it_vertically_backward): Clear it->continuation_lines_width.
7518
7519 2002-11-28 Dave Love <fx@gnu.org>
7520
7521 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
7522 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
7523
7524 2002-11-27 Steven Tamm <steventamm@mac.com>
7525
7526 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
7527 more descriptive error output from lread.c:Fload upon most require
7528 cycles during boostrapping.
7529
7530 2002-11-27 Jason Rumney <jasonr@gnu.org>
7531
7532 * fileio.c (Finsert_file_contents): Give a more appropriate error
7533 for files bigger than 2Gb when off_t is 32 bit.
7534
7535 * dired.c (Ffile_attributes): Don't return negative file sizes for
7536 files bigger than 2Gb when off_t is 32 bit.
7537
7538 2002-11-27 Dave Love <fx@gnu.org>
7539
7540 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7541
7542 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
7543 Test GETPGRP_VOID instead.
7544 [BSD_TERMIOS]: Remove definitions (never used).
7545
7546 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
7547 Don't define.
7548 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7549
7550 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
7551
7552 2002-11-25 Jason Rumney <jasonr@gnu.org>
7553
7554 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
7555 supported.
7556
7557 2002-11-25 Dave Love <fx@gnu.org>
7558
7559 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
7560
7561 * Makefile.in (TEMACS_LDFLAGS): Update last change.
7562
7563 2002-11-25 Andreas Schwab <schwab@suse.de>
7564
7565 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
7566
7567 2002-11-24 Steven Tamm <steventamm@mac.com>
7568
7569 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
7570 determine the size of pointers alloced in unexed space instead
7571 of using possibly invalid emacs_zone pointers. This fixes the
7572 binary incompatibility problems caused by updates to libSystem.B.
7573
7574 2002-11-24 Richard M. Stallman <rms@gnu.org>
7575
7576 * search.c (Fstring_match): Doc fix.
7577
7578 * callint.c (Fcall_interactively): If a command fails because
7579 `*' detects a read-only buffer, but RECORD_FLAG is set,
7580 record it anyway if the args don't actually do tty input.
7581
7582 2002-11-22 Dave Love <fx@gnu.org>
7583
7584 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
7585
7586 * keyboard.c (interrupt_signal): Provide forward declaration.
7587 (kbd_buffer_store_event): Don't declare interrupt_signal.
7588
7589 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
7590
7591 2002-11-21 Richard M. Stallman <rms@gnu.org>
7592
7593 * eval.c (interactive_p): Skip any number of bytecode
7594 and special form frames, in any order.
7595
7596 2002-11-20 Jason Rumney <jasonr@gnu.org>
7597
7598 * w32fns.c (convert_mono_to_color_image): New function.
7599 (xbm_load, xbm_load_image): Use it when foreground or background
7600 is explicitly set.
7601
7602 2002-11-19 Dave Love <fx@gnu.org>
7603
7604 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
7605
7606 2002-11-18 Jason Rumney <jasonr@gnu.org>
7607
7608 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
7609 (XPutPixel): Swap blue and red.
7610 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
7611 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
7612 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
7613 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
7614
7615 2002-11-18 Dave Love <fx@gnu.org>
7616
7617 * m/orion105.h (HAVE_ALLOCA): Don't define.
7618
7619 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
7620
7621 * m/intel386.h: Don't include alloca.h or define alloca.
7622
7623 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
7624 malloc, realloc, calloc.
7625
7626 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
7627 (bcmp): Don't define.
7628
7629 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
7630
7631 * m/amdahl.h: Don't define LIB_STANDARD.
7632
7633 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
7634
7635 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
7636
7637 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
7638 Don't include alloca.h.
7639
7640 * s/aix3-2.h (HAVE_FSYNC): Don't define.
7641
7642 * regex.c (_GNU_SOURCE): Don't define.
7643
7644 * process.c (_GNU_SOURCE): Don't define.
7645
7646 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
7647
7648 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
7649
7650 * s/sol2-8.h: Include sol2-6.h.
7651
7652 2002-11-18 Miles Bader <miles@gnu.org>
7653
7654 * dispextern.h (struct face): Add `overstrike' field.
7655 * xterm.c (x_draw_glyph_string_foreground)
7656 (x_draw_composite_glyph_string_foreground): Implement overstriking.
7657 * xfaces.c (load_face_font): Set `face->overstrike' based on
7658 result from choose_face_font.
7659 (best_matching_font, choose_face_font): Add `needs_overstrike'
7660 argument, and use it to return whether overstriking is desirable
7661 for this face/font combo.
7662 (set_font_frame_param: Pass new argument to choose_face_font.
7663
7664 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
7665
7666 This change is my fix for the following entry in etc/PROBLEMS:
7667 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
7668 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
7669
7670 * w32.c: Added wrapper functions around the win32 API functions
7671 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
7672 GetSidIdentifierAuthority. These wrapper functions serve two
7673 purposes:
7674 1. They ensure that the wrapped function can never be called
7675 when Emacs is running on an operating system on which they are
7676 not supported (Microsoft Windows 95 / 98 / ME).
7677 2. They call the wrapped functions via function pointers rather
7678 than calling them directly. This avoids taking advantage of the
7679 undocumented fact that although these functions are not supported
7680 in the 9x branch of Microsoft Windows, the functions do exist in
7681 the version of advapi32.dll that is found in the 9x branch of
7682 Microsoft Windows.
7683
7684 * w32.c (init_user_info): Replace the calls to the win32 API
7685 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
7686 and GetSidIdentifierAuthority with calls to the newly added
7687 wrapper functions.
7688
7689 * w32.h: Added extern declarations for the following functions:
7690 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
7691 syms_of_w32menu, and void syms_of_fontset.
7692
7693 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
7694 function pointer track_mouse_event_fn in the handler for the
7695 WM_SETFOCUS message.
7696
7697 * w32menu.c (initialize_frame_menubar): Add code to
7698 reinitialize the function pointers set_menu_item_info and
7699 get_menu_item_info.
7700
7701 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
7702
7703 * sound.c: Added a partial implementation of play-sound-internal
7704 for Microsoft Windows. Added various #ifdef / #else / #endif
7705 code blocks to separate the code that will compile under
7706 Microsoft Windows from the code that is specific to Gnu/Linux.
7707 Moved several blocks of code around to make this separation of code
7708 into Windows compatible and Gnu/Linux compatible code blocks easier.
7709
7710 * makefile.w32-in: Include sound.c and link with WinMM.lib.
7711
7712 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
7713 added support for play-sound-internal under Windows would be
7714 included in the build of Emacs.
7715
7716 2002-11-16 Jason Rumney <jasonr@gnu.org>
7717
7718 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
7719
7720 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
7721
7722 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
7723
7724 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
7725 (adjust_point_for_property): Move out of display and invisible even if
7726 we were already inside before (in case a property was added while
7727 we weren't looking). Be more careful when handling invisible props.
7728 Skip invisible text as if it really wasn't there at all.
7729
7730 2002-11-15 Jason Rumney <jasonr@gnu.org>
7731
7732 * w32term.c (x_draw_image_foreground)
7733 (w32_draw_image_foreground_1): Use standard copy and invert
7734 operations to draw images.
7735
7736 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
7737 depth of 1.
7738 (xbm_read_bitmap_data): Invert bits as xbm is read in.
7739 (XPutPixel): Don't invert bits here.
7740
7741 2002-11-15 Jason Rumney <jasonr@gnu.org>
7742
7743 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
7744 (w32_draw_image_foreground_1): Handle image masks.
7745 (x_draw_image_glyph_string): Don't BitBlt transparently.
7746
7747 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
7748 (x_from_xcolors): Adjust RGB values for W32.
7749 (image_background, image_background_transparent)
7750 (postprocess_image, x_to_xcolors, x_disable_image)
7751 (x_build_heuristic_mask): Adapt for W32 and enable.
7752 (x_create_x_image_and_pixmap): Mark images with palettes as such.
7753 (xbm_load): Remove unused variable.
7754
7755 2002-11-14 Richard M. Stallman <rms@gnu.org>
7756
7757 * buffer.c (syms_of_buffer): Doc fix.
7758
7759 2002-11-14 Dave Love <fx@gnu.org>
7760
7761 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
7762
7763 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
7764 * xmenu.c (unuse_menu_items, digest_single_submenu):
7765 * xfns.c (x_put_x_image):
7766 * xdisp.c (message2_nolog, set_message):
7767 * undo.c (record_point):
7768 * terminfo.c (tparam):
7769 * syntax.c (scan_sexps_forward):
7770 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
7771 * composite.c (update_compositions):
7772 * cm.c (calccost, cmgoto):
7773 * charset.c (c_string_width): Declare all args (per C99).
7774
7775 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
7776
7777 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
7778 Don't declare.
7779
7780 * emacs.c (main) [!VMS]: Avoid third arg.
7781
7782 * fns.c (Fcopy_sequence): Doc fix.
7783 (Fmap_char_table): Cast `call2'.
7784
7785 2002-11-14 Francesco Potorti` <pot@gnu.org>
7786
7787 * s/sol2-8.h: New file.
7788
7789 2002-11-14 Kim F. Storm <storm@cua.dk>
7790
7791 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
7792 dependency on `risky-local-variable' and the :propertize form.
7793
7794 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
7795
7796 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
7797
7798 * syntax.c (scan_sexps_forward): Undo last patch.
7799 Use a more obvious fix: check eob before updating the syntax table.
7800
7801 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
7802
7803 * syntax.c (scan_sexps_forward): Update syntax table before reading
7804 a char rather than after so we don't update the table past eob.
7805
7806 2002-11-09 Dave Love <fx@gnu.org>
7807
7808 * buffer.c (Fset_buffer_major_mode): Fix last change.
7809
7810 * regex.c (regexec): Fix pmatch declaration.
7811
7812 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
7813
7814 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
7815 to self-inserting characters.
7816 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
7817
7818 * coding.c (Vtranslation_table_for_input): New.
7819 (syms_of_coding): DEFVAR it.
7820
7821 2002-11-08 Juanma Barranquero <lektu@terra.es>
7822
7823 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
7824 window.
7825
7826 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
7827
7828 * process.c (Fformat_network_address): Remove unused locals p,
7829 cp, and i.
7830
7831 2002-11-06 Dave Love <fx@gnu.org>
7832
7833 * buffer.c (Qset_buffer_major_mode_hook): New.
7834 (Fset_buffer_major_mode): Use it.
7835
7836 2002-11-06 Richard M. Stallman <rms@gnu.org>
7837
7838 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
7839 and stop_polling.
7840
7841 * process.c (wait_reading_process_input):
7842 Test POLLING_PROBLEM_IN_SELECT, not hpux.
7843 Avoid initialization for auto Lisp_Object var.
7844
7845 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
7846
7847 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
7848
7849 2002-11-05 Richard M. Stallman <rms@gnu.org>
7850
7851 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
7852
7853 * callint.c (Fcall_interactively): New local filter_specs.
7854 (Fcall_interactively): Check for progn as well as let.
7855 Add a gcpro.
7856 (Qprogn): New variable.
7857 (syms_of_callint): Staticpro and init Qprogn.
7858
7859 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
7860
7861 * lread.c (Feval_buffer): Doc fix.
7862
7863 2002-11-04 Dave Love <fx@gnu.org>
7864
7865 * keyboard.c (read_char): Always translate iff
7866 Vkeyboard_translate_table is a char table and c is valid.
7867
7868 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
7869 and fix C types.
7870
7871 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
7872
7873 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
7874
7875 * editfns.c (get_pos_property): Don't hardcode Qfield.
7876
7877 * keyboard.c (adjust_point_for_property): Handle `display' prop on
7878 overlays. Also handle `invisible' prop.
7879
7880 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
7881
7882 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
7883 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
7884
7885 2002-11-01 Andreas Schwab <schwab@suse.de>
7886
7887 * editfns.c (Fmessage): Revert last change to properly handle %%.
7888
7889 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
7890
7891 * xmenu.c (unuse_menu_items): New fun.
7892 (menu_items_inuse): New var.
7893 (syms_of_xmenu): Initialize it.
7894 (init_menu_items): Use it to detect re-entrance.
7895 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
7896 (Fx_popup_menu): Remove spurious XSETFRAME.
7897
7898 * editfns.c (find_field): Make an exception for nil fields.
7899
7900 2002-11-01 Dave Love <fx@gnu.org>
7901
7902 * m/gec63.h: Deleted.
7903
7904 2002-10-31 Dave Love <fx@gnu.org>
7905
7906 * xterm.c (XTread_socket): Fix last change.
7907 (xaw_scroll_callback): Cast call_data to long to avoid warning.
7908
7909 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
7910
7911 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
7912
7913 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
7914
7915 * editfns.c (overlays_around, get_pos_property): New funs.
7916 (find_field): Use them.
7917 Also be careful not to modify POS before its last use.
7918 (Fmessage): Don't Fformat if there's nothing to format.
7919
7920 2002-10-30 Dave Love <fx@gnu.org>
7921
7922 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
7923 [HAVE_PTY_H]; Include pty.h.
7924
7925 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
7926
7927 * xterm.c (Qeql): Declare.
7928 (Vx_keysym_table): New.
7929 (syms_of_xterm): Initialize it.
7930 (XTread_socket): Use it. Deal with ASCII keysyms.
7931 (XSetIMValues) [HAVE_X11R6]: Prototype.
7932
7933 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
7934 (lispy_kana_keys): Comment out.
7935 (make_lispy_event) [XK_kana_A]: Comment out.
7936 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
7937 Fix sprintf call.
7938
7939 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
7940 regexp.h change).
7941 (TERMINFO, LIBS_TERMCAP): Define.
7942
7943 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
7944 (bcmp): Define conditional on HAVE_BCMP.
7945 (NO_SIOCTL_H): Don't define.
7946 (TIOCSIGSEND): Don't make conditional on IRIX6.
7947
7948 * s/sol2-5.h: Don't include strings.h.
7949 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
7950
7951 * s/irix6-0.h (IRIX6): Don't define.
7952 (bcopy, bcmp, bzero): Don't undef.
7953
7954 * s/irix6-5.h: Don't include strings.h.
7955 (IRIX6): Don't define.
7956 (bcopy, bcmp, bzero): Don't undef.
7957
7958 * syntax.c (Fforward_comment): Doc fix.
7959
7960 2002-10-29 Kim F. Storm <storm@cua.dk>
7961
7962 * process.c (Fsignal_process): Allow PROCESS to be specified by
7963 name in addition to pid (as integer or string).
7964
7965 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
7966
7967 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
7968 environments.
7969
7970 2002-10-27 Kim F. Storm <storm@cua.dk>
7971
7972 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
7973
7974 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
7975
7976 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
7977
7978 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
7979
7980 2002-10-26 Richard M. Stallman <rms@gnu.org>
7981
7982 * editfns.c (Fformat): Detect invalid format letters for floats.
7983
7984 2002-10-25 Kenichi Handa <handa@m17n.org>
7985
7986 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
7987 (x_set_title): Likewise.
7988
7989 2002-10-25 Juanma Barranquero <lektu@terra.es>
7990
7991 * macgui.h:
7992 * w32gui.h: Remove definition of XColor.
7993
7994 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
7995
7996 2002-10-24 Kim F. Storm <storm@cua.dk>
7997
7998 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
7999 Callers changed (supply dummy arg).
8000
8001 * lisp.h (get_window_cursor_type): Update prototype.
8002
8003 * w32term.c (x_display_and_set_cursor): Get active_cursor from
8004 get_window_cursor_type to track system caret.
8005
8006 2002-10-24 Kim F. Storm <storm@cua.dk>
8007
8008 * process.c (Fformat_network_address): New function.
8009 (syms_of_process): Defsubr it.
8010 (list_processes_1): Use it to format :local/:remote address if
8011 service/host is not set; before Emacs would crash in that case.
8012 (Fmake_network_process): Don't use Ffind_operation_coding_system
8013 to setup coding system if host or service is not set.
8014
8015 2002-10-23 Juanma Barranquero <lektu@terra.es>
8016
8017 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
8018
8019 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
8020 COLORREF.
8021
8022 * macgui.h:
8023 * w32gui.h: Add definition of XColor.
8024
8025 * macfns.c:
8026 * w32fns.c:
8027 * xfaces.c: Remove definition of XColor.
8028
8029 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
8030
8031 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
8032
8033 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
8034 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
8035 window if it is dedicated.
8036 (Fshrink_window): Add preserve_before as was done for enlarge_window.
8037 (Vspecial_display_function): Update docstring.
8038
8039 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
8040 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
8041 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
8042
8043 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
8044
8045 * casefiddle.c (casify_region): Don't treat a prefix char as part
8046 of a word when at the beginning.
8047
8048 2002-10-17 Juanma Barranquero <lektu@terra.es>
8049
8050 * lread.c (syms_of_lread): Fix typos.
8051
8052 2002-10-17 Dave Love <fx@gnu.org>
8053
8054 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
8055
8056 2002-10-16 Richard M. Stallman <rms@gnu.org>
8057
8058 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
8059
8060 2002-10-14 Juanma Barranquero <lektu@terra.es>
8061
8062 * w16select.c (syms_of_win16select): Fix docstring for
8063 `selection-coding-system'.
8064
8065 * w32select.c (syms_of_w32select): Likewise.
8066
8067 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
8068
8069 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
8070 a backslash-quoted char.
8071 (scan_lists, scan_sexps_forward): Pacify the compiler.
8072
8073 2002-10-13 Richard M. Stallman <rms@gnu.org>
8074
8075 * window.c (window_scroll): Set immediate_quit.
8076
8077 * print.c (print): When backquote form is the car of a list,
8078 output in old style. Use old_backquote_output to output all
8079 comma forms inside it in old style too.
8080
8081 * buffer.h (struct buffer): Move `undo_list' down below `name'.
8082
8083 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
8084
8085 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
8086 batch mode).
8087
8088 * lread.c (Fload): Doc fix (load-suffixes).
8089
8090 2002-10-10 Steven Tamm <steventamm@mac.com>
8091
8092 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
8093 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
8094 Also switch the default to Qnil from Qt.
8095
8096 2002-10-08 Kenichi Handa <handa@m17n.org>
8097
8098 * coding.c (code_convert_region): When we need more GAP for
8099 conversion, pay attention to the case that coding->produced is not
8100 greater than coding->consumed.
8101
8102 2002-10-07 Richard M. Stallman <rms@gnu.org>
8103
8104 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
8105
8106 2002-10-06 Andrew Choi <akochoi@shaw.ca>
8107
8108 * macmenu.c (mac_menu_show): Add j to count menu items; match
8109 menu_item_selection to it to find selected item.
8110
8111 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8112
8113 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
8114 cases. The correct fix is to pass ReparentNotify to Xt.
8115 The shell widget interprets ConfigureNotify differently depending
8116 on if it has been reparented or not.
8117
8118 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
8119
8120 * editfns.c (Fformat_time_string): Doc fix.
8121
8122 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
8123
8124 * fns.c (Flength): Doc fix.
8125
8126 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
8127
8128 * keyboard.c (keyremap): New struct.
8129 (read_key_sequence): Use it: globally replace keytran_foo with
8130 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
8131 keytran_next and fkey_next to just `next'.
8132
8133 2002-10-04 Steven Tamm <steventamm@mac.com>
8134
8135 * macterm.c (keycode_to_xkeysym_table): Change return to be
8136 treated like an X keysym.
8137
8138 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8139
8140 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
8141 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
8142 This is to also handle x/y changes that occur because of a resize.
8143
8144 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
8145
8146 * frame.c (Vdelete_frame_functions): New variable.
8147 (syms_of_frame): Initialize and defvar it.
8148 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
8149 it when frame's `tooltip' parameter is non-nil.
8150
8151 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
8152
8153 * w32fns.c (x_create_tip_frame): Likewise.
8154
8155 * macfns.c (x_create_tip_frame): Likewise.
8156
8157 2002-09-30 Kenichi Handa <handa@m17n.org>
8158
8159 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
8160 -1 before calling ccl_driver.
8161
8162 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
8163 Only when it is non-nil, handle composition sequence.
8164 (setup_coding_system) <0>: Don't force composition handling.
8165
8166 * Makefile.in (lisp, shortlisp): Add utf-16.elc
8167
8168 2002-09-29 Richard M. Stallman <rms@gnu.org>
8169
8170 * search.c (Freplace_match): Adjust match data for the substitution
8171 just made in the buffer.
8172
8173 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
8174 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
8175
8176 2002-09-27 Richard M. Stallman <rms@gnu.org>
8177
8178 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
8179 (read_char): Use them. Do all exits thru the end of the function.
8180
8181 2002-09-27 Kenichi Handa <handa@etl.go.jp>
8182
8183 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
8184 is nil.
8185
8186 2002-09-26 Richard M. Stallman <rms@gnu.org>
8187
8188 * regex.h (__restrict_arr): Don't define if already defined.
8189
8190 * coding.c (run_pre_post_conversion_on_str):
8191 Save and restore Vdeactivate_mark.
8192
8193 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
8194
8195 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
8196
8197 2002-09-26 Kenichi Handa <handa@etl.go.jp>
8198
8199 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
8200 nonzero, try face's family at first. Otherwise try FAMILY at first.
8201 (choose_face_font): If C is a single byte char or latin-1, call
8202 try_font_list with PREFER_FACE_FAMILY 1.
8203
8204 2002-09-21 Richard M. Stallman <rms@gnu.org>
8205
8206 * window.c (select_window_1): Don't select frame.
8207 Set frame's selected window only when frame itself is selected.
8208 (Fselect_window): Doc fix.
8209
8210 2002-09-18 Kim F. Storm <storm@cua.dk>
8211
8212 * process.c (make-network-process): Doc fix (there is no
8213 network-server-log-function hook).
8214
8215 2002-09-18 Richard M. Stallman <rms@gnu.org>
8216
8217 * print.c (print): Clear out the unused parts of Vprint_number_table.
8218 (syms_of_print): Doc fix for `print-number-table'.
8219
8220 * unexelf.c (unexec): Undo previous change.
8221
8222 2002-09-17 Andreas Schwab <schwab@suse.de>
8223
8224 * m/alpha.h [LINUX]: Don't define DATA_START.
8225
8226 2002-09-16 Dave Love <fx@gnu.org>
8227
8228 * unexelf.c (unexec): Deal with .got, reinstating change from
8229 25-08-1999.
8230
8231 2002-09-13 Richard M. Stallman <rms@gnu.org>
8232
8233 * s/sol2-6.h (UNEXEC): Comment out definition.
8234
8235 * unexsol.c (unexec): Don't downcase first letter of error msg.
8236
8237 * xfaces.c (Fcolor_supported_p): Just one arg is required.
8238
8239 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
8240
8241 * unexsol.c: Include buffer.h, charset.h, coding.h.
8242
8243 2002-09-11 Richard M. Stallman <rms@gnu.org>
8244
8245 * unexsol.c: Don't use report_file_error; do it by hand
8246 using dlerror.
8247
8248 * process.c (wait_reading_process_input, both versions):
8249 Before calling turn_on_atimers, call stop_polling.
8250
8251 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
8252
8253 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
8254 we go to too_near_end, call clear_glyph_matrix.
8255 (redisplay_window): After make_cursor_line_fully_visible,
8256 call clear_glyph_matrix and bypass `goto done'.
8257
8258 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
8259 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
8260
8261 2002-09-10 Richard M. Stallman <rms@gnu.org>
8262
8263 * fileio.c (Fdo_auto_save): Catch error making directory.
8264 Only call push_message if we need to.
8265 At the same time, make an unwind-protect to pop it.
8266 Rename local message_p to old_message_p.
8267 (do_auto_save_make_dir, do_auto_save_eh): New functions.
8268 (do_auto_save_unwind): Don't call pop_message.
8269
8270 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
8271
8272 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
8273
8274 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
8275
8276 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
8277
8278 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
8279
8280 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
8281 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
8282 (re_match_2_internal): Be more careful with infinite loops.
8283
8284 2002-09-10 Kim F. Storm <storm@cua.dk>
8285
8286 * macros.c (end_kbd_macro): New function.
8287 (Fend_kbd_macro): Use it.
8288
8289 * macros.h (end_kbd_macro): Declare extern.
8290
8291 * keyboard.c (Fdiscard_input): If defining keyboard macro,
8292 end and save it instead of discarding it.
8293
8294 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
8295
8296 * s/sol2-6.h: Fix typo. Add comment.
8297
8298 2002-09-09 Richard M. Stallman <rms@gnu.org>
8299
8300 * regex.c (regnum_t): Use signed int, not unsigned int.
8301
8302 * s/sol2-6.h: New file.
8303
8304 * s/sol2-5.h (UNEXEC): Definition deleted.
8305
8306 2002-09-08 Kim F. Storm <storm@cua.dk>
8307
8308 * macros.c (executing_macro_index): Change type to EMACS_INT.
8309 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
8310
8311 * macros.h (executing_macro_index): Change type to EMACS_INT.
8312
8313 2002-09-06 Richard M. Stallman <rms@gnu.org>
8314
8315 * casetab.c (set_case_table): Make canon table point to eqv table.
8316
8317 2002-09-06 Juanma Barranquero <lektu@terra.es>
8318
8319 * coding.c (syms_of_coding): Fix spacing.
8320
8321 * composite.c (Fcompose_region_internal)
8322 (Fcompose_string_internal): Likewise.
8323
8324 * data.c (Flsh): Likewise.
8325
8326 * fontset.c (Fset_fontset_font): Likewise.
8327
8328 * macfns.c (Fx_server_max_request_size): Likewise.
8329
8330 * w16select.c (syms_of_win16select): Likewise.
8331
8332 * w32select.c (syms_of_w32select): Likewise.
8333
8334 * xselect.c (syms_of_xselect): Likewise.
8335
8336 2002-09-05 Richard M. Stallman <rms@gnu.org>
8337
8338 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
8339 call EXTEND_RANGE_TABLE and return a proper value.
8340 (set_image_of_range): Don't call set_image_of_range_1
8341 if no TRANSLATE or if range includes all of Latin-1.
8342 Only call it for the Latin-1 part of the range.
8343 For other cases, make two separate ranges,
8344 one for the original specified characters and one for
8345 their case-conversions.
8346
8347 2002-09-04 Richard M. Stallman <rms@gnu.org>
8348
8349 * s/sol2-5.h (UNEXEC): Use unexsol.o.
8350
8351 * window.c (displayed_window_lines): Correct for one-off bug
8352 in HEIGHT on non-window displays.
8353
8354 * regex.c (set_image_of_range_1): New function.
8355 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
8356 Return a value to indicate running out of memory.
8357 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
8358 (extend_range_table_work_area): New subroutine.
8359 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
8360 Different calling conventions, and used from set_image_of_range{,_1}.
8361 (IMMEDIATE_QUIT_CHECK): Definitions moved.
8362
8363 2002-09-04 Juanma Barranquero <lektu@terra.es>
8364
8365 * makefile.w32-in: All dependencies updated.
8366
8367 2002-09-01 Richard M. Stallman <rms@gnu.org>
8368
8369 * unexsol.c: New file.
8370
8371 * xfns.c (Qbox): Declare external, don't define.
8372
8373 * xdisp.c (redisplay_window) <force-start case>:
8374 If point is on semi-visible last line, reposition
8375 it at previous line.
8376
8377 * alloc.c (display_malloc_warning): Use display-warning.
8378 (malloc_warning_1): Function deleted.
8379
8380 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
8381
8382 * lread.c (read1): Handle #! by skipping the line.
8383
8384 2002-08-31 Richard M. Stallman <rms@gnu.org>
8385
8386 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
8387 Don't include LDFLAGS.
8388 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
8389
8390 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
8391
8392 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
8393 member of x_display_info unless we compile for some window system.
8394
8395 2002-08-31 Kim F. Storm <storm@cua.dk>
8396
8397 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
8398 (get_window_cursor_type): Don't use them.
8399 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
8400
8401 2002-08-30 Kenichi Handa <handa@etl.go.jp>
8402
8403 * xdisp.c (get_next_display_element): Fix previous change.
8404
8405 2002-08-30 Andrew Choi <akochoi@shaw.ca>
8406
8407 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
8408 (expose_window): Use it to fix the display of overlapping
8409 rows (merge code from xterm.c).
8410
8411 * macfns.c (Qbox): Add extern declaration.
8412
8413 2002-08-30 Juanma Barranquero <lektu@terra.es>
8414
8415 * w32fns.c (Qbox): Make extern.
8416 (syms_of_w32fns): Remove initialization of Qbox.
8417
8418 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
8419
8420 * xfns.c (Fx_open_connection): Fix error message.
8421
8422 2002-08-30 Kim F. Storm <storm@cua.dk>
8423
8424 The following changes consolidates the handling of the cursor
8425 type in xdisp.c, moving duplicate code and functionality from
8426 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
8427
8428 * frame.h (enum text_cursor_kinds): Consolidated here.
8429 Added DEFAULT_CURSOR value.
8430 (struct frame) <desired_cursor, cursor_width>
8431 <blink_off_cursor, blink_off_cursor_width>: New fields.
8432 Consolidated from output_x, output_w32 and output_mac structs.
8433 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
8434 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
8435
8436 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
8437 Variables consolidated here.
8438 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
8439 (Vcursor_in_non_selected_windows): Renamed from
8440 cursor_in_non_selected_windows and changed to Lisp_Object.
8441 (syms_of_xdisp): Define and staticpro new and moved variables.
8442 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
8443 consolidated here. Recognize Qhollow setting.
8444 (set_frame_cursor_types): New function to set frame cursor types
8445 based on the frame parameters.
8446 (get_window_cursor_type): New function to calculate new cursor
8447 type and width for the specified window. Based on duplicated
8448 code consolidated here.
8449 Enhancements: cursor-in-non-selected-windows may be a cursor type,
8450 check buffer-local alternate-cursor-type and blink-cursor-alist
8451 before using built-in blink off methods.
8452
8453 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
8454
8455 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
8456 (get_specified_cursor_type, get_window_cursor_type)
8457 (set_frame_cursor_types): Added prototypes.
8458
8459 * macfns.c (x_specified_cursor_type): Removed.
8460 (x_set_cursor_type): Use set_frame_cursor_types.
8461 (Qbar, Qbox): Removed.
8462 (syms_of_macfns): Don't intern or staticpro them.
8463
8464 * macterm.c (x_specified_cursor_type): Remove prototype.
8465 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
8466 (x_display_and_set_cursor): Use get_window_cursor_type.
8467 Remove unused local variables cursor_non_selected, active_cursor.
8468 Redraw cursor if hbar cursor width changes.
8469 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
8470
8471 * macterm.h (enum text_cursor_kinds): Removed.
8472 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
8473 <blink_off_cursor, blink_off_cursor_width>: Members removed.
8474 (FRAME_DESIRED_CURSOR): Macro removed.
8475
8476 * w32fns.c (Vblink_cursor_alist): Removed.
8477 (Qbar, Qhbar, Qbox, Qhollow): Removed.
8478 (syms_of_w32fns): Don't intern, staticpro, or define them.
8479 (x_specified_cursor_type): Removed.
8480 (x_set_cursor_type): Use set_frame_cursor_types.
8481
8482 * w32term.c (x_specified_cursor_type): Remove prototype.
8483 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
8484 (x_display_and_set_cursor): Use get_window_cursor_type.
8485 Remove unused local variables cursor_off_state.
8486 Redraw cursor if hbar cursor width changes.
8487 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
8488
8489 * w32term.h (enum text_cursor_kinds): Removed.
8490 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
8491 <blink_off_cursor, blink_off_cursor_width>: Members removed.
8492 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
8493 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
8494 (struct w32_display_info) <x_highlight_frame>: Renamed member from
8495 w32_highlight_frame.
8496
8497 * xfns.c (Vblink_cursor_alist): Removed.
8498 (Qbar, Qhbar, Qbox, Qhollow): Removed.
8499 (syms_of_xfns): Don't intern, staticpro, or define them.
8500 (x_specified_cursor_type): Removed.
8501 (x_set_cursor_type): Use set_frame_cursor_types.
8502
8503 * xterm.c (x_specified_cursor_type): Remove prototype.
8504 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
8505 (x_display_and_set_cursor): Use get_window_cursor_type.
8506 Remove unused local variables cursor_off_state.
8507 Redraw cursor if hbar cursor width changes.
8508
8509 * xterm.h (enum text_cursor_kinds): Removed.
8510 (struct output_x) <current_cursor, desired_cursor, cursor_width>
8511 <blink_off_cursor, blink_off_cursor_width>: Members removed.
8512 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
8513 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
8514 (x_specified_cursor_type): Remove prototype.
8515
8516 2002-08-28 Richard M. Stallman <rms@gnu.org>
8517
8518 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
8519 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
8520 (Vblink_cursor_alist): New variable.
8521 (syms_of_w32fns): Initialize and defvar it.
8522 (x_specified_cursor_type): Recognize Qbox for filled box.
8523 Exceptions are hollow boxes.
8524 (Qbox, Qhollow): New variables.
8525 (syms_of_w32fns): Initialize and staticpro them.
8526
8527 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
8528 New macros.
8529 (struct w32_output): New fields blink_off_cursor,
8530 blink_off_cursor_width.
8531 (FRAME_CURSOR_WIDTH): New macro.
8532
8533 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
8534 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
8535
8536 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
8537 for bar cursor.
8538
8539 * w32term.c (expose_overlaps): New function.
8540 (expose_window): Use it to fix the display of overlapping rows.
8541
8542 2002-08-28 Simon Josefsson <jas@extundo.com>
8543
8544 * xfns.c (Fx_open_connection): Improve help when X connection
8545 fails, xhost is insecure and xauth is better.
8546
8547 2002-08-28 Juanma Barranquero <lektu@terra.es>
8548
8549 * makefile.w32-in: Add missing dependencies on w32term.h and
8550 composite.h.
8551
8552 * emacs.c (USAGE1): Add missing newline.
8553
8554 2002-08-27 Andrew Choi <akochoi@shaw.ca>
8555
8556 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
8557
8558 2002-08-27 Richard M. Stallman <rms@gnu.org>
8559
8560 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
8561 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
8562 (Vblink_cursor_alist): New variable.
8563 (syms_of_xfns): Initialize and defvar it.
8564 (x_specified_cursor_type): Recognize Qbox for filled box.
8565 Exceptions are hollow boxes.
8566 (Qbox, Qhollow): New variables.
8567 (syms_of_xfns): Initialize and staticpro them.
8568
8569 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
8570 New macros.
8571 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
8572
8573 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
8574 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
8575
8576 * emacs.c (main): Handle --script.
8577 (USAGE1): Mention --script.
8578 (standard_args): Define sort order for --script.
8579
8580 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
8581
8582 * xdisp.c (redisplay_updating_p): Variable removed.
8583 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
8584 New variables.
8585 (init_iterator): Don't free realized faces if
8586 inhibit_free_realized_faces is set.
8587 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
8588 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
8589 initialize Qinhibit_free_realized_faces.
8590
8591 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
8592 when iterator is adding glyphs to a glyph matrix.
8593
8594 2002-08-27 Kenichi Handa <handa@etl.go.jp>
8595
8596 * xdisp.c (get_next_display_element): In unibyte case, don't use
8597 octal form for such eight-bit characters that can be converted to
8598 multibyte char.
8599
8600 2002-08-26 Kim F. Storm <storm@cua.dk>
8601
8602 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
8603 and background colors. From Joe Buehler (tiny change).
8604
8605 2002-08-26 Miles Bader <miles@gnu.org>
8606
8607 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
8608
8609 2002-08-25 Andrew Choi <akochoi@shaw.ca>
8610
8611 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
8612 defined instead of MAC_OSX.
8613
8614 * s/darwin.h (select): Define select to sys_select only if
8615 HAVE_CARBON is defined.
8616 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
8617 (DONT_REOPEN_PTY): #def it.
8618
8619 * macterm.c (XTread_socket): Remove code to call
8620 SendEventToEventTarget for keys with command modifiers when
8621 mac_command_key_is_meta is nil.
8622
8623 2002-08-24 Andreas Schwab <schwab@suse.de>
8624
8625 * eval.c (Fdefvar): Fix last change.
8626
8627 2002-08-23 Richard M. Stallman <rms@gnu.org>
8628
8629 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
8630 Record variables in load history as (defvar . VAR).
8631 (Fdefvar): Don't record in load history if no initial value.
8632 (Qdefvar): New variable.
8633 (syms_of_eval): Init and staticpro it.
8634
8635 * lread.c (syms_of_lread): Doc fix.
8636 (build_load_history): Use Fmember to see if a definition
8637 is already in the Vload_history element.
8638
8639 * process.c (Fstart_process): Remove /: from program name.
8640
8641 * emacs.c (decode_env_path): Don't add /: if file name handler
8642 has a `safe-magic' property.
8643
8644 * callproc.c (Fcall_process): Remove /: from program name.
8645
8646 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
8647
8648 * regex.c (PATFETCH): Remove the translating fetch.
8649 (PATFETCH_RAW): Rename to PATFETCH.
8650 (set_image_of_range): New fun.
8651 (SET_RANGE_TABLE_WORK_AREA): Use it.
8652 (regex_compile): Don't translate the pattern chars so eagerly.
8653 Only do it when inserting an `exactn' bytecode or when handling
8654 a char-range.
8655 (mutually_exclusive_p): Avoid empty statement.
8656
8657 2002-08-22 Kim F. Storm <storm@cua.dk>
8658
8659 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
8660 end up on a partially visible line; this reverts a specific part
8661 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
8662 display error which has been reported several times now.
8663 However it introduces the problem that changes was supposed to fix.
8664 See my comments in the source if you want to debug this further.
8665
8666 2002-08-20 Kenichi Handa <handa@etl.go.jp>
8667
8668 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
8669
8670 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
8671
8672 * msdos.c (croak): Add `void' to definition.
8673
8674 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
8675 Don't define them, they are defined in msdos.c.
8676
8677 * mem-limits.h [MSDOS]: Declare etext.
8678
8679 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
8680 `const' since CORRECT_DIR_SEPS modifies its target.
8681
8682 2002-08-19 Kim F. Storm <storm@cua.dk>
8683
8684 * keyboard.c (Fclear_this_command_keys): Add optional arg
8685 KEEP-RECORD to avoid clearing lossage when we just want to clear
8686 the current key sequence (kmacro needs this).
8687
8688 2002-08-19 Kenichi Handa <handa@localhost>
8689
8690 * composite.c (run_composition_function): Call FUNC if it is fboundp.
8691
8692 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
8693 cons, return Qnil.
8694
8695 2002-08-17 Richard M. Stallman <rms@gnu.org>
8696
8697 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
8698
8699 * sysdep.c [!VMS]: Include sys/files.h.
8700
8701 * editfns.c (save_restriction_restore): Defend from unchained marker.
8702
8703 * buffer.c (overlays_at): Handle extending vec uniformly.
8704 (overlays_in): Handle extending vec from length 0 as in overlays_at.
8705
8706 2002-08-15 Andrew Choi <akochoi@shaw.ca>
8707
8708 * mac.c (init_mac_osx_environment): New function.
8709
8710 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
8711
8712 2002-08-14 Kim F. Storm <storm@cua.dk>
8713
8714 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
8715 executing macro before appending to it (when used from Lisp).
8716 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
8717 which is called prior to each iteration of macro (for kmacro.el).
8718 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
8719
8720 * lisp.h (Fexecute_kbd_macro): Update prototype.
8721
8722 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
8723
8724 2002-08-14 Kenichi Handa <handa@etl.go.jp>
8725
8726 * xselect.c (QUTF8_STRING): New variable.
8727 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
8728 (x_atom_to_symbol): Likewise.
8729 (x_get_local_selection): New argument local_request. If it is
8730 nonzero, call handler_fn with the second arg nil.
8731 (x_handle_selection_request): Call x_get_local_selection with
8732 local_request 0.
8733 (lisp_data_to_selection_data): Don't encode the string here.
8734 (Fx_get_selection_internal): Call x_get_local_selection with
8735 local_request 1.
8736 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
8737
8738 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
8739
8740 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
8741
8742 2002-08-13 Richard M. Stallman <rms@gnu.org>
8743
8744 * minibuf.c (Fminibufferp): New function.
8745 (syms_of_minibuf): Defsubr it.
8746 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
8747
8748 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
8749
8750 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
8751
8752 2002-08-12 Richard M. Stallman <rms@gnu.org>
8753
8754 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
8755 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
8756 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
8757 already.
8758
8759 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
8760
8761 2002-08-11 Andrew Choi <akochoi@shaw.ca>
8762
8763 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
8764 (Vmac_pass_command_to_system): New variable.
8765 (Vmac_pass_control_to_system): New variable.
8766 (do_mouse_moved): Check wp with is_emacs_window.
8767 (XTread_socket): Check window_ptr with is_emacs_window.
8768 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
8769 events back to Mac Toolbox for processing, depending on values of
8770 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
8771 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
8772 Vmac_pass_control_to_system.
8773
8774 2002-08-10 Kenichi Handa <handa@etl.go.jp>
8775
8776 * coding.c (unencodable_char_position): New function.
8777 (Funencodable_char_position): New function.
8778 (syms_of_coding): Defsubr Funencodable_char_position.
8779
8780 2002-08-10 Andrew Choi <akochoi@shaw.ca>
8781
8782 * mac.c (sys_select) [MAC_OSX]: New function.
8783
8784 * macterm.c (MakeMeTheFrontProcess): New function.
8785 (mac_initialize): Call MakeMeTheFrontProcess.
8786
8787 * s/darwin.h: Define select to sys_select.
8788
8789 2002-08-09 Richard M. Stallman <rms@gnu.org>
8790
8791 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
8792
8793 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
8794
8795 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
8796 end of the buffer.
8797
8798 2002-08-08 Ken Raeburn <raeburn@mit.edu>
8799
8800 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
8801
8802 * puresize.h (BASE_PURESIZE): Increase to 910000.
8803
8804 2002-08-08 Kenichi Handa <handa@etl.go.jp>
8805
8806 * coding.c (Ffind_operation_coding_system): For write-region, if
8807 VISIT is a filename, make it the target.
8808
8809 2002-08-07 Richard M. Stallman <rms@gnu.org>
8810
8811 * alloc.c (mark_object): Detect long lists for debugging.
8812 (mark_object_loop_halt): New variable.
8813
8814 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
8815
8816 * data.c (Fmake_variable_frame_local): Doc fix.
8817
8818 2002-08-01 David Ponce <david@dponce.com>
8819
8820 * w32menu.c (local_heap, local_alloc, local_free): New macros.
8821 (malloc_widget_value, free_widget_value)
8822 (w32_free_submenu_strings): Use them.
8823
8824 (push_submenu_start, push_submenu_end, push_left_right_boundary)
8825 (push_menu_pane, push_menu_item, single_keymap_panes)
8826 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
8827 (single_submenu, set_frame_menubar)
8828 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
8829
8830 (Fx_popup_menu): Don't show pop up menu until preceding one is
8831 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
8832
8833 * w32menu.c: Changes adapted from xmenu.c
8834 (set_frame_menubar): First parse all submenus,
8835 then make widget_value trees from them.
8836 Don't allocate any widget_value objects
8837 until we are done with the parsing.
8838 (parse_single_submenu): New function.
8839 (digest_single_submenu): New function.
8840 (single_submenu): Function deleted, replaced by those two.
8841
8842 2002-08-04 Andrew Choi <akochoi@shaw.ca>
8843
8844 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
8845 returns a valid window pointer before proceeding for keyDown and
8846 autoKey events.
8847
8848 2002-08-03 Andrew Choi <akochoi@shaw.ca>
8849
8850 * macterm.c (USE_CARBON_EVENTS): New macro.
8851 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
8852 (x_iconify_frame): Call CollapseWindow.
8853 (Vmac_reverse_ctrl_meta): New variable.
8854 (Vmac_wheel_button_is_mouse_2): New variable.
8855 (init_mac_drag_n_drop): New function.
8856 (mac_do_receive_drag): New function.
8857 (mac_handle_service_event): New function.
8858 (init_service_handler): New function.
8859 (mac_to_emacs_modifiers): New function.
8860 (mac_event_to_emacs_modifiers): New function.
8861 (mac_get_mouse_btn): New function.
8862 (mac_convert_event_ref): New function.
8863 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
8864 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
8865 mac_get_mouse_btn.
8866 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
8867
8868 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
8869 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
8870 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
8871 TOOL_BAR_EVENT for MAC_OS as well.
8872 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
8873 as for WINDOWS_NT.
8874 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
8875
8876 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
8877
8878 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
8879
8880 * xdisp.c (forward_to_next_line_start): Fix a condition that
8881 lead to a newline being skipped.
8882
8883 2002-08-02 Andrew Choi <akochoi@shaw.ca>
8884
8885 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
8886
8887 2002-08-01 Richard M. Stallman <rms@gnu.org>
8888
8889 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
8890
8891 2002-07-31 Andrew Choi <akochoi@shaw.ca>
8892
8893 * macfns.c: #undef init_process before #define-ing it.
8894
8895 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
8896 HAVE_CARBON is defined.
8897
8898 2002-07-31 Richard M. Stallman <rms@gnu.org>
8899
8900 * xmenu.c (set_frame_menubar): First parse all submenus,
8901 then make widget_value trees from them.
8902 Don't allocate any widget_value objects
8903 until we are done with the parsing.
8904 (parse_single_submenu): New function.
8905 (digest_single_submenu): New function.
8906 (single_submenu): Function deleted, replaced by those two.
8907
8908 2002-07-30 Juanma Barranquero <lektu@terra.es>
8909
8910 * w32proc.c (syms_of_ntproc): Fix docstring of
8911 `w32-get-true-file-attributes'.
8912
8913 2002-07-28 Richard M. Stallman <rms@gnu.org>
8914
8915 * s/hpux8.h (HPUX8): Define this before including hpux.h.
8916 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
8917
8918 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
8919
8920 * keyboard.c (make_lispy_event):
8921 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
8922 Explicitly clear up_modifier in event->modifiers.
8923
8924 2002-07-27 Richard M. Stallman <rms@gnu.org>
8925
8926 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
8927
8928 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
8929 for bar cursor.
8930
8931 2002-07-26 Kenichi Handa <handa@etl.go.jp>
8932
8933 * coding.c (detect_coding_iso2022): While checking a byte sequence
8934 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
8935 it in the normal loop.
8936
8937 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
8938
8939 * xterm.c (expose_overlaps): New function.
8940 (expose_window): Use it to fix the display of overlapping rows.
8941
8942 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
8943
8944 2002-07-23 Ken Raeburn <raeburn@gnu.org>
8945
8946 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
8947 since it only depends on XUINT.
8948
8949 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
8950 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
8951 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
8952 Macros deleted.
8953
8954 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
8955 its value over other approaches.
8956 * sysdep.c (start_of_data): Don't define the function if a macro
8957 form has been defined.
8958
8959 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
8960
8961 * xdisp.c (redisplay_updating_p): New variable.
8962 (init_iterator): Don't free realized faces when
8963 redisplay_updating_p is set.
8964 (redisplay_internal): Set redisplay_updating_p while updating
8965 the display.
8966
8967 2002-07-23 Richard M. Stallman <rms@gnu.org>
8968
8969 * editfns.c (Fmessage): Treat "" like nil.
8970
8971 2002-07-23 Kenichi Handa <handa@etl.go.jp>
8972
8973 * xdisp.c (face_before_or_after_it_pos):
8974 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
8975
8976 2002-07-22 Juanma Barranquero <lektu@terra.es>
8977
8978 * callproc.c (init_callproc) [DOS_NT]:
8979 Initialize Vshared_game_score_directory to nil.
8980 (syms_of_callproc) [DOS_NT]: Likewise.
8981
8982 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
8983
8984 * xdisp.c (display_line): Replace an abort with xassert.
8985
8986 2002-07-21 Richard M. Stallman <rms@gnu.org>
8987
8988 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
8989 and END_UNCHANGED when setting buffer_unchanged_p.
8990 Use current_matrix_up_to_date_p to decide whether to use
8991 try_cursor_movement.
8992
8993 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
8994
8995 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
8996
8997 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
8998 Set to nil if dir does not exist.
8999 (syms_of_callproc): Init unconditionally and simply.
9000
9001 * buffer.c (Fbuffer_list): Doc fix.
9002
9003 2002-07-21 Ken Raeburn <raeburn@gnu.org>
9004
9005 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
9006
9007 * buffer.c (mmap_realloc): When shrinking, make sure number of
9008 pages to unmap is rounded towards zero.
9009
9010 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
9011 (XSETINT): Deleted.
9012
9013 * m/att3b.h (XINT): Don't define.
9014 (VALBITS, VALMASK, XTYPE): Deleted.
9015 (DATA_SEG_BITS): Define.
9016 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
9017 ARRAY_MARK_FLAG): Deleted.
9018 (DATA_SEG_BITS): Define.
9019 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
9020 (DATA_SEG_BITS): Define.
9021
9022 2002-07-20 Richard M. Stallman <rms@gnu.org>
9023
9024 * print.c (print_error_message): New args CONTEXT and CALLER.
9025 Calls changed.
9026
9027 * lisp.h (print_error_message): Declare new args.
9028
9029 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
9030 and CONTEXT to print_error_message, don't print them here.
9031 For a Quit, don't use Vsignaling_function.
9032 Call message_log_maybe_newline.
9033
9034 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
9035
9036 2002-07-20 Kim F. Storm <storm@cua.dk>
9037
9038 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
9039
9040 2002-07-19 Ken Raeburn <raeburn@gnu.org>
9041
9042 * bytecode.c (struct byte_stack): Pointers into byte string now
9043 point to const.
9044 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
9045 const.
9046 * charset.h (BCOPY_SHORT): Source pointer now points to const.
9047 * coding.c (encode_eol, detect_coding, detect_eol):
9048 (decode_coding, encode_coding, detect_coding_system):
9049 Source strings now treated as const.
9050 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
9051 modify Lisp string contents.
9052 * coding.h (decode_coding, encode_coding, detect_coding,
9053 detect_eol): Declarations updated.
9054 * composite.c (compose_chars_in_text): Treat Lisp string contents
9055 as const.
9056 * dispnew.c (safe_bcopy): Source pointer now points to const.
9057 * lisp.h (STRING_COPYIN): New macro.
9058 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
9059 (internal_with_output_to_temp_buffer): Declarations updated.
9060 * print.c (temp_output_buffer_setup):
9061 (internal_with_output_to_temp_buffer): Buffer name argument is now
9062 pointer to const.
9063 * sound.c (struct sound_device): Function pointer field "write"
9064 buffer argument now points to const.
9065 (vox_write): Buffer argument points to const.
9066 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
9067 contents as const.
9068 * sysdep.c (emacs_write): Buffer pointer now const.
9069 * term.c (encode_terminal_code): Buffer pointer now const.
9070 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
9071 (x_face_list_fonts, x_update_menu_appearance):
9072 (hash_string_case_insensitive): Treat Lisp string contents as const.
9073
9074 2002-07-19 Juanma Barranquero <lektu@terra.es>
9075
9076 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
9077
9078 * fileio.c (syms_of_fileio): Likewise.
9079 (Ffile_name_as_directory): Fix argument name in docstring.
9080 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
9081
9082 2002-07-18 Richard M. Stallman <rms@gnu.org>
9083
9084 * data.c (Fdefalias): Doc fix.
9085
9086 2002-07-17 Dave Love <fx@gnu.org>
9087
9088 * intervals.h (text_property_stickiness): Use P_.
9089
9090 * ccl.c: Remove `emacs' conditionals.
9091 (ccl_backtrace_table): Fix size spec.
9092 (ccl_driver): Fix type errors.
9093
9094 2002-07-16 Ken Raeburn <raeburn@gnu.org>
9095
9096 * alloc.c (xstrdup, make_string, make_unibyte_string)
9097 (make_multibyte_string, build_string): String pointer args now
9098 point to const.
9099 * charset.c (find_charset_in_text, c_string_width):
9100 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
9101 * fileio.c (report_file_error):
9102 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
9103 (count_combining_before, count_combining_after, insert_1_both):
9104 (insert, insert_and_inherit, insert_string):
9105 (insert_before_markers, insert_before_markers_and_inherit):
9106 * lread.c (intern, oblookup, hash_string):
9107 * minibuf.c (temp_echo_area_glyphs):
9108 * search.c (fast_c_string_match_ignore_case):
9109 * sysdep.c (emacs_open, set_file_times):
9110 * xfaces.c (xstricmp):
9111 * xdisp.c (store_frame_title, string_char_and_length):
9112 (message_dolog, message2, message2_nolog, set_message): Likewise.
9113 (set_message_1): Cast message string argument to const pointer.
9114 * editfns.c (general_insert_function): Insertion function now
9115 takes pointer to const for input data.
9116 * charset.h (find_charset_in_text, c_string_width):
9117 (parse_str_as_multibyte): Declarations updated.
9118 * dispextern.h (xstricmp): Declaration updated.
9119 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
9120 (count_size_as_multibyte, count_combining_before):
9121 (count_combining_after, insert_1, insert_1_both, message_dolog):
9122 (insert, insert_and_inherit, insert_before_markers)
9123 (insert_before_markers_and_inherit, set_message, message2):
9124 (message2_dolog, build_string, make_string, make_unibyte_string):
9125 (make_multibyte_string, intern, oblookup, report_file_error):
9126 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
9127 (emacs_open, xstrdup): Declarations updated.
9128 * systime.h (set_file_times): Declaration updated.
9129
9130 * charset.c (find_charset_in_text, lisp_string_width): Use const
9131 for pointer to lisp string data.
9132 * charset.h (FETCH_STRING_CHAR_ADVANCE):
9133 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
9134 * coding.c (Ffind_coding_systems_region_interval):
9135 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
9136 (Fmake_directory_internal, Fdelete_directory):
9137 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
9138 * fontset.c (font_family_registry, fs_query_fontset):
9139 (list_fontsets):
9140 * frame.c (Fframe_parameter):
9141 * keyboard.c (cmd_error_internal):
9142 * keymap.c (Fdescribe_buffer_bindings):
9143 * lread.c (complete_filename_p, openp):
9144 * minibuf.c (Fminibuffer_complete_word):
9145 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
9146 (face_before_or_after_it_pos, next_element_from_string):
9147 (get_overlay_arrow_glyph_row, display_mode_element):
9148 (decode_mode_spec_coding):
9149 * xterm.c (same_x_server): Likewise.
9150
9151 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
9152 settings of non-existent fields.
9153
9154 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
9155 copy a lisp value.
9156
9157 * lread.c (Fintern_soft): Use string macros instead of
9158 Lisp_String fields.
9159 * keyboard.c (echo_char, parse_modifiers_uncached):
9160 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
9161 * textprop.c (validate_interval_range, interval_of): Likewise.
9162
9163 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
9164
9165 * charset.h (FETCH_STRING_CHAR_ADVANCE)
9166 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
9167 XSTRING()->size_byte.
9168
9169 * lisp.h (SDATA, SREF): Produce rvalue.
9170 (SSET): New macro.
9171 * alloc.c (make_event_array): Use SSET for storing into a string.
9172 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
9173 a string.
9174 * casefiddle.c (casify_object): Use SSET.
9175 * charset.h (FETCH_STRING_CHAR_ADVANCE)
9176 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
9177 address of string contents.
9178 * data.c (Faref): Use SDATA.
9179 (Faset): Use SDATA, SSET.
9180 * dired.c (directory_files_internal): Use SSET.
9181 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
9182 (Fread_file_name): Use SREF, SSET.
9183 * fns.c (concat): Use SSET.
9184 (concat, Fdelete): Use SDATA.
9185 * insdel.c (insert_from_string_1): Use SDATA.
9186 * keyboard.c (Fevent_convert_list): Use SREF.
9187 * lread.c (Fload): Use SDATA, SSET.
9188 * macfns.c (validate_x_resource_name): Use SSET.
9189 * process.c (status_message): Use SSET.
9190 * search.c (wordify): Use SDATA.
9191 (Freplace_match): Use SREF.
9192 * w32fns.c (validate_x_resource_name): Use SSET.
9193 * xfns.c (validate_x_resource_name): Use SSET.
9194 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
9195
9196 2002-07-16 Richard M. Stallman <rms@gnu.org>
9197
9198 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
9199
9200 * xdisp.c (reconsider_clip_changes):
9201 Don't test prevent_redisplay_optimizations_p.
9202 (redisplay_internal): Test prevent_redisplay_optimizations_p
9203 along with clip_changed in some cases.
9204 (try_window_id): Likewise.
9205 (redisplay_window): New local var buffer_unchanged_p.
9206
9207 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
9208
9209 * process.c (create_process): Test USG_SUBTTY_WORKS.
9210 (process_send_signal): Clean up handling of GID.
9211 Detect errors in ioctls meant to set GID.
9212
9213 * window.c (temp_output_buffer_show):
9214 Don't set prevent_redisplay_optimizations_p.
9215
9216 2002-07-15 Juanma Barranquero <lektu@terra.es>
9217
9218 * eval.c (Fdefvaralias): Add docstring argument.
9219
9220 2002-07-15 Ken Raeburn <raeburn@gnu.org>
9221
9222 * lisp.h (STRING_INTERVALS): Produce rvalue.
9223 (STRING_SET_INTERVALS): New macro.
9224 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
9225 * fns.c (Fstring_as_multibyte): Likewise.
9226 * intervals.c (balance_possible_root_interval, delete_interval)
9227 (create_root_interval, copy_intervals_to_string): Likewise.
9228 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
9229 instead of 0.
9230
9231 2002-07-14 Ken Raeburn <raeburn@gnu.org>
9232
9233 * lisp.h (STRING_SET_CHARS): New macro.
9234 (SCHARS, SBYTES): Produce rvalues.
9235 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
9236 * fns.c (concat): Likewise.
9237 * lread.c (read_vector): Likewise.
9238
9239 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
9240 (STRING_SET_UNIBYTE): New macro.
9241 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
9242 length of -1) changed to use STRING_SET_UNIBYTE.
9243 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
9244 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
9245 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
9246 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
9247 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
9248 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
9249 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
9250 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
9251 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
9252 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
9253 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
9254 STRING_BYTES or indirection changed to SCHARS, SBYTES,
9255 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
9256 unchanged for now.
9257
9258 2002-07-13 Kim F. Storm <storm@cua.dk>
9259
9260 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
9261
9262 2002-07-12 Richard M. Stallman <rms@gnu.org>
9263
9264 * fileio.c (Fwrite_region): Doc fix.
9265
9266 * print.c (print_error_message): Don't handle Vsignaling_function here.
9267
9268 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
9269 (command_loop_1): Avoid certain actions after memory-full error.
9270
9271 * eval.c (Fsignal): Don't call cancel_hourglass.
9272 For a memory-full error, don't call Vsignal_hook_function
9273 and don't set Vsignaling_function.
9274
9275 * process.c (process_send_signal): Add abort call.
9276
9277 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
9278
9279 * keymap.c (Fkey_binding): Fix typo.
9280
9281 2002-07-11 Richard M. Stallman <rms@gnu.org>
9282
9283 * alloc.c (Vmemory_full): New variable.
9284 (Vmemory_signal_data): Renamed from memory_signal_data.
9285 Uses changed.
9286 (syms_of_alloc): Defvar them.
9287 (memory_full, buffer_memory_full): Set Vmemory_full.
9288
9289 * lisp.h (Vmemory_full): Add declaration.
9290 (current_column, indented_beyond_p): Change declaration.
9291
9292 * indent.c (last_known_column): Declare as double, not float.
9293 (current_column, current_column_1, string_display_width)
9294 (position_indentation): Return `double'.
9295 (indented_beyond_p): Arg `column' is `double'. Callers changed.
9296
9297 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
9298 (back_to_previous_visible_line_start)
9299 (reseat_at_next_visible_line_start, next_element_from_buffer):
9300 Use `double', not `float', when calling indented_beyond_p.
9301
9302 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
9303
9304 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
9305
9306 2002-07-11 Juanma Barranquero <lektu@terra.es>
9307
9308 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
9309 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
9310 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
9311 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
9312 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
9313 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
9314
9315 2002-07-10 Juanma Barranquero <lektu@terra.es>
9316
9317 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
9318 All callers changed.
9319
9320 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
9321
9322 * data.c (Fdefalias): Add an optional `docstring' argument.
9323 (set_internal, Fsetq_default): Use XCAR/XCDR.
9324
9325 * composite.c (HASH_VALUE, HASH_KEY):
9326 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
9327
9328 2002-07-09 Kenichi Handa <handa@etl.go.jp>
9329
9330 * callproc.c (Fcall_process): Fix previous change.
9331
9332 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
9333
9334 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
9335 Add support for hash-tables.
9336 (Ftry_completion): Return t even if the string appears multiple times.
9337
9338 * fns.c (Fnconc): Use XCDR.
9339 (Fprovide): Use CONSP and XCDR.
9340 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
9341 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
9342 (Fmake_hash_table): Accept `:size nil'.
9343 (Fmakehash): Delete: moved to subr.el.
9344 (syms_of_fns): Don't defsubr makehash.
9345
9346 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
9347 (HASH_TABLE_SIZE): Move from fns.c.
9348
9349 2002-07-07 Richard M. Stallman <rms@gnu.org>
9350
9351 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
9352 Instead just return 0 when there is something to be done.
9353 (try_scrolling): If make_cursor_line_fully_visible returns 0,
9354 retry scrolling as if cursor were off the bottom.
9355 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
9356 return CURSOR_MOVEMENT_MUST_SCROLL.
9357 (redisplay_window): If make_cursor_line_fully_visible returns 0,
9358 go to try_to_scroll.
9359
9360 * buffer.c (Fbuffer_local_value): Store current value into its binding
9361 so we get the up-to-date value for the binding that is loaded.
9362
9363 * eval.c (Fdefmacro): Doc fix.
9364
9365 2002-07-05 Dave Love <fx@gnu.org>
9366
9367 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
9368 correctly.
9369
9370 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
9371 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
9372 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
9373 CCL_LookupCharConstTbl.
9374 (syms_of_ccl): Defvar translation-hash-table-vector.
9375
9376 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9377
9378 * xdisp.c: Remove unused variable `face'.
9379
9380 2002-07-04 Juanma Barranquero <lektu@terra.es>
9381
9382 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
9383 obsolescence information.
9384
9385 2002-07-03 Andrew Choi <akochoi@shaw.ca>
9386
9387 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
9388 pattern. Search cache first.
9389 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
9390 for Japanese font.
9391 (XLoadQueryFont): Use it.
9392
9393 2002-07-02 Richard M. Stallman <rms@gnu.org>
9394
9395 * keymap.c (Fdefine_key): Doc fix.
9396
9397 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
9398
9399 2002-07-02 Juanma Barranquero <lektu@terra.es>
9400
9401 * keymap.c (syms_of_keymap): Fix typo.
9402
9403 2002-07-01 Andrew Choi <akochoi@shaw.ca>
9404
9405 * s/darwin.h: Define POSIX_SIGNALS.
9406
9407 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
9408 and FSRefMakePath to convert FSSpec returned with Apple Event to
9409 Posix pathname.
9410 (mac_initialize) [TARGET_API_MAC_CARBON]:
9411 Call init_required_apple_events and disable the `Quit' menu item
9412 provided automatically by the Carbon Toolbox.
9413
9414 2002-07-01 Dave Love <fx@gnu.org>
9415
9416 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
9417 for K&R.
9418
9419 * xterm.c: Fix prototype for K&R.
9420
9421 * term.c (costs_set): Declare static, non-initialized for pcc.
9422
9423 2002-07-01 Richard M. Stallman <rms@gnu.org>
9424
9425 * keyboard.c (timer_last_idleness_start_time): New variable.
9426 (timer_start_idle): Set that.
9427 (read_key_sequence): Use that to reset timer_idleness_start_time
9428 to previous value.
9429
9430 * window.c (Frecenter): With arg, set optional_new_start.
9431
9432 * xdisp.c (redisplay_internal): Make optional_new_start really work.
9433
9434 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
9435 buffer for completion.
9436
9437 2002-06-29 Ken Raeburn <raeburn@gnu.org>
9438
9439 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
9440
9441 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9442
9443 * keyboard.c (readable_filtered_events): New function that filters
9444 FOCUS_IN_EVENT depending on parameter.
9445 (readable_events): Calls readable_filtered_events, not filtering
9446 FOCUS_IN_EVENT.
9447 (get_filtered_input_pending): New function, filtering parameter passed
9448 to readable_filtered_events.
9449 (get_input_pending): Calls get_filtered_input_pending, not filtering
9450 FOCUS_IN_EVENT.
9451 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
9452 FOCUS_IN_EVENT.
9453
9454 * xterm.h (struct x_output): Add focus_state.
9455
9456 * xterm.c (x_focus_changed): New function.
9457 (x_detect_focus_change): New function.
9458 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
9459 EnterNotify and LeaveNotify to track X focus changes.
9460
9461 2002-06-28 Andreas Schwab <schwab@suse.de>
9462
9463 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
9464
9465 2002-06-27 Kim F. Storm <storm@cua.dk>
9466
9467 * xdisp.c: (mode_line_string_list, mode_line_string_face)
9468 (mode_line_string_face_prop): New variables.
9469 (store_mode_line_string): New function.
9470 (display_mode_element): Use store_mode_line_string to
9471 add mode-line string elements to mode_line_string_list
9472 when mode_line_string_list is non-nil.
9473 (Fformat_mode_line): Now returns propertized string by
9474 default. New arg NO-PROPS to ignore properties.
9475 (decode_mode_spec): Only add two dashes for %- in propertized
9476 mode-line string.
9477 (syms_of_xdisp): Init and staticpro mode_line_string_list.
9478
9479 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
9480
9481 * minibuf.c (minibuffer_completion_contents): Add return type.
9482
9483 2002-06-27 Juanma Barranquero <lektu@terra.es>
9484
9485 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
9486
9487 2002-06-26 Juanma Barranquero <lektu@terra.es>
9488
9489 * fileio.c (read_file_name_cleanup): Add missing return.
9490
9491 2002-06-26 Richard M. Stallman <rms@gnu.org>
9492
9493 * window.c (Frecenter): Don't set force_start flag.
9494
9495 * minibuf.c (do_completion, Fminibuffer_complete_word)
9496 (Fminibuffer_completion_help): Complete just the text before point.
9497 (minibuffer_completion_contents): New function.
9498
9499 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
9500
9501 * frame.c (frames_bury_buffer): Function deleted.
9502
9503 2002-06-25 Miles Bader <miles@gnu.org>
9504
9505 * callint.c (Fcall_interactively): When checking to see if doprnt hit
9506 the end of callint_message, allow for a terminating '\0'.
9507
9508 2002-06-24 Juanma Barranquero <lektu@terra.es>
9509
9510 * w32select.c: Include composite.h
9511
9512 * w16select.c: Likewise.
9513
9514 2002-06-24 Kenichi Handa <handa@etl.go.jp>
9515
9516 * callproc.c (Fcall_process): If code detection is necessary,
9517 call detect_coding directly here.
9518
9519 * coding.c (detect_eol): Preserve coding->cmp_data.
9520
9521 * w16select.c (Fw16_get_clipboard_data):
9522 * w32fns.c (w32_to_x_font):
9523 * w32select.c (Fw32_get_clipboard_data):
9524 * xselect.c (selection_data_to_lisp_data):
9525 * xterm.c (XTread_socket): Disable composition handling.
9526
9527 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
9528
9529 * print.c (temp_output_buffer_setup): Kill all local variables.
9530
9531 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
9532
9533 * lread.c (Fread): Remove redundant and imprecise declaration.
9534
9535 * xfns.c (check_x_display_info): Use check_x_frame.
9536
9537 * .gdbinit (xprintsym): Use the new `xname' field.
9538 (xsymbol): Use it.
9539
9540 2002-06-22 Jason Rumney <jasonr@gnu.org>
9541
9542 * w32fns.c (file_dialog_callback): New function.
9543 (Fx_file_dialog): Allow selecting directories as well as files.
9544
9545 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9546
9547 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
9548 OpenBSD. Add support for mipseb-*-netbsd* machines.
9549
9550 2002-06-17 Andrew Choi <akochoi@shaw.ca>
9551
9552 * macterm.c (mac_scroll_area): Set foreground and backcolor to
9553 black and white before scrolling. Restore frame background and
9554 foreground color after scrolling.
9555 (do_window_update): Call XClearWindow before calling expose_frame.
9556 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
9557 FRAME_FOREGROUND_PIXEL of frame.
9558
9559 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
9560 test Mac command key as <ALT> key.
9561
9562 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
9563
9564 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
9565
9566 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
9567 Lookup keys in function-key-map immediately so that key-translation-map
9568 can be applied earlier.
9569 Remove function_key_possible and key_translation_possible, replaced
9570 by checking `keytran_start < t'.
9571
9572 * .gdbinit (xsymbol): Use the new `xname' field.
9573
9574 2002-06-17 Andrew Choi <akochoi@shaw.ca>
9575
9576 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
9577 test Mac command key as <ALT> key.
9578
9579 * mac.c (do_applescript): Call initialize_applescript if necessary
9580 when first called. Dispose of result_desc only when there is no error.
9581 (Fdo_applescript): Use %d format specifier instead of %ld.
9582
9583 2002-06-16 Andrew Choi <akochoi@shaw.ca>
9584
9585 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
9586 of FrontWindow for cases keyDown and autoKey.
9587
9588 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
9589 Vdefault_fontset to Monaco with mac-roman coding.
9590
9591 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
9592 init_process before and after inclusion of Carbon/Carbon.h, resp.
9593
9594 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
9595 cursor_gc.
9596 (add_font_name_table_entry): New function.
9597 (init_font_name_table): Use add_font_name_table_entry; add italic,
9598 bold, and bold-italic entries for truetype fonts.
9599
9600 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
9601 for Mac too.
9602 (try_font_list) [MAC_OS]: If no font matches given registry, try
9603 fonts with any registry matching face_family.
9604 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
9605
9606 * s/darwin.h: If autoconf detects the Ncurses library, define
9607 LIBS_TERMCAP to -lncurses to use it.
9608
9609 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
9610
9611 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
9612
9613 2002-06-15 Richard M. Stallman <rms@gnu.org>
9614
9615 * window.c (Fset_window_configuration): Explicitly preserve
9616 the point value that new_current_buffer had at the start.
9617
9618 2002-06-14 Juanma Barranquero <lektu@terra.es>
9619
9620 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
9621 Fix typos.
9622
9623 2002-06-14 Kim F. Storm <storm@cua.dk>
9624
9625 * insdel.c (insert_1_both, insert_from_string_1)
9626 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
9627 insert happened in the end_unchanged region. Otherwise, the
9628 redisplay may be confused and duplicate the last line in the
9629 buffer [seen after save-buffer when require-final-newline==t].
9630
9631 2002-06-13 Jason Rumney <jasonr@gnu.org>
9632
9633 * w32.c (init_environment): Remove EMACSLOCKDIR.
9634 (stat): Swap _S_IFDIR and _S_IFREG.
9635
9636 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9637
9638 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
9639 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
9640 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
9641 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
9642 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
9643 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
9644 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
9645 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
9646 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
9647 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
9648 SELECTION_REQUEST_EVENT, selection_clear_event to
9649 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
9650 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
9651 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
9652 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
9653 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
9654 no_event to NO_EVENT.
9655
9656 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9657
9658 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
9659
9660 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
9661
9662 * intervals.c (textget): Don't forget to `return'.
9663 (lookup_char_property): Use XCAR/XCDR.
9664
9665 2002-06-12 Juanma Barranquero <lektu@terra.es>
9666
9667 * xdisp.c (Fformat_mode_line): Fix typo.
9668
9669 2002-06-12 Kim F. Storm <storm@cua.dk>
9670
9671 * xdisp.c (Fformat_mode_line): New function.
9672 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
9673 (store_frame_title_char, store_frame_title): Use unconditionally.
9674 (init_xdisp): Defsubr Fformat_mode_line.
9675 Initialize frame_title_buf etc. unconditionally.
9676
9677 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
9678
9679 * keyboard.c (read_key_sequence):
9680 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
9681 things through those maps after downcasing events.
9682 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
9683 applies after function-key-map.
9684 Make sure that keytran can be done in the middle in the sequence.
9685 Be careful not to throw away events past the one we downcase.
9686
9687 * lread.c (read_integer): Remove unused var `tem'.
9688 (read1): Fix int/Lisp_Object mixup.
9689
9690 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
9691
9692 2002-06-11 Richard M. Stallman <rms@gnu.org>
9693
9694 * keyboard.c (readable_events): Ignore any number of
9695 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
9696
9697 2002-06-09 Miles Bader <miles@gnu.org>
9698
9699 * xfaces.c (Ftty_supports_face_attributes_p): New function.
9700 (parse_rgb_list, tty_lookup_color): New functions.
9701 (tty_defined_color): Use `tty_lookup_color' to do all the work.
9702 (color_distance, Fcolor_distance): New functions.
9703 (TTY_SAME_COLOR_THRESHOLD): New macro.
9704 (Qtty_color_standard_values): New variable.
9705 (syms_of_xfaces): Initialize new vars & functions.
9706
9707 2002-06-08 Colin Walters <walters@verbum.org>
9708
9709 * textprop.c (Vchar_property_alias_alist): New variable.
9710 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
9711
9712 * intervals.c (lookup_char_property): New function for looking up
9713 overlay and text properties, created from textget.
9714 (textget): Use it.
9715
9716 * intervals.h (lookup_char_property): Declare.
9717 (Vchar_property_alias_alist): Declare.
9718
9719 * buffer.c (Foverlay_get): Use lookup_char_property.
9720
9721 2002-06-07 Sam Steingold <sds@gnu.org>
9722
9723 * xselect.c (lisp_data_to_selection_data): Fix last change:
9724 *data_ret is not a Lisp string, while unibyte_string is.
9725
9726 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
9727
9728 * xselect.c (lisp_data_to_selection_data): Fix last change:
9729 set size_ret.
9730
9731 2002-06-07 Andreas Schwab <schwab@suse.de>
9732
9733 * m/amdx86-64.h: New file.
9734
9735 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
9736
9737 * fns.c (Fstring_make_unibyte): Doc fix.
9738
9739 * xselect.c (lisp_data_to_selection_data): If the requested type
9740 is STRING, call string_make_unibyte to encode the selected text
9741 as a string.
9742
9743 * window.c (Fset_window_hscroll): Doc fix.
9744
9745 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9746
9747 * fileio.c (choose_write_coding_system):
9748 Call select-safe-coding-system properly.
9749
9750 2002-06-03 Richard M. Stallman <rms@gnu.org>
9751
9752 * xdisp.c (message_with_string): Error if STRING is not a string.
9753
9754 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
9755
9756 * fileio.c (choose_write_coding_system): Pass FILE arg to
9757 Vselect_safe_coding_system_function.
9758
9759 2002-06-03 Ken Raeburn <raeburn@gnu.org>
9760
9761 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
9762
9763 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
9764
9765 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
9766 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
9767 * keymap.c (describe_command): Likewise.
9768 * minibuf.c (read_minibuf): Likewise.
9769
9770 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
9771 Cast `current_column' return value to int.
9772 (back_to_previous_visible_line_start)
9773 (reseat_at_next_visible_line_start, next_element_from_buffer):
9774 Cast `indented_beyond_p' 3rd arg to float.
9775
9776 * indent.c (last_known_column): Now a float.
9777 (current_column_1, position_indentation, current_column)
9778 (string_display_width): Return float.
9779 (Fcurrent_column): Cast `current_column' return value to int.
9780 (Fcurrent_indentation): Cast `position_indentation' retval to int.
9781 (indented_beyond_p): Third arg now a float.
9782 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
9783
9784 * lisp.h (current_column): Now returns float.
9785 (indented_beyond_p): 3rd arg now a float.
9786
9787 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
9788
9789 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
9790 is Qcompound_text_with_extensions.
9791
9792 * xselect.c (lisp_data_to_selection_data): Always set selection
9793 type as string if x_encode_text returns streingp non-NULL.
9794
9795 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
9796
9797 2002-05-30 Richard M. Stallman <rms@gnu.org>
9798
9799 * window.c (Fset_window_configuration): Correct the handling
9800 of point in current buffer, to work with multiple windows.
9801
9802 2002-05-29 Colin Walters <walters@verbum.org>
9803
9804 * lread.c (Fread_from_string): Don't depend on order of evaluation
9805 for C function parameters.
9806
9807 2002-05-28 Richard M. Stallman <rms@gnu.org>
9808
9809 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
9810 way for blinked-off state and for a nonselected window.
9811
9812 * window.c (window_scroll_pixel_based): Don't call Fbolp;
9813 instead, see if the new start pos is at beginning of line.
9814
9815 * fileio.c (Fwrite_region): If START is a string, don't
9816 make any annotations.
9817
9818 * eval.c (syms_of_eval): Doc fix.
9819
9820 2002-05-28 Colin Walters <walters@debian.org>
9821
9822 * emacs.c (USAGE1): Add --no-splash.
9823 (standard_args): Ditto.
9824
9825 2002-05-28 Colin Walters <walters@gnu.org>
9826
9827 * lread.c (readchar_count): New variable.
9828 (readchar): Increment it.
9829 (unreadchar): Decrement it.
9830 (read_multibyte): Decrement it.
9831 (Vread_with_symbol_positions): New variable.
9832 (Vread_symbol_positions_list): New variable.
9833 (read_internal_start): New function, created from Fread and
9834 Fread_from_string. Handle Vread_symbol_positions_list and
9835 Vread_with_symbol_positions.
9836 (readevalloop, Fread, Fread_from_string): Use it.
9837 (read1): Use readchar_count to add symbol positions to
9838 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
9839 (syms_of_lread): DEFVAR_LISP and initialize them.
9840
9841 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
9842 (substitute_object_recurse, substitute_object_in_subtree)
9843 (substitute_in_interval): Prototype.
9844 (read_multibyte): Return c if it's less than zero.
9845
9846 2002-05-28 Kim F. Storm <storm@cua.dk>
9847
9848 * fileio.c (Fread_file_name_internal): Added brute-force
9849 speed up for using predicate file-directory-p.
9850
9851 2002-05-28 Kim F. Storm <storm@cua.dk>
9852
9853 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
9854 New variables.
9855 (syms_of_fileio): DEFVAR_LISP them.
9856 (read_file_name_cleanup): New unwind function.
9857 (Fread_file_name_internal): Only return completions satifying
9858 Vread_file_name_predicate. Temporarily unwind protect and rebind
9859 default-directory while checking completions against the predicate.
9860 (Fread_file_name): Added PREDICATE argument. Specbind it to
9861 Vread_file_name_predicate during completion.
9862 Call Vread_file_name_function to read the file name if non-nil.
9863
9864 * lisp.h (Fread_file_name): Now has 6 args.
9865
9866 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
9867 predicate for Fread_file_name when reading directory name.
9868 Supply Qnil for predicate in other calls to Fread_file_name.
9869
9870 2002-05-26 Miles Bader <miles@gnu.org>
9871
9872 * term.c (tty_capable_p): New function.
9873 * dispextern.h (tty_capable_p): New function declaration.
9874 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
9875 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
9876
9877 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
9878
9879 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
9880 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
9881 (Vwrite_region_annotate_functions): Docstring fix.
9882
9883 2002-05-23 Kim F. Storm <storm@cua.dk>
9884
9885 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
9886 phys_cursor's hpos is overwritten. This is still not completely
9887 correct, as it doesn't really make sense to use hpos at all to
9888 get the cursor glyph (as that is relative to the width of the
9889 characters on the line, which may have changed during the update).
9890
9891 2002-05-22 Jason Rumney <jasonr@gnu.org>
9892
9893 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
9894 Lisp_Object.
9895 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
9896 Use modified enumfont_t struct.
9897
9898 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
9899
9900 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
9901 Handle the `hbar' cursor type.
9902 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
9903
9904 * w32fns.c (Qhbar): New variable.
9905 (x_specified_cursor_type): Use it.
9906
9907 2002-05-21 Ken Raeburn <raeburn@gnu.org>
9908
9909 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
9910 now, when the address is needed.
9911
9912 2002-05-21 Colin Walters <walters@gnu.org>
9913
9914 * Makefile.in (shortlisp): Add font-core.el.
9915
9916 2002-05-20 Richard M. Stallman <rms@gnu.org>
9917
9918 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
9919
9920 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
9921 equivalent key bindings here.
9922
9923 2002-05-20 Ken Raeburn <raeburn@gnu.org>
9924
9925 Change symbol structure to contain a lisp object for the symbol
9926 name:
9927 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
9928 object field named "xname".
9929 (SYMBOL_NAME): New macro.
9930 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
9931 name field.
9932 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
9933 (mark_object, gc_sweep): Use symbol xname field and XSTRING
9934 instead of name field.
9935 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
9936 SYMBOL_NAME instead of XSYMBOL and name field.
9937 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
9938 instead of XSYMBOL and name field.
9939 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
9940 and SYMBOL_NAME instead of XSYMBOL and name field.
9941 * coding.c (Fread_coding_system, code_convert_region1)
9942 (code_convert_string1, code_convert_string_norecord)
9943 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
9944 XSYMBOL and name field.
9945 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
9946 (Fmake_variable_buffer_local, Fmake_local_variable)
9947 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
9948 of XSYMBOL and name field.
9949 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
9950 XSYMBOL and name field.
9951 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
9952 instead of XSYMBOL and name field.
9953 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
9954 XSYMBOL and name field.
9955 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
9956 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
9957 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
9958 instead of XSYMBOL and name field.
9959 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
9960 (parse_modifiers, apply_modifiers, Fevent_convert_list)
9961 (parse_solitary_modifier, Fexecute_extended_command):
9962 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
9963 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
9964 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
9965 of XSYMBOL and name field.
9966 (describe_command, describe_translation): Use SYMBOL_NAME and
9967 assignment instead of XSYMBOL and name field and XSETSTRING.
9968 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
9969 instead of XSYMBOL and name field.
9970 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
9971 name field and XSETSTRING.
9972 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
9973 of XSYMBOL and name field.
9974 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
9975 assignment instead of XSYMBOL and name field and XSETSTRING.
9976 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
9977 XSTRING instead of XSYMBOL and name field.
9978 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
9979 and XSTRING instead of XSYMBOL and name field.
9980 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
9981 and XSTRING instead of XSYMBOL and name field.
9982 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
9983 XSTRING instead of XSYMBOL and name field.
9984 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
9985 of XSYMBOL and name field.
9986 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
9987 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
9988
9989 2002-05-19 Ken Raeburn <raeburn@gnu.org>
9990
9991 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
9992 and XCDR real rvalues in most configurations.
9993
9994 * buffer.c (fix_overlays_in_range, fix_overlays_before):
9995 Don't take the address of the cdr part of a cons cell; instead, track
9996 the parent cell and call XSETCDR, or set the variable for the head
9997 of the list if we haven't started down the list yet.
9998
9999 2002-05-19 Richard M. Stallman <rms@gnu.org>
10000
10001 * doc.c (reread_doc_file): Don't ask for confirmation.
10002
10003 2002-05-18 Jason Rumney <jasonr@gnu.org>
10004
10005 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
10006 (xbm_load_image): Use it.
10007 (xbm_load): Ditto.
10008 (xbm_read_bitmap_data): Reverted to xfns.c version.
10009 From David Ponce <david@dponce.com>.
10010
10011 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
10012
10013 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
10014 2.02 and later.
10015
10016 2002-05-16 Juanma Barranquero <lektu@terra.es>
10017
10018 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
10019
10020 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
10021
10022 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
10023 meaningful test.
10024 (read_char_minibuf_menu_prompt): Fix typo.
10025
10026 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10027
10028 * eval.c (Fcommandp): Doc fix.
10029
10030 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
10031
10032 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
10033 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
10034 (Fset_keymap_parent): Gcpro a bit more.
10035 (access_keymap): Gcpro around meta_map call and around the main loop.
10036 (get_keyelt): Gcpro when following indirect references.
10037 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
10038 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
10039 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
10040 Remove useless ad-hoc remap code.
10041
10042 2002-05-13 Richard M. Stallman <rms@gnu.org>
10043
10044 * search.c (search_buffer): Give up boyer moore search if inverse
10045 translation change charset_base.
10046
10047 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
10048
10049 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
10050 characters is carried over from the previous block of text, adjust
10051 coding->produced to account for the extra character.
10052
10053 2002-05-11 Andreas Schwab <schwab@suse.de>
10054
10055 * coding.c (intersection): Keep the elements of the returned list
10056 in the same order as in the first list.
10057
10058 2002-05-11 Kim F. Storm <storm@cua.dk>
10059
10060 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
10061 only update cmm_size if realloc actually succeeds.
10062 Testing with initial size of 2 elements revealed that using
10063 realloc on GNU/Linux would cause a random trap in xmalloc
10064 later on, so I rewrote the code to use malloc/bcopy/free instead
10065 of realloc.
10066
10067 2002-05-10 Jason Rumney <jasonr@gnu.org>
10068
10069 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
10070
10071 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
10072
10073 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
10074 parens, to ensure correct evaluation order.
10075
10076 2002-05-10 Kim F. Storm <storm@cua.dk>
10077
10078 * keymap.c (Vemulation_mode_map_alists): New variable.
10079 (syms_of_keymap): DEFVAR_LISP it.
10080 (current_minor_maps): Process keymap alists in that list before
10081 minor-mode-overriding-map-alist and minor-mode-map-alist.
10082
10083 2002-05-09 Richard M. Stallman <rms@gnu.org>
10084
10085 * search.c (Freplace_match): Doc fix.
10086
10087 2002-05-09 Kim F. Storm <storm@cua.dk>
10088
10089 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
10090 Enlarge cursor rectangle drawn around image with non-zero relief.
10091
10092 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
10093 Enlarge cursor rectangle drawn around image with non-zero relief.
10094
10095 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
10096 Enlarge cursor rectangle drawn around image with non-zero relief.
10097
10098 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
10099
10100 * xselect.c (lisp_data_to_selection_data): Don't set selection
10101 type if comes from the Lisp object's car. If the selection
10102 contains a pure ASCII text, always return QSTRING as its type.
10103
10104 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10105
10106 * mac.c (mac-cut-function): Doc fix.
10107
10108 2002-05-05 Richard M. Stallman <rms@gnu.org>
10109
10110 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
10111
10112 2002-05-04 Jason Rumney <jasonr@gnu.org>
10113
10114 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
10115 for event-click-count.
10116
10117 * process.c (init_process): Only add server subfeature if we can
10118 use non-blocking I/O.
10119
10120 2002-05-04 Andrew Choi <akochoi@shaw.ca>
10121
10122 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
10123 repeatedly.
10124
10125 2002-05-03 Jason Rumney <jasonr@gnu.org>
10126
10127 * process.c (Fmake_network_process): Only support server sockets
10128 when we can make them non-blocking.
10129
10130 * s/ms-w32.h (HAVE_SELECT): Define.
10131
10132 * w32.h (FILE_NDELAY): New flag.
10133
10134 * w32.c (sys_getpeername, fcntl): New functions.
10135 (_sys_read_ahead): Temporarily block on non-blocking sockets.
10136
10137 * w32proc.c: include sys/file.h.
10138
10139 2002-05-03 Colin Walters <walters@verbum.org>
10140
10141 * callproc.c (Vgame_score_directory): Renamed to
10142 Vshared_game_score_directory.
10143
10144 2002-04-30 Richard M. Stallman <rms@gnu.org>
10145
10146 * s/gnu.h [emacs]: Include stdio.h.
10147 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
10148
10149 * eval.c (do_autoload): Error if called while preparing to dump.
10150
10151 * fns.c (Frequire): Error if need to load while preparing to dump.
10152
10153 2002-04-28 Colin Walters <walters@verbum.org>
10154
10155 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
10156 Default to "~/.emacs.d/games".
10157
10158 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
10159
10160 * lread.c (openp): Change arg exec_only to predicate.
10161 (build_load_history): Use XCAR/XCDR.
10162 (Flocate_file_internal): New fun.
10163 (syms_of_lread): Defsubr it.
10164 (Fload): Update call to openp.
10165
10166 * lisp.h (openp): Update prototype.
10167
10168 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
10169 * w32proc.c (sys_spawnve):
10170 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
10171 * w32.c (check_windows_init_file):
10172 * sound.c (Fplay_sound_internal):
10173 * process.c (Fstart_process):
10174 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
10175 * mac.c (run_mac_command):
10176 * emacs.c (init_cmdargs):
10177 * callproc.c (Fcall_process): Update call to openp.
10178
10179 * textprop.c (remove_properties): Don't use XCAR without CONSP.
10180
10181 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
10182
10183 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10184
10185 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
10186 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
10187
10188 2002-04-28 Richard M. Stallman <rms@gnu.org>
10189
10190 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
10191
10192 * eval.c (Fcommandp): New arg for_call_interactively.
10193 * lisp.h (Fcommandp): Declare new arg.
10194
10195 2002-04-28 Jason Rumney <jasonr@gnu.org>
10196
10197 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
10198
10199 * w32.c (stat, fstat): Use file index information to generate
10200 inodes for directories where available.
10201
10202 2002-04-26 Andrew Choi <akochoi@shaw.ca>
10203
10204 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
10205 [HAVE_CARBON]: Include Mac object files.
10206
10207 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
10208 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
10209 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
10210 MAC_OSX, and MAC_OS instead of macintosh.
10211
10212 * editfns.c [MAC_OS8]: Include stdio.h.
10213
10214 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
10215
10216 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
10217 Apple Monaco.
10218
10219 * process.c: Declare QCfamily and QCfilter as extern.
10220 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
10221 calling select.
10222
10223 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
10224
10225 * tparam.c [MAC_OSX]: Don't define BC and UP.
10226
10227 * config.in [HAVE_CARBON]: Add.
10228
10229 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
10230 Move here from mac/src and mac/inc.
10231
10232 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
10233
10234 2002-04-26 Gerd Moellmann <gerd@gnu.org>
10235
10236 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
10237 Compute phys_cursor_width from the x position returned
10238 by x_draw_glyhs, which is cheaper.
10239 (x_display_and_set_cursor): Compute the buffer-local value
10240 of `cursor-in-non-selected-windows' only when needed.
10241
10242 2002-04-25 Gerd Moellmann <gerd@gnu.org>
10243
10244 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
10245 cursor on a stretch glyph has a width that depends on
10246 x_stretch_cursor_p.
10247
10248 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10249
10250 * abbrev.c (abbrev-start-location): Doc fix.
10251
10252 * indent.c (Fvertical_motion): Fix last change.
10253
10254 2002-04-25 Gerd Moellmann <gerd@gnu.org>
10255
10256 * indent.c (Fvertical_motion): Move to the start of the line
10257 containing PT before moving up or down.
10258
10259 2002-04-24 Gerd Moellmann <gerd@gnu.org>
10260
10261 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
10262 case of writing a whole row, more or less analogous to the case of
10263 writing only parts of a row.
10264
10265 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
10266 0 for NO_CURSOR.
10267
10268 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
10269
10270 2002-04-23 Colin Walters <walters@verbum.org>
10271
10272 * buffer.c (syms_of_buffer): Doc fix.
10273
10274 2002-04-23 Gerd Moellmann <gerd@gnu.org>
10275
10276 * xterm.c (notice_overwritten_cursor): Handle the special case
10277 of the cursor being in the first blank non-text line at the
10278 end of a window.
10279
10280 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
10281 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
10282 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
10283 bar cursors only, to make phys_cursor_width contain what its name
10284 suggests.
10285 (notice_overwritten_cursor): Consider the cursor image erased if
10286 the output area intersects the cursor image in y-direction.
10287
10288 2002-04-23 Simon Marshall <simon@gnu.org>
10289
10290 * xfns.c (x_set_mouse_color): Change default for cross_cursor
10291 to XC_hand2.
10292
10293 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10294
10295 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
10296
10297 2002-04-22 Kim F. Storm <storm@cua.dk>
10298
10299 * textprop.c (remove_properties): Fixed trap for malformed plist.
10300
10301 2002-04-22 Richard M. Stallman <rms@gnu.org>
10302
10303 * cmds.c (Fend_of_line): Handle intangible text in mid line.
10304
10305 * window.c (make_window): Initialize height_fixed_p,
10306 last_cursor_off_p, and p->cursor_off_p slots.
10307
10308 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10309
10310 * fns.c (use-dialog-box): Doc fix.
10311
10312 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10313
10314 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
10315 variables `row', `i' and `area'.
10316 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
10317 toolkit library.
10318
10319 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
10320
10321 * xfaces.c (clear_font_table): Don't free the default font of
10322 a frame even if it's on another display.
10323 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
10324 that could be Qt.
10325
10326 2002-04-19 Juanma Barranquero <lektu@terra.es>
10327
10328 * indent.c (Fmove_to_column): Remove unused local variable
10329 `next_boundary_byte'.
10330 (current_column_1): Likewise.
10331
10332 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
10333
10334 * msdos.c (Qhbar): New variable.
10335 (syms_of_msdos): Intern and staticpro it.
10336 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
10337 cursor type.
10338
10339 2002-04-19 Dave Lambert <dlambert@acm.org>
10340
10341 Theses change implement an underscore-like (`hbar') cursor.
10342
10343 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
10344
10345 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
10346 Handle the `hbar' cursor type.
10347 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
10348
10349 * xfns.c (Qhbar): New variable.
10350 (syms_of_xfns): Intern and staticpro it.
10351 (x_specified_cursor_type): Handle `hbar' cursor.
10352
10353 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
10354 not defined.
10355
10356 2002-04-18 Richard M. Stallman <rms@gnu.org>
10357
10358 * textprop.c (remove_properties): New arg LIST allows scanning
10359 either a list or a plist.
10360 (interval_has_some_properties_list): New function, like
10361 interval_has_some_properties using list instead of plist.
10362 All callers changed.
10363 (Fremove_list_of_text_properties): New function.
10364 (syms_of_textprop): Defsubr it.
10365
10366 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
10367
10368 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
10369
10370 2002-04-17 Juanma Barranquero <lektu@terra.es>
10371
10372 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
10373
10374 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
10375
10376 * window.c (coordinates_in_window): Don't report on margin area
10377 if its width is zero.
10378
10379 2002-04-16 Jason Rumney <jasonr@gnu.org>
10380
10381 * w32fns.c (Fx_file_dialog): Decode file name before using.
10382
10383 * w32term.c (construct_drag_n_drop): Likewise.
10384
10385 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
10386
10387 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
10388 store load-history in pure space.
10389
10390 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
10391
10392 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
10393
10394 * xterm.c (Qlatin_1, Qutf_8): New vars.
10395 (syms_of_xterm): Initialize them.
10396 (XTread_socket): Eliminate incorrect optimization that tried to avoid
10397 decoding the output of X*LookupString.
10398 Always use latin-1 to decode the output of XLookupString.
10399 Try Xutf8LookupString if XmbLookupString failed.
10400
10401 * region-cache.c (new_region_cache): Use BEG.
10402
10403 2002-04-16 Gerd Moellmann <gerd@gnu.org>
10404
10405 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
10406 configuration files.
10407 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
10408 returns 0.
10409
10410 2002-04-15 Andreas Schwab <schwab@suse.de>
10411
10412 * config.in: Regenerated using autoheader.
10413
10414 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
10415 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
10416 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
10417 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
10418 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
10419 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
10420 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
10421 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
10422 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
10423 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
10424 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
10425 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
10426 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
10427 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
10428 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
10429 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
10430 STACK_DIRECTION, now set by autoconf.
10431
10432 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10433
10434 * dispnew.c (marginal_area_string): Sort arguments.
10435
10436 * dispextern.h (marginal_area_string): Add prototype.
10437
10438 2002-04-13 Richard M. Stallman <rms@gnu.org>
10439
10440 * fileio.c (Finsert_file_contents):
10441 Don't call temp_output_buffer_setup--do just part, by hand.
10442
10443 * coding.c (run_pre_post_conversion_on_str):
10444 Don't call temp_output_buffer_setup--do just part, by hand.
10445
10446 * keyboard.c (command_loop_1): Don't call start_hourglass
10447 or cancel_hourglass when executing a macro.
10448
10449 * marker.c (count_markers): New function.
10450
10451 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
10452 grow without limit. Move recently used elements to the front.
10453
10454 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10455
10456 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
10457
10458 2002-04-12 Gerd Moellmann <gerd@gnu.org>
10459
10460 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
10461 rows marginal areas.
10462 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
10463 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10464
10465 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
10466
10467 2002-04-12 Dave Love <fx@gnu.org>
10468
10469 * dispnew.c (marginal_area_string): New.
10470
10471 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
10472 (Qleft_margin, Qright_margin): Declare.
10473 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
10474
10475 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
10476 note_mode_line_highlight and extended.
10477
10478 * keyboard.c (Qleft_margin, Qright_margin): Declare.
10479 (make_lispy_event): Deal with mouse events in margins.
10480
10481 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
10482
10483 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
10484
10485 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
10486 than deactivating the mark if tmm is set to `lambda'.
10487 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
10488 Use a single event for HELP_EVENT.
10489 (Fexecute_extended_command): Save last_point_position.
10490
10491 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10492
10493 * lisp.h (Fpropertize): Add prototype.
10494
10495 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
10496
10497 2002-04-10 Colin Walters <walters@verbum.org>
10498
10499 * config.in: Add HAVE_SHARED_GAME_DIR.
10500
10501 * callproc.c: (Vgame_score_directory): New variable.
10502 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
10503
10504 2002-04-10 Richard M. Stallman <rms@gnu.org>
10505
10506 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
10507
10508 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
10509
10510 * minibuf.c (read_minibuf): Use empty_string.
10511 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
10512 Short-circuit the search as soon as it "failed".
10513 (Fall_completions): Allow lambda forms and lists of strings for alist.
10514 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
10515 when require_match is nil.
10516 (Ftest_completion): Rename from `test_completion' and export to elisp.
10517 Call the predicate also when alist is a list.
10518 Obey Vcompletion_regexp_list.
10519 (do_completion, Fminibuffer_complete_and_exit): Use it.
10520 (Fassoc_string): Rename from `assoc_for_completion'.
10521 Allow list of strings as well and export to elisp.
10522
10523 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
10524
10525 * puresize.h (BASE_PURESIZE): Increase to 900KB.
10526
10527 2002-04-08 Juanma Barranquero <lektu@terra.es>
10528
10529 * w32.c (sys_accept): Don't hide variable `s'.
10530
10531 2002-04-05 Gerd Moellmann <gerd@gnu.org>
10532
10533 * callint.c (Fcall_interactively): Use INTEGERP instead of
10534 NUMBERP for checking Vhistory_length.
10535
10536 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10537
10538 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
10539 Doc fix to reflect it.
10540
10541 2002-04-04 Richard M. Stallman <rms@gnu.org>
10542
10543 * xdisp.c (display_mode_element): New arg RISKY.
10544 Disregard text props found or specified within a variable
10545 that isn't marked risky-local-variable.
10546 (Qrisky_local_variable): New variable.
10547 (syms_of_xdisp): Init and staticpro it.
10548
10549 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
10550
10551 * undo.c (record_point): New fun.
10552 (record_delete, record_insert): Use it.
10553
10554 2002-04-03 Juanma Barranquero <lektu@terra.es>
10555
10556 * doc.c (Fdocumentation): Add missing parentheses.
10557 (Fdocumentation_property): Likewise.
10558
10559 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
10560
10561 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
10562 data is 0, just return nil.
10563
10564 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
10565
10566 * msdos.c (syms_of_msdos): Fix last change with
10567 mouse_autoselect_window.
10568
10569 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10570
10571 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
10572 mouse_autoselect_window.
10573
10574 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
10575
10576 * keyboard.c (make_lispy_event): Handle unknown keysyms together
10577 with system-specific keysyms. Use it also for unknown function keys.
10578
10579 * doc.c (reread_doc_file): Return whether reload was attempted.
10580 (Fdocumentation, Fdocumentation_property): Don't try to reload
10581 if the doc is 0 and only ask once.
10582
10583 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
10584
10585 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
10586
10587 * keyboard.c (read_char): If the event was Qselect_window,
10588 restore timer_idleness_start_time to its previous value.
10589
10590 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
10591
10592 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
10593
10594 * region-cache.c (new_region_cache): Use BEG.
10595
10596 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
10597 Use BEG and BEG_BYTE.
10598
10599 * doc.c (get_doc_string): Return nil if the location is wrong.
10600 (reread_doc_file): New fun.
10601 (Fdocumentation, Fdocumentation_property):
10602 Call it if get_doc_string fails.
10603 (Fsnarf_documentation): Make it work for a dumped Emacs.
10604
10605 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
10606 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
10607
10608 * charset.c (Fstring): Allow 0 arguments.
10609
10610 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
10611
10612 * process.c (DATAGRAM_CONN_P, list_processes_1)
10613 (Fprocess_datagram_address, Fset_process_datagram_address)
10614 (Fset_network_process_options, server_accept_connection):
10615 Fix some int/Lisp_Object confusions (thank you union types).
10616
10617 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10618
10619 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
10620
10621 * w32term.c: Likewise.
10622 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
10623
10624 * keyboard.c (Qselect_window): New symbol.
10625 (head_table): Use it.
10626 (keys_of_keyboard): Bound select-window event to handle-select-window.
10627 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
10628
10629 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
10630 (last_window): New variable.
10631 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
10632 (note_mouse_movement): Remove reimplemented code in #if 0.
10633 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
10634 Emacs windows.
10635
10636 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
10637
10638 2002-03-31 Gerd Moellmann <gerd@gnu.org>
10639
10640 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
10641 Callers changed.
10642
10643 2002-03-30 Richard M. Stallman <rms@gnu.org>
10644
10645 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
10646 loop whenever it stops making progress.
10647
10648 * widget.c (set_frame_size): Don't call change_frame_size.
10649
10650 2002-03-30 Gerd Moellmann <gerd@gnu.org>
10651
10652 * dispnew.c (direct_output_for_insert):
10653 Call mark_window_display_accurate.
10654
10655 2002-03-29 Jason Rumney <jasonr@gnu.org>
10656
10657 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
10658
10659 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
10660
10661 * Makefile.in (lread.o): Depend on coding.h.
10662
10663 * lread.c (openp, Fload): Encode the file name before passing it
10664 to `stat', `access', and `emacs_open'.
10665 (openp): GCPRO the encoded file name. Don't recompute Lisp
10666 strings unnecessarily.
10667
10668 2002-03-29 Kim F. Storm <storm@cua.dk>
10669
10670 * fns.c (Flax_plist_put): Doc fix.
10671
10672 2002-03-28 Miles Bader <miles@gnu.org>
10673
10674 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
10675
10676 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10677
10678 * process.c (set-network-process-options): Add usage.
10679 (make-network-process): Doc fix.
10680
10681 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
10682
10683 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
10684
10685 2002-03-26 Richard M. Stallman <rms@gnu.org>
10686
10687 * fns.c (Fsubstring_no_properties): New function.
10688 (Flax_plist_get, Flax_plist_put): New functions.
10689 (syms_of_fns): defsubr them.
10690
10691 * xdisp.c (update_menu_bar): Test only update_mode_lines;
10692 don't test or alter w->update_mode_line.
10693
10694 * window.c (Fdisplay_buffer): Doc fix.
10695
10696 2002-03-24 Richard M. Stallman <rms@gnu.org>
10697
10698 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
10699
10700 2002-03-24 Gerd Moellmann <gerd@gnu.org>
10701
10702 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
10703 (Fdefmacro): Handle `(declare ...)'.
10704 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
10705 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
10706
10707 2002-03-24 Jason Rumney <jasonr@gnu.org>
10708
10709 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
10710 (xbm_file_p): Add prototypes.
10711 (xbm_format, xbm_image_p): Sync with xfns.c.
10712 (reflect_byte): New function.
10713 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
10714 (xbm_load_image): Create bitmaps with a depth of 1.
10715 (init_xfns): Enable XBM images.
10716
10717 2002-03-23 Jason Rumney <jasonr@gnu.org>
10718
10719 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
10720 correctly. Do not pass up_modifier to keyboard buffer.
10721
10722 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
10723
10724 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
10725
10726 * Makefile.in (bootstrapclean): New target.
10727 (bootstrap-temacs, bootstrap-doc): Remove.
10728 (bootstrap-emacs): Use a bog-standard `temacs'.
10729 Don't bother to build a DOC file.
10730
10731 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
10732
10733 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
10734 in temacs even if !CANNOT_DUMP.
10735 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
10736
10737 * alloc.c (check_pure_size): Only output a warning.
10738
10739 2002-03-22 Jason Rumney <jasonr@gnu.org>
10740
10741 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
10742 supported.
10743
10744 * w32term.c (zv_bits): Declare as short, for word alignment.
10745 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
10746 (syms_of_w32term): Define x-use-underline-position-properties.
10747
10748 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
10749 (clear_image_cache): Block input, fix logic, clear matrices in
10750 all frames that share this cache.
10751
10752 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
10753
10754 * emacs.c (main): Update the Copyright year in the blurb printed
10755 by "emacs --version".
10756
10757 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
10758
10759 * xterm.c (XTread_socket): If XK_ISO_Lock and
10760 XK_ISO_Last_Group_Lock are defined, handle keysyms between
10761 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
10762
10763 2002-03-21 Kim F. Storm <storm@cua.dk>
10764
10765 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
10766 menu-bar bindings in keymap and local-map properties _are_ used.
10767 But try keymap property first in accordance with 2002-01-03 patch.
10768 Added comment describing why this is not always reliable.
10769 (tool_bar_items): Ditto for tool-bar.
10770
10771 2002-03-21 Jason Rumney <jasonr@gnu.org>
10772
10773 * w32fns.c (x_clear_image_1): Disable color table code.
10774
10775 2002-03-21 Kim F. Storm <storm@cua.dk>
10776
10777 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
10778 removed the wrong version of the DEFUN macro; fixed it.
10779
10780 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
10781 Fmember rather than Fmemq).
10782 (Fprovide): Check that subfeatures is a list.
10783
10784 * process.c (QCfeature, QCdatagram): Removed variables.
10785 (QCtype, Qdatagram): New variables.
10786 (network_process_featurep): Removed function.
10787 (Fmake_network_process): Removed :feature check.
10788 Use :type 'datagram instead of :datagram t to create a datagram
10789 socket. This allows us to add other connection types (e.g. raw
10790 sockets) later in a consistent manner.
10791 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
10792 supported subfeatures for feature make-network-process.
10793 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
10794 Intern and staticpro QCtype and Qdatagram.
10795 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
10796
10797 * xfns.c: (QCtype): Remove duplicate declaration and
10798 initialization (is now declared in process.c).
10799
10800 * w32fns.c: (QCtype): Remove duplicate declaration and
10801 initialization (is now declared in process.c).
10802
10803 2002-03-21 Richard M. Stallman <rms@gnu.org>
10804
10805 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
10806 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
10807 when jumping to `fail' to avoid undoing reg changes in the
10808 last iteration of the loop.
10809 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
10810
10811 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
10812 Depend on process.h.
10813
10814 2002-03-20 Jason Rumney <jasonr@gnu.org>
10815
10816 Most of the following changes are still conditional on HAVE_IMAGES
10817 which is not set by default on Windows.
10818
10819 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
10820
10821 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
10822 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
10823 (four_corners_best, x_clear_image_1, x_clear_image)
10824 (x_alloc_image_color, postprocess_image)
10825 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
10826 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
10827 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
10828
10829 * w32gui.h (struct XImage): Define.
10830
10831 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
10832 extract mouse co-ordinates.
10833
10834 2002-03-20 Jason Rumney <jasonr@gnu.org>
10835
10836 * w32.c (init_winsock): Dynamically load new server and UDP
10837 socket functions.
10838 (socket_to_fd): New function.
10839 (sys_socket): Use it.
10840 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
10841 (sys_recvfrom, sys_sendto): New wrapper functions.
10842
10843 * process.c (QCfamily, QCfilter): Remove duplicate declaration
10844 and initialization.
10845
10846 * makefile.w32-in (LIBS): Remove $(WSOCK32).
10847
10848 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
10849
10850 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
10851 Don't use "sun" as a variable, it's a predefined constant on Sun
10852 machines.
10853
10854 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10855
10856 * bytecode.c (Fbyte_code): Revert last change.
10857
10858 2002-03-19 Kim F. Storm <storm@cua.dk>
10859
10860 * makefile.w32-in (LIBS): Add $(WSOCK32).
10861 From David Ponce <dponce@voila.fr>.
10862
10863 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10864
10865 * process.c (wait_reading_process_input): Move variables `pname'
10866 and `pnamelen' down where they are used.
10867
10868 * bytecode.c (Fbyte_code): Discard unused computed value to
10869 prevent gcc warning.
10870
10871 * lisp.h (Fplist_member): Add prototype.
10872
10873 2002-03-18 Kim F. Storm <storm@cua.dk>
10874
10875 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
10876 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
10877
10878 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
10879 Remove explicit GNU_LINUX settings for datagram support.
10880
10881 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10882
10883 * process.c (Fmake_network_process): Remove unused variable `sa'.
10884 Doc fix. Add usage:.
10885 (set_socket_options): Remove unused variables `optnum' and `opttype'.
10886
10887 2002-03-17 Richard M. Stallman <rms@gnu.org>
10888
10889 * xdisp.c (cursor_type_changed): New variable.
10890 (redisplay_internal): Redisplay all windows if cursor_type_changed.
10891 Clear it when clearing windows_or_buffers_changed.
10892 (try_cursor_movement, redisplay_window, try_window_id)
10893 (try_window_reusing_current_matrix): Test cursor_type_changed
10894 along with windows_or_buffers_changed.
10895
10896 * window.h (cursor_type_changed): New variable.
10897
10898 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
10899 not update_mode_lines, and always set it to 1.
10900
10901 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
10902 if no frames needed redrawing.
10903
10904 2002-03-17 Kim F. Storm <storm@cua.dk>
10905
10906 The following changes add support for network server processes,
10907 datagram connections, and local (unix) sockets.
10908
10909 * process.h (struct Lisp_Process): New member log.
10910 Doc fix: Member command used to indicate stopped network process.
10911 Doc fix: Member childp contains plist for network process.
10912 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
10913
10914 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
10915 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
10916 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
10917 New variables.
10918 (NETCONN1_P): New macro.
10919 (DATAGRAM_SOCKETS): New conditional symbol.
10920 (datagram_address): New array.
10921 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
10922 (status_message): Use concat3.
10923 (Fprocess_status): Add `listen' status to doc string. Return `stop'
10924 for a stopped network process.
10925 (Fset_process_buffer): Update contact plist for network process.
10926 (Fset_process_filter): Ditto. Don't enable input for stopped
10927 network processes. Server must listen, even if filter is t.
10928 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
10929 New functions.
10930 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
10931 (Fprocess_contact): Added KEY argument. Handle datagrams.
10932 (list_processes_1): Optionally show only processes with the query
10933 on exit flag set. Dynamically adjust column widths. Omit tty
10934 column if not needed. Report stopped network processes.
10935 Identify server and datagram network processes.
10936 (Flist_processes): New optional arg `query-only'.
10937 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
10938 (conv_lisp_to_sockaddr, set_socket_options)
10939 (network_process_featurep, unwind_request_sigio): New helper functions.
10940 (Fprocess_datagram_address, Fset_process_datagram_address):
10941 (Fset_network_process_options): New lisp functions.
10942 (Fopen_network_stream): Removed. Now defined in simple.el.
10943 (Fmake_network_process): New lisp function. Code is based on previous
10944 Fopen_network_stream, but heavily reworked with new property list based
10945 argument list, support for datagrams, server processes, and local
10946 sockets in addition to old client-only functionality.
10947 (server_accept_connection): New function.
10948 (wait_reading_process_input): Use it to handle incoming connects.
10949 Do not enable input on a new connection if process is stopped.
10950 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
10951 (send_process): Handle datagram sockets.
10952 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
10953 network process is indicated by setting command field to t .
10954 (Fprocess_send_eof): No-op if datagram connection.
10955 (Fstatus_notify): Don't read input for a stream server socket or a
10956 stopped network process.
10957 (init_process): Initialize datagram_address array.
10958 (syms_of_process): Intern and staticpro new variables, defsubr new
10959 functions.
10960
10961 2002-03-16 Jason Rumney <jasonr@gnu.org>
10962
10963 * w32fns.c (w32_to_all_x_charsets): Return correct type in
10964 startup case.
10965
10966 2002-03-16 Richard M. Stallman <rms@gnu.org>
10967
10968 * xdisp.c (redisplay_internal, redisplay_windows):
10969 Use list_of_error to call internal_condition_case_1.
10970 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
10971 so as to catch all errors with no possibility of debugger redisplay.
10972 (list_of_error): New variable.
10973 (syms_of_xdisp): Init and staticpro it.
10974
10975 * print.c (print_object): Delete `\ ' from printed rep of frame.
10976
10977 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
10978
10979 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
10980 until its implementation is fixed.
10981
10982 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10983
10984 * xfns.c (png_load): Remove unused variable `gamma_str'.
10985
10986 2002-03-14 Richard M. Stallman <rms@gnu.org>
10987
10988 * xfns.c (x_real_positions): Handle failure in XQueryTree.
10989
10990 2002-03-14 Miles Bader <miles@gnu.org>
10991
10992 * intervals.c (adjust_for_invis_intang): New function.
10993 (set_point_both): Use `adjust_for_invis_intang' to do most of the
10994 work for dealing with invisible+intangible regions. Do so before
10995 and after both forward and backward movements, to handle both
10996 front-sticky and rear-sticky cases.
10997 * textprop.c (text_property_stickiness): Function moved here from
10998 `editfns.c'.
10999 * intervals.h (text_property_stickiness): New declaration.
11000 * editfns.c (char_property_eq): Function removed.
11001 (text_property_stickiness): Function moved to `textprop.c'.
11002
11003 2002-03-13 Jason Rumney <jasonr@gnu.org>
11004
11005 * config.in: Add STRFTIME_NO_POSIX2.
11006
11007 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
11008 and %OX when underlying strftime does not.
11009
11010 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
11011
11012 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
11013 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
11014 line) to avoid annoying flicker.
11015 (xm_scroll_callback): Get rid of the now unnecessary kludge.
11016 (XTread_socket): Mark it static.
11017
11018 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
11019
11020 2002-03-13 Kim F. Storm <storm@cua.dk>
11021
11022 * puresize.h (BASE_PURESIZE): Increase to 775000.
11023
11024 2002-03-12 Juanma Barranquero <lektu@terra.es>
11025
11026 * editfns.c (syms_of_editfns): Fix typo.
11027
11028 2002-03-12 Gerd Moellmann <gerd@gnu.org>
11029
11030 * xsmfns.c: Include stdio.h because termhooks.h needs it.
11031 Include termopt.h for interrupt_input.
11032
11033 2002-03-11 Andreas Schwab <schwab@suse.de>
11034
11035 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
11036
11037 2002-03-11 Gerd Moellmann <gerd@gnu.org>
11038
11039 * xterm.c (note_mouse_movement): Put code for
11040 x_autoselect_window_p in #if 0.
11041
11042 * lread.c (Fload): Don't assume that message_with_string uses the
11043 string it is given like a C string.
11044
11045 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11046
11047 * xterm.h (x_session_check_input, x_session_initialize): Declared.
11048
11049 * xterm.c: (XTread_socket): Add call to x_session_check_input and
11050 x_session_have_connection.
11051 (x_initialize): Add call to x_session_initialize.
11052
11053 * termhooks.h (enum event_kind): Add save_session_event.
11054
11055 * keyboard.c: Add Emacs event save_session_event.
11056
11057 * emacs.c (main): Add call to syms_of_xsmfns.
11058
11059 * lisp.h: Declare syms_of_xsmfns as extern.
11060
11061 * config.in: Add HAVE_X_SM.
11062
11063 * Makefile.in (LIBXT): Add -lSM -lICE
11064 if HAVE_X_SM and not USE_X_TOOLKIT.
11065 (XOBJ): New file xsmfns.c added.
11066
11067 * xsmfns.c: New file for X session management.
11068
11069 2002-03-09 Jason Rumney <jasonr@gnu.org>
11070
11071 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
11072 read-only when setting modified time.
11073
11074 2002-03-08 Gerd Moellmann <gerd@gnu.org>
11075
11076 * xdisp.c (move_it_vertically_backward): At the end of the function,
11077 when moving forward by lines, treat terminal frames specially.
11078
11079 * keyboard.c (echo_char): Make sure to add a separator between
11080 keys even if echo_dash hasn't been called.
11081
11082 * xdisp.c: Use new string macros.
11083 (update_echo_area): Pass number of bytes to message3 instead of
11084 number of chars.
11085 (set_message_1): Don't access a string's size_byte directly.
11086 (decode_mode_spec_coding): Use number of bytes of eoltype string
11087 instead number of chars.
11088
11089 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
11090
11091 2002-03-08 Juanma Barranquero <lektu@terra.es>
11092
11093 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
11094 24-bit.
11095
11096 2002-03-06 Jason Rumney <jasonr@gnu.org>
11097
11098 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
11099
11100 2002-03-06 Gerd Moellmann <gerd@gnu.org>
11101
11102 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
11103 (cancel_echoing, echo_length, echo_truncate): Changed to
11104 work with new kboard definition.
11105 (echo_now): Use message3_nolog instead of message2_nolog.
11106
11107 * alloc.c (mark_kboards): Mark echo_string.
11108
11109 * keyboard.h (ECHOBUFSIZE): Removed.
11110 (struct kboard): Member echoptr removed, member echobuf renamed
11111 to echo_string.
11112
11113 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
11114 message3 instead of message2 to display the message using STRING's
11115 text properties.
11116
11117 2002-03-05 Andreas Schwab <schwab@suse.de>
11118
11119 * xdisp.c (hscroll_margin): Change to EMACS_INT.
11120
11121 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
11122
11123 * frame.c (default-frame-alist): Explain that setting it doesn't
11124 affect existing frames.
11125
11126 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
11127
11128 * indent.c (skip_invisible): Fix my brain fart.
11129
11130 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
11131
11132 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
11133
11134 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
11135 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
11136 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
11137 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
11138 and variables to use EMACS_INT instead of just int.
11139
11140 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
11141
11142 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
11143
11144 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
11145 environment, pass it down with corrected value.
11146
11147 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11148
11149 * lread.c (read_filtered_event): Do not call start_hourglass
11150 before returning.
11151
11152 2002-03-04 Juanma Barranquero <lektu@terra.es>
11153
11154 * w32term.c (x_display_and_set_cursor): Fix typo.
11155
11156 2002-03-03 Richard M. Stallman <rms@gnu.org>
11157
11158 * fileio.c (Fmake_temp_name): Doc fix.
11159
11160 2002-03-03 Gary Wong <gtw@gnu.org>
11161
11162 * termcap.c [!emacs]: Replace ospeed for building standalone
11163 libtermcap, for binary compatibility.
11164
11165 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
11166
11167 2002-03-03 Richard M. Stallman <rms@gnu.org>
11168
11169 * xrdb.c (file_p): Rename arg `path' to `filename'.
11170
11171 * abbrev.c (Fexpand_abbrev): Increment plist as use count
11172 only if it is an integer.
11173
11174 * xfns.c (png_load): Set screen_gamma based on f->gamma.
11175 If png_get_sRGB gives an answer, call png_set_gamma
11176 using the default image gamma value.
11177
11178 * lread.c (read1): When reading from a file, default string to
11179 multibyte only if it has some multibyte characters.
11180
11181 * print.c (print_object): Output multibyte chars 128...255
11182 using \x even if ! print_escape_multibyte.
11183
11184 * xdisp.c (display_mode_element): Move the places where
11185 bytepos, charpos, this, and lisp_string are set.
11186 Use lisp_string to set bytepos.
11187
11188 * xdisp.c (redisplay_internal):
11189 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
11190
11191 * xdisp.c (display_mode_element): Merge properties specified with
11192 :propertize onto those that come with the string.
11193
11194 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
11195
11196 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
11197 automatic-hscrolling. Users changed.
11198 <hscroll-margin>: Renamed from automatic-hscroll-margin.
11199 Users changed.
11200 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
11201
11202 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11203
11204 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
11205
11206 2002-03-02 Kim F. Storm <storm@cua.dk>
11207
11208 * window.c (Fminibuffer_selected_window): New function.
11209 (syms_of_window): Defsubr it.
11210
11211 2002-03-01 Kim F. Storm <storm@cua.dk>
11212
11213 * window.h (struct window): New member phys_cursor_width.
11214
11215 * window.c (make_window, replace_window): Init phys_cursor_width.
11216
11217 * xterm.c (x_display_and_set_cursor): Blink box cursor using
11218 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
11219
11220 * w32term.c (x_display_and_set_cursor): Blink box cursor using
11221 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
11222
11223 * lisp.h (GCPRO6): New macro.
11224
11225 * process.c (Fopen_network_stream): Use GCPRO6.
11226
11227 2002-03-01 Kim F. Storm <storm@cua.dk>
11228
11229 * process.c (Qconnect, Qfailed): New variables.
11230 (syms_of_process): Intern and staticpro them.
11231 (Fprocess_status): Document connect and failed return values.
11232 [NON_BLOCKING_CONNECT]: New conditional.
11233 (connect_wait_mask, num_pending_connects): New variables.
11234 (status_message): Convert Qfailed status.
11235 (Fopen_network_stream): Added support for non-blocking connect.
11236 New optional args: filter, sentinel, non_blocking. Doc updated.
11237 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
11238 (deactivate_process): Handle pending non-blocking connect.
11239 (wait_reading_process_input): Poll for status of non-blocking
11240 connects. Exec sentinel directly when connect succeeds.
11241 (status_notify): Don't read process output if not yet connected.
11242
11243 2002-02-28 Kim F. Storm <storm@cua.dk>
11244
11245 * window.c: (minibuf_selected_window): Renamed from
11246 Vminibuf_selected_window. Users changed.
11247 (syms_of_window): Staticpro it.
11248
11249 2002-02-26 Kim F. Storm <storm@cua.dk>
11250
11251 The following changes add a new Vminibuf_selected_window variable
11252 which is similar to Vminibuf_scroll_window, but which is only set
11253 on entry to the minibuffer (from a non-minibuffer window):
11254
11255 * window.c: (Vminibuf_selected_window): New variable.
11256 (struct save_window_data): New member minibuf_selected_window.
11257 (Fset_window_configuration): Restore Vminibuf_selected_window.
11258 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
11259 Set minibuf_scroll_window member to nil if minibuf_level is 0.
11260 (compare_window_configurations): Compare minibuf_selected_window.
11261
11262 * window.h: (Vminibuf_selected_window): Declare extern.
11263
11264 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
11265 entry to minibuffer or on entry from a non-minibuffer window.
11266
11267 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
11268 Vminibuf_selected_window instead of Vminibuf_scroll_window.
11269
11270 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
11271 instead of Vminibuf_scroll_window when deciding in which window
11272 the region should be highlighted. Consequently, the region remains
11273 highlighteded even when a completion buffer is also displayed.
11274
11275 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
11276
11277 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
11278
11279 * xselect.c (Qcompound_text_with_extensions): Renamed from
11280 Qcompound_text_no_extensions.
11281 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
11282
11283 2002-02-26 Juanma Barranquero <lektu@terra.es>
11284
11285 * w32proc.c (syms_of_ntproc): Doc fix.
11286
11287 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11288
11289 * intervals.h: Include "dispextern.h" unconditionally.
11290
11291 2002-02-24 Jason Rumney <jasonr@gnu.org>
11292
11293 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
11294 and disp-table.elc.
11295 (lisp): Add emacs-lisp/backquote.elc.
11296
11297 2002-02-24 Kim F. Storm <storm@cua.dk>
11298
11299 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
11300 The validation of the event type was too strict as it didn't
11301 allow string events; buffer names are used in bindings for
11302 menu-bar-select-buffer (see `menu-bar-update-buffers').
11303
11304 2002-02-23 Kim F. Storm <storm@cua.dk>
11305
11306 The following changes rework my patch of 2002-02-06 which
11307 added command remapping by entering the commands directly into
11308 the keymaps. Now, command remapping uses an explicit `remap'
11309 prefix in the keymaps, i.e. [remap COMMAND].
11310
11311 * keymap.c (Qremap, remap_command_vector): New variables.
11312 (is_command_symbol): Removed function.
11313 (Fdefine_key): No longer accept a symbol for KEY.
11314 Added validation of [remap COMMAND] argument for KEY.
11315 The DEF is no longer required to be a symbol when remapping a command.
11316 (Fremap_command): New function to remap command through keymaps.
11317 (Flookup_key): Perform command remapping initiated by
11318 Fremap_command directly for speed.
11319 (Fkey_binding): Use Fremap_command for command remapping.
11320 (where_is_internal): Handle new command remapping representation.
11321 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
11322 staticpro them. Defsubr Fremap_command.
11323
11324 * keymap.h (Fremap_command): Declare extern.
11325 (is_command_symbol): Remove extern.
11326
11327 * keyboard.c (command_loop_1): Use Fremap_command for command
11328 remapping; now try command remapping for all symbols.
11329
11330 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
11331
11332 * coding.h (run_pre_post_conversion_on_str): Add prototype.
11333
11334 2002-02-23 Jason Rumney <jasonr@gnu.org>
11335
11336 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
11337 on the string before encoding it.
11338 (Fw32_get_clipboard_data): Run post-read-conversion on the string
11339 after decoding it.
11340
11341 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
11342
11343 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11344
11345 * w32term.c (enter_timestamp): Remove unused static variable to
11346 prevent warning.
11347
11348 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
11349
11350 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
11351
11352 * w16select.c (Fw16_get_clipboard_data): Fix last change.
11353
11354 * xselect.c (selection_data_to_lisp_data): Fix last change.
11355
11356 2002-02-22 Jason Rumney <jasonr@gnu.org>
11357
11358 * w32term.h (struct w32_output): New member menu_command_in_progress.
11359
11360 * w32menu.c (menubar_selection_callback): Free the menu and
11361 clear the menu_command_in_progress flag.
11362
11363 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
11364 (menu_free_timer): New variable.
11365 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
11366 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
11367 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
11368 menu command is in progress.
11369 <WM_COMMAND>: Set the menu_command_in_progress flag.
11370 Kill any menu_free_timer that is running.
11371
11372 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
11373 Call ExtTextOutA rather than ExtTextOut.
11374
11375 2002-02-22 Eli Zaretskii <eliz@gnu.org>
11376
11377 * puresize.h (BASE_PURESIZE): Increase to 755000.
11378
11379 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11380
11381 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
11382 on the string before encoding it.
11383 (Fw16_get_clipboard_data): Run post-read-conversion on the string
11384 after decoding it.
11385
11386 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11387
11388 Support for ICCCM Extended Segments in X selections:
11389
11390 * xselect.c <Qcompound_text_no_extensions>: New variable.
11391 (syms_of_xselect): Intern and staticpro it.
11392 (selection_data_to_lisp_data): Run post-read-conversion on decoded
11393 selection text.
11394 (lisp_data_to_selection_data): If next-selection-coding-system is
11395 compound-text-no-extensions, set the type of selection to be
11396 compound-text.
11397
11398 * xterm.h (x_encode_text): Update prototype.
11399
11400 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
11401 callers changed. If SELECTIONP is non-zero, run the
11402 pre-write-conversion function before encoding the selection text.
11403
11404 2002-02-21 Kim F. Storm <storm@cua.dk>
11405
11406 * frame.c (syms_of_frame): Change mouse-highlight default to t.
11407
11408 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
11409 Correct composing of language-change event.
11410
11411 2002-02-20 Kim F. Storm <storm@cua.dk>
11412
11413 * keyboard.c (menu_bar_items): Don't include keymap or local-map
11414 bindings at PT when building menu (the menu is not updated often
11415 enough for this to work reliable).
11416 (tool_bar_items): Likewise.
11417 (current_active_maps): Removed unused (and buggy) function.
11418
11419 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11420
11421 * xfns.c (gif_load): Use correct width and height for GIF images.
11422
11423 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
11424
11425 * floatfns.c (Fatan): Accept an optional second arg and call
11426 atan2 if passed 2 args.
11427
11428 2002-02-18 Jason Rumney <jasonr@gnu.org>
11429
11430 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
11431
11432 2002-02-17 Jason Rumney <jasonr@gnu.org>
11433
11434 * w32term.c (x_autoselect_window_p): New variable.
11435 (syms_of_w32term): DEFVAR_BOOL and initialize it.
11436 (note_mouse_movement): Use it.
11437
11438 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
11439
11440 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
11441
11442 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
11443 New variables.
11444 (syms_of_w32fns): Intern and staticpro them.
11445 (x_frame_parms) <"fullscreen">: New parameter.
11446 (x_fullscreen_move, x_set_fullscreen): New functions.
11447 (x_set_frame_parameters): Support Qfullscreen.
11448 (x_real_positions): Save x/y_pixels_diff frame params.
11449 (x_figure_window_size): Support full-screen frames.
11450 (Fx_create_frame): Default the fullscreen parameter.
11451
11452 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
11453 (x_fullscreen_adjust): New functions.
11454 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
11455 fullscreen. Call x_check_fullscreen_move, and set the
11456 want_fullscreen member of output_data.w32
11457 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
11458
11459 * w32term.h: New enum for FULLSCREEN_* constants.
11460 (struct w32_output): New members want_fullscreen, x_pixels_diff,
11461 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
11462 (x-fullscreen-adjust): New prototype.
11463
11464 2002-02-17 Kim F. Storm <storm@cua.dk>
11465
11466 * frame.c: (Vmouse_highlight): New variable.
11467 (syms_of_frame): DEFVAR_LISP it.
11468
11469 * frame.h: (Vmouse_highlight): Declare extern.
11470
11471 * xterm.h (struct x_display_info): Add mouse_face_hidden.
11472
11473 * xterm.c (disable_mouse_highlight): Removed variable.
11474 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
11475 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
11476 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
11477 and on after keyboard input.
11478 (x_term_init): Initialize mouse_face_hidden.
11479
11480 * msdos.h (struct display_info): Add mouse_face_hidden.
11481
11482 * msdos.c (disable_mouse_highlight): Removed variable.
11483 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
11484 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
11485 (internal_terminal_init): Initialize mouse_face_hidden.
11486 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
11487 and on after keyboard input.
11488
11489 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
11490
11491 * w32term.c (disable_mouse_highlight): Removed variable.
11492 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
11493 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
11494 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
11495 and on after keyboard input.
11496 (w32_initialize_display_info): Initialize mouse_face_hidden.
11497
11498 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
11499
11500 * msdos.c (last_mouse_window): New variable.
11501 (dos_rawgetc): Fix last change--if the mouse is in the same window
11502 as recorded in last_mouse_window, don't select this window.
11503
11504 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
11505
11506 * msdos.c (x_autoselect_window_p): New variable.
11507 (syms_of_msdos): Defvar it.
11508 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
11509 which the last mouse movement occured, unless it is already selected.
11510
11511 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
11512 New variables.
11513 (syms_of_xdisp): DEVFAR them.
11514 (hscroll_window_tree): Use automatic_hscroll_margin and
11515 Vautomatic_hscroll_step to compute the amount of window scrolling.
11516
11517 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11518
11519 * xterm.c (x-autoselect-window): New variable.
11520 (note_mouse_movement): Use it.
11521
11522 * keyboard.c: Do not include "systime.h" twice.
11523
11524 2002-02-15 Andreas Schwab <schwab@suse.de>
11525
11526 * puresize.h (BASE_PURESIZE): Increase to 9/5.
11527
11528 * alloc.c (NSTATICS): Increase to 1280.
11529
11530 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
11531
11532 * alloc.c (NSTATICS): Bump to 1026.
11533
11534 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
11535 (Vx_super_keysym): New variables.
11536 (syms_of_xterm): DEFVAR_LISP them.
11537 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
11538 variables to determine which keys to use for the various modifiers.
11539
11540 2002-02-13 Kim F. Storm <storm@cua.dk>
11541
11542 * window.c: (Vmode_line_in_non_selected_windows): Removed.
11543 (mode_line_in_non_selected_windows): New variable.
11544 (syms_of_window): DEFVAR_BOOL it.
11545
11546 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
11547 Use mode_line_in_non_selected_windows.
11548 (mode_line_in_non_selected_windows): Declare extern.
11549 (Vmode_line_in_non_selected_windows): Removed extern.
11550
11551 2002-02-13 Richard M. Stallman <rms@gnu.org>
11552
11553 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
11554 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
11555 (Fclear_this_command_keys): Doc fixes.
11556
11557 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
11558 (update_face_from_frame_parameter): Increment face_change_count
11559 and windows_or_buffers_changed to force redisplay using changed faces.
11560
11561 * xdisp.c (QCpropertize): New variable.
11562 (mode_line_proptrans_alist): New variable.
11563 (display_mode_element): New arg PROPS; all calls changed.
11564 Implement this, for strings.
11565 Handle literal output of strings by sharing the
11566 main-line code for strings, using local var `literal'.
11567 Handle :propertize feature.
11568 (syms_of_xdisp): Initialze and staticpro QCpropertize and
11569 mode_line_proptrans_alist.
11570
11571 2002-02-11 Kim F. Storm <storm@cua.dk>
11572
11573 * window.c: (Vmode_line_in_non_selected_windows): New variable.
11574 (syms_of_window): DEFVAR_LISP it.
11575
11576 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
11577 (CURRENT_MODE_LINE_FACE_ID): Use it.
11578 (Vmode_line_in_non_selected_windows): Declare extern.
11579
11580 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
11581 to get mode line face.
11582
11583 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
11584
11585 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
11586 variables; cus-start.el doesn't need them anymore.
11587
11588 2002-02-09 Kim F. Storm <storm@cua.dk>
11589
11590 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
11591 reduction. This fixes a display problem where stray newlines were
11592 inserted in the window (corrected by C-l). Clarified code (IMHO).
11593
11594 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
11595
11596 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
11597
11598 * xdisp.c (display_mode_lines): Fix last change.
11599
11600 2002-02-09 Jason Rumney <jasonr@gnu.org>
11601
11602 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
11603 match each other.
11604 (w32_load_system_font): Prevent Cleartype fonts from loading.
11605 (Fx_show_tip): Ensure tip frames are above other topmost windows.
11606
11607 2002-02-09 Kim F. Storm <storm@cua.dk>
11608
11609 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
11610 (CURRENT_MODE_LINE_HEIGHT): Use it.
11611 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
11612
11613 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
11614 (pos_visible_p, handle_face_prop): Likewise.
11615 (display_mode_lines): Likewise, but for the real selected window.
11616 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
11617
11618 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
11619 in non-selected windows.
11620 (realize_basic_faces): Realize it.
11621 (syms_of_term): Intern and staticpro it.
11622
11623 2002-02-08 Kim F. Storm <storm@cua.dk>
11624
11625 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
11626 Changed mail addresses to emacs-devel@gnu.org.
11627
11628 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
11629
11630 * fileio.c (Fsubstitute_in_file_name): If the file name includes
11631 ~user, and there's no such user, don't discard everything before ~user.
11632
11633 * floatfns.c (Fround): Doc fix.
11634
11635 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11636
11637 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
11638
11639 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
11640
11641 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
11642
11643 2002-02-07 Kim F. Storm <storm@cua.dk>
11644
11645 * keymap.c (where_is_internal): Only check whether definition is
11646 remapped if it fulfills is_command_symbol.
11647
11648 2002-02-07 Andreas Schwab <schwab@suse.de>
11649
11650 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
11651
11652 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
11653
11654 2002-02-06 Kim F. Storm <storm@cua.dk>
11655
11656 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
11657 defining command remapping. Doc updated.
11658 (Flookup_key): Remap command through keymap if KEY is a symbol.
11659 (is_command_symbol): New function.
11660 (Fkey_binding): Use it. New optional argument NO-REMAP.
11661 Doc updated. Callers changed. Perform command remapping via
11662 recursive call unless that arg is non-nil.
11663 (where_is_internal): New argument no_remap. Callers changed.
11664 Call recursively to find original key bindings for a remapped
11665 comand unless that arg is non-nil.
11666 (Fwhere_is_internal): New optional argument NO-REMAP.
11667 Doc updated. Callers changed. Pass arg to where_is_internal.
11668
11669 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
11670 (is_command_symbol): Added prototype.
11671
11672 * keyboard.c (Vthis_original_command): New variable.
11673 (syms_of_keyboard): DEFVAR_LISP it.
11674 (command_loop_1): Set it, and perform command remapping.
11675
11676 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11677
11678 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
11679
11680 2002-02-06 Jason Rumney <jasonr@gnu.org>
11681
11682 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
11683
11684 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
11685
11686 * charset.c (get_charset_id): Use if-else instead of ?:.
11687
11688 2002-02-06 Richard M. Stallman <rms@gnu.org>
11689
11690 * filelock.c (S_ISLNK): Define if not defined.
11691
11692 2002-02-03 Richard M. Stallman <rms@gnu.org>
11693
11694 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
11695
11696 * lread.c (read1): Redesign strategy for force_multibyte and
11697 force_singlebyte. Now is_multibyte records whether read_buffer
11698 is multibyte. Encountering any multibyte character makes it so.
11699
11700 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
11701
11702 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
11703 with the same sequence, map that sequence to f10 rather than f0.
11704
11705 2002-02-03 Andreas Schwab <schwab@suse.de>
11706
11707 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
11708 latter never being defined on GNU/Linux.
11709
11710 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
11711
11712 * xfaces.c (realize_default_face): Don't set the weight and slant of
11713 the default face to Qnormal, unless these attributes are unspecified.
11714
11715 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11716
11717 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
11718 Call cancel_hourglass unconditionally.
11719
11720 * eval.c (Fsignal): Remove duplicated declaration of
11721 the variable `display_hourglass_p'.
11722
11723 2002-01-31 Richard M. Stallman <rms@gnu.org>
11724
11725 * editfns.c (region_limit): Nicer error message.
11726
11727 * coding.c (decode_composition_emacs_mule):
11728 Give up if NCOMPONENT gets too large to index `component'.
11729
11730 * callint.c (check_mark): New arg to specify clearer error message.
11731 Callers changed.
11732
11733 2002-01-27 Richard M. Stallman <rms@gnu.org>
11734
11735 * minibuf.c (Fcompleting_read): Doc fix.
11736
11737 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11738
11739 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
11740 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
11741 Fix doc-strings.
11742
11743 2002-01-26 Richard M. Stallman <rms@gnu.org>
11744
11745 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
11746
11747 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
11748 and scroll_up_aggressively.
11749
11750 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11751
11752 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
11753
11754 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
11755
11756 * textprop.c (Fnext_property_change, Fnext_single_property_change)
11757 (Fprevious_property_change, Fprevious_single_property_change):
11758 Stay within the narrowed-buffer boundaries.
11759
11760 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
11761
11762 * term.c (Ftty_display_color_cells): New function.
11763 (syms_of_term): Defsubr it.
11764 (Ftty_display_color_cells, Ftty_display_color_p): Change the
11765 argument name to DISPLAY. Doc fix.
11766
11767 * dispextern.h: Add prototype for set_tty_color_mode and
11768 tty_setup_colors.
11769
11770 2002-01-24 Jason Rumney <jasonr@gnu.org>
11771
11772 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
11773 If region left to draw is not what was expected, mark the frame as
11774 garbaged.
11775
11776 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
11777 Combine the regions returned by BeginPaint and GetUpdateRect.
11778
11779 2002-01-23 Jason Rumney <jasonr@gnu.org>
11780
11781 * w32term.c (x_update_window_begin): Only hide caret if
11782 w32_use_visible_system_caret is set.
11783 (x_update_window_end): Only show caret if
11784 w32_use_visible_system_caret is set.
11785 (syms_of_w32term): Handle SystemParametersInfo call failing.
11786
11787 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
11788
11789 2002-01-22 Richard M. Stallman <rms@gnu.org>
11790
11791 * unexelf.c (unexec): Define n so as to cause compilation error
11792 for the code where people have often written n instead of nn.
11793
11794 * .gdbinit (hookpost-run): Defined.
11795
11796 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11797
11798 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
11799
11800 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11801
11802 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
11803 if fullscreen is being set.
11804
11805 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11806
11807 * minibuf.c (Fminibuffer_contents)
11808 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
11809 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
11810
11811 2002-01-21 Richard M. Stallman <rms@gnu.org>
11812
11813 * window.c (check_frame_size): Fix minimum height calculation.
11814
11815 2002-01-20 Ken Raeburn <raeburn@gnu.org>
11816
11817 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
11818 height before comparison.
11819 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
11820
11821 2002-01-20 Jason Rumney <jasonr@gnu.org>
11822
11823 * w32term.c (w32_system_caret_width): Remove.
11824 (w32_use_visible_system_caret): New user flag.
11825 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
11826 Windows reports a screen reader running.
11827 (x_update_window_begin): Hide the system caret.
11828 (x_update_window_end): Show the system caret.
11829 (x_display_and_set_cursor): Don't draw a cursor when
11830 w32_use_visible_system_caret is set. Do not adjust width.
11831
11832 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
11833 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
11834 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
11835 the user requests it. Use system default width when creating.
11836 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
11837
11838 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
11839 New window messages.
11840
11841 2002-01-20 Richard M. Stallman <rms@gnu.org>
11842
11843 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
11844
11845 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11846
11847 * doprnt.c (doprnt1): Fix typos in error call.
11848
11849 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
11850
11851 * unexelf.c (unexec) [__sgi]: Support the .got sections.
11852
11853 2002-01-20 Jason Rumney <jasonr@gnu.org>
11854
11855 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
11856 that Windows returns. If a double check fails, try to guess how
11857 ExtTextOut is going to act.
11858
11859 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
11860 in place of stricmp.
11861 (w32_list_synthesized_fonts): Removed.
11862 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
11863 (struct enumfont_t): New element; list.
11864 (enum_font_cb2): List all style and charset variations of a font.
11865 (Fw32_select_font): New optional argument; include_proportional.
11866 Exclude vertical fonts. Exclude proportional fonts unless
11867 include_proportional is non-nil.
11868 (w32_enable_synthesized_fonts): Change to a boolean.
11869 (Fw32_send_sys_command): Doc fix.
11870
11871 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11872
11873 * dispnew.c (update_frame): Move the variable `tem' to the block
11874 where it is used.
11875
11876 2002-01-19 Jason Rumney <jasonr@gnu.org>
11877
11878 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
11879 call to face-set-after-frame-default.
11880
11881 2002-01-18 Richard M. Stallman <rms@gnu.org>
11882
11883 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
11884 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
11885
11886 2002-01-17 Richard M. Stallman <rms@gnu.org>
11887
11888 * window.c (enlarge_window): When exceeding size of parent,
11889 directly delete all the siblings instead of trying to resize it.
11890
11891 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11892
11893 * term.c (set_tty_color_mode): Remove unused variable `tem'.
11894
11895 2002-01-16 Henrik Enberg <henrik@enberg.org>
11896
11897 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
11898
11899 2002-01-16 Kim F. Storm <storm@cua.dk>
11900
11901 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
11902 is invisible. This can happen if cursor is on top line of a
11903 window, and we switch to a buffer with a header line.
11904
11905 * w32term.c (x_erase_phys_cursor): Ditto.
11906
11907 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11908
11909 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
11910 `dont_resize' only when used.
11911
11912 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
11913
11914 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
11915
11916 * xdisp.c (display_mode_element): When computing charpos, depend
11917 on multibyteness of elt, not the text in field.
11918
11919 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11920
11921 * buffer.c (Fkill_all_local_variables):
11922 Increment `update_mode_lines' only once.
11923
11924 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11925
11926 * lisp.h (adjust_after_replace_noundo)
11927 (Fupdate_coding_systems_internal): Add prototypes.
11928
11929 * sound.c (Fplay_sound): Initialize header_size also for :data case.
11930
11931 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
11932
11933 Support for the --color command-line argument and tty-color-mode
11934 frame parameter:
11935
11936 * term.c (tty_default_color_capabilities, tty_setup_colors)
11937 (set_tty_color_mode): New functions.
11938 (term_init): Call tty_default_color_capabilities.
11939 (Qtty_color_mode_alist): New variable.
11940 (syms_of_term): Intern and staticpro it.
11941
11942 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
11943 frames.
11944 (do_switch_frame): For termcap frames, switch the tty
11945 color mode as specified by the frame's parameters.
11946 (Qtty_color_mode): New variable.
11947 (syms_of_frame): Intern and staticpro it.
11948
11949 * emacs.c (USAGE2): Add the --color option.
11950 (standard_args): Ditto.
11951
11952 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11953
11954 * xterm.h (struct x_output): New members want_fullscreen,
11955 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
11956 y_pixels_outer_diff.
11957 New enum for FULLSCREEN_* constants.
11958 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
11959 is NULL.
11960 (x_fullscreen_adjust): Add prototype.
11961
11962 * emacs.c (USAGE2): Add the new full-screen arguments.
11963 (standard_args): Ditto.
11964
11965 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
11966 New variables.
11967 (syms_of_xfns): Intern and staticpro them.
11968 (x_frame_parms) <"fullscreen">: New parameter.
11969 (x_fullscreen_move, x_set_fullscreen): New functions.
11970 (x_set_frame_parameters): Support for Qfullscreen.
11971 (x_real_positions): More accurate computation of the frame position.
11972 (x_figure_window_size): Support full-screen frames.
11973 (Fx_create_frame): Default the fullscreen parameter.
11974
11975 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
11976 (XTread_socket) <Expose>: Call x_check_fullscreen.
11977 <ConfigureNotify>: Don't resize to fullscreen.
11978 Call x_check_fullscreen_move, and set the want_fullscreen member of
11979 output_data.x.
11980
11981 2002-01-13 Jason Rumney <jasonr@gnu.org>
11982
11983 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
11984 for mice with more than 3 buttons.
11985
11986 * w32term.c (parse_button): New parameter xbutton. Callers changed.
11987 (w32_read_socket): Handle new "XBUTTON" messages.
11988
11989 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
11990 (syms_of_w32fns): DEFVAR_BOOL it.
11991 (w32_wnd_proc): Handle new "XBUTTON" messages.
11992
11993 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11994
11995 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
11996
11997 2002-01-13 Andreas Schwab <schwab@suse.de>
11998
11999 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
12000
12001 2002-01-12 Andreas Schwab <schwab@suse.de>
12002
12003 * .gdbinit (xbuffer): Remove address operator since data is now a
12004 pointer.
12005
12006 2002-01-11 Richard M. Stallman <rms@gnu.org>
12007
12008 * insdel.c (adjust_after_replace_noundo): New function.
12009
12010 * coding.c (code_convert_region): Don't copy old text if undo disabled.
12011
12012 2002-01-09 Jason Rumney <jasonr@gnu.org>
12013
12014 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
12015 when checking for multiple frames.
12016
12017 2002-01-08 Richard M. Stallman <rms@gnu.org>
12018
12019 * window.c (delete_window): Rewrite the code for changing the
12020 selected window to handle the case where WINDOW is not a leaf.
12021
12022 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
12023
12024 * process.c (send_process): Set src_multibyte to 1 after the call
12025 top setup_coding_system, not before the call.
12026
12027 2002-01-07 Jason Rumney <jasonr@gnu.org>
12028
12029 * xmenu.c (set_frame_menubar, xmenu_show):
12030 (xdialog_show): Initialize wv->help to Qnil.
12031
12032 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
12033 (w32_dialog_show): Initialize wv->help to Qnil.
12034
12035 2002-01-06 Jason Rumney <jasonr@gnu.org>
12036
12037 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
12038
12039 * w32menu.c (w32_menu_display_help): Revert last change.
12040
12041 * xmenu.c (menu_highlight_callback): Revert last change.
12042
12043 2002-01-06 Andreas Schwab <schwab@suse.de>
12044
12045 * insdel.c (make_gap_larger): Make sure buffer size does not
12046 overflow range of int.
12047
12048 2002-01-05 Jason Rumney <jasonr@gnu.org>
12049
12050 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
12051 OVERLAPS_P.
12052
12053 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
12054
12055 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
12056 to the left or to the right of the pointer, put it against
12057 the left screen edge.
12058 (x_frame_parms): Add missing braces around initializer.
12059
12060 * w32term.c (x_setup_relief_colors): Don't compute an image's
12061 background color if it doesn't have a Pixmap.
12062 (notice_overwritten_cursor): Don't depend on
12063 output_cursor and updated_area. Compare pixel coordinates with
12064 window's cursor pixel coordinates.
12065 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
12066 Call notice_overwritten_cursor with new arg list.
12067 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
12068 unconditionally.
12069 (x_draw_image_relief): Use predefined macro instead of
12070 constant when the value of `tool_bar_button_relief' is negative.
12071
12072 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
12073
12074 2002-01-04 Richard M. Stallman <rms@gnu.org>
12075
12076 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
12077
12078 2002-01-03 Richard M. Stallman <rms@gnu.org>
12079
12080 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
12081 (Fkey_binding): Try the `keymap' property map first.
12082 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
12083 minor mode bindings.
12084
12085 2002-01-03 Kim F. Storm <storm@cua.dk>
12086
12087 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
12088
12089 2002-01-02 Richard M. Stallman <rms@gnu.org>
12090
12091 * keyboard.c (read_key_sequence): Handle the keymap property
12092 before minor mode maps.
12093
12094 * editfns.c (Fformat): Update thissize from field_width
12095 based on the actual width, in the string case.
12096
12097 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12098
12099 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
12100 when used as truth value to prevent gcc warnings.
12101
12102 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
12103 * w32proc.c: Include <config.h>.
12104
12105 2002-01-01 Andreas Schwab <schwab@suse.de>
12106
12107 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
12108 not EMACS_INT, to make them compatible with DEFVAR_INT.
12109 * lisp.h (max_specpdl_size): Adjust declaration.
12110
12111 2002-01-01 Richard M. Stallman <rms@gnu.org>
12112
12113 * print.c (print_object): Test print_escape_nonascii only for
12114 unibyte strings.
12115 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
12116 when outputting to a multibyte buffer.
12117
12118 2001-12-29 Richard M. Stallman <rms@gnu.org>
12119
12120 * print.c (print_object): In multibyte string, use hex escapes.
12121 Use octal only for unibyte strings.
12122 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
12123
12124 * lread.c (read_escape): New arg BYTEREP for reporting whether
12125 escape forces unibyte or multibyte.
12126 (read1): When reading a string, take note of that info.
12127
12128 2001-12-29 Ken Raeburn <raeburn@gnu.org>
12129
12130 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
12131 comparison to test lisp value returned by Fget.
12132
12133 2001-12-29 Richard M. Stallman <rms@gnu.org>
12134
12135 * lisp.h (max_specpdl_size): Add declaration.
12136
12137 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
12138
12139 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
12140 Handle modifier bits. Correct typo in error message.
12141
12142 2001-12-28 Richard M. Stallman <rms@gnu.org>
12143
12144 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
12145 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
12146 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
12147 Update calls to Fdefine_abbrev.
12148 (write_abbrev): Update for changed data format.
12149 Don't list "system" abbrevs.
12150 (Fexpand_abbrev): Update use count with new data format.
12151 (describe_abbrev): Update for changed data format.
12152 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
12153
12154 * config.in (HAVE_MBSINIT): Add #undef.
12155
12156 * strftime.c (mbsinit): Define as no-op if not available.
12157
12158 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
12159 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
12160
12161 * keymap.c (Flookup_key): Error message if key has wrong data type.
12162 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
12163 (exclude_key): New variable.
12164
12165 2001-12-28 Gerd Moellmann <gerd@gnu.org>
12166
12167 * xterm.c (x_setup_relief_colors): Don't compute an image's
12168 background color if it doesn't have a Pixmap.
12169
12170 * xterm.c (notice_overwritten_cursor): Don't depend on
12171 output_cursor and updated_area. Compare pixel coordinates with
12172 window's cursor pixel coordinates.
12173 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
12174 Call notice_overwritten_cursor with new arg list.
12175 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
12176 unconditionally.
12177
12178 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
12179 height of the cursor line to the amount to scroll.
12180
12181 2001-12-27 Richard M. Stallman <rms@gnu.org>
12182
12183 * intervals.c (set_point_both): The position after an invisible,
12184 intangible character is not an acceptable stopping point.
12185
12186 2001-12-27 Ken Raeburn <raeburn@gnu.org>
12187
12188 * window.c (enlarge_window): In new preserve_before code, convert
12189 CURBEG from lisp object to integer before doing arithmetic.
12190
12191 2001-12-27 Richard M. Stallman <rms@gnu.org>
12192
12193 * bytecode.c (Fbyte_code): Undo previous change.
12194
12195 2001-12-26 Kim F. Storm <storm@cua.dk>
12196
12197 * keyboard.c (record_char): Ignore duplicate help-echo events only
12198 separated by mouse-movement. When tracking mouse, only record
12199 first and last mouse-movement event in same window.
12200 Don't record mouse-movement events in keyboard macros.
12201
12202 2001-12-25 Richard M. Stallman <rms@gnu.org>
12203
12204 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
12205 (Fenlarge_window): New arg PRESERVE_BEFORE.
12206
12207 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
12208 instead of Fstring_as_unibyte.
12209
12210 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12211
12212 The following changes remove mocklisp support:
12213
12214 * mocklisp.h, mocklisp.c: Files removed.
12215
12216 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
12217 `Qmocklisp' and `Qmocklisp_arguments'.
12218 Remove prototype of syms_of_mocklisp.
12219
12220 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
12221
12222 * callint.c: Do not include mocklisp.h.
12223 (Fcall_interactively): Do not test for mocklisp case.
12224
12225 * eval.c: Remove variables `Qmocklisp_arguments',
12226 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
12227 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
12228 Do not test for mocklisp case.
12229 (Fwhile): Remove unused variable `tem'.
12230 (syms_of_eval): Remove variable `moclisp-arguments'.
12231
12232 * data.c (wrong_type_argument): Remove mocklisp case.
12233
12234 * doc.c (Fdocumentation): Remove mocklisp case.
12235
12236 * emacs.c (main): Do not call syms_of_mocklisp.
12237
12238 2001-12-21 Richard M. Stallman <rms@gnu.org>
12239
12240 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
12241 to the left or to the right of the pointer, put it against
12242 the left screen edge.
12243
12244 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
12245
12246 * Makefile.in (distclean): Remove .gdbinit if we are building
12247 outside the source tree.
12248
12249 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
12250
12251 * w32.c (emacs_root_dir): New function.
12252
12253 * msdos.c (emacs_root_dir): New function.
12254
12255 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
12256 of the current drive as the fallback for default_directory.
12257
12258 * dired.c (file_name_completion): Run the elements of
12259 completion-ignored-extensions through ENCODE_FILE.
12260
12261 * lisp.h (scmp): Remove prototype, since it's now a static
12262 function private to dired.c.
12263
12264 2001-12-18 Richard M. Stallman <rms@gnu.org>
12265
12266 * dired.c (scmp): Function moved from minibuf.c.
12267 Delete multibyte handling--used only on encoded strings.
12268
12269 * minibuf.c (scmp): Function moved to dired.c.
12270
12271 * fns.c (merge): Add QUIT call.
12272
12273 2001-12-18 Dave Love <fx@gnu.org>
12274
12275 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
12276 language/georgian.el.
12277
12278 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
12279
12280 * Makefile.in (lisp, shortlisp): Synchronize with changes to
12281 lisp/Makefile.in:DONTCOMPILE.
12282
12283 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12284
12285 * xdisp.c (window_box_height): Do not return negative values.
12286 From Gerd Moellmann <gerd@gnu.org>.
12287
12288 * keyboard.c (head_table): Add missing braces around initializer.
12289
12290 * term.c (keys): Likewise.
12291
12292 * xfns.c (x_frame_parms, visual_classes): Likewise.
12293
12294 2001-12-17 Sam Steingold <sds@gnu.org>
12295
12296 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
12297 patch (COMPOSING_P, not COMPOSING).
12298
12299 2001-12-17 Richard M. Stallman <rms@gnu.org>
12300
12301 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
12302
12303 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
12304 before calling decode_coding.
12305
12306 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
12307
12308 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
12309 instead of only for COMPOSITION_DISABLED.
12310
12311 2001-12-16 Richard M. Stallman <rms@gnu.org>
12312
12313 * alloc.c (pure_alloc): After overflow, allocate just a small block.
12314
12315 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
12316
12317 * buffer.h (struct buffer): New field `display_error_modiff'.
12318 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
12319
12320 * window.c (Frecenter): Clear display_error_modiff field.
12321
12322 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
12323 Call redisplay_window, but not if display_error_modiff field says no.
12324 (redisplay_window_error): New function.
12325 (displayed_buffer): New variable.
12326 (redisplay_internal, redisplay_windows): Call the new functions
12327 instead of redisplay_window directly.
12328
12329 2001-12-15 Richard M. Stallman <rms@gnu.org>
12330
12331 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
12332
12333 2001-12-14 Andrew Innes <andrewi@gnu.org>
12334
12335 * makefile.w32-in (EMACSLOADPATH): Define.
12336 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
12337 (bootstrap-temacs): Remove dependency on bootstrap-clean.
12338
12339 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
12340
12341 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
12342 parameter have a numeric value all the time.
12343
12344 * w32fns.c (x_report_frame_params): Likewise.
12345
12346 2001-12-12 Richard M. Stallman <rms@gnu.org>
12347
12348 * fileio.c (Fwrite_region): Doc fix.
12349
12350 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
12351 (redisplay_internal): Call clear_image_cache only for window terminals.
12352
12353 2001-12-12 Gerd Moellmann <gerd@gnu.org>
12354
12355 * xdisp.c (move_it_vertically_backward): Change heuristic
12356 for the case that we didn't move far enough initially.
12357
12358 * window.c (Frecenter): Simplify computation in the case of window
12359 system frames and ARG < 0; use window_box_height.
12360
12361 2001-12-11 Richard M. Stallman <rms@gnu.org>
12362
12363 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
12364 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
12365
12366 2001-12-11 Andrew Innes <andrewi@gnu.org>
12367
12368 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
12369 arg is negative.
12370
12371 2001-12-11 Richard M. Stallman <rms@gnu.org>
12372
12373 * m/hp800.h: Split the __hpux conditional into the parts
12374 that are right for GNU/Linux too and the parts that are not.
12375 Use the former if GNU_LINUX.
12376 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
12377
12378 * s/gnu-linux.h (GNU_LINUX): Defined.
12379
12380 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12381
12382 * macros.c, msdos.c, w16select.c: Change doc-string comments to
12383 `new style' [w/`doc:' keyword].
12384
12385 2001-12-10 Jason Rumney <jasonr@gnu.org>
12386
12387 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
12388 before using.
12389
12390 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12391
12392 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
12393 keyword].
12394
12395 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
12396
12397 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
12398
12399 * s/hpux10.h (srand48): Don't undefine.
12400
12401 2001-12-09 Jason Rumney <jasonr@gnu.org>
12402
12403 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
12404 Add comment to explain where the struct came from.
12405 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
12406 (add_menu_item): Process pop-up menus first to avoid memory leak.
12407 (add_menu_item, w32_menu_display_help): Use `help' field as
12408 Lisp_Object.
12409 (w32_free_submenu_strings): Only free owner-drawn strings.
12410
12411 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12412
12413 * COPYING: Moved back.
12414
12415 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
12416 Add parentheses around && within ||.
12417
12418 * indent.c (compute_motion): Likewise.
12419
12420 * intervals.c (merge_properties_sticky): Likewise.
12421
12422 * coding.c (setup_coding_system, shrink_encoding_region)
12423 (Fdecode_sjis_char): Likewise.
12424
12425 2001-12-07 Andreas Schwab <schwab@suse.de>
12426
12427 * xdisp.c (display_mode_element): Don't read past end of string if
12428 it ends with '%'.
12429
12430 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
12431 can hold.
12432
12433 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
12434 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
12435 type changed to Lisp_Object.
12436 (syms_of_data): DEFVAR_LISP them.
12437
12438 2001-12-07 Richard M. Stallman <rms@gnu.org>
12439
12440 * callproc.c (init_callproc): Set Vdata_directory based on the source
12441 location whenever Emacs was run uninstalled.
12442
12443 2001-12-06 Paul Eggert <eggert@twinsun.com>
12444
12445 * config.in (HAVE_WORKING_VFORK): New #undefs.
12446 * process.c (create_process):
12447 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
12448 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
12449 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
12450 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
12451 * m/intel386.h (HAVE_VFORK): Likewise.
12452 * m/mips-siemens.h (HAVE_VFORK): Likewise.
12453 * m/mips.h (HAVE_VFORK): Likewise.
12454 * s/freebsd.h (vfork): Remove #define.
12455 * s/lynxos.h (HAVE_VFORK): Remove #undef.
12456 * s/usg5-4-2.h: Fix comment about vfork.
12457
12458 2001-12-06 Richard M. Stallman <rms@gnu.org>
12459
12460 * s/hpux10.h (random): Add undef.
12461 (HAVE_RANDOM): Define it just once.
12462
12463 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
12464
12465 * eval.c: Undo last change: the standard syntax is not wanted.
12466
12467 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
12468
12469 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
12470 scroll bars of the frame before deleting the frame itself. If the
12471 frame has a widget, delete the frame with XtDestroyWidget, and do
12472 not call XDestroyWindow before that.
12473
12474 2001-12-06 Kim F. Storm <storm@cua.dk>
12475
12476 * xfns.c (x_report_frame_params): Return actual fringe widths.
12477
12478 * w32fns.c (x_report_frame_params): Return actual fringe widths.
12479
12480 2001-12-05 Andrew Innes <andrewi@gnu.org>
12481
12482 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
12483 excessively large.
12484
12485 * insdel.c (make_gap_larger): New function.
12486 (make_gap_smaller): New function.
12487 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
12488 Call make_gap_smaller if arg is negative.
12489
12490 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
12491
12492 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
12493 Pass a dummy argument when calling interrupt_signal.
12494 (parse_menu_item): Mark disabled items before checking for empty def.
12495 (read_char_minibuf_menu_prompt): Make safety more visible.
12496 (read_key_sequence): Add a `first_unbound' variable.
12497 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
12498 unbound prefix as soon as we can detect it.
12499
12500 * doc.c (Fsnarf_documentation): Add prototype.
12501 (get_doc_string): Handle negative arguments.
12502 (Fdocumentation): Use AREF and ASIZE.
12503 Move the calls to get_doc_string to a single place.
12504 Don't confuse an interactive-spec for a docstring reference.
12505 (Fdocumentation_property): Take advantage of the fact that
12506 get_doc_string now ignores the sign of the docstring position.
12507
12508 * eval.c: Use standard syntax for usage in docstrings.
12509
12510 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12511
12512 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
12513
12514 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12515
12516 * xterm.c (x_draw_image_relief): Use predefined macro instead of
12517 constant when the value of `tool_bar_button_relief' is negative.
12518
12519 2001-12-02 Richard M. Stallman <rms@gnu.org>
12520
12521 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
12522 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
12523
12524 * fileio.c (read_non_regular): Delete Fsignal call.
12525
12526 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
12527
12528 * lisp.h (run_hook_list_with_args): Undo last change.
12529
12530 2001-12-01 Gerd Moellmann <gerd@gnu.org>
12531
12532 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
12533
12534 2001-12-01 Jason Rumney <jasonr@gnu.org>
12535
12536 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
12537
12538 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
12539 [!WM_MOUSELEAVE]: Define.
12540
12541 * w32menu.c (current_popup_menu, get_menu_item_info):
12542 (set_menu_item_info): New vars.
12543 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
12544 (w32_menu_show): Set current_popup_menu.
12545 (add_menu_item): Allocate new strings for owner-drawn menu items
12546 and help strings.
12547 Use owner-draw for disabled menu items again.
12548 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
12549 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
12550
12551 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
12552 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
12553 <WM_EXITMENULOOP>: Free menu strings.
12554 <WM_MOUSELEAVE>: Stop tracking mouse.
12555 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
12556
12557 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
12558 and mouse face.
12559
12560 2001-12-01 Kim F. Storm <storm@cua.dk>
12561
12562 The following changes add left-fringe and right-fringe
12563 frame parameters to adjust fringe widths, or remove one or
12564 both fringes.
12565
12566 * frame.h (struct frame): Remove trunc_area_pixel_width and
12567 trunc_area_cols fields.
12568 (Qleft_fringe, Qright_fringe): Declare.
12569 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
12570
12571 * frame.c (Qleft_fringe, Qright_fringe): New vars.
12572 (syms_of_frame): Initialize them.
12573
12574 * window.c (coordinates_in_window): Handle separate left and right
12575 fringe widths.
12576
12577 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
12578 and fringe_cols fields.
12579 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
12580 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
12581 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
12582 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
12583 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
12584 (x_compute_fringe_widths): Add prototype.
12585
12586 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
12587 fill fringe evenly with small dashes.
12588 (x_draw_fringe_bitmap): Clear background if necessary. Align and
12589 clip the new ZV bitmap to avoid jitter between rows.
12590 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
12591 background. Don't draw fringe bitmaps if fringe width is zero.
12592 (x_compute_fringe_widths): New function.
12593 (x_new_font, x_set_window_size_1): Use it.
12594
12595 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
12596 (x_set_frame_parameters): Process `font' parameter before other
12597 parameters as fringe widths depend on it.
12598 (x_set_fringe_width): New function.
12599 (x_figure_window_size): Use x_compute_fringe_widths.
12600 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
12601 parameters.
12602
12603 * widget.c (set_frame_size): Use x_compute_fringe_widths.
12604 (EmacsFrameSetCharSize): Ditto.
12605
12606 * w32term.h: Merged changes from xterm.h.
12607 * w32term.c: Merged changes from xterm.c.
12608 * w32fns.c: Merged changes from xfns.c.
12609
12610 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12611
12612 * COPYING: Removed.
12613
12614 2001-11-29 Dave Love <fx@gnu.org>
12615
12616 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
12617 extra extra slot.
12618 (detect_coding_mask): Fix call of detect_coding_iso2022.
12619
12620 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12621
12622 * fileio.c (file-name-coding-system)
12623 (default-file-name-coding-system): Doc fix (links to referenced
12624 variables added).
12625
12626 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
12627
12628 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
12629 Add dummy uses of gcproN variables.
12630
12631 * category.c (describe_category, describe_category_1)
12632 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
12633 (syms_of_category): Don't defsubr Sdescribe_categories.
12634
12635 2001-11-28 Richard M. Stallman <rms@gnu.org>
12636
12637 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
12638
12639 * Makefile.in (lispdir): New variable, referring to build dir.
12640 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
12641
12642 2001-11-28 Andrew Innes <andrewi@gnu.org>
12643
12644 * w32menu.c (w32_menu_display_help): Actually add the new argument
12645 OWNER.
12646
12647 2001-11-28 Jason Rumney <jasonr@gnu.org>
12648
12649 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
12650 menu items. From David Ponce <dponce@wanadoo.fr>.
12651 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
12652 conditionally.
12653 (w32_menu_display_help): New argument OWNER. Rewritten to store a
12654 help event in the owner frame's keyboard buffer.
12655
12656 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
12657 (Fx_show_tip): Don't subtract last width from row width.
12658
12659 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
12660 (w32_read_socket): Use EQ to compare frames.
12661
12662 2001-11-28 Gerd Moellmann <gerd@gnu.org>
12663
12664 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
12665 OVERLAPS_P.
12666
12667 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12668
12669 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
12670 `gcpro3' and `gcpro4'.
12671
12672 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
12673
12674 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
12675
12676 * ccl.c: Use AREF and ASIZE.
12677
12678 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
12679
12680 * lisp.h (run_hook_list_with_args): Remove.
12681 (LIST_END_P): Fix call to wrong_type_argument.
12682 (make_fixnum_or_float): Use EMACS_INT rather than int.
12683
12684 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
12685
12686 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
12687 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
12688
12689 * eval.c: Use AREF and ASIZE.
12690 (Ffetch_bytecode): Add the file name to the error message.
12691
12692 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
12693 which match the end of the file-name.
12694 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
12695 is not a valid env var, but leave it as is instead.
12696
12697 * keymap.c (access_keymap): Handle t bindings like nil bindings.
12698 Make nil bindings in char-tables transparent.
12699 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
12700
12701 2001-11-26 Richard M. Stallman <rms@gnu.org>
12702
12703 * textprop.c (set_text_properties_1): Allow START, END in either order.
12704 Do nothing if range is empty.
12705
12706 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
12707
12708 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
12709 (clean): Not here.
12710
12711 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
12712
12713 * textprop.c (set_text_properties_1): Clearly mark that the
12714 interval should not be empty.
12715
12716 * intervals.c (graft_intervals_into_buffer):
12717 Don't call set_text_properties_1 on an empty interval.
12718
12719 2001-11-25 Richard M. Stallman <rms@gnu.org>
12720
12721 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
12722
12723 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
12724 don't lose the data in it.
12725
12726 2001-11-25 Juanma Barranquero <lektu@terra.es>
12727
12728 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
12729
12730 * buffer.c (Fkill_buffer): Likewise.
12731
12732 * print.c (temp_output_buffer_setup): Likewise.
12733
12734 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
12735
12736 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
12737
12738 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
12739
12740 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
12741 Niemitalo <kon@iki.fi>.
12742
12743 2001-11-25 Jason Rumney <jasonr@gnu.org>
12744
12745 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
12746
12747 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
12748 (Fx_show_tip): Block input during frame creation.
12749 (Fx_show_tip, Fx_hide_tip): Enable.
12750
12751 2001-11-24 Richard M. Stallman <rms@gnu.org>
12752
12753 * lread.c (Fload): Detect recursive load error for more than 3
12754 nestings of the same file.
12755 (Vrecursive_load_depth_limit): Variable deleted.
12756 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
12757
12758 2001-11-24 Jason Rumney <jasonr@gnu.org>
12759
12760 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
12761 mouse position if either left or top is not specified.
12762
12763 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
12764 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
12765 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
12766 (my_create_tip_window): Assign tip_window.
12767 (x_create_tip_frame): Use same defaults as X.
12768 (compute_tip_xy): Remove unused variable. Use full screen width.
12769 (Fx_show_tip): Do not double height. Call ShowWindow directly.
12770
12771 * w32term.c (x_after_update_window_line): Doc fix.
12772 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
12773 frames.
12774 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
12775
12776 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
12777 for all Windowed systems.
12778
12779 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
12780
12781 * msdos.c (IT_clear_screen): If the frame's faces are not yet
12782 realized, use the initial screen colors to clear the screen.
12783
12784 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12785
12786 * textprop.c (Fset_text_properties): Remove unused variables
12787 `unchanged', `prev_changed', `s' and `len'.
12788
12789 * search.c (Freplace_match): Remove unused variable `inslen'.
12790
12791 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
12792
12793 2001-11-22 Jason Rumney <jasonr@gnu.org>
12794
12795 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
12796 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
12797 (my_create_tip_window): New function.
12798 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
12799 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
12800
12801 2001-11-20 Jason Rumney <jasonr@gnu.org>
12802
12803 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
12804 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
12805
12806 * w32fns.c (Vw32_system_coding_system): Remove.
12807 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
12808
12809 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
12810
12811 * fileio.c (Fwrite_region): Move choose_write_coding_system to
12812 after build_annotations.
12813
12814 * syntax.c (describe_syntax): Add dummy arg.
12815 (describe_syntax_1): Update call to describe_vector.
12816
12817 * category.c (describe_category): Add dummy arg.
12818 (describe_category_1): Update call to describe_vector.
12819
12820 * keymap.c (Fdescribe_vector): Add `describer' parameter.
12821 (describe_command, describe_translation): Add dummy second param.
12822 (describe_map): Call elt_describer with two arguments.
12823 (describe_vector_princ): Add `fun' parameter.
12824 Call it instead of the hardcoded `princ'.
12825 (describe_vector): Add arg `args'.
12826 Pass it as a new second argument to elt_describer.
12827
12828 * keymap.h (describe_vector): Update prototype.
12829
12830 * frame.c: Don't include keymap.h any more.
12831 (keys_of_frame): Remove.
12832
12833 * lisp.h (keys_of_frame): Remove declaration.
12834
12835 * emacs.c (main): Don't call `keys_of_frame' any more.
12836
12837 2001-11-14 Andreas Schwab <schwab@suse.de>
12838
12839 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
12840 if defined, 0 otherwise.
12841 (MAP_FAILED): Define if not defined and use it to test mmap failure.
12842 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
12843
12844 2001-11-19 Richard M. Stallman <rms@gnu.org>
12845
12846 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
12847
12848 2001-11-18 Jason Rumney <jasonr@gnu.org>
12849
12850 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
12851 (x_draw_bar_cursor): If the background color of the glyph under
12852 the cursor equals the frame's cursor color, use the glyph's
12853 foreground color for drawing the bar cursor.
12854 (x_after_update_window_line): Clear internal border in different
12855 circumstances.
12856 (w32_set_vertical_scroll_bar): Check for width and height > 0.
12857 (w32_draw_relief_rect): Correct relief by 1 pixel.
12858 (x_set_glyph_string_background_width):
12859 Set extends_to_end_of_line_p if the row's fill_line_p is set and
12860 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
12861 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
12862 if cursor_in_non_selected_windows is false.
12863 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
12864 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
12865 Notice if cursor gets overwritten.
12866 (notice_overwritten_cursor): Renamed from
12867 note_overwritten_text_cursor. Rewritten to take glyph widths
12868 into account, and to take X positions as parameters.
12869 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
12870 around call to x_draw_glyphs.
12871 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
12872 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
12873 color to use for image glyph reliefs.
12874 (x_draw_image_relief): Accept zero tool_bar_button_relief.
12875 (glyph_rect): Remove unused variable `area'.
12876
12877 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
12878 some items.
12879 (x_set_internal_border_width): Set frame garbaged when window
12880 doesn't exist yet.
12881 (Fx_create_frame): Accept zero tool_bar_button_relief.
12882 (x_clear_image_1, four_corners_best, image_background)
12883 (image_background_transparent): New functions.
12884 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
12885 (gs_format): Add `:background' entry.
12886 (lookup_image): Set IMG's background color if specified.
12887 (pbm_load, xbm_load_image, png_load): Set IMG's background field
12888 when appropriate.
12889 (x_clear_image_1): Reset `background_valid' and
12890 `background_transparent_valid' fields.
12891 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
12892 calculating it here. Set IMG's background_transparent field.
12893 (enum xpm_keyword_index): Add XPM_BACKGROUND.
12894 (enum png_keyword_index): Add PNG_BACKGROUND.
12895 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
12896 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
12897 (enum gif_keyword_index): Add GIF_BACKGROUND.
12898 (enum gs_keyword_index): Add GS_BACKGROUND.
12899 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
12900 Pre-calculate image background color where necessary.
12901 (x_create_x_image_and_pixmap, xbm_load, gs_load):
12902 Use display info's n_cbits entry for screen depth.
12903 (Fx_show_tip): Remove unused variables `buffer', `top',
12904 `left', `max_width' and `max_height'.
12905
12906 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
12907
12908 2001-11-18 Gerd Moellmann <gerd@gnu.org>
12909
12910 * puresize.h (BASE_PURESIZE): Increase to 750000.
12911
12912 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12913
12914 * frame.c (Fframe_live_p): Doc fix.
12915
12916 2001-11-18 Richard M. Stallman <rms@gnu.org>
12917
12918 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
12919 (message_dolog_marker3): New static variables hold three markers.
12920 (syms_of_xdisp): Initialize and staticpro them.
12921 (message_dolog): Use message_dolog_marker1..3 instead of
12922 allocating markers each time. Unchain them when done.
12923
12924 2001-11-17 Richard M. Stallman <rms@gnu.org>
12925
12926 * doc.c (Fsnarf_documentation): Doc fix.
12927
12928 2001-11-17 Andreas Schwab <schwab@suse.de>
12929
12930 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
12931
12932 2001-11-17 Richard M. Stallman <rms@gnu.org>
12933
12934 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
12935
12936 2001-11-17 Jason Rumney <jasonr@gnu.org>
12937
12938 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
12939
12940 2001-11-17 Gerd Moellmann <gerd@gnu.org>
12941
12942 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
12943 with invalid position.
12944
12945 2001-11-16 Richard M. Stallman <rms@gnu.org>
12946
12947 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
12948
12949 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
12950 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
12951 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
12952
12953 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
12954
12955 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
12956
12957 * fileio.c (build_annotations): Split off the tail.
12958 (build_annotations_2): New fun. Extracted from build_annotations.
12959 (Fwrite_region): Split the call to build_annotations into two
12960 calls to build_annotations and build_annotations_2.
12961
12962 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12963
12964 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
12965 clear_waiting_for_input with argument.
12966
12967 * xterm.h (x_update_cursor): Remove duplicated prototype.
12968
12969 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
12970
12971 * xterm.c (waiting_for_input): Remove unnecessary declaration.
12972
12973 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
12974
12975 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
12976
12977 * fileio.c (choose_write_coding_system): New fun, extracted
12978 from Fwrite_region.
12979 (Fwrite_region): Use it.
12980
12981 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
12982 (funcall_lambda, run_hook_with_args): Make static and add prototype.
12983 (ml_apply, find_handler_clause): Add prototype.
12984
12985 2001-11-16 Eli Zaretskii <eliz@gnu.org>
12986
12987 * config.in: Add #undef HAVE_COFF_H.
12988
12989 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
12990 Required for ISC 4.1.
12991
12992 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
12993
12994 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
12995 Andrew Wiseman <a.wiseman@btclick.com>.
12996
12997 2001-11-16 Kim F. Storm <storm@cua.dk>
12998
12999 The following changes are made to clean up the various internal
13000 references to the fringes to actually use the term `fringe' for
13001 them. Previously, they were called `flags areas', `bitmap areas',
13002 `left/right side of windows', or implicitly as `flags' or
13003 `bitmaps':
13004
13005 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
13006 Comments fixed. Use renamed symbols.
13007
13008 * dispnew.c: Comment fix. Use renamed symbols.
13009
13010 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
13011 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
13012 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
13013
13014 * msdos.c: Comment fix.
13015
13016 * w32fns.c: Use renamed symbols.
13017
13018 * w32term.c: Comment fixes. Use renamed symbols.
13019 (fringe_bitmap_type): Renamed from bitmap_type.
13020 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
13021 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
13022 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
13023
13024 * w32term.h: Comment fixes. Use renamed symbols.
13025 (fringes_extra): Renamed from flags_areas_extra.
13026 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
13027 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
13028 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
13029 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
13030 (FRAME_X_LEFT_FRINGE_WIDTH):
13031 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
13032 (FRAME_X_RIGHT_FRINGE_WIDTH):
13033 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
13034
13035 * widget.c: Use renamed symbols.
13036
13037 * window.c: Comment fixes. Use renamed symbols.
13038 (coordinates-in-window-p): Doc fix.
13039
13040 * xdisp.c: Comment fixes. Use renamed symbols.
13041
13042 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
13043
13044 * xfns.c: Use renamed symbols.
13045
13046 * xterm.c: Comment fixes. Use renamed symbols.
13047 (fringe_bitmap_type): Renamed from bitmap_type.
13048 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
13049 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
13050 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
13051
13052 * xterm.h: Comment fixes. Use renamed symbols.
13053 (fringes_extra): Renamed from flags_areas_extra.
13054 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
13055 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
13056 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
13057 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
13058 (FRAME_X_LEFT_FRINGE_WIDTH):
13059 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
13060 (FRAME_X_RIGHT_FRINGE_WIDTH):
13061 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
13062
13063 2001-11-15 Jason Rumney <jasonr@gnu.org>
13064
13065 * w32menu.c (add-menu-item): Make help_echo and radio buttons
13066 work for most menu items. From David Ponce
13067 <david.ponce@wanadoo.fr>.
13068
13069 2001-11-15 Gerd Moellmann <gerd@gnu.org>
13070
13071 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
13072 Some x_set_* function expect to be called even if old and new
13073 value are equal.
13074
13075 * xdisp.c (build_desired_tool_bar_string): Accept zero
13076 tool_bar_button_relief.
13077
13078 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
13079
13080 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
13081
13082 * xterm.c (x_draw_bar_cursor): If the background color of the
13083 glyph under the cursor equals the frame's cursor color, use
13084 the glyph's foreground color for drawing the bar cursor.
13085
13086 * dispnew.c (direct_output_forward_char): Fix character/byte
13087 position comparison.
13088
13089 2001-11-15 Miles Bader <miles@gnu.org>
13090
13091 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
13092 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
13093 Update arguments to find_field.
13094 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
13095 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
13096 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
13097 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
13098
13099 2001-11-14 Richard M. Stallman <rms@gnu.org>
13100
13101 * editfns.c (Fpropertize): Allow call with 1 arg.
13102
13103 * dispextern.h (image_background, image_background_transparent):
13104 Conditionalize on HAVE_X_WINDOWS.
13105
13106 2001-11-13 Richard M. Stallman <rms@gnu.org>
13107
13108 * print.c (Fprin1_to_string): Doc fix.
13109
13110 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
13111
13112 * floatfns.c (Fceiling, Ffloor): Doc fixes.
13113
13114 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
13115
13116 * fileio.c (Ffile_accessible_directory_p): Doc fix.
13117
13118 * eval.c (syms_of_eval): Doc fix.
13119
13120 * coding.c (syms_of_coding): Doc fix.
13121
13122 * doc.c (Fsnarf_documentation): Doc fix.
13123
13124 * dispnew.c (syms_of_display): Doc fix.
13125
13126 * category.c (Fget_unused_category): Doc fix.
13127
13128 * buffer.c (syms_of_buffer): Doc fixes.
13129
13130 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
13131
13132 * print.c (prin1, print): Doc fix.
13133
13134 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13135
13136 * fontset.h: Remove declarations of variables
13137 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
13138
13139 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
13140 `Vclip_large_size_font'.
13141
13142 2001-11-13 Jason Rumney <jasonr@gnu.org>
13143
13144 * w32fns.c: Doc fix.
13145
13146 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13147
13148 * xfaces.c (Fface_attributes_as_vector): Doc fix.
13149
13150 * fns.c: Doc fix.
13151
13152 * emacs.c: Doc fix.
13153
13154 * coding.c: Doc fix.
13155
13156 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
13157 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
13158 `new style' [w/`doc:' keyword].
13159
13160 2001-11-12 Richard M. Stallman <rms@gnu.org>
13161
13162 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
13163 LeaveNotify events. Only FocusIn and FocusOut do that now.
13164 (x_display_and_set_cursor): Do display hollow cursors in active
13165 minibuffer windows when they are not selected.
13166
13167 2001-11-12 Jason Rumney <jasonr@gnu.org>
13168
13169 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
13170 * w32term.c: Change doc-string comments to `new style'
13171 [w/`doc:' keyword]. Doc fixes.
13172
13173 * w32fns.c: Don't define max.
13174 (Fx_open_connection): Only execute once.
13175
13176 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13177
13178 * ccl.c: Change macros to use do-while block instead of if-else.
13179 Use braces to follow GNU Coding Standards.
13180
13181 2001-11-11 Richard M. Stallman <rms@gnu.org>
13182
13183 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
13184
13185 * lread.c (read_escape): Use end_of_file_error for reporting eof.
13186
13187 * insdel.c (replace_range): Use adjust_markers_for_replace
13188 instead of adjust_markers_for_delete and adjust_markers_for_insert.
13189
13190 * intervals.h: Declare set_text_properties and set_text_properties_1.
13191
13192 * textprop.c (set_text_properties_1): New subroutine
13193 broken out of set_text_properties.
13194 (set_text_properties): Use set_text_properties_1.
13195
13196 * intervals.c (graft_intervals_into_buffer):
13197 Use set_text_properties_1 to clear out properties.
13198
13199 * search.c (Freplace_match): Use replace_range to insert
13200 and delete. Don't request property inheritance from
13201 surrounding text.
13202
13203 2001-11-10 Jason Rumney <jasonr@gnu.org>
13204
13205 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
13206 vertical fonts. Allow them if face name is explicitly specified.
13207 Do not give up if we find a font that cannot be converted to an xlfd.
13208
13209 2001-11-10 Gerd Moellmann <gerd@gnu.org>
13210
13211 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
13212 instead of malloc/free.
13213
13214 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13215
13216 * xfaces.c (merge_face_vectors): Use braces to follow GNU
13217 Coding Standards.
13218 (Finternal_set_lisp_face_attribute): Likewise.
13219
13220 * buffer.c (Fbury_buffer): Likewise.
13221
13222 * indent.c (current_column_1): Remove unused variable `prev_col'.
13223
13224 * coding.c (encode_coding): Use precomputed value of `src'.
13225 (encode_coding): Remove unused variable `src_end'.
13226 (code_convert_region): Remove unused variables `count'.
13227
13228 2001-11-07 Jason Rumney <jasonr@gnu.org>
13229
13230 * w32term.c (x_display_and_set_cursor): Do not move system caret
13231 if cursor_glyph is NULL.
13232
13233 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13234
13235 * keymap.c (access_keymap): Fix compilation error.
13236
13237 2001-11-07 Miles Bader <miles@gnu.org>
13238
13239 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
13240
13241 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13242
13243 * intervals.c (graft_intervals_into_buffer):
13244 Remove #ifdef'd-out code.
13245 (graft_intervals_into_buffer): Remove unused variable `middle'.
13246
13247 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
13248 code (eval-current-buffer).
13249 Change doc-string comments to `new style' [w/`doc:' keyword].
13250
13251 2001-11-06 Richard M. Stallman <rms@gnu.org>
13252
13253 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
13254
13255 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
13256
13257 * lread.c (read1): Fix behavior with nested backquoting.
13258
13259 * keyboard.c (make_lispy_event): Check integerness and fix
13260 Lisp_Object/int mixup.
13261
13262 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13263
13264 * fns.c (copy_hash_table): Remove unused variable `v'.
13265
13266 * fontset.c (fontset_font_pattern): Remove unused variable
13267 `family_registry'.
13268
13269 * indent.c (current_column_1): Remove unused variable `prev_col'.
13270
13271 2001-11-05 Richard M. Stallman <rms@gnu.org>
13272
13273 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
13274
13275 * buffer.c (Fkill_buffer): Don't delete auto save file
13276 if buffer is modified.
13277
13278 2001-11-05 Andrew Innes <andrewi@gnu.org>
13279
13280 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
13281 CHECK_NUMBER_CDR.
13282
13283 2001-11-05 Richard M. Stallman <rms@gnu.org>
13284
13285 * unexelf.c (unexec): Minor changes; clean up comments.
13286
13287 2001-11-05 Sam Steingold <sds@gnu.org>
13288
13289 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
13290
13291 2001-11-05 Andreas Schwab <schwab@suse.de>
13292
13293 * sound.c (sound_perror): Save errno from being clobbered.
13294
13295 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
13296
13297 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
13298 the program image directly.
13299
13300 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13301
13302 * buffer.h (Fbuffer_local_value): Add prototype.
13303
13304 2001-11-04 Richard M. Stallman <rms@gnu.org>
13305
13306 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
13307 and CHECK_BUFFER.
13308
13309 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
13310 (record_char): Likewise.
13311
13312 * keyboard.c (make_lispy_event): Don't insist a drag event must
13313 move to a different buffer position. Instead, check for moving at
13314 least double_click_fuzz.
13315
13316 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
13317
13318 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
13319
13320 * indent.c (current_column_1, Fmove_to_column): Separate the code
13321 for display-table glyphs from the code for buffer text, to fix
13322 bugs in the former.
13323
13324 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
13325
13326 * buffer.c (Fbuffer_local_value): New function.
13327 (syms_of_buffer): Defsubr it.
13328
13329 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
13330 value of `cursor-in-non-selected-windows'.
13331
13332 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
13333 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
13334 (syms_of_xdisp): Initialize it.
13335
13336 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13337
13338 * xfns.c (Fx_create_frame): Doc fix.
13339
13340 * coding.c: Change doc-string comments to `new style' [w/`doc:'
13341 keyword].
13342
13343 * eval.c (top_level_value, top_level_set): Remove commented and
13344 #ifdef'd-out code.
13345 (Fdefvar): Fix usage in doc-string.
13346
13347 2001-11-03 Richard M. Stallman <rms@gnu.org>
13348
13349 * xfns.c: Include unistd.h, if it exists.
13350
13351 * editfns.c: Move the include of ctype.h after unistd.h.
13352
13353 * gmalloc.c: Test BROKEN_PROTOTYPES.
13354
13355 2001-11-03 Ken Raeburn <raeburn@gnu.org>
13356
13357 * lisp.h (CHECK_STRING_CAR): New macro.
13358 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
13359 treating XCAR and XCDR as lvalues.
13360 (openp): Use CHECK_STRING_CAR.
13361 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
13362
13363 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
13364
13365 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13366 (SIGMASKTYPE): Define.
13367
13368 * syssignal.h (sigunblock): Don't define if already defined.
13369
13370 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13371
13372 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
13373 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
13374 Fix typos in comments.
13375
13376 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
13377 and #ifdef'd-out code.
13378 Fix and reindent comments.
13379
13380 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
13381
13382 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
13383 argument `i' in macros.
13384
13385 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
13386 `i' in macros.
13387
13388 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
13389 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
13390 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
13391 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
13392 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
13393 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
13394 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
13395 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
13396 in macros.
13397
13398 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
13399 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
13400 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
13401 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
13402 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
13403 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
13404 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
13405 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
13406 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
13407 (remove unused second argument).
13408
13409 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
13410
13411 * syntax.c (describe_syntax): New wrapper.
13412 (Finternal_describe_syntax_value): Rename from describe_syntax.
13413 Don't insert space at front and \n at the end.
13414 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
13415
13416 * regex.c (re_wctype): Try to fix some warnings.
13417 (regcomp, regexec): Don't forget the __restrict.
13418
13419 2001-11-02 Richard M. Stallman <rms@gnu.org>
13420
13421 * textprop.c (Fget_char_property): Doc fix.
13422
13423 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13424
13425 * process.c (Fstart_process): Add usage to doc-string.
13426
13427 * data.c (Fsetq_default): Ditto.
13428
13429 * callint.c (Finteractive): Ditto.
13430
13431 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
13432
13433 * macros.c: Don't include keymap.h any more.
13434
13435 2001-11-01 Richard M. Stallman <rms@gnu.org>
13436
13437 * data.c (Fmake_local_variable): Doc fix.
13438
13439 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
13440 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
13441
13442 * keymap.c (Fdescribe_buffer_bindings): Print character property
13443 bindings along with or instead of the buffer local map.
13444 Make the overriding maps override what they should.
13445
13446 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13447
13448 * window.c (grow_mini_window): Fix typo in comment.
13449
13450 2001-11-01 Gerd Moellmann <gerd@gnu.org>
13451
13452 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
13453 (XTset_vertical_scroll_bar): Likewise.
13454
13455 * xfns.c (x_build_heuristic_mask): Use four_corners_best
13456 instead of IMAGE_BACKGROUND.
13457
13458 * xfns.c (four_corners_best): Reindent.
13459
13460 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
13461 Handle :box so that it is possible to specify sexprs.
13462
13463 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
13464
13465 * s/hpux11.h: New file.
13466
13467 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13468
13469 * emacs.c (USAGE1): Show command line option --no-window-system
13470 instead of --no-windows in usage.
13471 (standard_args): Rename --no-windows to --no-window-system.
13472 (bug_reporting_address): Follow Emacs coding conventions.
13473
13474 * eval.c (Fcommandp): Doc fix.
13475 Change doc-string comments to `new style' [w/`doc:' keyword].
13476
13477 * frame.c (Fframe_live_p): Doc fix.
13478
13479 * buffer.c (selective-display-ellipses): Doc fix.
13480
13481 2001-10-31 Gerd Moellmann <gerd@gnu.org>
13482
13483 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
13484
13485 * xfaces.c (realize_x_face): If C is not a single-byte character,
13486 set the face's colors_copied_bitwise_p instead of the defaulted_p
13487 members which have a different meaning.
13488 (free_face_colors): Do nothing for a face whose colors have been
13489 copied bitwise.
13490
13491 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
13492
13493 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13494
13495 * marker.c, mocklisp.c: Change doc-string comments to `new style'
13496 [w/`doc:' keyword].
13497
13498 2001-10-31 Gerd Moellmann <gerd@gnu.org>
13499
13500 * fns.c (require_unwind): Return Lisp_Object.
13501
13502 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13503
13504 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
13505 (last-input-char): Revert doc-string to be the same as the
13506 doc-string of `last-input-event'.
13507
13508 * xdisp.c: Fix typos in comments.
13509
13510 2001-10-31 Gerd Moellmann <gerd@gnu.org>
13511
13512 * window.c (grow_mini_window): Handle case that the root
13513 window is already smaller than the nominal mininum height.
13514
13515 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
13516
13517 * emacs.c (main): Don't call keys_of_macros any more.
13518
13519 * lisp.h (keys_of_macros): Remove.
13520
13521 * macros.c (keys_of_macros): Remove.
13522
13523 * xfaces.c (Fface_attribute_relative_p): Declare args.
13524
13525 2001-10-30 Jason Rumney <jasonr@gnu.org>
13526
13527 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
13528 (enum_font_cb2): Ignore fonts with vertical orientation.
13529
13530 2001-10-30 Richard M. Stallman <rms@gnu.org>
13531
13532 * keyboard.c (Finput_pending_p): Doc fix.
13533
13534 2001-10-30 Gerd Moellmann <gerd@gnu.org>
13535
13536 * xterm.c (x_after_update_window_line): Don't run the code
13537 clearing in borders for rows whose visible height is 0.
13538
13539 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
13540 resized_p flag is set. If not set, use the much less flickering
13541 method previously used.
13542
13543 * dispnew.c (change_frame_size_1): Set frame's resized_p.
13544
13545 * frame.h (struct frame) <resized_p>: New member.
13546
13547 * lread.c (to_multibyte): Ensure read_buffer is at least twice
13548 as large as the number of bytes to convert.
13549
13550 * lread.c (to_multibyte): New function.
13551 (read1): Use it.
13552
13553 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
13554
13555 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
13556
13557 2001-10-30 Gerd Moellmann <gerd@gnu.org>
13558
13559 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
13560 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
13561 if the row's fill_line_p is set and drawing the last glyph with
13562 DRAW_IMAGE_{RAISED,SUNKEN}.
13563
13564 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
13565
13566 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
13567
13568 * xmenu.c: Include coding.h and charset.h.
13569 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
13570 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
13571 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
13572 Explicitly set wv->help. Use `TRUE' rather than `True'.
13573 (menu_help_callback): Use empty_string.
13574
13575 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
13576 (Fx_popup_dialog): Explicitly init f.
13577 (w32_menu_display_help): Use empty_string.
13578
13579 2001-10-29 Richard M. Stallman <rms@gnu.org>
13580
13581 * fns.c (Frequire): Detect recursive try to require the same
13582 feature 3 or more levels deep, and get error.
13583 (require_unwind): New subroutine.
13584 (require_nesting_list): New variable.
13585 (syms_of_fns): Init and staticpro it.
13586
13587 * print.c (print_object): Clarify indication of insertion type.
13588
13589 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
13590
13591 * coding.c (syms_of_coding): Document that locale-coding-system is
13592 used for decoding input on X.
13593
13594 * window.c (Fscroll_left, Fscroll_right): Doc fix.
13595
13596 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13597
13598 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
13599 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
13600
13601 2001-10-29 Gerd Moellmann <gerd@gnu.org>
13602
13603 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
13604 use NO_CURSOR if cursor_in_non_selected_windows is false.
13605
13606 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
13607 the slant attribute if FRAME is t.
13608
13609 * xfns.c (x_set_internal_border_width): Set frame garbaged
13610 when X window doesn't exist yet.
13611
13612 * xterm.c (x_after_update_window_line): Clear internal border
13613 in different circumstances.
13614
13615 * xterm.c (XTread_socket) <KeyPress>: Don't use
13616 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
13617 <handa@etl.go.jp>.
13618
13619 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
13620
13621 * m/ibms390.h: New file. From Adam Thornton
13622 <athornton@sinenomine.net>.
13623
13624 2001-10-28 Gerd Moellmann <gerd@gnu.org>
13625
13626 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
13627
13628 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
13629 a loop counter.
13630
13631 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13632
13633 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
13634
13635 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
13636 keyword].
13637 Fix typos in comments.
13638
13639 * emacs.c (bug_reporting_address): New function.
13640 Use it when displaying usage message.
13641
13642 * minibuf.c (read_minibuf): Remove unused external declaration of
13643 variable `Qread_only'.
13644
13645 * keymap.c (access_keymap): Remove unused variable `charset'.
13646
13647 2001-10-28 Miles Bader <miles@gnu.org>
13648
13649 * xfaces.c (merge_face_heights): Handle TO being relative as well.
13650 Remove #ifdef'd-out code.
13651 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
13652 (syms_of_xfaces): Initialize them.
13653
13654 2001-10-27 Jason Rumney <jasonr@gnu.org>
13655
13656 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
13657 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
13658 position using the system caret.
13659
13660 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
13661 (w32_system_caret_height, w32_system_caret_x)
13662 (w32_system_caret_y): New variables for tracking system caret.
13663 (w32_initialize): Initialize them.
13664 (x_display_and_set_cursor): Make system caret follow the active cursor.
13665
13666 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
13667 New messages types.
13668
13669 * w32term.c (note_mouse_highlight): Clear old help_echo.
13670
13671 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13672
13673 * xterm.c: Fix typo in a comment.
13674
13675 * emacs.c: Fix typos in comments.
13676 Remove unnecessary spaces.
13677 Change doc-string comments to `new style' [w/`doc:' keyword].
13678 (USAGE2): Fix typos in usage string.
13679
13680 * xterm.c: Fix typo in a comment.
13681
13682 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
13683 emacs.c.
13684
13685 2001-10-27 Gerd Moellmann <gerd@gnu.org>
13686
13687 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
13688 instead of 1/2 line_height in the heuristic for skipping
13689 farther backward when target_y was not reached.
13690
13691 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
13692 Display errno only if non-zero.
13693 (sound_warning): New function.
13694 (vox_configure): Don't treat failing to set sample rate as error.
13695 (various places): Improve error messages.
13696
13697 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
13698
13699 * fileio.c (Faccess_file): Run the argument filename through
13700 Fexpand_file_name, before using it.
13701
13702 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
13703 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
13704
13705 2001-10-26 Gerd Moellmann <gerd@gnu.org>
13706
13707 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
13708
13709 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
13710 Fix clearing in the case of scroll bars on the right.
13711
13712 2001-10-26 Juanma Barranquero <lektu@terra.es>
13713
13714 * w32gui.h (XImage): Add a dummy typedef.
13715
13716 2001-10-26 Gerd Moellmann <gerd@gnu.org>
13717
13718 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
13719
13720 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
13721
13722 * frame.c (Fframe_parameter): Fix last change.
13723
13724 * fileio.c: Revert last change (which removed old commented-out
13725 version of expand-file-name). Add a comment that explains why
13726 this old version should not be removed.
13727
13728 2001-10-25 Gerd Moellmann <gerd@gnu.org>
13729
13730 * frame.c (Fframe_parameter): Fix a bug whereby some
13731 ``artificial'' frame parameters, like `minibuffer' were not
13732 obtained by calling Fframe_parameters.
13733
13734 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
13735 cursor differently.
13736
13737 * xdisp.c (move_it_vertically_backward): Compute line height
13738 differently. Add heuristic to try to be more compatible to 20.x.
13739
13740 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
13741
13742 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
13743
13744 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
13745 boolean.
13746
13747 2001-10-25 Miles Bader <miles@gnu.org>
13748
13749 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
13750 BG is a pointer to a structure, not a structure.
13751 (gif_format, png_format): Add missing commas.
13752
13753 2001-10-24 Richard M. Stallman <rms@gnu.org>
13754
13755 * xfaces.c (Fface_attributes_as_vector): New function.
13756 (syms_of_xfaces): Defsubr it.
13757
13758 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13759
13760 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
13761 variable `area'.
13762
13763 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13764
13765 * search.c (scan_newline): Remove unused variable `selective_display'.
13766
13767 2001-10-25 Miles Bader <miles@gnu.org>
13768
13769 * dispextern.h (struct image): Add `background',
13770 `background_valid', and `background_transparent' fields.
13771 (image_background, image_background_transparent): New declarations.
13772 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
13773 * xfns.c (image_background, image_background_transparent)
13774 (four_corners_best): New functions.
13775 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
13776 (gs_format): Add `:background' entry.
13777 (lookup_image): Set IMG's background color if specified.
13778 (pbm_load, xbm_load_image, png_load): Set IMG's background field
13779 when appropriate.
13780 (x_clear_image_1): Reset `background_valid' and
13781 `background_transparent_valid' fields.
13782 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
13783 calculating it here. Set IMG's background_transparent field.
13784 (enum xpm_keyword_index): Add XPM_BACKGROUND.
13785 (enum png_keyword_index): Add PNG_BACKGROUND.
13786 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
13787 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
13788 (enum gif_keyword_index): Add GIF_BACKGROUND.
13789 (enum gs_keyword_index): Add GS_BACKGROUND.
13790 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
13791 Pre-calculate image background color where necessary.
13792 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
13793 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
13794 color to use for image glyph reliefs.
13795
13796 2001-10-24 Gerd Moellmann <gerd@gnu.org>
13797
13798 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
13799 in full-width rows.
13800
13801 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
13802 Fix clearing of area not covered by scroll bar.
13803
13804 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13805
13806 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
13807 and `real_start'.
13808 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
13809 (glyph_rect): Remove unused variable `area'.
13810
13811 2001-10-24 Gerd Moellmann <gerd@gnu.org>
13812
13813 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
13814
13815 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
13816 (row_containing_pos): Take additional argument DY.
13817 Treat rows ending in middle of char differently.
13818 (display_line): Handle tabs on window systems differently.
13819
13820 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
13821 with additional argument.
13822
13823 * dispextern.h (row_containing_pos): Adjust prototype.
13824
13825 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
13826 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
13827 (try_window_id, try_window_reusing_current_matrix)
13828 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
13829 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
13830
13831 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13832
13833 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
13834 gnuemacs).
13835 (HAVE_BOXES): Fix typo in comment.
13836 (push_menu_pane): Fix typo in comment.
13837
13838 * xdisp.c: (display_prop_string_p): Remove unused local declaration
13839 of `Qwhen'.
13840 (single_display_prop_string_p): Remove unused local declarations
13841 of `Qwhen' and `Qmargin'.
13842 (string_buffer_position): Remove unused variable `around'.
13843 (store_frame_title): Remove unused variable `width'.
13844
13845 * window.c: Don't define max.
13846 (coordinates_in_window): Remove unused variable `uy'.
13847
13848 * widget.c: Don't define max.
13849
13850 * process.c: Don't define max.
13851 (create_process): Remove unused variable `buffer'.
13852
13853 2001-10-23 Gerd Moellmann <gerd@gnu.org>
13854
13855 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
13856
13857 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
13858
13859 * xfaces.c (Finternal_set_lisp_face_attribute)
13860 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
13861 frame is on a windowed display.
13862
13863 2001-10-23 Gerd Moellmann <gerd@gnu.org>
13864
13865 * dispnew.c (sync_window_with_frame_matrix_rows):
13866 Fix handling of windows which aren't full-width, fix handling
13867 of marginal areas.
13868
13869 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
13870
13871 2001-10-23 Andreas Schwab <schwab@suse.de>
13872
13873 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
13874 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
13875
13876 2001-10-23 Gerd Moellmann <gerd@gnu.org>
13877
13878 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
13879 REAL_END. Notice if cursor gets overwritten.
13880 (notice_overwritten_cursor): Take X positions as parameters.
13881 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
13882 around call to x_draw_glyphs.
13883
13884 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13885
13886 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
13887 instead of C) and usage.
13888
13889 * editfns.c (char-to-string): Fix argument names (use CHAR instead
13890 of C) and usage.
13891
13892 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
13893 `left', `max_width' and `max_height'.
13894
13895 2001-10-23 Gerd Moellmann <gerd@gnu.org>
13896
13897 * xdisp.c (display_line): For a tab continued to the next line,
13898 set row's ends_in_middle_of_char_p.
13899
13900 2001-10-22 Gerd Moellmann <gerd@gnu.org>
13901
13902 * xdisp.c (display_line): Fix computation of continuation lines
13903 width for TABs.
13904
13905 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13906
13907 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
13908 `Qlaplace'.
13909
13910 * fileio.c: Remove unused code.
13911
13912 2001-10-22 Miles Bader <miles@gnu.org>
13913
13914 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
13915 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
13916 Remove `DOC_STRINGS_IN_COMMENTS' cases.
13917
13918 2001-10-21 Jason Rumney <jasonr@gnu.org>
13919
13920 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
13921
13922 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
13923
13924 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
13925 (Finsert_string): Avoid the multi-line string literals warning.
13926
13927 2001-10-22 Miles Bader <miles@gnu.org>
13928
13929 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
13930 (Fdocumentation): Don't use it.
13931 (syms_of_doc): Don't initialize it.
13932
13933 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
13934 * print.c (Fwith_output_to_temp_buffer): Likewise.
13935 * window.c (Fsave_window_excursion): Likewise.
13936 * editfns.c (Fsave_excursion, Fsave_current_buffer)
13937 (Fsave_restriction): Likewise.
13938 * eval.c (Frun_hooks, Frun_hook_with_args)
13939 (Frun_hook_with_args_until_failure)
13940 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
13941 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
13942 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
13943 (Funwind_protect, Fcondition_case): Likewise.
13944 * coding.c (Ffind_operation_coding_system): Likewise.
13945 * keyboard.c (Ftrack_mouse): Likewise.
13946
13947 2001-10-21 Miles Bader <miles@gnu.org>
13948
13949 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
13950 (Fmake_hash_table): Add usage: string to doc string.
13951 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
13952 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
13953 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
13954 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
13955 (Fml_prefix_argument_loop): Likewise.
13956
13957 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13958
13959 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
13960
13961 * sysdep.c (init_sys_modes): Change doc-string comments to `new
13962 style' [w/`doc:' keyword].
13963
13964 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
13965 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
13966 comments to `new style' [w/`doc:' keyword].
13967
13968 2001-10-21 Jason Rumney <jasonr@gnu.org>
13969
13970 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
13971
13972 * w32term.c (remember_mouse_glyph): New function.
13973 (w32_mouse_position): Use it.
13974 (note_mouse_movement): If the mouse moved off the glyph, remember
13975 its new position.
13976
13977 * w32term.h (struct w32_output): Correct spelling of x_compatible.
13978 (w32_display_info): Add mouse_face_overlay.
13979
13980 * w32term.c (notice_overwritten_cursor): Renamed from
13981 note_overwritten_text_cursor. Rewritten to take glyph widths into
13982 account.
13983 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
13984 (fast_find_string_pos): New function.
13985 (fast_find_position): Return the correct vpos. Add parameter
13986 STOP. In the final row, stop before glyphs having STOP as object.
13987 Don't consider glyphs that are not from a buffer.
13988 (fast_find_position) [0]: Add a presumably more correct version
13989 for after 21.1.
13990 (expose_window_tree, expose_frame): Don't compute intersections here.
13991 (expose_window): Do it here instead.
13992 (expose_window_tree, expose_window, expose_line): Return 1 when
13993 overwriting mouse-face.
13994 (expose_window): If W is the window currently being updated, mark
13995 the frame garbaged.
13996 (expose_frame): If mouse-face was overwritten, redo it.
13997 (x_use_underline_position_properties): New variable.
13998 (syms_of_xterm): DEFVAR_BOOL it.
13999 (x_draw_glyph_string): Add comment to use it in future.
14000 (x_draw_glyph_string): Restore clipping after drawing box.
14001 Fix a computation of the underline position.
14002 (w32_get_glyph_string_clip_rect): Minor cleanup.
14003 (x_fill_stretch_glyph_string): Remove an assertion.
14004 (x_produce_glyphs): Don't convert multibyte characters
14005 to unibyte characters in unibyte buffers.
14006 (cursor_in_mouse_face_p): New function.
14007 (x_draw_stretch_glyph_string): Use it to choose a different GC
14008 when drawing a cursor within highlighted text. Don't draw
14009 background again if it has already been drawn.
14010 (x_draw_glyph_string_box): Don't draw a full-width
14011 box just because the glyph row's full_width_p flag is set.
14012 (x_draw_glyphs): Fix computation of rightmost x for
14013 full-width rows.
14014 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
14015 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
14016 change bottom shadow accordingly. Some cleanup.
14017 (x_update_window_end): Handle overwritten mouse face
14018 also for tool bar windows.
14019 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
14020 DRAW is DRAW_IMAGE_RAISED.
14021 (clear_mouse_face): Return 1 if text with mouse face was
14022 actually redrawn. Make the function static.
14023 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
14024 optimize away highlighting if we pass over that same overlay again.
14025 (note_mouse_highlight): Call mouse_face_overlay_overlaps
14026 to detect a case where we have to highlight a different region
14027 despite not having left the currently highlighted region.
14028 Set mouse_face_overlay in the x_display_info. Avoid changing the
14029 mouse pointer shape when show_mouse_face has already done it, or
14030 there is no need. Handle mouse-face and help-echo in strings.
14031 (glyph_rect): New function.
14032 (w32_mouse_position): Use it to raise the threshold for mouse
14033 movement event generation.
14034 (w32_initialize_display_info): Initialize the x_display_info's
14035 mouse_face_overlay.
14036 (w32_set_vertical_scroll_bar): Don't clear a zero height
14037 or width area.
14038 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
14039 a widget to zero height.
14040
14041 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
14042 Protect unibyte strings created by replacing their multibyte
14043 equivalents in menu_items.
14044 (w32_menu_show): Don't overwrite an item's name with its key
14045 description in case the description is a multibyte string.
14046 (single_submenu): Some cleanup.
14047
14048 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
14049 (postprocess_image): New function.
14050 (lookup_image): Call it for all image types except PostScript.
14051 (x_kill_gs_process): Call postprocess_image.
14052 (tiff_error_handler, tiff_warning_handler): New functions.
14053 (tiff_load): Install them as handlers.
14054 (x_kill_gs_process): Recognize if someone has cleared the image
14055 cache under us.
14056 (valid_image_p): Protect better against invalid image
14057 specifications. Previous code could signal an error.
14058 (Fx_hide_tip, Fshow_tip): Doc fix.
14059 (Fv_max_tooltip_size): New variable.
14060 (syns_of_xfns): DEFVAR_LISP it.
14061 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
14062 window buffer to *tip* right after creating the frame. Set frame's
14063 window_width. Use a maximum tooltip size specified by
14064 Vx_max_tooltip_size, if that has valid contents.
14065 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
14066 Make sure the tooltip is completely visible.
14067 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
14068 (Fx_create_frame): Adjust the frame's height for presence
14069 of the tool bar before calling x_figure_window_size.
14070 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
14071 when the window gets smaller.
14072 (x_set_foreground_color): Set frame's cursor_pixel.
14073 (x_set_foreground_color, x_set_background_color): Cleaned up.
14074 (x_set_font): Handle case of x_new_fontset returning the same name
14075 as before, although there was a change in fontsets.
14076
14077 2001-10-21 Miles Bader <miles@gnu.org>
14078
14079 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
14080 (Flogxor): Add usage: string to doc string.
14081 * charset.c (Fstring): Likewise.
14082 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
14083 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
14084
14085 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14086
14087 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
14088
14089 * alloc.c: Reindent DEFUNs with doc: keywords.
14090
14091 * abbrev.c (Finsert_abbrev_table_description): Reindent.
14092
14093 * frame.c: Change doc-string comments to `new style' [w/`doc:'
14094 keyword].
14095
14096 See ChangeLog.9 for earlier changes.
14097
14098 ;; Local Variables:
14099 ;; coding: iso-2022-7bit
14100 ;; End:
14101
14102 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
14103 Copying and distribution of this file, with or without modification,
14104 are permitted provided the copyright notice and this notice are preserved.
14105
14106 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4