Fix whitespace.
[bpt/emacs.git] / src / ChangeLog
1 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * macterm.c (do_window_activate, do_window_deactivate): Remove.
4 (XTread_socket): Send mouse button events to the toolbox
5 dispatcher even when the mouse is grabbed. Don't process window
6 activate events for non-Emacs windows. Replace function calls to
7 do_window_activate and do_window_deactivate with their contents.
8 Reset mouse grabbing status when a window is deactivated.
9
10 2004-06-29 Steven Tamm <steventamm@mac.com>
11
12 * macterm.c (mac_get_emulated_btn)
13 (mac_event_to_emacs_modifiers): Fix emulated mouse button
14 support to correctly mask out modifiers.
15
16 2004-06-29 David Kastrup <dak@gnu.org>
17
18 * search.c (Fset_match_data): Allow buffer before end of list
19 which can happen if set-match-data is using a pre-consed list.
20
21 2004-06-28 Steven Tamm <steventamm@mac.com>
22
23 * macterm.c (XTread_socket): Correctly set the frame position
24 after the window is moved.
25
26 2004-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
27
28 * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
29 gpix and gmask just before return to avoid memory leak.
30 (xg_get_image_for_pixmap): Add workaround for monochrome displays
31 so insensitive and activated icons look ok.
32
33 2004-06-27 Jason Rumney <jasonr@gnu.org>
34
35 * w32fns.c (file_dialog_callback): Disable edit control if set
36 to directories only on CDN_INITDONE message.
37 (Fx_file_dialog): Default to directories only when prompt starts
38 with "Dired".
39
40 2004-06-25 Kim F. Storm <storm@cua.dk>
41
42 * alloc.c (allocate_misc): Update total_free_markers.
43 (free_misc): New function.
44 (safe_alloca_unwind, free_marker): Use it.
45
46 * lisp.h (free_misc): Add prototype.
47
48 * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
49
50 2004-06-24 Richard M. Stallman <rms@gnu.org>
51
52 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
53 (syms_of_emacs): Lisp variables deleted.
54
55 2004-06-23 David Kastrup <dak@gnu.org>
56
57 * search.c (Freplace_match): Adjust the match-data more thoroughly
58 when replacing strings in the buffer.
59 (Fmatch_data): When INTEGERS is non-nil and the last match was in
60 a buffer, add the buffer as last element to the match data.
61 (Fset_match_data): If an additional element of the match-data is a
62 buffer, restore it to last_thing_searched.
63 (save_search_regs): Save last_thing_searched as part of the match
64 data.
65 (restore_match_data): Restore it again.
66
67 2004-06-23 Luc Teirlinck <teirllm@auburn.edu>
68
69 * keymap.c (Ftext_char_description): Doc fix.
70 * doc.c (Fsnarf_documentation): Doc fix.
71
72 2004-06-22 Kim F. Storm <storm@cua.dk>
73
74 * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
75
76 * lisp.h (struct Lisp_Save_Value): New member dogc.
77 (SAFE_ALLOCA_LISP): Change second arg to number of elements.
78 Set dogc member in Lisp_Save_Value object so it will be GC'ed.
79 (SAFE_FREE_LISP): New macro.
80
81 * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
82 (make_save_value): Init new dogc member.
83 (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
84
85 * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
86 SAFE_FREE_LISP macros.
87
88 2004-06-22 Kim F. Storm <storm@cua.dk>
89
90 * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
91 Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
92 in that memory area are unknown to GC. Add comments.
93
94 * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
95
96 2004-06-21 Kim F. Storm <storm@cua.dk>
97
98 * lisp.h (MAX_ALLOCA): Define here.
99 (safe_alloca_unwind): Add prototype.
100 (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
101
102 * alloc.c (safe_alloca_unwind): New function.
103
104 * casefiddle.c (casify_object): Use SAFE_ALLOCA.
105
106 * charset.c (Fstring): Use SAFE_ALLOCA.
107
108 * coding.c (MAX_ALLOCA): Remove define.
109
110 * data.c (MAX_ALLOCA): Remove define.
111 (Faset): Use SAFE_ALLOCA.
112
113 * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
114
115 * fns.c (string_make_multibyte, string_to_multibyte)
116 (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
117 (MAX_ALLOCA): Remove define.
118 (Fbase64_encode_region, Fbase64_encode_string)
119 (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
120 (Fbase64_encode_region, Fbase64_encode_string): Fix potential
121 memory leak if encoding fails.
122
123 * xdisp.c (add_to_log): Use SAFE_ALLOCA.
124
125 2004-06-21 Eli Zaretskii <eliz@gnu.org>
126
127 * print.c (Fwith_output_to_temp_buffer): Doc fix.
128
129 2004-06-20 Richard M. Stallman <rms@gnu.org>
130
131 * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
132
133 * search.c (match_limit): Cleaner err msg when no match data available.
134
135 * window.c (syms_of_window): Doc fix.
136
137 * keyboard.c (command_loop_1): Handle values `only' and `identity'
138 for Vtransient_mark_mode.
139
140 * buffer.c (syms_of_buffer): Doc fix.
141
142 2004-06-21 David Kastrup <dak@gnu.org>
143
144 * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
145 and unbinding of `case-fold-search' according to
146 `completion-ignore-case' around calls of string-match and
147 predicates, respectively. Should give satisfactory performance
148 in all relevant cases.
149
150 2004-06-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
151
152 * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
153 clip_x/y_origin.
154
155 * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
156
157 * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
158
159 * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
160 on Mac OSX.
161
162 2004-06-16 Luc Teirlinck <teirllm@auburn.edu>
163
164 * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
165
166 2004-06-16 Kim F. Storm <storm@cua.dk>
167
168 * dispextern.h (Vimage_types): Remove extern.
169
170 2004-06-16 Miles Bader <miles@gnu.org>
171
172 * image.c (lookup_image_type): Initialize image type if necessary.
173
174 2004-06-15 Kim F. Storm <storm@cua.dk>
175
176 * xdisp.c (try_cursor_movement): Exclude header line from scroll
177 margin at top of window.
178 (try_window_reusing_current_matrix): Calculate proper cursor position
179 after scrolling up with non-zero scroll margin, as the old cursor
180 position corresponds to value of PT before executing this command.
181 (try_window_id): Consider scroll margin at bottom of window too;
182 otherwise we fail to scroll when hl-line-mode is enabled.
183
184 * syntax.c (skip_chars): Only recognize [:class:] when it has the
185 proper format and class is a lower-case word.
186
187 2004-06-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
188
189 * gtkutil.c (xg_get_image_for_pixmap): New function.
190 (xg_get_gdk_pixmap_and_mask): Removed.
191 (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
192 xg_get_gdk_pixmap_and_mask.
193
194 * xterm.h (struct x_display_info): Typo in comment fixed.
195
196 2004-06-14 Juanma Barranquero <lektu@terra.es>
197
198 * dispextern.h (Vimage_types): Make it conditional on
199 HAVE_WINDOW_SYSTEM.
200
201 * image.c (Vimage_types): Move from xdisp.c.
202 (Vimage_type_cache): New variable.
203 (define_image_type): New argument indicating whether an image
204 library was loaded; cache loaded status and return t on success,
205 nil otherwise.
206 (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
207 (w32_delayed_load): New function to load an image library from a
208 list of possible filenames.
209 (init_xpm_functions, init_png_functions, init_jpeg_functions)
210 (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
211 (CHECK_LIB_AVAILABLE): Call `define_image_library' with new
212 argument.
213 (Finit_image_library): New function, extracted from `init_image'.
214 Try to initialize an image library on demand and cache whether we
215 were successful or not.
216 (syms_of_image): Initialize `Vimage_types' and
217 `Vimage_type_cache'. Add recognized image types to Vimage_types.
218 Export `init-image-library'.
219 (init_image): Remove initialization of all image types, except xbm
220 and pbm.
221
222 * xdisp.c (Vimage_types): Delete (moved to image.c).
223
224 2004-06-14 Andreas Schwab <schwab@suse.de>
225
226 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
227 Avoid calling specbind when completion-regexp-list is empty.
228
229 2004-06-13 Richard M. Stallman <rms@gnu.org>
230
231 * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
232 (re_wctype, re_iswctype, re_wctype_to_bit):
233 Non-function definitions moved here from regex.c.
234
235 * regex.c (re_wctype, re_iswctype): Function defs longer static.
236 (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
237 (re_wctype, re_iswctype, re_wctype_to_bit):
238 Non-function definitions moved to regex.h.
239
240 * window.c (Fselect_window): Doc fix.
241
242 * syntax.c: Include regex.h.
243 (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed.
244 If requested, make a list of classes, then check the scanned
245 chars for membership in them.
246 (in_classes): New function.
247 Doc fix.
248
249 * keyboard.c (cmd_error): Don't call any_kboard_state
250 if inside a recursive edit level.
251
252 2004-06-13 Lorentey K\e,Aa\e(Broly <lorentey@elte.hu>
253
254 * keyboard.c (command_loop): Call any_kboard_state before
255 command_loop_2 when at top level.
256
257 2004-06-13 Andreas Schwab <schwab@suse.de>
258
259 * print.c (print_object): Always use %ld for printing EMACS_INT.
260
261 * keyboard.c (cancel_hourglass_unwind): Return a value.
262 (modify_event_symbol): Always use %ld for printing EMACS_INT.
263 (Fexecute_extended_command): Likewise.
264
265 * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
266 avoid clashes.
267 (SYNTAX): Likewise.
268 (SYNTAX_WITH_FLAGS): Likewise.
269 (SYNTAX_MATCH): Likewise.
270
271 * syntax.c (char_quoted): Avoid warning about undefined operation.
272 (find_defun_start): Likewise.
273 (scan_lists): Likewise.
274 (INC_FROM): Likewise.
275 (scan_sexps_forward): Likewise.
276
277 * image.c: Include <ctype.h>.
278
279 * xfaces.c (face_attr_equal_p): Declare parameters.
280
281 2004-06-13 Kenichi Handa <handa@m17n.org>
282
283 * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
284
285 2004-06-12 Matthew Mundell <matt@mundell.ukfsn.org>
286
287 * eval.c (Fdefun): Signal an error if NAME is not a symbol.
288
289 2004-06-12 Kenichi Handa <handa@m17n.org>
290
291 * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
292 ccl_prog_stack_struct and update it.
293 (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
294 (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
295 ccl->eof_ic on EOF.
296 (ccl_debug_hook): New function.
297 (struct ccl_prog_stack): New member eof_ic.
298 (ccl_driver): Handle EOF in subrountine call correctly.
299
300 2004-06-11 Kenichi Handa <handa@m17n.org>
301
302 * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
303
304 2004-06-11 Kim F. Storm <storm@cua.dk>
305
306 * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
307
308 2004-06-11 Juanma Barranquero <lektu@terra.es>
309
310 * keyboard.c (Fposn_at_point): Doc fix.
311
312 2004-06-11 David Kastrup <dak@gnu.org>
313
314 * search.c (match_limit): Don't flag an error if match-data
315 exceeding the allocated search_regs.num_regs gets requested, just
316 return Qnil.
317
318 2004-06-08 Miles Bader <miles@gnu.org>
319
320 * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
321
322 2004-06-07 Juanma Barranquero <lektu@terra.es>
323
324 * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
325 (Fcurrent_time_string, Fcurrent_time_zone)
326 (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
327
328 2004-06-07 Miles Bader <miles@gnu.org>
329
330 * xfaces.c (struct named_merge_point): New type.
331 (push_named_merge_point): New function.
332 (merge_named_face): New function.
333 (merge_face_ref, face_at_buffer_position, face_at_string_position):
334 Use `merge_named_face'.
335 (merge_face_inheritance): Function removed.
336 (merge_face_ref): Renamed from `merge_face_vector_with_property'.
337 Add new `err_msgs' and `named_merge_points' args. Return error
338 status. Only print error messages if ERR_MSGS is true. Don't try to
339 do :inherit attribute validation.
340 (merge_face_heights): Handle `unspecified' in both directions.
341 (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
342 Call `merge_face_ref' instead of `merge_face_inheritance'.
343 (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
344 (compute_char_face, face_at_buffer_position)
345 (face_at_string_position): Call `merge_face_ref' instead of
346 `merge_face_vector_with_property'.
347
348 2004-06-07 Kenichi Handa <handa@m17n.org>
349
350 * coding.c (find_safe_codings): Check NILP (safe_codings) only at
351 the necessary places.
352
353 2004-06-07 Kim F. Storm <storm@cua.dk>
354
355 * process.c (Fdelete_process): Undo 2004-05-28 change.
356 Instead, call status_notify also for network process.
357 (status_message): Use process instead of status as arg.
358 Give messages "deleted" or "connection broken by remote peer" for
359 an exited network process.
360 (status_notify): Change call to status_message.
361 (read_process_output): Increase readmax to 4096. Do not increase
362 buffer size for datagram channels (default is now large enough).
363
364 2004-06-06 Steven Tamm <tamm@Steven-Tamms-Computer.local>
365
366 * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
367 problem due to newly defined variable.
368
369 2004-06-06 Miles Bader <miles@gnu.org>
370
371 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
372 immediately if non-interactive or not initialized.
373
374 2004-06-05 Richard M. Stallman <rms@gnu.org>
375
376 * minibuf.c (Fcompleting_read): Doc fix.
377
378 2004-06-05 Andreas Schwab <schwab@suse.de>
379
380 * macfns.c (x_create_tip_frame): Fix declaration after statement.
381
382 2004-06-05 Juanma Barranquero <lektu@terra.es>
383
384 * keymap.c (Fdescribe_vector): Fix docstring.
385 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
386
387 2004-06-05 Miles Bader <miles@gnu.org>
388
389 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
390 attributes have different values than the default face.
391
392 2004-06-04 Eli Zaretskii <eliz@gnu.org>
393
394 * xfaces.c (x_supports_face_attributes_p): Make this function
395 conditional on HAVE_WINDOW_SYSTEM.
396 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]: Don't
397 call x_supports_face_attributes_p if it was not compiled in.
398
399 2004-06-04 Miles Bader <miles@gnu.org>
400
401 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
402 from Ftty_supports_face_attributes_p.
403 (x_supports_face_attributes_p): New function.
404 (Ftty_supports_face_attributes_p): Function deleted.
405 (Fdisplay_supports_face_attributes_p): New function.
406 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
407 (face_attr_equal_p): New function.
408 (lface_equal_p): Use it.
409
410 2004-06-03 Juanma Barranquero <lektu@terra.es>
411
412 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
413 (Vw32_color_map): Fix typo in docstring.
414 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
415 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
416 Make argument names match their use in docstring.
417
418 2004-06-02 Juanma Barranquero <lektu@terra.es>
419
420 Work around bugs/problems with MinGW builds of graphics libraries
421 called from MSVC builds of Emacs.
422
423 * image.c (lookup_image): Make pointer to img static.
424 (png_read_from_memory): Disable "global" optimization.
425
426 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
427
428 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
429
430 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
431
432 * macfns.c: Don't include ccl.h.
433 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
434 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
435 TextUtils.h.
436 (Fx_create_frame): Sync with xfns.c. Initialize cursor
437 descriptors.
438 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
439 display height/width.
440 (compute_tip_xy, Vx_max_tooltip_size): Declare.
441 (unwind_create_tip_frame, compute_tip_xy): New functions.
442 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
443 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
444 and last_show_tip_args.
445
446 * macgui.h [!MAC_OSX]: Include Gestalt.h.
447 (Cursor, No_Cursor): New defines.
448 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility
449 macro.
450 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
451
452 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
453
454 * macterm.c: Don't include Gestalt.h.
455 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
456 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
457 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
458 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
459 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
460 (construct_mouse_click, XTmouse_position)
461 (x_scroll_bar_report_motion, x_calc_absolute_position)
462 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
463 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
464 (note_mouse_movement): Clear the mouse face and reset the pointer
465 shape when the pointer goes outside the frame without grabbing.
466 (mac_front_window): New function.
467 (mac_window_to_frame): New macro.
468 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
469 (do_window_activate, do_window_deactivate, do_app_resume)
470 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
471 (do_zoom_window, mac_do_receive_drag, XTread_socket)
472 (mac_check_for_quit_char): Use mac_front_window and/or
473 mac_window_to_frame.
474 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
475 scroll-bar click event.
476 (mac_define_frame_cursor): Change the pointer shape.
477 (x_free_frame_resources): Reset tip_window to NULL when it is
478 disposed.
479 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
480 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize
481 arrow_cursor.
482 (do_window_update): Don't do anything if the updated window is the
483 tooltip window.
484 (do_mouse_moved): Handle mouse movement events here (previously in
485 XTread_socket). Clear the mouse face if
486 dpyinfo->mouse_face_hidden is set.
487 (do_os_event, do_events): Remove (now in XTread_socket).
488 (XTread_socket): Immediately return if interrupt_input_blocked.
489 Loop until all the events in the queue are processed. Rearrange
490 codes for mouse grabbing. Add tooltip support. Include the
491 contents of do_os_event and do_events. Remove mouse movement
492 handling (now in do_mouse_moved). Add the case where
493 Vmouse_highlight has an integer value.
494 (NewMacWindow): Remove.
495 (make_mac_frame): Do what NewMacWindow previously did. Don't do
496 excess initializations.
497 (make_mac_terminal_frame): Previous initializations in
498 make_mac_frame are moved here.
499 (mac_initialize_display_info): Initialize
500 dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
501
502 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
503 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
504
505 2004-05-29 Richard M. Stallman <rms@gnu.org>
506
507 * lisp.h (truncate_undo_list): Update decl.
508
509 * alloc.c (undo_outer_limit): New variable.
510 (syms_of_alloc): Defvar it.
511 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
512
513 * undo.c (truncate_undo_list): New arg LIMITSIZE.
514
515 * alloc.c (lisp_align_malloc): Check for base == 0
516 regardless of HAVE_POSIX_MEMALIGN.
517 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
518
519 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
520
521 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
522 (marker_blocks_pending_free): Remove.
523 (Fgarbage_collect): Sweep after cleaning up undo-lists.
524 Mark the undo lists after claning them up.
525 Don't free block in marker_blocks_pending_free.
526 (mark_buffer): Don't mark undo_list.
527 (gc_sweep): Sweep hash-tables and strings first.
528 Do free marker blocks that are empty.
529
530 2004-05-28 Jim Blandy <jimb@redhat.com>
531
532 * regex.c (print_partial_compiled_pattern): Add missing 'break'
533 after 'case wordend'. For symbeg and symend, print to stderr,
534 like the other cases.
535
536 2004-05-28 Noah Friedman <friedman@splode.com>
537
538 * process.c (Fdelete_process): Do not call remove_process.
539
540 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
541
542 * alloc.c (struct backtrace): Remove.
543 (Fgarbage_collect): Use the new mark_backtrace.
544
545 * eval.c (mark_backtrace): New function.
546
547 * minibuf.c (run_exit_minibuf_hook): New function.
548 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
549 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
550
551 2004-05-27 Kim F. Storm <storm@cua.dk>
552
553 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
554 over display properties, e.g. images, that replace buffer text.
555
556 2004-05-25 Kim F. Storm <storm@cua.dk>
557
558 * alloc.c (marker_blocks_pending_free): New var.
559 (gc_sweep): Store free marker blocks on that list.
560 (Fgarbage_collect): Free them after undo-list cleanup.
561
562 * process.c (wait_reading_process_input): Check connect_wait_mask
563 before actually accepting connection in case it has already been
564 accepted due to recursion.
565
566 2004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu> (tiny change)
567
568 * coding.c (Fset_safe_terminal_coding_system_internal):
569 Set suppress_error in safe_terminal_coding, not terminal_coding.
570
571 2004-05-22 Richard M. Stallman <rms@gnu.org>
572
573 * alloc.c (Fmake_string): Doc fix.
574
575 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
576 and the alist pairs too.
577
578 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
579
580 * emacs.c (main): Update copyright year.
581
582 * fileio.c (Fread_file_name): Expand DIR if not absolute.
583
584 * insdel.c (del_range_2, replace_range): Don't write an anchor
585 if the gap is empty.
586
587 * xdisp.c (try_scrolling): If scroll-up-aggressively or
588 scroll-down-aggressively is small but positive, put point
589 near the screen edge.
590
591 2004-05-22 Juanma Barranquero <lektu@terra.es>
592
593 * keymap.c (Fdefine_key): Doc fix.
594
595 2004-05-22 Kim F. Storm <storm@cua.dk>
596
597 * alloc.c (struct backtrace): Add debug_on_exit member.
598 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
599 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
600 the removed cons cells.
601 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
602 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
603 any cons cells pointing to unallocated stings.
604 Do not lisp_free any marker blocks, as there may still be pointers
605 to them from buffer undo lists at this stage of GC.
606
607 * keyboard.c (struct backtrace): Add debug_on_exit member.
608 (Fcommand_execute): Clear it.
609
610 2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
611
612 * intervals.c (lookup_char_property): Do not prematurely return nil.
613
614 2004-05-19 Jim Blandy <jimb@redhat.com>
615
616 Add support for new '\_<' and '\_>' regexp operators, matching the
617 beginning and end of symbols.
618
619 * regex.c (enum syntaxcode): Add Ssymbol.
620 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
621 (re_opcode_t): New opcodes `symbeg' and `symend'.
622 (print_partial_compiled_pattern): Print the new opcodes properly.
623 (regex_compile): Parse the new operators.
624 (analyse_first): Skip sym(beg|end) (they match only the empty string).
625 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
626 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
627 (re_match_2_internal): Match symbeg and symend.
628
629 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
630
631 2004-05-19 Kim F. Storm <storm@cua.dk>
632
633 * .gdbinit (xsymbol): Fix last change.
634
635 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
636
637 * .gdbinit (xprintstr): New fun.
638 (xstring, xprintsym): Use it.
639
640 * w32proc.c (create_child): Use INTMASK.
641
642 * alloc.c (Fgarbage_collect): Do all the marking before flushing
643 unmarked elements of the undo list.
644
645 2004-05-18 David Ponce <david@dponce.com>
646
647 * print.c (print): Reset print_depth before to call print_object.
648
649 2004-05-18 Jason Rumney <jasonr@gnu.org>
650
651 * w32console.c: Prefix RIF functions with w32con_ to avoid
652 namespace clash with functions in term.c and w32term.c.
653
654 * w32menu.c (add_menu_item, w32_menu_display_help)
655 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
656
657 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
658
659 2004-05-18 Eli Zaretskii <eliz@gnu.org>
660
661 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
662
663 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
664 with make_number.
665 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
666 with XINT.
667
668 2004-05-18 Kim F. Storm <storm@cua.dk>
669
670 * blockinput.h (INPUT_BLOCKED_P): New macros.
671
672 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
673 (Ftop_level): Unblock input if blocked.
674
675 * buffer.h (GET_OVERLAYS_AT): New macro.
676 * msdos.c (IT_note_mouse_highlight): Use it.
677 * textprop.c (get_char_property_and_overlay): Use it.
678 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
679 * xfaces.c (face_at_buffer_position): Use it.
680
681 * print.c (print_object): Increase buf size.
682
683 2004-05-17 Jason Rumney <jasonr@gnu.org>
684
685 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
686 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
687 Lisp_Object using i member.
688 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
689 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
690 consistently.
691
692 * w32proc.c (create_child): Use make_number instead of masking pid.
693
694 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
695 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
696 Use EQ to compare Lisp_Objects.
697 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
698
699 * w32term.c (w32_num_mouse_buttons): Rename from
700 Vw32_num_mouse_buttons and make it an int.
701
702 * w32.c (init_environment): Use it.
703
704 * w32fns.c (w32_wnd_proc): Likewise.
705
706 * w32proc.c (w32_pipe_read_delay): Rename from
707 Vw32_pipe_read_delay and make it an int.
708
709 * w32.c (_sys_read_ahead): Use it.
710
711 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
712
713 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
714
715 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
716 (key_event): Don't mix Lisp_Object and int.
717
718 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
719
720 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
721 modifiers in language change event.
722
723 2004-05-17 Kim F. Storm <storm@cua.dk>
724
725 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
726 Such objects may be freed markers which still exist on an undo list.
727
728 2004-05-16 Juanma Barranquero <lektu@terra.es>
729
730 * data.c (Fset_default): Make argument names match their use in
731 docstring.
732
733 2004-05-15 Andreas Schwab <schwab@suse.de>
734
735 * emacs.c (gdb_array_mark_flag): Define.
736 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
737
738 2004-05-15 Eli Zaretskii <eliz@gnu.org>
739
740 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
741 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
742 defined for the MS-DOS build.
743
744 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
745
746 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
747
748 2004-05-14 Kenichi Handa <handa@m17n.org>
749
750 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
751
752 2004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
753
754 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
755 section to frame.c section.
756 (Fxw_display_color_p, Fx_file_dialog): Declare if
757 HAVE_WINDOW_SYSTEM defined.
758
759 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
760
761 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
762
763 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
764 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
765 (XTread_socket): Fix int/Lisp_Object mixup.
766 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
767
768 * macterm.h (struct frame, struct face, struct image)
769 (display_x_get_resource, Fx_display_color_p)
770 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
771 Add prototypes.
772
773 2004-05-14 Kim F. Storm <storm@cua.dk>
774
775 * process.c (wait_reading_process_input): Make reentrant.
776 Make Available and Connecting non-static. Save and restore value
777 of waiting_for_user_input_p.
778
779 2004-05-13 Kim F. Storm <storm@cua.dk>
780
781 * keyboard.c (mark_kboards): Don't mark x and y members
782 that are overloaded in selection request events.
783
784 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
785
786 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
787
788 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
789
790 * window.c (Fdisplay_buffer, Fsplit_window)
791 (split-height-threshold): Doc fix.
792
793 2004-05-13 Juanma Barranquero <lektu@terra.es>
794
795 * xfaces.c (Ftty_supports_face_attributes_p)
796 (Finternal_copy_lisp_face): Fix typo in docstring.
797 (Finternal_get_lisp_face_attribute): Fix docstring.
798
799 2004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
800
801 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
802
803 2004-05-11 Steven Tamm <steventamm@mac.com>
804
805 * macfns.c (Fx_create_frame): Default to using tool-bar by
806 setting tool-bar-lines to 1 in default-frame-alist.
807
808 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
809
810 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
811 (xpm_get_color_table_v, xpm_make_color_table_h)
812 (xpm_put_color_table_h, xpm_get_color_table_h)
813 (xpm_str_to_color_key, xpm_load_image, xpm_load)
814 (syms_of_image): Support XPM on Carbon Emacs. Does not
815 depend on libXpm, but only supports XPM version 3 without extensions.
816
817 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
818
819 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
820 instead of FRAME_X_P
821
822 2004-05-11 Kim F. Storm <storm@cua.dk>
823
824 * process.c (read_process_output): Grow decoding_buf when needed;
825 this could cause a crash in allocate_string and compact_small_strings.
826
827 2004-04-29 Jim Blandy <jimb@redhat.com>
828
829 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
830 against proper opcode.
831
832 2004-05-10 Juanma Barranquero <lektu@terra.es>
833
834 * process.c (Fstart_process): Fix docstring.
835
836 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
837 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
838 (Fsplit_char, Fchar_charset): Make argument names match their use
839 in docstring.
840
841 2004-05-10 Richard M. Stallman <rms@gnu.org>
842
843 * print.c (print_preprocess): Use being_printed, loop_count and
844 halftail to detect overdeep nesting and cyclic cdr chains.
845
846 2004-05-10 Andreas Schwab <schwab@suse.de>
847
848 * lisp.h: Declare Fmake_symbolic_link.
849
850 * fileio.c (Frename_file): Remove extra argument in call to
851 Fmake_symbolic_link.
852
853 2004-05-10 Kim F. Storm <storm@cua.dk>
854
855 * xdisp.c (calc_line_height_property): Use string position when
856 object is a string.
857
858 2004-05-10 Kenichi Handa <handa@m17n.org>
859
860 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
861 inhibit-modification-hooks to t temporarily before calling
862 Ferase_buffer.
863
864 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
865 inhibit-modification-hooks to t temporarily before calling
866 Ferase_buffer.
867
868 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
869 inhibit-modification-hooks to t temporarily before calling
870 Ferase_buffer.
871
872 * fns.c (count_combining): Delete it.
873 (concat): Don't check combining bytes.
874
875 2004-05-09 Jason Rumney <jasonr@gnu.org>
876
877 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
878 (globals_of_w32fns): Set it.
879
880 2004-05-09 Piet van Oostrum <piet@cs.uu.nl> (tiny change)
881
882 * data.c (Fquo): Simplify.
883
884 2004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
885
886 * data.c (Fquo): If any argument is float, do the computation in
887 floating point.
888
889 2004-05-08 Juanma Barranquero <lektu@terra.es>
890
891 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
892 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
893 Fix spelling of Emacs on docstring.
894 (Fset_process_coding_system, Fprocess_coding_system)
895 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
896 Make argument names match their use in docstring.
897 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
898 Fix docstring.
899
900 * editfns.c (Finsert_buffer_substring): Make argument names match their
901 use in docstring.
902
903 * syntax.c (Fmodify_syntax_entry): Fix docstring.
904
905 2004-05-07 Steven Tamm <steventamm@mac.com>
906
907 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
908 around call to ReceiveEvent to avoid certain crashes.
909
910 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
911
912 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
913 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
914 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
915 Save/restore the current graphics port and device handle when
916 drawing into an offscreen graphics world.
917
918 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
919 (gif_load): Likewise.
920
921 2004-05-07 Juanma Barranquero <lektu@terra.es>
922
923 * window.c (Fset_window_buffer): Fix docstring.
924
925 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
926
927 * emacs.c (main) [VMS]: Fix var ref.
928
929 2004-05-06 Romain Francoise <romain@orebokech.com> (tiny change)
930
931 * data.c (Fsetq_default): Fix docstring.
932
933 2004-05-06 Jason Rumney <jasonr@gnu.org>
934
935 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
936 to avoid name clash.
937
938 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
939
940 * fileio.c (barf_or_query_if_file_exists): Use lstat.
941 (Frename_file): Handle renaming of symlinks across file systems.
942 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
943
944 2004-05-04 Kim F. Storm <storm@cua.dk>
945
946 * xdisp.c (Qtotal): New var.
947 (syms_of_xdisp): Intern and staticpro it.
948 (calc_line_height_property): New arg total. Set it if
949 line-spacing property has format (total . VALUE).
950 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
951 Handle total line-spacing property.
952
953 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
954
955 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
956 "under" scroll bar when size/position changes.
957
958 2004-05-03 Jason Rumney <jasonr@gnu.org>
959
960 * makefile.nt: Remove.
961
962 2004-05-02 Eli Zaretskii <eliz@gnu.org>
963
964 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
965 Avoid compiler warnings.
966
967 * Makefile.in (region-cache.o): Depend on config.h.
968
969 2004-05-02 Romain Francoise <romain@orebokech.com> (tiny change)
970
971 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
972 with continuation lines, too.
973
974 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
975
976 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
977
978 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
979
980 * xdisp.c (calc_line_height_property): YAILOM (yet another
981 int/Lisp_Object mixup).
982
983 2004-05-01 Eli Zaretskii <eliz@gnu.org>
984
985 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
986 undo bad effect of pack(4) in some versions of system headers.
987
988 2004-05-01 Jason Rumney <jasonr@gnu.org>
989
990 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
991
992 2004-04-30 Kim F. Storm <storm@cua.dk>
993
994 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
995 (syms_of_buffer) <cursor-type>: Doc fix.
996
997 * dispextern.h (struct it): Remove member use_default_face.
998 Add members override_ascent, override_descent, override_boff.
999
1000 * xdisp.c (init_iterator): Handle line-spacing float value.
1001 Initialize override_ascent member.
1002 (append_space_for_newline): Reset override_ascent.
1003 Remove use_default_face.
1004 (calc_line_height_property): New function to calculate value of
1005 line-height and line-spacing properties. Look at overlays, too.
1006 Set override_ascent, override_descent, override_boff members when
1007 using another face than the current face. Float values are now
1008 relative to the frame default font, by default; accept a cons
1009 of ratio and face name to specify value relative to a specific face.
1010 (x_produce_glyphs): Use calc_line_height_property.
1011 Use override_ascent etc. when set to handle different face heights.
1012 A negative line-spacing property value is interpreted as a total
1013 line height, rather than inter-line spacing.
1014 (note_mouse_highlight): Allocate room for 40 overlays initially.
1015
1016 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
1017
1018 * data.c (Fsubr_name): New fun.
1019 (syms_of_data): Defsubr it.
1020
1021 2004-04-29 Kim F. Storm <storm@cua.dk>
1022
1023 * xdisp.c (null_glyph_slice): New var.
1024 (append_glyph, append_composite_glyph, append_stretch_glyph):
1025 Use it to initialize glyph slice.
1026
1027 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
1028
1029 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
1030 (on_hot_spot_p): Make sure we always return a value.
1031 (Flookup_image_map): Remove unused var ix and iy.
1032 (note_mode_line_or_margin_highlight): Remove unused var `image'.
1033
1034 2004-04-27 Eli Zaretskii <eliz@gnu.org>
1035
1036 * msdos.c (init_environment): If one of the TMP... environment
1037 variables is set to a drive letter without a trailing slash,
1038 append a slash.
1039
1040 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
1041
1042 * editfns.c (lisp_time_argument): Provide externally.
1043
1044 * fileio.c (Fset_file_times): New function.
1045 (syms_of_fileio): Intern and staticpro it.
1046
1047 2004-04-27 Kim F. Storm <storm@cua.dk>
1048
1049 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
1050 header line strings.
1051
1052 * dispextern.h (struct it): New member use_default_face.
1053
1054 * xdisp.c (Qline_height): New variable.
1055 (syms_of_xdisp): Intern and staticpro it.
1056 (append_space_for_newline): Partially undo 2004-04-25 change;
1057 add default_face_p arg, and restore callers.
1058 Clear it->use_default_face after use.
1059 (x_produce_glyphs): Set default font for ascii char if
1060 it->use_default_font is set. Change line-spacing property to set
1061 just extra line spacing. Handle new line-height property.
1062
1063 2004-04-26 Andreas Schwab <schwab@suse.de>
1064
1065 * print.c (print_object): Print non-ascii characters in bool
1066 vector representation as octal escapes.
1067
1068 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
1069 * print.c (print_object): Use it instead of BITS_PER_CHAR for
1070 bool vectors.
1071 * lread.c (read1): Likewise.
1072 * alloc.c (Fmake_bool_vector): Likewise.
1073 * data.c (Faref, Faset): Likewise.
1074 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
1075 (mapcar1): Likewise.
1076
1077 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
1078
1079 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
1080
1081 2004-04-26 Miles Bader <miles@gnu.org>
1082
1083 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
1084
1085 2004-04-26 Juanma Barranquero <lektu@terra.es>
1086
1087 * buffer.c (Fpop_to_buffer): Fix docstring.
1088
1089 2004-04-26 Steven Tamm <steventamm@mac.com>
1090
1091 * lread.c (init_lread): Don't display missing lisp directory
1092 warnings with Carbon Emacs because self-contained bundled Emacs
1093 may be built without correct installation path.
1094
1095 2004-04-25 Kim F. Storm <storm@cua.dk>
1096
1097 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
1098
1099 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
1100
1101 * xdisp.c (append_space_for_newline): Rename from append_space.
1102 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
1103 (x_produce_glyphs): Handle line-spacing property on newline char.
1104 If value is t, adjust ascent and descent to fit current row height.
1105 If value is an integer or float, set extra_line_spacing to integer
1106 value, or to float value x current line height.
1107
1108 2004-04-23 Kenichi Handa <handa@m17n.org>
1109
1110 * fontset.c (Finternal_char_font): If POSITION is nil, return
1111 font for displaying CH with the default face.
1112
1113 2004-04-23 Juanma Barranquero <lektu@terra.es>
1114
1115 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
1116
1117 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
1118
1119 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
1120 Don't make assumptions about the relative place of i and val.
1121 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
1122
1123 2004-04-21 Kim F. Storm <storm@cua.dk>
1124
1125 * dispextern.h (struct glyph_slice): New struct.
1126 (struct glyph): New member slice.
1127 (GLYPH_SLICE_EQUAL_P): New macro.
1128 (GLYPH_EQUAL_P): Use it.
1129 (struct glyph_string): New member slice.
1130 (struct it_slice): New struct.
1131 (struct it): New member slice, add member to stack too.
1132 New member constrain_row_ascent_descent_p.
1133 (image_ascent): Add prototype.
1134
1135 * dispnew.c (buffer_posn_from_coords): Return full image width
1136 and height even for image slices (posn is relative to full image).
1137 (marginal_area_string): Adjust x0,y0 for image slice.
1138
1139 * image.c (image_ascent): Add slice arg; calculate ascent for
1140 image slice (or full image).
1141
1142 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
1143 (syms_of_keyboard): Defsubr them.
1144
1145 * lisp.h (pos_visible_p): Fix prototype.
1146
1147 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
1148 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
1149 (x_draw_image_foreground, x_draw_image_relief)
1150 (x_draw_image_foreground_1, x_draw_image_glyph_string):
1151 Draw sliced images.
1152
1153 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
1154 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
1155 (x_draw_image_foreground, x_draw_image_relief)
1156 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
1157 Draw sliced images.
1158
1159 * w32term.h (image_ascent): Remove prototype.
1160
1161 * window.c (Fpos_visible_in_window_p): Return pixel position if
1162 PARTIALLY arg is non-nil. Simplify. Doc fix.
1163 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
1164 to return/set vscroll in pixels.
1165
1166 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
1167
1168 * xdisp.c (Qslice): New variable.
1169 (syms_of_xdisp): Intern and staticpro it.
1170 (pos_visible_p): Return pixel position in new x and y args.
1171 (init_iterator): Reset it->slice info.
1172 (handle_display_prop): Parse (slice ...) property.
1173 (push_it, pop_it): Save/restore slice info.
1174 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
1175 force repositioning of tall row if window is vscrolled, as that
1176 would reset vscroll.
1177 (append_space): Set it->constrain_row_ascent_descent_p to avoid
1178 increasing row height if row is non-empty.
1179 (fill_image_glyph_string): Copy slice info.
1180 (take_vertical_position_into_account): Simplify.
1181 (produce_image_glyph): Handle iterator slice info, setup glyph
1182 slice info. Do not force minimum line height.
1183 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
1184 do not increase height (ascent/descent) of non-empty row when
1185 adding normal character glyph; instead reduce glyph ascent/descent
1186 appropriately; if row is higher than current glyph, adjust glyph
1187 descent/ascent to reposition glyph within the existing row.
1188 Likewise, when char is newline, only set ascent/descent if row is
1189 currently empty.
1190 (note_mouse_highlight): Handle hotspots with sliced image.
1191
1192 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
1193 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
1194 (x_draw_image_foreground, x_draw_image_relief)
1195 (x_draw_image_foreground_1, x_draw_image_glyph_string):
1196 Draw sliced images.
1197
1198 * xterm.h (image_ascent): Remove prototype.
1199
1200 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
1201
1202 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
1203
1204 2004-04-20 John Paul Wallington <jpw@gnu.org>
1205
1206 * fns.c (Fassoc, Feql): Fix indentation.
1207
1208 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
1209
1210 2004-04-19 John Paul Wallington <jpw@gnu.org>
1211
1212 * fns.c (Feql): New function.
1213 (syms_of_fns): Defsubr it.
1214
1215 2004-04-18 Jason Rumney <jasonr@gnu.org>
1216
1217 * w32select.c (Fw32_set_clipboard_data): Get sequence number
1218 after closing the clipboard.
1219
1220 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
1221
1222 * buffer.c (Fbuffer_base_buffer): Doc fix.
1223
1224 2004-04-17 Kim F. Storm <storm@cua.dk>
1225
1226 * keymap.c (Fkey_description): Add optional PREFIX arg.
1227 Combine prefix with KEYS to make up the full key sequence to describe.
1228 Correlate meta_prefix_char and following (simple) key to describe
1229 as meta modifier. All callers changed.
1230 (describe_map): Rename arg `keys' to `prefix'. Remove local
1231 `elt_prefix' var. Use Fkey_description with prefix instead of
1232 elt_prefix combined with Fsingle_key_description.
1233 (describe_vector): Declare static. Replace arg `elt_prefix' with
1234 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
1235 if !KEYMAP_P. Use Fkey_description with prefix instead of
1236 Fsingle_key_description.
1237
1238 * keymap.h (Fkey_description): Fix prototype.
1239 (describe_vector): Remove prototype.
1240
1241 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
1242
1243 * image.c (PNG_BG_COLOR_SHIFT): Remove.
1244 (png_load): Fix calculation of transparent background color on X
1245 and W32 platforms.
1246
1247 2004-04-16 Juanma Barranquero <lektu@terra.es>
1248
1249 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
1250 not too large before computing how much to scroll.
1251
1252 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
1253
1254 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
1255
1256 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
1257
1258 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
1259 Add hyperlink to Elisp manual to the docstring.
1260
1261 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
1262
1263 * callint.c (fix_command): Use XDCR.
1264
1265 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
1266
1267 * window.c (Fget_lru_window): Doc fix.
1268
1269 2004-04-14 Kim F. Storm <storm@cua.dk>
1270
1271 * editfns.c (Fformat): Fix allocation size of precision array.
1272
1273 * dispnew.c (update_window): Only set changed_p if
1274 scrolling_window actually did scroll.
1275 (scrolling_window): Only return 1 if we actually did scroll.
1276
1277 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
1278 height to glyph height when cursor row is not fully visible.
1279 (make_cursor_line_fully_visible): Add FORCE_P arg to return
1280 failure in case row is higher than window. Callers changed.
1281 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
1282 Try to scroll partially visible, higher-than-window cursor row.
1283 (redisplay_window): Always try to scroll partially visible,
1284 higher-than-window cursor row - both initially and again with
1285 centering_position = 0.
1286 Clear desired matrix before retrying with centering_position = 0.
1287
1288 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
1289
1290 * syntax.c (scan_lists): Simplify backward string scan.
1291 Fix off-by-one boundary check for string and comment fences.
1292
1293 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
1294
1295 * sheap.c, unexcw.c: New files.
1296
1297 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
1298
1299 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
1300 base buffer has been killed. Correct the error message if the
1301 base buffer does not exist.
1302
1303 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
1304
1305 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
1306 Cygwin itself. Add support for Xaw3d scrollbars.
1307
1308 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
1309
1310 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
1311
1312 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
1313 before Cygwin unexec.
1314
1315 * Makefile.in: Link changes for Cygwin unexec() support.
1316
1317 2004-04-12 Andreas Schwab <schwab@suse.de>
1318
1319 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
1320
1321 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
1322
1323 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
1324 IGNORE argument equals NAME. Doc fix.
1325
1326 2004-04-11 Masatake YAMATO <jet@gyve.org>
1327
1328 * buffer.c (fix_start_end_in_overlays): Make overlays
1329 empty if they are backwards.
1330
1331 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
1332
1333 * xfaces.c (face_color_supported_p): Fix compilation without X11.
1334
1335 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
1336
1337 * doc.c (Fsnarf_documentation): Ignore new file name entries.
1338
1339 2004-04-06 Kim F. Storm <storm@cua.dk>
1340
1341 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
1342 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
1343
1344 * w32term.c (w32_read_socket): Set mouse_face_hidden after
1345 clearing highlight.
1346
1347 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
1348
1349 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
1350 clearing highlight.
1351
1352 * indent.c (vmotion): Do not reserve one column for continuation
1353 marks on window frames.
1354
1355 2004-04-04 Eli Zaretskii <eliz@gnu.org>
1356
1357 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
1358 from GCC.
1359
1360 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
1361
1362 * .gdbinit-union: Remove.
1363
1364 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
1365 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
1366 ($nonvalbits): Remove.
1367 ($valmask): Set it by calling xreload to avoid redundancy.
1368
1369 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
1370 (gdb_emacs_intbits): Remove.
1371
1372 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1373
1374 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
1375
1376 2004-03-30 Kenichi Handa <handa@m17n.org>
1377
1378 * editfns.c (Fformat): Fix initialization of the array info.
1379
1380 2004-03-30 Kim F. Storm <storm@cua.dk>
1381
1382 * xterm.c (x_mouse_click_focus_ignore_position): New var.
1383 (syms_of_xterm): DEFVAR_BOOL it.
1384 (ignore_next_mouse_click_timeout): New var.
1385 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
1386 Use it to filter mouse clicks following focus event.
1387
1388 2004-03-29 David Ponce <david@dponce.com>
1389
1390 * callint.c (Fcall_interactively): Fix last change.
1391
1392 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
1393
1394 * eval.c (Fcommandp): Simplify.
1395
1396 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
1397 Extend to handle all kinds of functions.
1398
1399 * lisp.h (Finteractive_form): Declare.
1400
1401 * callint.c (Fcall_interactively): Use it.
1402
1403 2004-03-26 Kim F. Storm <storm@cua.dk>
1404
1405 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
1406 to catch errors in calc_pixel_width_or_height during redisplay.
1407
1408 2004-03-26 Masatake YAMATO <jet@gyve.org>
1409
1410 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
1411
1412 * lisp.h (fix_start_end_in_overlays): Likewise.
1413
1414 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
1415
1416 * editfns.c (Ftranspose_regions): Likewise.
1417
1418 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1419
1420 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
1421
1422 2004-03-19 Richard M. Stallman <rms@gnu.org>
1423
1424 * s/sol2-6.h: Delete previous change.
1425
1426 2004-03-19 Kim F. Storm <storm@cua.dk>
1427
1428 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
1429 to_charpos corresponds to newline in right fringe. Use local
1430 BUFFER_POS_REACHED_P macro.
1431
1432 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1433
1434 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
1435 to compile on non-window system.
1436
1437 2004-03-19 Kim F. Storm <storm@cua.dk>
1438
1439 * dispextern.h (calc_pixel_width_or_height): Add prototype.
1440
1441 * image.c (Qcenter): Move to xdisp.c.
1442
1443 * xdisp.c (Qcenter): Declare here.
1444 (syms_of_xdisp): Intern and staticpro it.
1445 (handle_single_display_prop): Allow space display property on all
1446 platforms.
1447 (display_mode_line): Set mode_line_p before displaying line.
1448 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
1449 handling. Remove complex cases for fringes and scroll-bars.
1450 Add left, right, and center alignment positions. Add text (area)
1451 width/height. Return width or height for image specs.
1452 (produce_stretch_glyph): Improve handling of :align-to. Is now
1453 relative to left of text area by default, but other base offsets
1454 can be specified -- also for text lines.
1455
1456 * term.c (produce_glyphs): Handle IT_STRETCH.
1457 (produce_stretch_glyph): New function to handle space width and
1458 align-to display properties on non-window systems.
1459
1460 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
1461
1462 * fileio.c (Fread_file_name): Set completion-ignore-case for
1463 case-insensitive systems.
1464
1465 2004-03-14 Masatake YAMATO <jet@gyve.org>
1466
1467 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
1468 when keymap and cursor are setup.
1469
1470 2004-03-14 Steven Tamm <steventamm@mac.com>
1471
1472 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
1473
1474 2004-03-14 Kim F. Storm <storm@cua.dk>
1475
1476 * dispextern.h (x_find_image_file): Add prototype.
1477
1478 * image.c (x_find_image_file): Make extern.
1479
1480 * xfns.c (x_find_image_file): Remove prototype.
1481
1482 2004-03-13 Eli Zaretskii <eliz@gnu.org>
1483
1484 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
1485
1486 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
1487
1488 2004-03-12 Richard M. Stallman <rms@gnu.org>
1489
1490 * fns.c (internal_equal): New arg PROPS controls comparing
1491 text properties. All callers changed.
1492 (Fequal_including_properties): New function.
1493 (syms_of_fns): defsubr it.
1494
1495 2004-03-12 Kim F. Storm <storm@cua.dk>
1496
1497 Fix image support on MAC. From YAMAMOTO Mitsuharu.
1498
1499 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
1500 (image_background, image_background_transparent): Fix prototypes.
1501
1502 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
1503
1504 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
1505 (x_query_font, x_find_ccl_program, x_set_window_size)
1506 (x_make_frame_visible, mac_initialize, XCreatePixmap)
1507 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
1508 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
1509
1510 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
1511 (x_query_font, x_find_ccl_program, x_set_window_size)
1512 (x_make_frame_visible, mac_initialize, XCreatePixmap)
1513 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
1514 (mac_draw_line_to_pixmap): Add prototypes.
1515
1516 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1517
1518 * macterm.c (XTread_socket): Fix mouse click on tool bar.
1519
1520 2004-03-11 Kim F. Storm <storm@cua.dk>
1521
1522 * dispextern.h: Move image related prototypes from xfns.c section
1523 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
1524 HAVE_X_WINDOWS.
1525
1526 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
1527 Move gtkutil.o to new GTK_OBJ list.
1528 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
1529 (GTK_OBJ) [USE_GTK]: New declaration.
1530 (obj): Add $(GTK_OBJ) to list.
1531
1532 2004-03-11 Steven Tamm <steventamm@mac.com>
1533
1534 * image.c [MAC_OSX]: Include sys/stat.h
1535
1536 * macfns.c (syms_of_macfns): Remove definitions of things now
1537 defined in image.c
1538
1539 2004-03-11 Kim F. Storm <storm@cua.dk>
1540
1541 The following changes consolidates the identical/similar image
1542 support code previously found in xfns.c, w32fns.c, and macfns.c
1543 into a new file image.c.
1544
1545 * makefile.w32-in (OBJ1): Add image.o.
1546 ($(BLD)/image.$(O)): Add dependencies.
1547
1548 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
1549 (image.o): Add dependencies.
1550
1551 * image.c: New file with consolidated image support code.
1552 (COLOR_TABLE_SUPPORT): New define to control whether
1553 color table support is available (X only).
1554 (Bitmap_Record): Common name for x_bitmap_record,
1555 w32_bitmap_record, and mac_bitmap_record.
1556 (XImagePtr): Common name for pointer to XImage or equivalent.
1557 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
1558 to XImagePtr on X+MAC, and to HDC on W32.
1559 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
1560 (NO_PIXMAP): Common name for "None" or equivalent.
1561 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
1562 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
1563 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
1564 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
1565 Define with suitable equivalents on W32 and MAC for code sharing.
1566 (XDrawLine): Define on MAC for code sharing.
1567 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
1568 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
1569 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1570 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1571 (x_reference_bitmap, x_create_bitmap_from_data)
1572 (x_create_bitmap_from_file, x_destroy_bitmap)
1573 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1574 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1575 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1576 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1577 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1578 (define_image_type, lookup_image_type, valid_image_p)
1579 (image_error, enum image_value_type, struct image_keyword)
1580 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1581 (make_image, free_image, prepare_image_for_display, image_ascent)
1582 (four_corners_best, image_background, image_background_transparent)
1583 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1584 (make_image_cache, free_image_cache, clear_image_cache)
1585 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1586 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1587 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1588 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
1589 (init_image_func_pointer, image_load_quartz2d)
1590 (struct ct_color, init_color_table, free_color_table)
1591 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1592 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1593 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1594 (x_disable_image, x_build_heuristic_mask)
1595 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1596 (TIFF support, GIF support, Ghostscript support): Consolidate image
1597 code from xfns.c, w32fns.c, and macfns.c.
1598 (syms_of_image): Consolidate image related symbol setup here.
1599 (init_image): Consolidate image related initializations here.
1600
1601 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
1602 and init_image. Remove call to init_xfns.
1603
1604 * macterm.h (struct mac_bitmap_record): Add file member.
1605 Not currently used, but simplifies code sharing.
1606
1607 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1608 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1609 (x_reference_bitmap, x_create_bitmap_from_data)
1610 (x_create_bitmap_from_file, x_destroy_bitmap)
1611 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1612 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1613 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1614 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1615 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1616 (define_image_type, lookup_image_type, valid_image_p)
1617 (image_error, enum image_value_type, struct image_keyword)
1618 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1619 (make_image, free_image, prepare_image_for_display, image_ascent)
1620 (four_corners_best, image_background, image_background_transparent)
1621 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1622 (make_image_cache, free_image_cache, clear_image_cache)
1623 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1624 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1625 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1626 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
1627 (init_image_func_pointer, image_load_quartz2d)
1628 (struct ct_color, init_color_table, free_color_table)
1629 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1630 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1631 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1632 (x_disable_image, x_build_heuristic_mask)
1633 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1634 (TIFF support, GIF support, Ghostscript support): Merge with image
1635 code from xfns.c and macfns.c into image.c.
1636 (syms_of_xfns): Move image related symbols to image.c.
1637 (init_external_image_libraries, init_xfns): Remove; initialization
1638 moved to init_image in image.c.
1639
1640 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1641 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1642 (x_reference_bitmap, x_create_bitmap_from_data)
1643 (x_create_bitmap_from_file, x_destroy_bitmap)
1644 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1645 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1646 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1647 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1648 (define_image_type, lookup_image_type, valid_image_p)
1649 (image_error, enum image_value_type, struct image_keyword)
1650 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1651 (make_image, free_image, prepare_image_for_display, image_ascent)
1652 (four_corners_best, image_background, image_background_transparent)
1653 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1654 (make_image_cache, free_image_cache, clear_image_cache)
1655 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1656 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1657 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1658 (struct ct_color, init_color_table, free_color_table)
1659 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1660 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1661 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1662 (x_disable_image, x_build_heuristic_mask)
1663 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1664 (TIFF support, GIF support, Ghostscript support): Merge with image
1665 code from xfns.c and macfns.c into image.c.
1666 (syms_of_xfns): Move image related symbols to image.c.
1667 (init_external_image_libraries, init_xfns): Remove; initialization
1668 moved to init_image in image.c.
1669
1670 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1671 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1672 (x_reference_bitmap, x_create_bitmap_from_data)
1673 (x_create_bitmap_from_file, x_destroy_bitmap)
1674 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1675 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1676 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1677 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1678 (define_image_type, lookup_image_type, valid_image_p)
1679 (image_error, enum image_value_type, struct image_keyword)
1680 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1681 (make_image, free_image, prepare_image_for_display, image_ascent)
1682 (four_corners_best, image_background, image_background_transparent)
1683 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1684 (make_image_cache, free_image_cache, clear_image_cache)
1685 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1686 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1687 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1688 (struct ct_color, init_color_table, free_color_table)
1689 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1690 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1691 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1692 (x_disable_image, x_build_heuristic_mask)
1693 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1694 (TIFF support, GIF support, Ghostscript support): Merge with
1695 w32fns.c and macfns.c image code into image.c.
1696 (syms_of_xfns): Move image related symbols to image.c.
1697 (init_xfns): Remove; initialization moved to init_image in image.c.
1698
1699 * lisp.h (syms_of_image, init_image): Add protoypes.
1700 (init_xfns): Remove prototype.
1701
1702 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1703 (x_reference_bitmap, x_create_bitmap_from_data)
1704 (x_create_bitmap_from_file, x_destroy_bitmap)
1705 (x_create_bitmap_mask): Move prototypes from dispextern.h.
1706 (gamma_correct) [MAC_OS]: Add prototype.
1707
1708 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1709 (x_reference_bitmap, x_create_bitmap_from_data)
1710 (x_create_bitmap_from_file, x_destroy_bitmap)
1711 (x_create_bitmap_mask): Move prototypes to dispextern.h.
1712
1713 2004-03-09 Kenichi Handa <handa@etlken2>
1714
1715 * coding.c (decode_coding_emacs_mule): Handle insufficent source
1716 correctly.
1717
1718 2004-03-04 Richard M. Stallman <rms@gnu.org>
1719
1720 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
1721
1722 * window.c (Fdisplay_buffer): Doc fix.
1723
1724 * buffer.c (Fpop_to_buffer): Doc fix.
1725
1726 2004-03-03 Kim F. Storm <storm@cua.dk>
1727
1728 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
1729
1730 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
1731
1732 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
1733
1734 2004-03-02 Richard M. Stallman <rms@gnu.org>
1735
1736 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
1737
1738 2004-03-02 Kenichi Handa <handa@m17n.org>
1739
1740 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
1741
1742 2004-03-02 Kim F. Storm <storm@cua.dk>
1743
1744 * window.h (struct window): New member overlay_arrow_bitmap.
1745
1746 * window.c (make_window): Initialize overlay_arrow_bitmap.
1747
1748 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
1749 implement and integrate multiple overlay arrows with redisplay.
1750 (syms_of_xdisp): DEFVAR_LISP and initialize it.
1751 (last_arrow_position, last_arrow_string): Replace by properties.
1752 (Qlast_arrow_position, Qlast_arrow_string)
1753 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
1754 (syms_of_xdisp): Intern and staticpro them.
1755 (overlay_arrow_string_or_property, update_overlay_arrows)
1756 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
1757 (overlay_arrow_at_row): New functions for multiple overlay arrows.
1758 (redisplay_internal): Use them instead of directly accessing
1759 Voverlay_arrow_position etc. for multiple overlay arrows.
1760 (mark_window_display_accurate): Use update_overlay_arrows.
1761 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
1762 (try_window_id): Use overlay_arrows_changed_p.
1763 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
1764 (display_line): Use overlay_arrow_at_row to check multiple
1765 overlay arrows, and get relevant overlay-arrow-string and
1766 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
1767 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
1768 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
1769
1770 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
1771 (update_window_fringes): Remove unused code.
1772
1773 2004-03-01 Jason Rumney <jasonr@gnu.org>
1774
1775 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
1776
1777 2004-03-01 Juanma Barranquero <lektu@terra.es>
1778
1779 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
1780
1781 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
1782
1783 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1784
1785 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
1786 how many colors can be displayed.
1787
1788 2004-03-01 Kenichi Handa <handa@m17n.org>
1789
1790 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
1791 correctly.
1792
1793 2004-02-28 Kim F. Storm <storm@cua.dk>
1794
1795 * dispnew.c (update_window): Update header line also if there are
1796 no other changes in window (move code after set_cursor label).
1797
1798 * lisp.h (mark_window_display_accurate): Remove prototype.
1799
1800 * window.c (window_loop, Fforce_window_update): Force mode line
1801 updates by setting prevent_redisplay_optimizations_p and
1802 update_mode_lines.
1803
1804 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1805
1806 * xfns.c (x_window): Fix indentation.
1807
1808 * xterm.c (x_calc_absolute_position): Call x_real_positions
1809 to get WM window sizes and use those to calculate position.
1810 (x_set_offset): Remove code commented out.
1811
1812 2004-02-28 Miles Bader <miles@gnu.org>
1813
1814 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
1815
1816 2004-02-28 Kim F. Storm <storm@cua.dk>
1817
1818 * keyboard.c (kbd_buffer_store_event_hold): New function to store
1819 an event into kbd fifo, but with special handling of quit event;
1820 a quit event is saved for later, and further events are discarded
1821 until the saved quit event has been processed.
1822 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
1823 (gen_help_event): Store help event in kbd fifo.
1824 (NREAD_INPUT_EVENTS): Remove.
1825 (read_avail_input): Adapt to new read_socket_hook interface.
1826 Remove allocation and initialization of local input_event buffer,
1827 as read_socket_hook stores events directly in fifo. Allocate and
1828 initialize local hold_quit event to handle postponed quit event
1829 (and store it if set by kbd_buffer_store_event_hold).
1830
1831 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
1832 (gen_help_event): Fix prototype.
1833
1834 * macterm.c (XTread_socket): Remove bufp_r and
1835 numcharsp args. Add hold_quit arg.
1836 Rework to use just one, local, inev input_event. Store inev
1837 directly in fifo using kbd_buffer_store_event_hold.
1838
1839 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
1840 (read_input_waiting): Adapt to new read_socket_hook interface.
1841 Remove allocation and initialization of local input_event buffer,
1842 as read_socket_hook stores events directly in fifo. Allocate and
1843 initialize local hold_quit event to handle postponed quit event
1844 (and store it if set by kbd_buffer_store_event_hold).
1845
1846 * term.c (read_socket_hook): Fix arg list.
1847
1848 * termhooks.h (read_socket_hook): Fix prototype.
1849
1850 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
1851 numcharsp args. Add hold_quit arg.
1852 Rework to use just one, local, inev input_event. Store inev
1853 directly in fifo using kbd_buffer_store_event_hold.
1854
1855 * w32inevt.h (w32_console_mouse_position): Fix prototype.
1856
1857 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
1858 Add hold_quit arg. Rework to use just one, local, inev
1859 input_event. Store inev directly in fifo using
1860 kbd_buffer_store_event_hold. Update count in one place.
1861 Postpone call to gen_help_event until inev is stored; use new
1862 local do_help for this.
1863 Remove local emacs_event in handing of ButtonPress event; just use
1864 inev instead (so no reason to copy it later).
1865
1866 * xsmfns.c (x_session_check_input): Remove numchars arg.
1867
1868 * xterm.c (x_focus_changed, x_detect_focus_change):
1869 Remove numchars arg. Always store event into bufp arg.
1870 Return nothing. Callers changed accordingly.
1871 (glyph_rect): Simplify.
1872 (STORE_KEYSYM_FOR_DEBUG): New macro.
1873 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
1874 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
1875 (current_hold_quit) [USE_GTK]: Add.
1876 (event_handler_gdk): Adapt to new handle_one_xevent.
1877 (handle_one_xevent): Remove bufp_r and numcharsp args.
1878 Add hold_quit arg. Rework to use just one, local, inev
1879 input_event. Store inev directly in fifo using
1880 kbd_buffer_store_event_hold. Update count in one place.
1881 Postpone call to gen_help_event until inev is stored; use new
1882 local do_help for this.
1883 Simplify handling of keysyms (consolidate common code). Fix bug
1884 where count was updated with nchars instead of nbytes.
1885 Remove local emacs_event in handing of ButtonPress event; just use
1886 inev instead (so no reason to copy it later).
1887 Remove `out' label. Rename label `ret' to `done'; add various
1888 `goto done' to clarify code flow in deeply nested blocks.
1889 (x_dispatch_event): Simplify as handle_one_xevent now calls
1890 kbd_buffer_store_event itself.
1891 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
1892 arg. Call handle_one_xevent with new arglist. Store event from
1893 x_session_check_input in fifo.
1894 [USE_GTK]: Setup current_hold_quit.
1895 Decrement handling_signal before unblocking input.
1896 (x_initialize) [USE_GTK]: Initialize current_count.
1897
1898 * xterm.h (x_session_check_input): Fix prototype.
1899
1900 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1901
1902 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
1903
1904 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
1905 macgui.h).
1906
1907 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
1908
1909 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
1910 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
1911 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
1912 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
1913 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
1914 (Bitmap): Remove typedef.
1915 (Pixmap): Change int to GWorldPtr.
1916
1917 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
1918
1919 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
1920 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
1921 New #define to extract 16-bit depth color components from unsigned
1922 long representation.
1923 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
1924 colors used for masks.
1925 (struct mac_display_info): Add color_p. Remove n_cbits.
1926
1927 * macfns.c: Include sys/types.h and sys/stat.h.
1928 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
1929 Include QuickTime/QuickTime.h.
1930 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
1931 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
1932 functions defined in macterm.c.
1933 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
1934 (ZPixmap): New #define for compatibility with xfns.c.
1935 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1936 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
1937 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
1938 New functions.
1939 (four_corners_best, x_create_x_image_and_pixmap)
1940 (x_destroy_x_image, unwind_create_frame, x_disable_image)
1941 (x_edge_detection, init_color_table, colors_in_color_table)
1942 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
1943 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
1944 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
1945 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
1946 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
1947 long mixup.
1948 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
1949 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
1950 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
1951 (x_set_cursor_type, Fxw_color_values, valid_image_p)
1952 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
1953 (x_alloc_image_color, clear_image_cache, lookup_image)
1954 (x_find_image_file, xbm_read_bitmap_file_data)
1955 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
1956 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
1957 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
1958 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
1959 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
1960 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
1961 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
1962 #if 0.
1963 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
1964 #if 0. Free white_relief.gc and black_relief.gc.
1965 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
1966 New functions (from xfns.c).
1967 (Fx_create_frame): Record unwind_create_frame.
1968 (Fxw_display_color_p): Use dpyinfo->color_p.
1969 (Fx_display_grayscale_p, Fx_display_planes): Don't use
1970 dpyinfo->n_cbits.
1971 (Fx_display_color_cells): Use dpyinfo->n_planes;
1972 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
1973 (Qheuristic, cross_disabled_images, emboss_matrix)
1974 (laplace_matrix): New variables (from xfns.c).
1975 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
1976 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
1977 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
1978 (image_background_transparent): New function (from xfns.c).
1979 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1980 (image_load_quicktime): Add declaration.
1981 [MAC_OSX] (image_load_quartz2d): Likewise.
1982 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
1983 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
1984 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
1985 (xbm_load_image_from_file, x_laplace_read_row)
1986 (x_laplace_write_row, pbm_read_file): Remove functions.
1987 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
1988 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
1989 (colors_in_color_table): Sync with xfns.c (although not used).
1990 (lookup_rgb_color): Don't lookup color table. Just do gamma
1991 correction.
1992 (COLOR_INTENSITY): New #define (from xfns.c).
1993 (x_disable_image): New function (from xfns.c).
1994 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1995 (x_build_heuristic_mask): Sync with xfns.c.
1996 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
1997 (HAVE_PBM): Remove #ifdef.
1998 (pbm_load): Sync with xfns.c. Set img->width and img->height
1999 before IMAGE_BACKGROUND.
2000 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
2001 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
2002 Don't enclose with #if HAVE_PNG.
2003 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
2004 symbol _CGImageCreateWithPNGDataProvider is defined.
2005 Otherwise use image_load_quicktime.
2006 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
2007 [HAVE_PNG] (png_load): Sync with xfns.c.
2008 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
2009 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
2010 HAVE_JPEG.
2011 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
2012 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
2013 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
2014 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
2015 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
2016 (tiff_image_p, tiff_load): Don't enclose declarations with #if
2017 HAVE_TIFF.
2018 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
2019 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
2020 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
2021 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
2022 New functions (from xfns.c).
2023 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
2024 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
2025 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
2026 Don't enclose with #if HAVE_GIF.
2027 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
2028 animated gif. Otherwise use image_load_quicktime.
2029 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
2030 gif_DrawText to avoid conflict with QuickdrawText.h.
2031 [HAVE_GIF] (gif_load): Sync with xfns.c.
2032 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
2033 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
2034 Ghostscript is not supported yet).
2035 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
2036 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
2037 cross_disabled_images (from xfns.c). Remove #if 0 for supported
2038 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
2039 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
2040 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
2041 HAVE_PNG. Call EnterMovies to support animated gifs.
2042 Call init_image_func_pointer to bind a symbol
2043 _CGImageCreateWithPNGDataProvider if it is defined.
2044
2045 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
2046 (x_draw_bar_cursor): Sync declaration with xterm.c.
2047 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
2048 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
2049 graphics).
2050 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
2051 (mac_draw_line_to_pixmap, XCreatePixmap)
2052 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
2053 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
2054 New functions.
2055 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
2056 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
2057 Cast bits to char *.
2058 (reflect_byte): New function (from w32fns.c).
2059 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
2060 due to byte alignment.
2061 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
2062 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
2063 (XSetForeground): Remove static (now used in macfns.c).
2064 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
2065 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
2066 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
2067 (x_draw_glyph_string_box, x_draw_image_foreground)
2068 (x_draw_image_foreground_1, x_draw_image_glyph_string)
2069 (x_draw_stretch_glyph_string, x_draw_glyph_string)
2070 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
2071 Sync with xterm.c.
2072 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
2073 than the xterm.c version when a strictly horizontal or vertical
2074 line is drawn.
2075 (XTset_terminal_window): Add static.
2076 (x_make_frame_visible): Add UNBLOCK_INPUT.
2077 (x_free_frame_resources): New funcion (from xterm.c).
2078 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
2079 occurs in tool bar area.
2080 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
2081 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
2082 Initialize image cache.
2083 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
2084 Enclose unused functions with #if 0.
2085 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
2086 (decode_mac_font_name): New function to apply code conversions
2087 from a mac font name to an XLFD font name according to its script code.
2088 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
2089 font name to a mac font name according to REGISTRY and ENCODING fields.
2090 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
2091 whose name starts with `.'.
2092 (init_font_name_table): Use decode_mac_font_name. Add both
2093 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
2094 of a font is smJapanese.
2095 (mac_do_list_fonts): New function to list fonts that match a given
2096 pattern.
2097 (x_list_fonts, XLoadQueryFont): Use it.
2098 (XLoadQueryFont): Set rbearing field for each variable width
2099 character to avoid needless redraw.
2100 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
2101
2102 2004-02-26 Kim F. Storm <storm@cua.dk>
2103
2104 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
2105 as read_socket_hook handler on X aborts if buffer is too small
2106 and W32 handler doesn't always check buffer limit.
2107
2108 * xdisp.c (handle_single_display_prop): Handle left-fringe and
2109 right-fringe similar to a display margin image. Specifically,
2110 the characters having the fringe prop are no longer shown, and
2111 we use IT_IMAGE/next_element_from_image with image_id = -1 to
2112 do this. Set fringe bitmap face_id in it->face_id.
2113 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
2114 still realize it->face (i.e. the fringe bitmap face).
2115
2116 2004-02-25 Miles Bader <miles@gnu.org>
2117
2118 * xdisp.c (check_it): Check string/string_pos consistency.
2119 (init_iterator): Initialize string-related fields properly.
2120
2121 2004-02-11 Miles Bader <miles@gnu.org>
2122
2123 * xdisp.c (produce_image_glyph): Force negative descents to zero.
2124
2125 2004-02-10 Miles Bader <miles@gnu.org>
2126
2127 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
2128 BLOCK_INPUT can be nested, so it doesn't make much sense.
2129
2130 2004-02-24 Michael Mauger <mmaug@yahoo.com>
2131
2132 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
2133 (xbm_read_bitmap_data): Use unsigned char for image data.
2134
2135 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
2136
2137 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
2138
2139 2004-02-22 Jason Rumney <jasonr@gnu.org>
2140
2141 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
2142 correctly over other bitmaps.
2143
2144 2004-02-21 Eli Zaretskii <eliz@gnu.org>
2145
2146 * emacs.c (USAGE1): Split into two halves.
2147 (USAGE2): Second half of the old USAGE1.
2148 (USAGE3): Rename from USAGE2.
2149 (USAGE4): Rename from USAGE3.
2150
2151 2004-02-21 Juri Linkov <juri@jurta.org>
2152
2153 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
2154 Fix --multibyte. Move --help, --version to USAGE2. Add alias
2155 --file. Fix -f, -l. Sort options. Untabify.
2156 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
2157
2158 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
2159
2160 * category.c (Fdefine_category, Fcategory_docstring)
2161 (Fget_unused_category, Fset_category_table)
2162 (Fcategory_set_mnemonics): Doc fixes.
2163
2164 2004-02-20 Kim F. Storm <storm@cua.dk>
2165
2166 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
2167 The following changes are relative to the 2004-01-21 revision.
2168 (NREAD_INPUT_EVENTS): Define as max number of input events to read
2169 in one call to read_socket_hook. Value is 8.
2170 (read_avail_input): Separate and rework handling of read_socket_hook
2171 and non-read_socket_hook cases. Use smaller input_event buffer
2172 in read_socket_hook case, and repeat if full buffer is read.
2173 Use new local variable 'discard' to skip input after C-g.
2174 In non-read_socket_hook case, just use a single input_event, and
2175 call kbd_buffer_store_event on the fly for each character.
2176
2177 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
2178
2179 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
2180 Remove unused `gu' alternative.
2181
2182 2004-02-19 Andreas Schwab <schwab@suse.de>
2183
2184 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
2185 warning.
2186
2187 2004-02-18 Kim F. Storm <storm@cua.dk>
2188
2189 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
2190 Fix last change.
2191
2192 2004-02-17 Kim F. Storm <storm@cua.dk>
2193
2194 * xdisp.c (fast_find_position): Fix return value of new version;
2195 it was inverted compared to the 21.1 version.
2196 (get_window_cursor_type): Don't look at glyph if NULL.
2197 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
2198
2199 * keyboard.c: Rework previous change; it didn't consider that the
2200 buf array was allocated on the stack.
2201 (prev_read): Remove variable.
2202 (read_avail_input_buf): New static event buffer array.
2203 (in_read_avail_input): New static variable to handle re-entrancy.
2204 (read_avail_input): Change buf to pinter to read_avail_input_buf.
2205 Use in_read_avail_input to handle re-entrance; when re-entered,
2206 fully initialize and use tmp_buf array instead of read_avail_input_buf.
2207 Do not initialize read_avail_input_buf in full here; instead assume it
2208 is always cleared on entry. To ensure that, we clear (just) the
2209 entries that were used before we return.
2210 (init_keyboard): Initialize read_avail_input_buf here.
2211
2212 2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change)
2213
2214 * cmds.c (Fend_of_line): Doc fix.
2215
2216 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
2217
2218 * keyboard.c (prev_read): New static variable.
2219 (read_avail_input): Use it to zero out only those slots in buf[]
2220 that were used last time we were called.
2221
2222 2004-02-16 Eli Zaretskii <eliz@gnu.org>
2223
2224 * Makefile.in (obj): Move fringe.o from here...
2225 (XOBJ, MAC_OBJ): ...to here.
2226
2227 2004-02-16 Stephen Eglen <stephen@gnu.org>
2228
2229 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
2230
2231 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
2232
2233 * data.c (Fbyteorder):
2234 * fringe.c (Fdefine_fringe_bitmap):
2235 * xdisp.c (handle_single_display_prop):
2236 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
2237
2238 2004-02-16 Jason Rumney <jasonr@gnu.org>
2239
2240 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
2241
2242 2004-02-15 Steven Tamm <steventamm@mac.com>
2243
2244 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
2245 controlling emulation of a three button mouse with option and
2246 command keys.
2247 (Qreverse, mac_get_enumlated_btn): Handle the emulation
2248 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
2249
2250 2004-02-15 Kim F. Storm <storm@cua.dk>
2251
2252 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
2253
2254 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
2255 Perform byte-swapping.
2256
2257 2004-02-14 Kim F. Storm <storm@cua.dk>
2258
2259 * dispextern.h (struct draw_fringe_bitmap_params): Change member
2260 bits from char to short to facilitate wider bitmaps.
2261 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
2262 member.
2263
2264 * fringe.c (struct fringe_bitmap): Change member bits from char to
2265 short to facilitate 16 bits wide bitmaps. Modify all standard
2266 bitmaps accordingly.
2267 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
2268 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
2269 (draw_fringe_bitmap): Ditto.
2270 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
2271 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
2272 handle up to 16 bits wide bitmaps.
2273 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
2274 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
2275
2276 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
2277 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
2278 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
2279
2280 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
2281 so it is no longer necessary to expand them here.
2282
2283 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
2284
2285 2004-02-12 Kim F. Storm <storm@cua.dk>
2286
2287 * window.c (Fwindow_fringes): Doc fix.
2288
2289 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2290
2291 * xselect.c (x_get_foreign_selection): Add new optional parameter
2292 time_stamp.
2293 (Fx_get_selection_internal): Ditto, pass time_stamp to
2294 x_get_foreign_selection.
2295
2296 * data.c (Fbyteorder): New function.
2297
2298 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2299
2300 * atimer.c: Move include stdio.h to same place as in other files.
2301
2302 * region-cache.c: Ditto.
2303
2304 * sysdep.c: Ditto.
2305
2306 * xfaces.c: Ditto.
2307
2308 2004-02-09 Sam Steingold <sds@gnu.org>
2309
2310 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
2311
2312 2004-02-09 Kim F. Storm <storm@cua.dk>
2313
2314 * fringe.c: New file. Move original fringe related declarations
2315 and code from dispextern.h and xdisp.c here.
2316 Rework code to support user defined fringe bitmaps, redefining
2317 standard bitmaps, ability to overlay user defined bitmap with
2318 overlay arrow bitmap, and add faces to bitmaps.
2319 (Voverflow_newline_into_fringe): Declare here.
2320 (enum fringe_bitmap_align): New enum.
2321 (..._bits): All bitmaps are now defined without bitswapping; that
2322 is now done in init_fringe_once (if necessary).
2323 (standard_bitmaps): New array with specifications for the
2324 standard fringe bitmaps.
2325 (fringe_faces): New array.
2326 (valid_fringe_bitmap_id_p): New function.
2327 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
2328 (draw_fringe_bitmap): New function which draws fringe bitmap,
2329 possibly overlaying bitmap with cursor in right fringe or the
2330 overlay arrow in the left fringe.
2331 (update_window_fringes): Do not handle overlay arrow here.
2332 Compare and copy fringe bitmap faces.
2333 (init_fringe_bitmap): New function.
2334 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
2335 define and destroy user defined fringe bitmaps.
2336 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
2337 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
2338 (syms_of_fringe): New function. Defsubr new DEFUNs.
2339 DEFVAR_LISP Voverflow_newline_into_fringe.
2340 (init_fringe_once, init_fringe): New functions.
2341 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
2342
2343 * Makefile.in (obj): Add fringe.o.
2344 (fringe.o): New dependencies.
2345
2346 * dispextern.h (FRINGE_ID_BITS): New definition for number of
2347 bits allocated to hold a fringe number. Increase number of bits
2348 from 4 to 8 to allow user defined fringe bitmaps.
2349 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
2350 left_user_fringe_face_id, right_user_fringe_bitmap,
2351 right_user_fringe_face_id.
2352 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
2353 Move to new file fringe.c.
2354 (MAX_FRINGE_BITMAPS): Define here.
2355 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
2356 and overlay_p. Change member which to int.
2357 (struct redisplay_interface): New members define_fringe_bitmap
2358 and destroy_fringe_bitmap.
2359 (valid_fringe_bitmap_id_p): Add prototype.
2360 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
2361
2362 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
2363 arrows.
2364 (update_frame): Do flush_display if force_flush_display_p to
2365 ensure display (specifically fringes) are updated in a timely
2366 manner when resizing the frame by dragging the mouse.
2367 (update_window_line): Update row if overlay arrow changed.
2368 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
2369 or overlay arrow changed.
2370
2371 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
2372 syms_of_fringe, and init_fringe.
2373
2374 * frame.h (struct frame): New member force_flush_display_p.
2375
2376 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
2377 Add prototypes.
2378
2379 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
2380 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
2381 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
2382 Use cursor color for displaying cursor in fringe.
2383 (x_redisplay_interface): Add null handlers for
2384 define_fringe_bitmap and destroy_fringe_bitmap functions.
2385
2386 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
2387 xterm.c to handle overlayed fringe bitmaps and to use cursor color
2388 for displaying cursor in fringe.
2389 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
2390 specific functions to define and destroy fringe bitmaps in fringe_bmp.
2391 (w32_redisplay_interface): Add them to redisplay_interface.
2392 (w32_term_init): Call w32_init_fringe instead of explicitly
2393 defining fringe bitmaps in fringe_bmp array.
2394 (x_delete_display): Call w32_reset_fringes instead of explicitly
2395 destroying fringe bitmaps in fringe_bmp array.
2396
2397 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
2398 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
2399 (continued_bits, continuation_bits, ov_bits, first_line_bits)
2400 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
2401 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
2402 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
2403 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
2404 Move fringe handling vars and code to new file fringe.c.
2405 (handle_display_prop): Handle left-fringe and right-fringe
2406 display properties; store user fringe bitmaps in iterator.
2407 (move_it_in_display_line_to): Handle cursor in fringe at eob.
2408 (clear_garbaged_frames): Set force_flush_display_p if resized.
2409 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
2410 (display_line): Handle cursor in fringe at eob.
2411 (display_line): Set row user fringe bitmaps from iterator.
2412
2413 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
2414 Use cursor color for displaying cursor in fringe.
2415 (x_redisplay_interface): Add null handlers for
2416 define_fringe_bitmap and destroy_fringe_bitmap functions.
2417
2418 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2419
2420 * macfns.c (Fx_change_window_property): Make doc string and
2421 parameters same as for X version.
2422
2423 * w32fns.c (Fx_change_window_property): Ditto.
2424
2425 2004-02-07 Kim F. Storm <storm@cua.dk>
2426
2427 * xdisp.c (hscroll_window_tree): Position cursor near to right
2428 margin in hscrolled window when jumping to end of line (rather
2429 than centering cursor).
2430
2431 * process.c (wait_reading_process_input): Don't do adaptive read
2432 buffering if waiting for a specific process.
2433
2434 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
2435
2436 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
2437 (Fread_minibuffer, Feval_minibuffer)
2438 (Fread_string, Fread_no_blanks_input)
2439 (Fcompleting_read): Doc fixes.
2440 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
2441 completion-regexp-list. Define Qcase_fold_search and staticpro it.
2442 (read_minibuf): Fix initial comment.
2443 (Ftry_completion, Fall_completions, Ftest_completion): Bind
2444 case-fold-search to the value of completion-ignore-case when
2445 checking completion-regexp-list.
2446 (Fdisplay_completion_list): Make it handle arguments that are
2447 symbols. Doc fix.
2448
2449 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2450
2451 * xterm.h: Add declaration of free_frame_menubar.
2452
2453 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
2454 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
2455 (Fx_change_window_property): Add declaration of parameters type and
2456 format. Remove unused variable cons.
2457
2458 * xselect.c: Include stdio,h.
2459
2460 2004-02-05 Kenichi Handa <handa@m17n.org>
2461
2462 * fns.c (Fset_char_table_range): Fix previous change.
2463
2464 * buffer.c (Fset_buffer_multibyte): Fix docstring.
2465
2466 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
2467
2468 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
2469
2470 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
2471
2472 * keymap.c (Vmouse_events): Rename from Vmenu_events.
2473 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
2474
2475 2004-02-04 Kenichi Handa <handa@m17n.org>
2476
2477 * fns.c (Fset_char_table_range): Handle charsets ascii,
2478 eight-bit-control, and eight-bit-graphic correctly.
2479
2480 2004-02-03 Jason Rumney <jasonr@gnu.org>
2481
2482 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
2483
2484 * w32fns.c (x_to_w32_font): Likewise.
2485
2486 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2487
2488 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
2489 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
2490
2491 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
2492 ClientMessages.
2493
2494 * xselect.c: Include termhooks.h and X11/Xproto.h
2495 (x_check_property_data, x_fill_property_data)
2496 (x_property_data_to_lisp, mouse_position_for_drop)
2497 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
2498 (Fx_send_client_event): Move here from xfns.c.
2499 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
2500
2501 * xfns.c (x-send-client-message): Move to xselect.c
2502 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
2503 OUTER_P.
2504 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
2505 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
2506 if vector_ret_p is true.
2507 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
2508
2509 2004-02-02 Eli Zaretskii <eliz@gnu.org>
2510
2511 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
2512 basename of FILE relative to it, not FILE itself.
2513
2514 2004-02-02 Kenichi Handa <handa@m17n.org>
2515
2516 * coding.c (coding_restore_composition): Check invalid
2517 composition data more rigidly.
2518
2519 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
2520
2521 * fileio.c (Fread_file_name_internal): Correctly handle the case
2522 where insert-default-directory is nil.
2523 (Fread_file_name): Always return an empty string if the user exits
2524 with an empty minibuffer. Adapt the docstring accordingly.
2525 (syms_of_fileio): Adapt the docstring of insert-default-directory
2526 to the change in Fread_file_name.
2527
2528 2004-01-29 Eli Zaretskii <eliz@gnu.org>
2529
2530 * alloca.c [!alloca]: Fix the prototype for xfree.
2531
2532 2004-01-29 Kenichi Handa <handa@m17n.org>
2533
2534 * fns.c (string_char_to_byte): Optimize for ASCII only string.
2535 (string_byte_to_char): Likewise.
2536
2537 2004-01-28 Peter Runestig <peter@runestig.com>
2538
2539 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
2540
2541 2004-01-27 Steven Tamm <steventamm@mac.com>
2542
2543 * unexmacosx.c (unexec_copy): Do not copy more than was
2544 requested to prevent overwriting during unexec.
2545
2546 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2547
2548 * process.c (sigchld_handler): Add comment about not calling malloc.
2549
2550 * process.h: Add extern to synch_process_termsig.
2551
2552 2004-01-27 Steven Tamm <steventamm@mac.com>
2553
2554 * macterm.c (make_mac_frame, make_mac_terminal_frame):
2555 Move setting of scroll bars from make_mac_frame to
2556 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
2557
2558 2004-01-26 Richard M. Stallman <rms@gnu.org>
2559
2560 * search.c (Freplace_match): Handle nonexistent
2561 back-references properly.
2562
2563 2004-01-03 Richard M. Stallman <rms@gnu.org>
2564
2565 * window.c (decode_any_window): New function.
2566 (Fwindow_height, Fwindow_width, Fwindow_edges)
2567 (Fwindow_pixel_edges, Fwindow_inside_edges)
2568 (Fwindow_inside_pixel_edges): Use decode_any_window.
2569
2570 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2571
2572 * process.h: synch_process_termsig new variable.
2573
2574 * callproc.c: Define synch_process_termsig.
2575 (Fcall_process): Initiate synch_process_termsig to zero and
2576 check if non-zero and get signal name after subprocess has ended.
2577
2578 * process.c (sigchld_handler): Set synch_process_termsig
2579 if terminated by a signal. synch_process_death setting removed.
2580
2581 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
2582
2583 2004-01-26 Andreas Schwab <schwab@suse.de>
2584
2585 * print.c (print_preprocess): Declare size as EMACS_INT to not
2586 lose bits.
2587 (print_object): Likewise.
2588 * alloc.c (Fpurecopy): Likewise.
2589
2590 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
2591
2592 * window.c (Fwindow_minibuffer_p): Doc fix.
2593
2594 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
2595
2596 * editfns.c (Fformat): Make both passes accept the same set of flags.
2597
2598 2004-01-23 Kenichi Handa <handa@m17n.org>
2599
2600 * fns.c (Fmd5): If OBJECT is a buffer different from the current
2601 one, set buffer to OBJECT temporarily.
2602
2603 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
2604
2605 * keyboard.c (kbd_buffer_gcpro): Remove.
2606 (kbd_buffer_store_event, clear_event, Fdiscard_input)
2607 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
2608 Don't initialize and/or maintain the variable any more. It was made
2609 redundant by my commit of 2003-06-15.
2610
2611 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
2612
2613 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2614
2615 * lisp.h: Add undef DECL_ALIGN.
2616
2617 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
2618
2619 * process.c (wait_reading_process_input) [SYNC_INPUT]:
2620 Check interrupt_input_pending explicitly.
2621
2622 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
2623
2624 * keyboard.c (handle_async_input): New fun,
2625 extracted from input_available_signal.
2626 (input_available_signal, reinvoke_input_signal): Use it.
2627
2628 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
2629
2630 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
2631
2632 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
2633 manipulation macros for when tags are in the lower bits.
2634 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
2635 (DECL_ALIGN): New macro.
2636 (DEFUN): Use it.
2637
2638 * lisp.h [ENABLE_CHECKING]: Don't force union type.
2639
2640 * s/darwin.h (__attribute__): Remove outdated workaround.
2641
2642 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
2643
2644 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
2645 Don't check range of malloc address.
2646 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
2647
2648 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
2649
2650 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
2651
2652 2004-01-19 Kenichi Handa <handa@m17n.org>
2653
2654 * fontset.c (fontset_font_pattern): Fix previous change.
2655
2656 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
2657
2658 * xdisp.c (Voverflow_newline_into_fringe)
2659 (move_it_in_display_line_to, redisplay_internal)
2660 (update_window_fringes, redisplay_window, display_line, window):
2661 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
2662 that it compiles without a window-system.
2663 * dispnew.c (direct_output_for_insert, update_window): Likewise.
2664
2665 2004-01-16 Kim F. Storm <storm@cua.dk>
2666
2667 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
2668
2669 * buffer.c (init_buffer_once): Set buffer_defaults and
2670 buffer_local_flags for indicate_buffer_boundaries.
2671 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
2672 default- variable for it.
2673
2674 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
2675 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
2676 New members exact_window_width_line_p and cursor_in_fringe_p for
2677 overflowing newlines into right fringe.
2678 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
2679 and indicate_bottom_line_p for buffer boundaries and scrolling.
2680 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
2681 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
2682 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
2683 and HOLLOW_SQUARE_BITMAP.
2684 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
2685 Add prototypes.
2686
2687 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
2688 instead of related indicator fields.
2689 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
2690 (direct_output_for_insert): Handle exact width lines like
2691 contined lines. Call update_window_fringes.
2692 (update_window): Call update_window_fringes.
2693 (scrolling_window): Don't skip desired rows with changed bitmaps.
2694 Check if fringe bitmaps changes when assigning scrolled rows.
2695
2696 * xdisp.c (Voverflow_newline_into_fringe): New variable.
2697 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
2698 (move_it_in_display_line_to): Overflow newline into fringe for
2699 rows that are exactly as wide as the window.
2700 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
2701 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
2702 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
2703 (fringe_bitmaps): Add new bitmaps.
2704 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
2705 Select proper bitmap for cursor in fringe when appropriate.
2706 Handle alignment of bitmap to top or bottom of row.
2707 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
2708 done by update_window_fringes.
2709 (update_window_fringes, draw_window_fringes): New functions.
2710 (redisplay_internal): Call update_window_fringes in case only
2711 cursor row is updated.
2712 (redisplay_window): Call update_window_fringes.
2713 Explicitly call draw_window_fringes if redisplay was done using
2714 the current matrix or the overlay arrow is in the window.
2715 (try_window_reusing_current_matrix): Mark scrolled rows for
2716 fringe update (to update buffer-boundaries / scrolling icons).
2717 (find_last_unchanged_at_beg_row): Handle exact width lines line
2718 continued lines.
2719 (display_line): Overflow newline into fringe for rows that are
2720 exactly as wide as the window. Don't append space for newline
2721 in this case.
2722 (notice_overwritten_cursor): Explicitly clear cursor bitmap
2723 in fringe as if it had been overwritten.
2724 (erase_phys_cursor): Erase cursor bitmap in fringe.
2725 (syms_of_xdisp): Mark show-trailing-whitespace and
2726 void-text-area-pointer as user options.
2727 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
2728
2729 * xterm.c (x_update_window_end): Call draw_window_fringes.
2730 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
2731 in row instead of actually drawing fringe bitmaps.
2732 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
2733 (x_draw_window_cursor): Draw cursor in fringe.
2734
2735 * w32term.c (x_update_window_end): Call draw_window_fringes.
2736 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
2737 in row instead of actually drawing fringe bitmaps.
2738 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
2739 (w32_draw_window_cursor): Draw cursor in fringe.
2740
2741 * macterm.c (x_update_window_end): Call draw_window_fringes.
2742 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
2743 in row instead of actually drawing fringe bitmaps.
2744 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
2745 (mac_draw_window_cursor): Draw cursor in fringe.
2746
2747 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2748
2749 * xterm.c (handle_one_xevent): Don't handle characters that are part
2750 of an old style (XLookupString) compose sequence.
2751
2752 2004-01-15 Kenichi Handa <handa@m17n.org>
2753
2754 * search.c (Freplace_match): Use make_multibyte_string or
2755 make_unibyte_string according to the buffer multibyteness.
2756
2757 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
2758
2759 * alloc.c (struct interval_block, struct string_block)
2760 (struct symbol_block, struct marker_block, live_string_p)
2761 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
2762 Better preserve alignment for objects in blocks.
2763 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
2764
2765 * lread.c (defvar_per_buffer): Remove dead declaration.
2766
2767 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
2768 space size.
2769
2770 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2771
2772 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
2773 if a key press should pop down. Only pop down if a key is pressed
2774 outside the menu/dialog.
2775 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
2776 popup_get_selection.
2777 (create_and_show_dialog): Pass 1 for down_on_keypress to
2778 popup_get_selection.
2779
2780 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2781
2782 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
2783 BLOCK/UNBLOCK_INPUT.
2784
2785 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2786
2787 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
2788 specified.
2789
2790 2004-01-08 Kenichi Handa <handa@m17n.org>
2791
2792 * editfns.c (Fformat): Fix '&' to '&&'.
2793
2794 2004-01-08 Andreas Schwab <schwab@suse.de>
2795
2796 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
2797 size if PSEUDOVECTOR_FLAG is set.
2798
2799 2004-01-07 Kenichi Handa <handa@m17n.org>
2800
2801 * charset.c (Fdeclare_equiv_charset): Fix docstring.
2802
2803 * fontset.c (fontset_ref_via_base): Fix previous change.
2804
2805 2004-01-07 Kim F. Storm <storm@cua.dk>
2806
2807 * process.c (read_process_output): Only activate adaptive
2808 buffering if we read less than 256 bytes at a time.
2809
2810 2004-01-06 Kim F. Storm <storm@cua.dk>
2811
2812 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
2813 object and image object. Return glyph width and height.
2814 (mode_line_string, marginal_area_string): Ditto.
2815
2816 * dispextern.h (buffer_posn_from_coords, mode_line_string)
2817 (marginal_area_string): Fix prototypes.
2818
2819 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
2820 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
2821 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
2822
2823 * keyboard.c (make_lispy_position): Use modified mode_line_string,
2824 buffer_posn_from_coords, and marginal_area_string functions to
2825 include both string object and image object in the lispy position.
2826 Also add actual glyph width and height to position.
2827 (read_key_sequence): Use real buffer position from mouse
2828 event to find keymap property even when click is in marginal area.
2829
2830 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
2831 mode_line_string and marginal_area_string functions to handle
2832 both string object and image object properties.
2833
2834 2004-01-06 Andreas Schwab <schwab@suse.de>
2835
2836 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
2837 character.
2838
2839 2004-01-02 Andreas Schwab <schwab@suse.de>
2840
2841 * macterm.c (emacs_options, x_initialized, same_x_server):
2842 Remove unused (and duplicated) definitions.
2843
2844 2004-01-02 Kim F. Storm <storm@cua.dk>
2845
2846 * process.h (struct Lisp_Process): New members for adaptive read
2847 buffering: adaptive_read_buffering, read_output_delay, and
2848 read_output_skip.
2849
2850 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
2851 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
2852 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
2853 (process_output_delay_count, process_output_skip): New vars.
2854 (Vprocess_adaptive_read_buffering): New variable.
2855 (make_process): Initialize adaptive read buffering members.
2856 (Fstart_process): Set adaptive_read_buffering member.
2857 (deactivate_process): Cleanup adaptive read buffering.
2858 (wait_reading_process_input): Temporarily omit delayed
2859 subprocesses from the set of file descriptors to read from;
2860 adjust the select timeout if we skipped any subprocesses.
2861 (read_process_output): Increase adaptive read buffering delay if
2862 we read less than a full buffer; reduce delay when we read a
2863 full buffer.
2864 (send_process): Simplify using local Lisp_Process var.
2865 Reset adaptive read buffering delay after write.
2866 (init_process): Initialize process_output_delay_count and
2867 process_output_skip.
2868 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
2869
2870 2004-01-01 Jason Rumney <jasonr@gnu.org>
2871
2872 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
2873
2874 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
2875
2876 * print.c (Ferror_message_string): Add hyperlink in the docstring
2877 to the definition of `signal' in the Elisp manual.
2878 * eval.c (Fsignal): Ditto.
2879
2880 2003-12-29 James Clark <jjc@jclark.com> (tiny change)
2881
2882 * fns.c (internal_equal): Return t for two NaN arguments.
2883
2884 2003-12-29 Richard M. Stallman <rms@gnu.org>
2885
2886 * data.c (store_symval_forwarding): Handle setting
2887 default-fill-column, etc., by changing the value in
2888 buffers that use the default.
2889
2890 * minibuf.c (Fset_minibuffer_window): Doc fix.
2891
2892 * fileio.c (choose_write_coding_system): Ignore auto_saving
2893 if using the visited file for auto saves.
2894 (Fwrite_region): Don't update SAVE_MODIFF
2895 if auto-saving in visited file.
2896
2897 2003-12-29 Kenichi Handa <handa@m17n.org>
2898
2899 * dispextern.h (face_font_available_p): Extern it.
2900
2901 * fontset.c (Voverriding_fontspec_alist): New variable.
2902 (lookup_overriding_fontspec): New function.
2903 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
2904 (fontset_font_pattern): Likewise.
2905 (regulalize_fontname): New function.
2906 (Fset_fontset_font): Call regulalize_fontname.
2907 (Fset_overriding_fontspec_internal): New function.
2908 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
2909 Defsubr Sset_overriding_fontspec_internal.
2910
2911 * xfaces.c (face_font_available_p): New function.
2912
2913 2003-12-28 Richard M. Stallman <rms@gnu.org>
2914
2915 * buffer.c (Fother_buffer): Don't crash if BUF is nil
2916 or if its name is nil.
2917
2918 * buffer.c (Fkill_buffer): Don't delete auto-save file
2919 if it's the same as the visited file.
2920
2921 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
2922
2923 * coding.c (Fcheck_coding_system): Doc fix.
2924
2925 2003-12-28 Kim F. Storm <storm@cua.dk>
2926
2927 * Makefile.in (eval.o): Depend on dispextern.h.
2928
2929 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
2930 image glyph using image's ascent.
2931 (mode_line_string): Return image glyph as object clicked on.
2932 Adjust y0 for image glyph using image's ascent.
2933
2934 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
2935 (struct glyph): New members, ascent and descent. Used to save
2936 this glyph's ascent and descent, instead of having.
2937 (struct glyph): Declare member face_id using FACE_ID_BITS.
2938 (find_hot_spot): Add prototype.
2939
2940 * keyboard.c (Qimage): Remove extern (now in lisp.h).
2941 (QCmap): Declare extern.
2942 (make_lispy_position): When position is inside image hot-spot,
2943 use hot-spot element's id as posn element.
2944
2945 * lisp.h (IMAGEP): New macro to test for image object type.
2946 (Qimage): Declare extern.
2947
2948 * macfns.c (Qimage): Remove extern (now in lisp.h).
2949 (valid_image_p, parse_image_spec): Use IMAGEP macro.
2950
2951 * macterm.c (Qface, Qmouse_face): Remove unused externs.
2952
2953 * w32fns.c (Qimage): Remove extern (now in lisp.h).
2954 (valid_image_p, parse_image_spec): Use IMAGEP macro.
2955
2956 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
2957
2958 * w32term.c (Qface, Qmouse_face): Remove unused externs.
2959
2960 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
2961 pointer types.
2962 (Qrelative_width, Qalign_to): Remove unused variables.
2963 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
2964 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
2965 image maps.
2966 (x_y_to_hpos_vpos): Return glyph relative coordinates through
2967 new dx and dy args.
2968 Remove buffer_only_p arg (always 0). Simplify code accordingly.
2969 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
2970 than row's ascent and height, to get sensible height on tall rows.
2971 (build_desired_tool_bar_string): Remove Qimage extern.
2972 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
2973 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
2974 image glyph is alone on the last line.
2975 (append_glyph, append_composite_glyph, produce_image_glyph)
2976 (append_stretch_glyph): Set glyph's ascent and descent.
2977 (on_hot_spot_p): New function to check if position is inside an
2978 rectangular, circular, or polygon-shaped image hot-spot,
2979 (find_hot_spot): New function to search for image hot-spot.
2980 (Flookup_image_map): New defun to search for image hot-spot.
2981 (define_frame_cursor1): New aux function to determine frame pointer.
2982 (note_mode_line_or_margin_highlight, note_mouse_highlight):
2983 Handle `pointer' text property and :pointer image property to
2984 control frame pointer shape. Detect image hot-spots for pointer
2985 and help_echo properties. Use define_frame_cursor1.
2986 (note_mouse_highlight): Use Vvoid_text_area_pointer.
2987 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
2988 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
2989
2990 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
2991
2992 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
2993 (Qimage): Remove extern (now in lisp.h).
2994 (valid_image_p, parse_image_spec): Use IMAGEP macro.
2995
2996 * xmenu.c (show_help_event): Remove unused code.
2997
2998 * xterm.c (Qface, Qmouse_face): Remove unused externs.
2999 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
3000 row's ascent and descent, to get a sensible height on tall rows.
3001
3002 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
3003
3004 * minibuf.c (Fcompleting_read): Undo previous change.
3005
3006 2003-12-25 Lars Hansen <larsh@math.ku.dk>
3007
3008 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
3009 Arguments GCPRO'ed in call to file name handler.
3010
3011 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
3012
3013 * termcap.c (tgetst1): Scan for "%pN"; if all
3014 N are continuous in [1,9], remove all "%pN".
3015
3016 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3017
3018 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
3019
3020 * xfaces.c (lface_fully_specified_p): Take into account that
3021 MAC OS always have unspecified stipple.
3022
3023 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
3024
3025 * tparam.c (tparam1): Add handling for `%pN', which
3026 means use param N for the next substitution.
3027
3028 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
3029
3030 * xfaces.c (Fcolor_gray_p): Fix omission bug:
3031 In case `frame' is nil, consult the selected frame.
3032 (Fcolor_supported_p): Likewise.
3033
3034 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
3035
3036 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
3037 Doc fixes.
3038
3039 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
3040 and an integer. Adapt the introductory comment accordingly.
3041 (Fread_from_minibuffer): Delete code moved into read_minibuf.
3042 Doc fix.
3043 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
3044 read_minibuf.
3045 (Fcompleting_read): Delete code moved into read_minibuf.
3046 (Ftest_completion): Make it handle obarrays and hash tables correctly.
3047
3048 2003-12-03 Kenichi Handa <handa@m17n.org>
3049
3050 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
3051 encoding sequence.
3052
3053 2003-12-01 Kenichi Handa <handa@m17n.org>
3054
3055 * composite.c (syms_of_composite): Don't make the compostion hash
3056 table week.
3057
3058 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
3059
3060 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
3061 * textprop.c (Fget_char_property_and_overlay): New function.
3062 (syms_of_textprop): Defsubr it.
3063
3064 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3065
3066 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
3067 to compile on terminal configuration.
3068
3069 * fileio.c (Fread_file_name): Check use_file_dialog also before
3070 calling Fx_file_dialog.
3071
3072 * fns.c: use_file_dialog: New variable.
3073 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
3074
3075 2003-11-29 Kim F. Storm <storm@cua.dk>
3076
3077 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
3078 (syms_of_msdos): Don't intern and staticpro them.
3079
3080 2003-11-27 Kim F. Storm <storm@cua.dk>
3081
3082 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
3083 coordinates relative to glyph at posn. If glyph is an image,
3084 return that as object at posn. Callers changed.
3085 (mode_line_string, marginal_area_string): Calculate and return
3086 pixel coordinates relative to glyph. Callers changed.
3087
3088 * dispextern.h (buffer_posn_from_coords, mode_line_string)
3089 (marginal_area_string): Fix prototypes.
3090 (window_box_left_offset, window_box_right_offset): Add prototypes.
3091
3092 * frame.h (get_specified_cursor_type, get_window_cursor_type):
3093 Remove prototypes.
3094
3095 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
3096
3097 * keyboard.c (make_lispy_position): Add x and y coordinates
3098 relative to the current glyph as 7th element of position.
3099 If glyph is an image, return it in the object element.
3100 (read_key_sequence): Skip checks for keymap property in cases
3101 where POSN_STRING is not a string (e.g. an image).
3102
3103 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
3104 (Vshow_text_cursor_in_void): New variable.
3105 (glyph_to_pixel_coords): Don't use negative hpos.
3106 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
3107 (append_stretch_glyph): Change ascent arg to be actual value
3108 in pixels rather than ratio to height. Callers changed.
3109 (calc_pixel_width_or_height): New aux function, implementing
3110 pixel based artihmetic for glyph widths and heights.
3111 (produce_stretch_glyph): Use calc_pixel_width_or_height for
3112 :width, :height, :align-to, and :ascent, thus allowing these to
3113 be specified in pixels as well as multiples of characters.
3114 Don't produce stretch glyphs with zero width or height.
3115 (get_specified_cursor_type): Declare static.
3116 (get_window_cursor_type): Declare static. Add glyph arg to be
3117 able to know when cursor is on an image; always substitute
3118 hollow-box cursor for filled-box cursor on images, to avoid
3119 negative images and flicker when blinking the cursor.
3120 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
3121 (note_mode_line_or_margin_highlight): Use non-text cursor rather
3122 than vertical scroll-bar cursor in display margins.
3123 (note_mouse_highlight): Use non-text cursor rather than text
3124 cursor in fringes and over images in the text area.
3125 Use non-text cursor when mouse pointer is outside editable text,
3126 i.e. in the void after end-of-line or end-of-buffer; this was
3127 already done for W32, but is now standard for all systems --
3128 user can toggle show-text-cursor-in-void to get old behaviour.
3129 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
3130 Vdisplay_pixels_per_inch.
3131
3132 2003-11-25 Andreas Schwab <schwab@suse.de>
3133
3134 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
3135 EMACS_INT to not lose bits.
3136 (Ffillarray): Don't set bits beyond the size of a bool vector.
3137
3138 2003-11-25 Kim F. Storm <storm@cua.dk>
3139
3140 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
3141 define this defun on systems that cannot use stderr as lvalue.
3142
3143 2003-11-24 Gerd Moellmann <gerd@gnu.org>
3144
3145 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
3146 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
3147 ld's default is incompatible with unexec.
3148
3149 2003-11-23 Kim F. Storm <storm@cua.dk>
3150
3151 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
3152 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
3153 (Fforce_window_update): New defun.
3154 (syms_of_window): Defsubr it.
3155 (Fset_window_margins, Fset_window_fringes): Doc fix.
3156
3157 * print.c (Fredirect_debugging_output): New defun.
3158 (syms_of_print): Defsubr it.
3159
3160 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
3161
3162 * fns.c (Fset_char_table_parent): Doc fix.
3163
3164 2003-11-22 Kim F. Storm <storm@cua.dk>
3165
3166 * dispnew.c (buffer_posn_from_coords): Return actual row/column
3167 for glyph clicked on, rather than (unused) pixel positions.
3168 (mode_line_string, marginal_area_string): Change X and Y args to
3169 pointers for returning actual row/column for glyph clicked on.
3170 Simplify and optimize loops.
3171
3172 * dispextern.h (mode_line_string, marginal_area_string):
3173 Update prototypes.
3174
3175 * keyboard.c (make_lispy_position): New function for generating
3176 mouse click positions from frame and pixel coordinates.
3177 Enhanced to return buffer position and actual row/column for
3178 events outside the text area using updated mode_line_string and
3179 marginal_area_string functions.
3180 Return left-fringe and right-fringe clicks as such, rather than
3181 clicks in text area.
3182 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
3183 pixel_to_glyph_coords, as we never use the results.
3184 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
3185 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
3186 Eliminate unused code in WHEEL_EVENT handling.
3187 (make_lispy_movement): Use make_lispy_position.
3188
3189 * window.c (coordinates_in_window): Remove redundant tests.
3190 Fix returned X pixel value for left-margin.
3191
3192 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
3193 mode_line_string and marginal_area_string parameters.
3194
3195 2003-11-22 Lars Hansen <larsh@math.ku.dk>
3196
3197 * w32.c (struct the_group, getgrgid): Add.
3198 * mac.c (struct my_group, getgrgid): Add.
3199
3200 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
3201
3202 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
3203
3204 2003-11-21 Lars Hansen <larsh@math.ku.dk>
3205
3206 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
3207 include in call to file name handler. Optionally translate numeric
3208 UID and GID to strings. Update docstring.
3209 (directory_files_internal): Add parameter ID-FORMAT.
3210 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
3211 include in call to file name handler and call to
3212 directory_files_internal. Update Docstring.
3213 (Fdirectory_files): Add dummy parameter in call to
3214 directory_files_internal.
3215 * lisp.h (Qinteger): Add.
3216 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
3217 (Ffile_attributes): Add parameter.
3218 * data.c (Qinteger): Export.
3219
3220 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
3221
3222 * fns.c (Freverse, Fnreverse): Doc fixes.
3223
3224 2003-11-19 Kim F. Storm <storm@cua.dk>
3225
3226 * xdisp.c (init_iterator): Initialize it->start to position
3227 before reseating (in case start position is invisible).
3228 (init_to_row_start): Set it->start to row-start.
3229 (redisplay_window): Accept optional_new_start if start position
3230 is invisible (in which case IT_CHARPOS overshoots PT).
3231 (display_line): Setup row->start from it->start (rather than
3232 it->current which is wrong if first char on line is invisible).
3233 When done, reseat it->start to it->current (= start of next row).
3234 (expose_area): Fix exposure of text area when first char (e.g. TAB)
3235 is only partially visible.
3236
3237 * dispextern.h (struct it): New member start.
3238
3239 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
3240
3241 * alloc.c (make_float, Fcons): Clear the markbit at init time.
3242 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
3243 of block_index outside of the macro call.
3244 (Fgarbage_collect): Remove null code.
3245
3246 * m/amdx86-64.h: Don't redefine XPNTR.
3247
3248 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
3249 of VALMASK.
3250
3251 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
3252 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
3253 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
3254
3255 * lisp.h (VALMASK): Only define for non-union type.
3256 (MARKBIT): Remove.
3257 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
3258 (XTYPE): Define unconditionally.
3259 (XSETTYPE): Remove one more remnant.
3260 (EQ): Define differently for the union and non-union cases.
3261 (INTMASK): New bit mask.
3262 (struct Lisp_Marker): Move down to prepare for upcoming patch.
3263 (GC_EQ): Delegate to EQ.
3264
3265 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
3266
3267 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3268
3269 * xterm.c (x_window_to_scroll_bar): Move check of display to
3270 where window_id is compared.
3271
3272 2003-11-17 Kim F. Storm <storm@cua.dk>
3273
3274 * dispextern.h (struct it): New member first_vpos.
3275
3276 * xdisp.c (start_display): Set it->first_vpos.
3277 (try_window_id): Use first_vpos to start display in first _text_
3278 line if no reusable lines at start of window with header line.
3279
3280 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3281
3282 * w32fns.c (XPutPixel):
3283 * w32bdf.c (w32_init_bdf_font):
3284 * sunfns.c (sel_read):
3285 * process.c (Fmake_network_process):
3286 * frame.c (store_frame_param):
3287 * fontset.c (Fset_fontset_font):
3288 * emacs.c (shut_down_emacs):
3289 * ccl.c (ccl_driver): Remove period at end of error message.
3290
3291 * config.in: Regenerate.
3292
3293 * xfns.c (x_window_to_frame, x_any_window_to_frame)
3294 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
3295 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
3296 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
3297 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
3298
3299 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
3300
3301 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
3302 (XTmouse_position, handle_one_xevent): Pass Display* to
3303 x_window_to_scroll_bar.
3304 (x_window_to_scroll_bar): Take a Display* argument.
3305 Check that display for frame is equal to Display* argument.
3306 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
3307 x_display_info_for_display instead. Use Display in xev instead
3308 of GDK_DISPLAY.
3309 (x_dispatch_event): Call x_display_info_for_display.
3310 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
3311 (x_connection_closed): Call xg_display_close for GTK.
3312 (x_term_init): Call xg_display_open for additional displays.
3313 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
3314 for GTK.
3315
3316 * xmenu.c (single_menu_item, mouse_position_for_popup)
3317 (x_activate_menubar): Formatting adjustments.
3318
3319 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
3320 adjustments.
3321
3322 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
3323 (xg_display_close, xg_create_default_cursor)
3324 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
3325 handling.
3326 (xg_left_ptr_cursor): Remove.
3327 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
3328 cursor here.
3329 (xg_win_to_widget): Take Display* argument, call
3330 gdk_xid_table_lookup_for_display.
3331 (xg_create_frame_widgets, xg_get_file_name, create_menus)
3332 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
3333 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
3334 in FRAME_X_DISPLAY_INFO.
3335 (xg_get_scroll_id_for_window): Take Display* argument.
3336 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
3337 (xg_initialize): Remove xg_left_ptr_cursor.
3338
3339 * gtkutil.h: xg_get_scroll_id_for_window, xg_win_to_widget takes
3340 Display* argument also. Declare xg_display_open,
3341 xg_display_close, xg_create_default_cursor.
3342
3343 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3344
3345 * xterm.c (x_detect_focus_change): Do not change focus frame for
3346 Enter/LeaveNotify if the current focus frame has explicit focus.
3347
3348 2003-11-14 Kim F. Storm <storm@cua.dk>
3349
3350 * dispnew.c (update_text_area): Fix redisplay error when hscroll
3351 is active and first glyph is only partially visible.
3352
3353 2003-11-13 Kenichi Handa <handa@m17n.org>
3354
3355 * xdisp.c (select_frame_for_redisplay): New function.
3356 (redisplay_internal): Record also selected_frame for
3357 unwind_redisplay. Call select_frame_for_redisplay before
3358 redrawing each frame.
3359 (unwind_redisplay): Argument changed to a cons.
3360
3361 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
3362
3363 * fns.c (Fstring_to_multibyte): Doc fix.
3364
3365 2003-11-11 Kenichi Handa <handa@m17n.org>
3366
3367 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
3368
3369 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3370
3371 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
3372 program specified positions.
3373
3374 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3375
3376 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
3377
3378 2003-11-08 Kenichi Handa <handa@m17n.org>
3379
3380 * Makefile.in (lisp): Add kannada.el.
3381 (shortlisp): Likewise.
3382
3383 2003-11-07 Kenichi Handa <handa@m17n.org>
3384
3385 * coding.c (coding_allocate_composition_data):
3386 Reset coding->composing to COMPOSITION_NO.
3387 (coding_restore_composition): Detect invalid composition data.
3388 Give Fstring and Fvector a Lispy integer, not C int.
3389
3390 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
3391
3392 * floatfns.c (Flogb): Don't use VALMASK.
3393
3394 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
3395 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
3396
3397 * lisp.h (XINT): Move the cast to clarify what is going on.
3398 (GCTYPEMASK, XSETTYPE): Remove.
3399 (XGCTYPE): Make it an alias of XTYPE.
3400
3401 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3402
3403 * xterm.c (x_term_init): Fix formatting.
3404
3405 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3406
3407 * gtkutil.h: Declare xg_have_tear_offs, remove xg_keep_popup
3408 and xg_did_tearoff.
3409
3410 * gtkutil.c: Remove variable xg_did_tearoff.
3411 (xg_have_tear_offs): New function.
3412 (tearoff_remove): Just decrease xg_detached_menus.
3413 (tearoff_activate): Increase xg_detached_menus and call
3414 tearoff_remove when tearoff is removed.
3415 (xg_keep_popup): Remove function.
3416 (create_menus): Give add_tearoff_p as argument to recursive
3417 call to create_menus.
3418 (xg_create_widget): Use variables instead of multiple
3419 strcmp. Tell create_menus to create tear off only for
3420 menu bar menus.
3421 (xg_update_menubar): Change title for a detached menu also.
3422 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
3423 of deep_p.
3424 (xg_initialize): Initialize xg_detached_menus, remove
3425 initialization of xg_did_tearoff.
3426
3427 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
3428 xg_have_tear_offs returns non-zero.
3429 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
3430 call to xg_keep_popup.
3431
3432 2003-11-01 Andrew Choi <akochoi@shaw.ca>
3433
3434 * macterm.c (XTread_socket): Handle menubar selection and grow
3435 window only for mouseDown events.
3436
3437 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3438
3439 * xterm.c (x_term_init): For GTK part, increase x_initialized
3440 to check for more than one display. Use error instead of return 0.
3441
3442 2003-10-31 Andrew Choi <akochoi@shaw.ca>
3443
3444 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
3445 (copy_dysymtab): Call it.
3446
3447 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
3448
3449 * eval.c (Fdefvaralias): Doc fix.
3450
3451 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
3452
3453 * data.c (Fsetplist): Doc fix.
3454
3455 2003-10-14 Lute Kamstra <lute@gnu.org>
3456
3457 * window.c (Fset_window_fringes): Clarify docstring.
3458
3459 2003-10-14 Kim F. Storm <storm@cua.dk>
3460
3461 * window.c (Fset_window_margins): Simplify arg checking.
3462
3463 2003-10-13 Richard M. Stallman <rms@gnu.org>
3464
3465 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
3466 (print_partial_compiled_pattern): Replace assert with a printout.
3467 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
3468
3469 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
3470
3471 * window.c (Fset_window_margins): Allow only integers as args.
3472 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
3473 Doc fixes.
3474
3475 2003-10-13 Lute Kamstra <lute@gnu.org>
3476
3477 * window.c (Fset_window_fringes): Elaborate docstring.
3478
3479 2003-10-12 Andrew Choi <akochoi@shaw.ca>
3480
3481 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
3482
3483 * s/darwin.h (GC_MARK_STACK): Define.
3484
3485 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3486
3487 * window.c (shrink_windows): New function.
3488 (size_window): Call shrink_windows to calculate window sizes when
3489 shrinking frame with more than one window.
3490
3491 2003-10-12 Kim F. Storm <storm@cua.dk>
3492
3493 * xdisp.c (compute_fringe_widths): Doc fix.
3494
3495 2003-10-08 Kenichi Handa <handa@m17n.org>
3496
3497 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
3498
3499 2003-10-07 Kenichi Handa <handa@m17n.org>
3500
3501 * coding.c (Qcoding_system_define_form): New variable.
3502 (syms_of_coding): Intern and staticpro it.
3503 (Fcheck_coding_system): Try to autoload the definition of
3504 CODING-SYSTEM.
3505
3506 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
3507
3508 * fns.c (Frequire): Doc fix.
3509
3510 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3511
3512 * xfns.c (Fx_send_client_event): New function as a base for
3513 manipulating extended window manager hints.
3514 (Fx_send_client_event): Remove unused variable s.
3515
3516 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
3517 that function is removed.
3518
3519 * xterm.c (x_set_offset): Use move_offset_left/top instead of
3520 x/y_pixels_outer_diff.
3521 (x_check_expected_move): Calculate move_offset_left/top.
3522
3523 * xterm.h (struct x_output): New members: move_offset_top/left.
3524
3525 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
3526 call x_set_offset directly.
3527
3528 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
3529
3530 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
3531
3532 * xterm.c (x_delete_display): Free font names and font_encoder
3533 in dpyinfo->font_table.
3534
3535 * xfns.c (Fx_close_connection): Only call XFreeFont here.
3536 Move xfree of font names to x_delete_display.
3537
3538 * xterm.h (struct x_display_info): New member, wm_type.
3539 (struct x_output): New members, expected_top/left and
3540 check_expected_move.
3541
3542 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
3543 is received.
3544 (handle_one_xevent): Rename x_check_expected_move from
3545 x_check_fullscreen_move.
3546 (x_set_offset): Only add WM decoration sizes to modified_top/left
3547 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
3548 (x_check_expected_move): Rename from x_check_fullscreen_move.
3549 Removed fullscreen specific code. Use check_expected_move,
3550 expected_left/top instead. Also, set wm_type.
3551 (x_term_init): Initialize wm_type to unknown.
3552
3553 * frame.c (x_fullscreen_move): Remove addition of WM decoration
3554 sizes to move_x/y.
3555
3556 2003-10-03 Kenichi Handa <handa@m17n.org>
3557
3558 * macterm.c (x_load_font): Clear all members of FONTP before start
3559 filling them.
3560
3561 2003-10-02 Kenichi Handa <handa@m17n.org>
3562
3563 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
3564 before calling find_ccl_program_func. Call find_ccl_program_func
3565 only when fontp->font_encoder is not NULL.
3566
3567 * xterm.c (x_load_font): Clear all members of FONTP before start
3568 filling them.
3569
3570 2003-10-03 John Paul Wallington <jpw@gnu.org>
3571
3572 * keymap.c (map_keymap): Don't abort when binding is a vector.
3573
3574 2003-10-02 Jason Rumney <jasonr@gnu.org>
3575
3576 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
3577 Sync dependencies with Makefile.in.
3578 (alloca.o): Remove.
3579
3580 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
3581 filling them.
3582
3583 * w32bdf.c (w32_load_bdf_font): Likewise.
3584
3585 2003-09-30 Richard M. Stallman <rms@gnu.org>
3586
3587 * term.c (set_tty_color_mode): Calculate current_mode_spec
3588 regardless of value of VAL.
3589
3590 * intervals.c (graft_intervals_into_buffer):
3591 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
3592 Handle over_used when splitting UNDER.
3593
3594 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3595
3596 * regex.c (regex_compile): Free the stack when returning from function.
3597
3598 2003-09-28 Kenichi Handa <handa@m17n.org>
3599
3600 * fontset.c (Finternal_char_font): Change return value to
3601 cons (FONT-NAME . GLYPH-CODE).
3602
3603 2003-09-28 Eli Zaretskii <eliz@gnu.org>
3604
3605 * term.c (tty_setup_colors): Treat any negative argument as -1.
3606
3607 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
3608
3609 * process.c (send_process): Delete unused temp_buf.
3610
3611 2003-09-26 Dave Love <fx@gnu.org>
3612
3613 * xterm.c (x_bitmap_mask): Declare.
3614
3615 2003-09-25 Dave Love <fx@gnu.org>
3616
3617 * Makefile.in (fns.o): Depend on md5.h.
3618
3619 2003-09-25 Kim F. Storm <storm@cua.dk>
3620
3621 * window.c (set_window_buffer): Fix redisplay problems when
3622 switching between buffers with different display margin widths.
3623
3624 2003-09-23 Kim F. Storm <storm@cua.dk>
3625
3626 * process.c (set_socket_option): Fix :bindtodevice option.
3627 (Fset_network_process_option): Update process contact list when
3628 setting option succeeds.
3629 (Fmake_network_process): Doc fix.
3630
3631 2003-09-23 Dave Love <fx@gnu.org>
3632
3633 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
3634
3635 2003-09-22 Eli Zaretskii <eliz@gnu.org>
3636
3637 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
3638 color mode is an integer number (it could be -1).
3639
3640 2003-09-22 Richard M. Stallman <rms@gnu.org>
3641
3642 * intervals.c (graft_intervals_into_buffer): Correct the main loop
3643 in the case where OVER is longer than UNDER.
3644
3645 2003-09-22 Masatake YAMATO <jet@gyve.org>
3646
3647 * window.c (Fset_window_scroll_bars): Validate the value of
3648 `vertical_type'.
3649
3650 2003-09-21 Kim F. Storm <storm@cua.dk>
3651
3652 * frame.c (Vdefault_frame_scroll_bars): New variable.
3653 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
3654 (syms_of_frame): DEFVAR_LISP it, and initialize according to
3655 window-system default scroll bar position.
3656
3657 * window.c (Fwindow_scroll_bars): Doc fix.
3658
3659 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3660
3661 * xterm.c (x_set_offset): Take window manager decorations into account.
3662
3663 2003-09-19 Richard M. Stallman <rms@gnu.org>
3664
3665 * atimer.h: Don't include lisp.h.
3666 (P_): Define it here (as well as elsewhere).
3667
3668 * print.c (Fprin1_to_string): Move the PRINTPREPARE
3669 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
3670
3671 * data.c (Fvariable_binding_locus): New function.
3672 (syms_of_data): defsubr it.
3673 (Flocal_variable_p): Delete duplicate call to indirect_variable.
3674
3675 2003-09-18 Dave Love <fx@gnu.org>
3676
3677 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
3678
3679 * process.c (Fnetwork_interface_info): Fix type error.
3680 (Fnetwork_interface_list): Doc fix.
3681 (read_process_output, read_process_output): Delete unused var.
3682
3683 2003-09-17 Kim F. Storm <storm@cua.dk>
3684
3685 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
3686 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
3687 (Fnetwork_interface_info): Check that ifreq struct has required
3688 fields before accessing them; this requires that those fields are
3689 defined as macros, which may be too restrictive on some platforms,
3690 but it is better than failing on other platforms.
3691 (syms_of_process): Only defsubr above fns when included.
3692
3693 2003-09-17 Dave Love <fx@gnu.org>
3694
3695 * unexalpha.c: Don't include varargs.h.
3696
3697 2003-09-17 Kim F. Storm <storm@cua.dk>
3698
3699 * process.c (Fset_process_sentinel): Add sentinel to childp plist
3700 for network process.
3701 (socket_options): Add `:' prefix to option names. Add optbit field.
3702 (set_socket_option): Remove no_error arg and special handling of s < 0.
3703 Return 1<<optbit for known option, 0 for unknown.
3704 Do not interpret 0 as false for boolean option (only nil).
3705 Pass failed option and value to report_file_error.
3706 (Fset_network_process_options): Replace by Fset_network_process_option.
3707 (Fset_network_process_option): New function to set just one option.
3708 (Fmake_network_process): Allow :coding arg to be a cons.
3709 Allow :server arg to be an integer specifying backlog size.
3710 Remove :options arg, and allow options to be specified directly
3711 as :KEY, VALUE pairs. Parse these options before binding socket.
3712 As before, :reuseaddr t is default for a server process, but this
3713 can now be disabled by specifying :reuseaddr nil.
3714 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
3715 (init_process): Availability of network options is now checked with
3716 simpler syntax (featurep 'make-network-process :OPTION); use loop to
3717 setup features.
3718 (syms_of_process): Fix defsubr's for the replaced functions.
3719
3720 2003-09-16 Dave Love <fx@gnu.org>
3721
3722 * Makefile.in: Depend on coding.h.
3723
3724 2003-09-14 Kim F. Storm <storm@cua.dk>
3725
3726 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
3727 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
3728 (syms_of_process): Defsubr them.
3729
3730 * config.in: Regenerate.
3731
3732 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
3733
3734 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
3735 * m/news-r6.h (XUNMARK): Remove.
3736 * m/mips.h (XUNMARK): Remove.
3737 * m/mips-siemens.h (XUNMARK): Remove.
3738 * m/iris4d.h (XUNMARK): Remove.
3739 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
3740
3741 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
3742
3743 * lisp.h (VALBITS): Don't remove 1 for the markbit.
3744 (union Lisp_Object): Use unsigned int for types. Remove markbit.
3745 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
3746 (XTYPE): Use unsigned right-shift.
3747 (XMARKBIT, XMARK, XUNMARK): Remove.
3748
3749 * alloc.c (init_intervals, init_symbol, init_marker):
3750 Don't preallocate anything.
3751 (Fgarbage_collect, mark_object): Ignore the markbit.
3752
3753 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
3754
3755 2003-09-08 Lute Kamstra <lute@gnu.org>
3756
3757 * xdisp.c (pint2hrstr): New function.
3758 (decode_mode_spec): Add `%i' and `%I' specs.
3759 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
3760 for `mode-line-format'.
3761
3762 2003-09-07 Andreas Schwab <schwab@suse.de>
3763
3764 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
3765 avoid warning.
3766
3767 2003-09-07 Eli Zaretskii <eliz@gnu.org>
3768
3769 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
3770
3771 2003-09-03 Kim F. Storm <storm@cua.dk>
3772
3773 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
3774 change (superseded by 2002-08-30 change); the default blink-off
3775 cursor is now again "no cursor".
3776
3777 2003-09-01 Jason Rumney <jasonr@gnu.org>
3778
3779 * makefile.w32-in (alloca.o): Remove.
3780 (coding.o): Depend on intervals.h
3781 (emacs.o, bytecode.o): Depend on window.h
3782
3783 2003-09-01 Dave Love <fx@gnu.org>
3784
3785 * Makefile.in (alloca.o): Remove commands.
3786 (coding.o): Depend on intervals.h composite.h window.h.
3787 (emacs.o): Depend on window.h keyboard.h keymap.h.
3788 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
3789 (bytecode.o): Depend on window.h.
3790
3791 2003-08-31 Jason Rumney <jasonr@gnu.org>
3792
3793 * w32term.c (w32_per_char_metric): Allow cached metrics to be
3794 returned even when font_type is unknown.
3795
3796 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
3797
3798 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3799
3800 * xterm.c (x_term_init): Initialize new fields in x_display_info.
3801
3802 * xterm.h (struct x_display_info): Add red/green/blue_bits and
3803 *_offset.
3804
3805 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
3806 calculate pixel value.
3807
3808 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
3809
3810 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
3811 Don't tell redisplay display is accurate when it's actually been
3812 paused for pending input.
3813
3814 2003-08-29 Richard M. Stallman <rms@gnu.org>
3815
3816 * dispnew.c (adjust_glyph_matrix): Call window_box
3817 whenever W is nonzero.
3818
3819 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
3820 (Fkill_local_variable, Fmake_variable_frame_local)
3821 (Flocal_variable_p, Flocal_variable_if_set_p):
3822 Use indirect_variable to trace thru variable aliases.
3823
3824 * config.in: Updated.
3825
3826 * callint.c (Fcall_interactively): Save and restore
3827 Vthis_command, Vthis_original_command, real_this_command,
3828 and current_kboard->Vlast_command.
3829
3830 * abbrev.c (Fexpand_abbrev): Insert before deleting.
3831
3832 2003-08-29 Gerd Moellmann <gerd@gnu.org>
3833
3834 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
3835
3836 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
3837
3838 * coding.c (decode_coding_iso2022): Initialize local variable c2.
3839 (decode_coding_sjis_big5): Likewise.
3840
3841 2003-08-27 Jason Rumney <jasonr@gnu.org>
3842
3843 * w32.c (sys_pipe): Protect against file descriptor overflow.
3844
3845 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
3846
3847 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
3848
3849 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
3850
3851 * xfns.c (Vgtk_version_string): New variable.
3852 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
3853
3854 2003-08-24 Eli Zaretskii <eliz@gnu.org>
3855
3856 * term.c (term_init): Remove `const' from buffer_size's declaration.
3857
3858 * Makefile.in (msdos.o): Depend on intervals.h.
3859
3860 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
3861
3862 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3863
3864 * xterm.h (struct x_display_info): New fields: client_leader_window
3865 and Xatom_wm_client_leader.
3866
3867 * xterm.c (x_initialize): Move call to x_session_initialize to ...
3868 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
3869
3870 * xsmfns.c (create_client_leader_window): New function.
3871 (x_session_initialize): Call create_client_leader_window, take
3872 dpyinfo as argument.
3873
3874 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
3875
3876 * Makefile.in (xsmfns.o): Add more depenedencies.
3877
3878 2003-08-21 Dave Love <fx@gnu.org>
3879
3880 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
3881
3882 2003-08-21 Kenichi Handa <handa@m17n.org>
3883
3884 * term.c (term_init): Fix previous change; don't rely on the
3885 length of `buffer' if TERMINFO is defined.
3886
3887 2003-08-20 Dave Love <fx@gnu.org>
3888
3889 * atimer.h: Include lisp.h.
3890
3891 * lisp.h (EMACS_LISP_H): New.
3892 (popup_activated_flag): Don't declare.
3893
3894 * alloca.c: Some merging with gnulib. Change logic and doc
3895 concerning (x)malloc/(x)free -- no longer Emacs-specific.
3896 [DO_BLOCK_INPUT]: Don't include lisp.h.
3897 (xmalloc, xfree): Declare.
3898 (malloc): Don't declare.
3899
3900 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
3901 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
3902 atimer.h, blockinput.h.
3903
3904 * alloc.c (lisp_align_malloc): Change type of `aligned'.
3905
3906 * alloca.s: Removed.
3907
3908 2003-08-19 Gerd Moellmann <gerd@gnu.org>
3909
3910 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
3911 use -lncurses.
3912
3913 * term.c (term_init): Use a buffer of size 4096 for tgetent since
3914 FreeBSD returns something longer than 2044. Abort if the end of
3915 the buffer is overwritten.
3916
3917 2003-08-19 Miles Bader <miles@gnu.org>
3918
3919 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
3920
3921 2003-08-19 Gerd Moellmann <gerd@gnu.org>
3922
3923 * alloc.c (lisp_align_malloc): Check for memory full when
3924 allocating ablocks, which also avoids freeing a pointer into an
3925 ablocks structure.
3926
3927 * puresize.h (BASE_PURESIZE): Increase to 1100000.
3928
3929 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
3930
3931 2003-08-16 Richard M. Stallman <rms@gnu.org>
3932
3933 * editfns.c (Fencode_time): Doc fix.
3934
3935 2003-08-16 David Ponce <david@dponce.com>
3936
3937 * fileio.c (Fwrite_region): Fix conditional expression to issue
3938 the right message.
3939
3940 2003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
3941
3942 * syntax.c (Fforward_word): Argument changed to optional.
3943 Set default value to 1.
3944
3945 2003-08-15 Kenichi Handa <handa@m17n.org>
3946
3947 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
3948 what autoscaled.
3949 (best_matching_font): Once we find a better scalable font, set
3950 non_scalable_has_exact_height_p to 1.
3951 (try_font_list): Call try_alternative_families to try any family
3952 with the given registry.
3953
3954 2003-08-09 Andreas Schwab <schwab@suse.de>
3955
3956 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
3957
3958 * print.c (print_string): Fix printing of multibyte string with
3959 nontrivial printcharfun.
3960
3961 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3962
3963 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
3964
3965 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
3966
3967 2003-07-31 Kenichi Handa <handa@m17n.org>
3968
3969 * process.c (read_process_output): Return the actually read bytes
3970 instead of the result of decoding.
3971
3972 2003-07-31 Kenichi Handa <handa@m17n.org>
3973
3974 * xterm.h (struct x_bitmap_record): New member have_mask.
3975
3976 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
3977 to 0.
3978 (x_create_bitmap_from_file): Likewise.
3979 (x_destroy_bitmap): Check have_mask member before freeing a mask.
3980 (x_destroy_all_bitmaps): Likewise.
3981 (x_create_bitmap_mask): Set have_mask member to 1.
3982
3983 2003-07-30 Richard M. Stallman <rms@gnu.org>
3984
3985 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
3986
3987 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3988
3989 * gtkutil.c (xg_mark_data): Update calls to mark_object.
3990
3991 2003-07-29 Richard M. Stallman <rms@gnu.org>
3992
3993 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
3994 Conditionalize XIM code on HAVE_XIM.
3995
3996 * fns.c (Fclear_string): New function.
3997 (syms_of_fns): defsubr it.
3998
3999 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
4000
4001 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
4002
4003 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
4004
4005 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
4006
4007 * buffer.c (delete_all_overlays): New function.
4008 * buffer.h (delete_all_overlays): Declare.
4009 * coding.c (run_pre_post_conversion_on_str):
4010 * print.c (temp_output_buffer_setup):
4011 * fileio.c (Finsert_file_contents):
4012 * minibuf.c (get_minibuffer): Use it.
4013
4014 2003-07-22 Andrew Choi <akochoi@shaw.ca>
4015
4016 * unexmacosx.c (unexec_regions_sort_compare):
4017 (unexec_regions_merge): New functions. Sort and merge unexec
4018 regions before dumping them.
4019
4020 2003-07-22 Dave Love <fx@gnu.org>
4021
4022 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
4023
4024 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
4025
4026 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
4027 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
4028 MARKBIT as the gcmarkbit for strings.
4029
4030 2003-07-21 Richard M. Stallman <rms@gnu.org>
4031
4032 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
4033
4034 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
4035 (syms_of_fns): Corresponding change.
4036
4037 * alloc.c (syms_of_alloc): Doc fixes.
4038
4039 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
4040
4041 * s/netbsd.h: Use -Wl syntax.
4042
4043 2003-07-17 Richard M. Stallman <rms@gnu.org>
4044
4045 * xterm.c (xim_initialize): Redo 6/24 change.
4046
4047 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
4048
4049 * buffer.c (copy_overlays): Use EMACS_INT for positions.
4050 (Fswitch_to_buffer): Don't signal an error when switching to the same
4051 buffer in a dedicated window.
4052
4053 * alloc.c: Use bitmaps for cons, as was done for floats.
4054 (init_float, init_cons): Let the normal code allocate the first block.
4055 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
4056 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
4057 New macros.
4058 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
4059 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
4060 (live_cons_p): Check the pointer is not past the `conses' array.
4061 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
4062 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
4063 (survives_gc_p): Use CONS_MARKED_P and simplify.
4064 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
4065
4066 2003-07-13 Paul Eggert <eggert@twinsun.com>
4067
4068 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
4069 puts it into BSS instead, at least on Solaris 8 and 9.
4070 This is a valid optimization, and it may occur on other platforms,
4071 so Emacs should not assume that initializing a static variable to
4072 zero puts it into data.
4073 * alloc.c (pure, staticvec):
4074 Initialize these arrays to nonzero, so that they're not
4075 put into BSS by that optimization.
4076
4077 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
4078
4079 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
4080 (lisp_align_malloc): Use posix_memalign is available.
4081 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
4082 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
4083 for consistency. Update users.
4084
4085 2003-07-13 Richard M. Stallman <rms@gnu.org>
4086
4087 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
4088
4089 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
4090
4091 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
4092 and use the Gtk+ function gtk_window_icon_from_file if available.
4093
4094 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
4095 handle mask of bitmaps.
4096 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
4097 mask property.
4098 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
4099
4100 * xterm.h (xg_set_icon): New function.
4101
4102 2003-07-12 Paul Eggert <eggert@twinsun.com>
4103
4104 * unexelf.c (unexec): Consider a section to precede the .bss
4105 section if its addresses overlap that of .bss.
4106
4107 2003-07-12 Richard M. Stallman <rms@gnu.org>
4108
4109 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
4110
4111 * config.in (HAVE_CRTIN): Add #undef.
4112 (INLINE): Really inline only if OPTIMIZE is defined.
4113
4114 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
4115 END_FILES_1.
4116 (START_FILES_1, END_FILES_1): New macros (conditional).
4117 (LD_SWITCH_SYSTEM_TEMACS): Define.
4118
4119 * s/openbsd.h: Don't include bsd4-3.h.
4120 (TERMINFO): Define.
4121 (LIBS_TERMCAP): Define.
4122 (LD_SWITCH_SYSTEM): Define (two definitions).
4123
4124 * xfns.c: Include libpng/png.h instead of png.h.
4125
4126 2003-07-11 Andreas Schwab <schwab@suse.de>
4127
4128 * buffer.c (modify_overlay): Update prototype.
4129 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
4130 Likewise.
4131
4132 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
4133
4134 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
4135 (struct interval): Move to intervals.h.
4136 (struct Lisp_Marker): Use EMACS_INT for position info.
4137 (forward_point): Remove prototype of defunct function.
4138 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
4139 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
4140 (syms_of_textprop, set_text_properties): Remove prototypes that are
4141 already in intervals.h.
4142
4143 * intervals.h (struct interval): Move from lisp.h.
4144 Use EMACS_INT for position and size info.
4145
4146 * coding.c: Include intervals.h for Fset_text_properties.
4147
4148 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
4149 position and length information.
4150
4151 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
4152
4153 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
4154 position and length information.
4155
4156 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
4157
4158 Change overlays_after and overlays_before so the overlays themselves
4159 are linked into lists, rather than using cons cells. After all each
4160 Lisp_Misc already occupies 5 words, so we can add a `next' field to
4161 Lisp_Overlay for free and save up one cons cell per overlay (not
4162 to mention one indirection when traversing the list of overlay).
4163
4164 * lisp.h (struct Lisp_Overlay): New field `next'.
4165
4166 * buffer.h (struct buffer): Change overlays_before and overlays_after
4167 from Lisp lists of overlays to pointers to overlays.
4168
4169 * buffer.c (overlay_strings, recenter_overlay_lists):
4170 Fix typo in eassert in last commit.
4171 (unchain_overlay): New function.
4172 (add_overlay_mod_hooklist): Use AREF.
4173 (copy_overlays, reset_buffer, overlays_at, overlays_in)
4174 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
4175 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
4176 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
4177 (report_overlay_modification, evaporate_overlays, init_buffer_once):
4178 Adjust to new type of overlays_(before|after).
4179
4180 * alloc.c (mark_object): Mark the new `next' field of overlays.
4181 (mark_buffer): Manually mark the overlays_(after|before) fields.
4182
4183 * coding.c (run_pre_post_conversion_on_str):
4184 * editfns.c (overlays_around):
4185 * xdisp.c (load_overlay_strings):
4186 * fileio.c (Finsert_file_contents):
4187 * indent.c (current_column):
4188 * insdel.c (signal_before_change, signal_after_change):
4189 * intervals.c (set_point_both):
4190 * print.c (temp_output_buffer_setup): Use new type for
4191 overlays_(before|after).
4192
4193 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
4194
4195 * buffer.c (report_overlay_modification): Don't run hooks while
4196 traversing the list of overlays.
4197
4198 * buffer.h (struct buffer): Use an int for overlay_center.
4199 (overlays_at, evaporate_overlays, recenter_overlay_lists)
4200 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
4201
4202 * buffer.c (reset_buffer, recenter_overlay_lists)
4203 (adjust_overlays_for_insert, adjust_overlays_for_delete)
4204 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
4205 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
4206 (overlays_at, evaporate_overlays, recenter_overlay_lists)
4207 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
4208
4209 * xdisp.c (fast_find_position): Remove unused var.
4210
4211 * cmds.c (Qexpand_abbrev): New sym.
4212 (syms_of_cmds): Initialize it.
4213 (internal_self_insert): Use it to call expand-abbrev.
4214
4215 2003-07-09 Kim F. Storm <storm@cua.dk>
4216
4217 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
4218 was configured with --without-xim.
4219 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
4220
4221 2003-07-07 Richard M. Stallman <rms@gnu.org>
4222
4223 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
4224
4225 * alloc.c (Fgarbage_collect): Doc fix.
4226
4227 2003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
4228
4229 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
4230
4231 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
4232
4233 * minibuf.c (read_minibuf): UNGCPRO before returning.
4234 (Ftry_completion, Fall_completions): Doc fix.
4235
4236 * alloc.c (live_float_p): Check that p is not past the `floats' array,
4237 now that `floats' is not the last element of the struct any more.
4238
4239 2003-07-06 Jason Rumney <jasonr@gnu.org>
4240
4241 * w32term.h (ClipboardSequence_Proc): New type.
4242
4243 * w32fns.c (clipboard_sequence_fn): New variable.
4244 (globals_of_w32fns): Initialize it.
4245
4246 * w32select.c (last_clipboard_sequence_number): New variable.
4247 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
4248 number if possible.
4249
4250 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
4251
4252 * m/amdx86-64.h (MARKBIT):
4253 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
4254 MARKBIT and ARRAY_MARK_FLAG any more.
4255
4256 * m/hp800.h (XSETMARKBIT):
4257 * m/sr2k.h (XSETMARKBIT):
4258 * lisp.h (XSETMARKBIT): Remove unused macro.
4259
4260 * lisp.h (mark_object): Change prototype.
4261
4262 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
4263 (last_marked): Change accordingly.
4264 (mark_interval, mark_maybe_object, mark_maybe_pointer)
4265 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
4266 (mark_buffer): Update calls to mark_object.
4267
4268 * bytecode.c (mark_byte_stack):
4269 * fns.c (sweep_weak_table):
4270 * keyboard.c (mark_kboards): Update calls to mark_object.
4271
4272 2003-07-06 Jason Rumney <jasonr@gnu.org>
4273
4274 * alloc.c (struct ablock): Only include padding when there is some.
4275
4276 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
4277
4278 * alloc.c (ALIGN): Add casts to simplify usage.
4279 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
4280 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
4281 (struct ablock, struct ablocks): New types.
4282 (free_ablock): New global var.
4283 (lisp_align_malloc, lisp_align_free): New functions.
4284 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
4285 (struct float_block): Reorder and add gcmarkbits.
4286 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
4287 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
4288 (init_float, make_float): Use lisp_align_malloc.
4289 (free_float, live_float_p): Don't use `type' any more.
4290 (make_float): Use FLOAT_UNMARK to access to mark bit.
4291 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
4292 Use FLOAT_MARKED_P to access the mark bit.
4293 (pure_alloc): Simplify use of ALIGN.
4294 (mark_object): Use FLOAT_MARK to access the mark bit.
4295 (gc_sweep): Use new macros to access the float's mark bit.
4296 (init_alloc_once): Init free_ablock.
4297
4298 * lisp.h (struct Lisp_Float): Remove unused field `type'.
4299
4300 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
4301
4302 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
4303 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
4304 (allocate_buffer): Move.
4305 (string_bytes): Don't mask markbit of `size_byte'.
4306 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
4307 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
4308 Use the `size' field of buffers (rather than the `name' field) for
4309 the mark bit, as is done for all other vectorlike objects.
4310 Use the new macros to access the mark bit of vectorlike objects.
4311
4312 2003-06-26 Richard M. Stallman <rms@gnu.org>
4313
4314 * puresize.h (BASE_PURESIZE): Increment base size.
4315
4316 * xdisp.c (fast_find_position): Enable Gerd's new definition.
4317
4318 * xterm.c (xim_initialize): Undo previous change.
4319
4320 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
4321
4322 * alloc.c (survives_gc_p): Simplify.
4323
4324 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
4325
4326 * window.c (Fset_window_dedicated_p): Simplify.
4327 (display_buffer_1): Don't raise the win from which minibuf was entered.
4328 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
4329 (Fminibuffer_selected_window): Simplify.
4330
4331 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
4332
4333 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
4334 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
4335
4336 * insdel.c (check_markers, adjust_markers_for_delete)
4337 (adjust_markers_for_insert, adjust_markers_for_replace)
4338 (prepare_to_modify_buffer, RESTORE_VALUE):
4339 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
4340 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
4341 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
4342 * alloc.c (Fmake_marker, free_marker, gc_sweep):
4343 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
4344 * editfns.c (save_excursion_restore, transpose_markers):
4345 * window.c (delete_window):
4346 * xdisp.c (message_dolog): Update for new types.
4347
4348 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4349
4350 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
4351 (realize_default_face): Use default_face_done_p for the force_p
4352 argument to set_lface_from_font_name. Set default_face_done_p to one.
4353
4354 * frame.c (make_frame): Initialize default_face_done_p.
4355
4356 * frame.h (struct frame): Add default_face_done_p.
4357
4358 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
4359 will be defined.
4360
4361 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
4362
4363 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
4364 Initialize the new field `gcmarkbit'.
4365 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
4366 (mark_interval_tree): Don't mark the tree separately from the nodes.
4367 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
4368 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
4369 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
4370
4371 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
4372 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
4373 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
4374 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
4375 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
4376
4377 2003-06-24 Dave Love <fx@gnu.org>
4378
4379 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
4380
4381 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
4382 from gnulib.
4383
4384 2003-06-21 Richard M. Stallman <rms@gnu.org>
4385
4386 * fileio.c (Fwrite_region): Alternate messages
4387 for append and partial write.
4388
4389 * keyboard.c (read_key_sequence): When converting upcase fn key to
4390 downcase, update fkey and keytran so `backspace' gets translated.
4391
4392 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
4393
4394 * process.c (wait_reading_process_input): Don't signal SIGIO
4395 in batch mode.
4396
4397 2003-06-17 Kenichi Handa <handa@m17n.org>
4398
4399 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
4400 composite.h.
4401
4402 * xselect.c: Don't include charset.h, coding.h, composite.h.
4403 (Qforeign_selection): New variable.
4404 (syms_of_xselect): Intern and static it.
4405 (selection_data_to_lisp_data): Return a unibyte string made from
4406 data with `foreign-selection' text property.
4407
4408 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
4409
4410 * termhooks.h (EVENT_INIT): New macro.
4411
4412 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
4413
4414 * alloc.c (mark_kboards): Move to keyboard.c.
4415
4416 * keyboard.c (record_asynch_buffer_change, read_avail_input):
4417 * xterm.c (x_dispatch_event):
4418 * xmenu.c (find_and_call_menu_selection):
4419 * xdisp.c (handle_tool_bar_click):
4420 * w32menu.c (menubar_selection_callback):
4421 * sysdep.c (kbd_input_ast, read_input_waiting):
4422 * msdos.c (dos_rawgetc):
4423 * macterm.c (mac_check_for_quit_char):
4424 * macmenu.c (menubar_selection_callback):
4425 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
4426 data to kbd_buffer_store_event.
4427
4428 2003-06-15 Kim F. Storm <storm@cua.dk>
4429
4430 * xdisp.c (x_fix_overlapping_area): Always use area relative X
4431 to fix redisplay problem with tall characters (such as \e,AC\e(B).
4432
4433 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
4434
4435 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
4436
4437 2003-06-12 Kenichi Handa <handa@m17n.org>
4438
4439 * fileio.c (Fwrite_region): Save and restore restriction.
4440
4441 2003-06-12 Dave Love <fx@gnu.org>
4442
4443 * alloca.c (alloca): Declare arg as size_t.
4444
4445 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
4446 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
4447
4448 2003-06-11 Dave Love <fx@gnu.org>
4449
4450 * search.c (shrink_regexp_cache): Use xrealloc.
4451 (syms_of_search): Use xmalloc.
4452
4453 2003-06-10 Kim F. Storm <storm@cua.dk>
4454
4455 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
4456 Adjust phys_cursor.x to be relative to window box, rather than
4457 text area before checking -- to ensure cursor is redrawn when
4458 exposing window.
4459 Note: This also fixes a similar (older) bug if display margins
4460 are present.
4461
4462 2003-06-06 Kenichi Handa <handa@m17n.org>
4463
4464 * coding.c (encoding_buffer_size): If coding->type is
4465 coding_type_ccl, double magnification on CRLF encoding.
4466
4467 2003-06-06 Jason Rumney <jasonr@gnu.org>
4468
4469 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
4470 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
4471
4472 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
4473 Mac too.
4474
4475 2003-06-05 Dave Love <fx@gnu.org>
4476
4477 * strftime.c: Merge changes from gnulib.
4478
4479 * mktime.c (__mktime_internal): Merge changes from gnulib
4480 involving year 69 and dst2.
4481
4482 Changes to merge with gnulib version and be consistent with the
4483 autoconf test:
4484
4485 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
4486 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
4487 [HAVE_LOCALE_H]: Include locale.h.
4488 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
4489
4490 2003-06-05 Kim F. Storm <storm@cua.dk>
4491
4492 * window.c (coordinates_in_window): Convert X and Y to window
4493 relative coordinates inside mode-line and header-line parts.
4494 Convert X and Y to margin area relative coordinates inside left
4495 and right display margin parts.
4496
4497 2003-06-05 Jason Rumney <jasonr@gnu.org>
4498
4499 * w32fns.c (add_system_logical_colors_to_map): New function.
4500 (Fx_open_connection): Use it.
4501
4502 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
4503
4504 * process.c (allocate_pty): Revert part of the previous patch.
4505 (Faccept_process_output): Simplify.
4506
4507 2003-06-04 Jason Rumney <jasonr@gnu.org>
4508
4509 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
4510
4511 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
4512 (lispy_mouse_wheel_names): Remove.
4513 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
4514 Always define drag_and_drop_syms.
4515
4516 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
4517 WHEEL_EVENT events.
4518
4519 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
4520
4521 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
4522
4523 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
4524
4525 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4526
4527 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
4528 menu item label.
4529
4530 2003-06-03 Richard M. Stallman <rms@gnu.org>
4531
4532 * window.c (Fwindow_edges): Doc fix.
4533 (Fwindow_pixel_edges, Fwindow_inside_edges)
4534 (Fwindow_inside_pixel_edges): New functions.
4535 (syms_of_window): defsubr them.
4536
4537 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
4538 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
4539
4540 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
4541
4542 * dispnew.c (Fsit_for): Don't lie about the number of args.
4543
4544 2003-06-02 Dave Love <fx@gnu.org>
4545
4546 * callproc.c: Use HAVE_FCNTL_H, not USG5.
4547 (syms_of_callproc) <process-environment>: Doc fix.
4548
4549 * doc.c: Use HAVE_FCNTL_H, not USG5.
4550
4551 * xfaces.c (font_rescale_ratio): Fix for K&R.
4552
4553 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
4554
4555 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
4556
4557 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
4558
4559 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
4560 (xg_create_frame_widgets): Use ENCODE_UTF_8.
4561
4562 * xterm.c (Qutf_8): Move to coding.c
4563
4564 * xmenu.c (ENCODE_MENU_STRING): New.
4565 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
4566 Use it.
4567
4568 * coding.h (ENCODE_UTF_8): New.
4569 (Qutf_8): Declare.
4570
4571 * coding.c (Qutf_8): New.
4572 (syms_of_coding): Intern it.
4573
4574 * fns.c: Doc fixes.
4575
4576 2003-06-02 Kenichi Handa <handa@m17n.org>
4577
4578 * buffer.c (Fset_buffer_multibyte): Fix previous change.
4579
4580 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
4581
4582 * lread.c (openp): Make sure STR is a string.
4583
4584 2003-06-01 David Ponce <david@dponce.com>
4585
4586 * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
4587 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
4588
4589 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
4590 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
4591 (discard_mouse_events): Discard WHEEL_EVENT events too.
4592 (lispy_wheel_names, wheel_syms): New.
4593 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
4594 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
4595 defined.
4596 (make_lispy_event): Add WHEEL_EVENT handler.
4597
4598 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
4599 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
4600 WHEEL_EVENT events.
4601
4602 2003-05-31 John Paul Wallington <jpw@gnu.org>
4603
4604 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
4605 timer are in lisp/emacs-lisp.
4606
4607 2003-05-31 Kenichi Handa <handa@m17n.org>
4608
4609 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
4610 region when a buffer is changed to unibyte.
4611
4612 * charset.h (VALID_LEADING_CODE_P): New macro.
4613 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
4614
4615 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
4616 is nonzero, accept multibyte form of eight-bit-control chars.
4617 (decode_composition_emacs_mule): Likewise.
4618 (decode_coding_emacs_mule): Likewise.
4619 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
4620 multibyte form of eight-bit-control chars.
4621
4622 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
4623 (Finsert_file_contents): If coding-system-for-read is bound to
4624 Qauto_save_coding, use the coding system emacs-mule with special
4625 setting for recovering a file.
4626 (choose_write_coding_system): On auto saving, use the coding
4627 system emacs-mule with special setting for auto saving.
4628 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
4629
4630 2003-05-30 Kenichi Handa <handa@m17n.org>
4631
4632 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
4633 properly before calling ccl_driver.
4634
4635 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
4636
4637 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
4638 nonzero.
4639 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
4640 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
4641
4642 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
4643
4644 * xfaces.c (realize_default_face): Do not abort if lface is
4645 non-existent - reverts change from 2003-05-19.
4646
4647 2003-05-29 Kenichi Handa <handa@m17n.org>
4648
4649 * coding.c (decode_coding_iso2022): Pay attention to the byte
4650 sequence of CTEXT extended segment, and retain those bytes as is.
4651
4652 2003-05-28 Kenichi Handa <handa@m17n.org>
4653
4654 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
4655 of CODING_REPLACEMENT_CHARACTER.
4656 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
4657 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
4658 check this flag on encoding.
4659 (encode_coding_sjis_big5): Check
4660 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
4661 (Fset_terminal_coding_system_internal): Set
4662 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
4663 instead of setting CODING_FLAG_ISO_SAFE flag in
4664 terminal_coding.flags.
4665
4666 * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
4667 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
4668 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
4669
4670 2003-05-28 Richard M. Stallman <rms@gnu.org>
4671
4672 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
4673
4674 * eval.c (unbind_to): Move init of this_binding to separate statement.
4675
4676 2003-05-28 Kim F. Storm <storm@cua.dk>
4677
4678 * xdisp.c (expose_window): Fix error in calculation of
4679 window relative coordinates of area to redisplay.
4680
4681 2003-05-27 Jason Rumney <jasonr@gnu.org>
4682
4683 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
4684
4685 2003-05-27 David Ponce <david@dponce.com>
4686
4687 Handle W32 mouse wheel events as mouse click events, like in X.
4688
4689 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
4690 MOUSE_WHEEL_EVENT anymore.
4691
4692 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
4693 Scrolling down/up the mouse wheel is respectively mapped to mouse
4694 button 4 and 5.
4695 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
4696 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
4697 WM_MOUSEWHEEL events.
4698
4699 2003-05-27 Andreas Schwab <schwab@suse.de>
4700
4701 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
4702
4703 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
4704 partially visible line.
4705
4706 * alloc.c (Fgarbage_collect): Fix last change.
4707
4708 2003-05-26 John Paul Wallington <jpw@gnu.org>
4709
4710 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
4711
4712 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
4713
4714 * window.c (Fset_window_buffer): Add type of `keep_margins'.
4715 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
4716
4717 * window.h (window_box_text_cols): Declare.
4718
4719 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
4720 (x_draw_vertical_border): Remove unused var `f'.
4721
4722 * xfaces.c (build_scalable_font_name): Remove `unused var
4723 pixel_size' warning.
4724
4725 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
4726
4727 * unexelf.c (unexec): Remove `unused var n' warning.
4728
4729 * strftime.c (my_strftime_localtime_r): Remove `defined but
4730 unused' warning.
4731
4732 * process.c (allocate_pty): Remove `unused var stb' and
4733 `cp might be used uninitialized' warnings.
4734
4735 * dispnew.c (mode_line_string): Remove unused var `f'.
4736
4737 * coding.c (find_safe_codings): Remove unused var `i'.
4738
4739 * bytecode.c (Fbyte_code): Remove `unused val' warning.
4740
4741 * buffer.c (Fkill_buffer): Remove unused var `list'.
4742
4743 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
4744
4745 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4746
4747 * frame.c (make_frame): Condition want_fullscreen with
4748 HAVE_WINDOW_SYSTEM.
4749
4750 2003-05-25 Juanma Barranquero <lektu@terra.es>
4751
4752 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
4753 (Fwindow_scroll_bars): Fix typo in docstring.
4754
4755 2003-05-24 Kim F. Storm <storm@cua.dk>
4756
4757 The following changes serve several purposes:
4758
4759 1) Swap the position of fringes and display margins in windows, i.e.
4760 the fringes are now displayed between the margins and the text area
4761 (by default).
4762
4763 2) Allow fringe and scroll bar parameters to be set per-buffer and
4764 per-window (like display margins). Such settings are now stored
4765 in window configurations, preserved when frames are resized, and
4766 copied when windows are split vertically or horizontally.
4767 Several bugs related to display margins have been fixed.
4768
4769 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
4770
4771 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
4772 rather than FRAME_WIDTH (FRAME_FONT (f)).
4773
4774 5) Introduce a consistent naming of variables, members and macros
4775 depending on whether their value is measured in pixels or in
4776 canonical columns/lines. Pixel dimensions are named *_width and
4777 *_height, while canonical columns/lines are named *_cols and
4778 *_lines. Pixel positions are named *_x and *_y, while column/line
4779 positions are named *_col and *_line.
4780
4781 6) Consolidate more of the X, W32, and MAC gui code by moving
4782 common data into struct frame, and generalize it for the non-gui
4783 case by using suitable defaults.
4784
4785 7) Cleanup and consolidate the macros controlling frame and window
4786 layout into frame.h and window.h, and generalize the use of the
4787 various window_box_* functions (enhanced to handle the new fringe
4788 position and the per-window fringe and scroll bar settings).
4789
4790 * frame.h (struct frame): Rename members height to text_lines,
4791 width to text_cols, window_height to total_lines, window_width to
4792 total_cols, new_height to new_text_lines, new_width to
4793 new_text_cols. All uses changed.
4794 (struct frame): New members which consolidate common members of
4795 x_output, w32_output, and mac_output structures: left_pos,
4796 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
4797 win_gravity, size_hint_flags, border_width, internal_border_width,
4798 line_height, fringe_cols, left_fringe_width, right_fringe_width,
4799 want_fullscreen. All uses changed.
4800 (struct frame): New member column_width contaning the canonical
4801 column width, analogue to line_height. All uses changed.
4802 (struct frame): Rename members scroll_bar_pixel_width to
4803 config_scroll_bar_width, and scroll_bar_cols to
4804 config_scroll_bar_cols. All uses changed.
4805 (struct frame): New member scroll_bar_actual_width which
4806 consolidates and renames the vertical_scroll_bar_extra member of
4807 x_output, w32_output, and mac_output structures. All uses changed.
4808 (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
4809 from x/w32/macterm.h files. All uses changed. Also change code
4810 which referred to f->output_data...->pixel_height.
4811 (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
4812 from x/w32/macterm.h files. All uses changed. Also change code
4813 which referred to f->output_data...->pixel_width.
4814 (FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
4815 Also change code which referred to f->height.
4816 (FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
4817 Also change code which referred to f->width.
4818 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
4819 to update new_text_lines and new_text_cols members directly.
4820 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
4821 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
4822 (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
4823 FRAME_SCROLL_BAR_COLS. All uses changed.
4824 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
4825 Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
4826 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
4827 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
4828 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
4829 (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
4830 (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
4831 (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
4832 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
4833 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
4834 (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
4835 return line_height member (it now has proper value also for
4836 non-window frames).
4837 (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
4838 return new column_width member (rather than the default font width).
4839 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
4840 (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
4841 from x/w32/macterm.h files. Unconditionally return corresponding
4842 member of frame structure (they now have proper values also for
4843 non-window frames).
4844 (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
4845 Calculate return value from left and right widths.
4846 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
4847 internal_border_width member (has proper value for non-window frame).
4848 (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
4849 (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
4850 (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
4851 (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
4852 (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
4853 consolidated from xterm.h, macterm.h, and w32term.h.
4854 (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
4855 consolidated from xterm.h, macterm.h, and w32term.h.
4856 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
4857 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
4858 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
4859 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
4860 (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
4861 consolidated from x/mac/w32term.h.
4862 (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
4863 consolidated from x/mac/w32term.h.
4864 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
4865 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
4866 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
4867 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
4868
4869 * window.h (struct window): Rename members left to left_col,
4870 top to top_line, height to total_lines, width to total_cols,
4871 left_margin_width to left_margin_cols, right_margin_width to
4872 right_margin_cols, orig_height to orig_total_lines, orig_top to
4873 orig_top_line. All uses changed.
4874 (struct window): New members left_fringe_width, right_fringe_width,
4875 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
4876 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
4877 New macros primarily used to simplify other macros.
4878 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
4879 referred to XINT (w->width).
4880 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
4881 referred to XINT (w->height).
4882 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
4883 referred to XINT (w->width) * canon_x_unit.
4884 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
4885 referred to XINT (w->height) * canon_y_unit.
4886 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
4887 referred to XINT (w->left).
4888 (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE. Change
4889 all uses and code that referred to XINT (w->left) + XINT (w->width).
4890 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
4891 referred to XINT (w->top).
4892 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
4893 referred to XINT (w->top) + XINT (w->height).
4894 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
4895 referred to XINT (w->left) * canon_x_unit.
4896 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
4897 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
4898 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
4899 referred to XINT (w->top) * canon_y_unit.
4900 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
4901 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
4902 (WINDOW_LEFTMOST_P): New macro.
4903 (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
4904 All uses changed.
4905 (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
4906 All uses changed.
4907 (WINDOW_BOX_LEFT_EDGE_X): Renamed from
4908 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
4909 Do not exclude left fringe width.
4910 (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
4911 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
4912 Do not exclude fringe widths.
4913 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
4914 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
4915 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
4916 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
4917 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
4918 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
4919 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
4920 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
4921 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
4922 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
4923 New macros. Change code which referenced corresponding
4924 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
4925 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
4926 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
4927 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
4928 allow per-window scroll-bar settings.
4929 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
4930 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
4931 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
4932 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
4933 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
4934 FRAME_SCROLL_BAR_WIDTH.
4935 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
4936 (WINDOW_SCROLL_BAR_AREA_X): New macros.
4937 (WINDOW_HEADER_LINE_HEIGHT): Renamed from
4938 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
4939 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
4940 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
4941 (WINDOW_BOX_TEXT_HEIGHT): Renamed from
4942 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
4943 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
4944 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
4945 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
4946 (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
4947 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
4948 (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
4949 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
4950 (window_from_coordinates): Update prototype.
4951 (Fset_window_buffer): Update EXFUN.
4952 (set_window_buffer): Update prototype.
4953
4954 * dispextern.h (struct glyph_matrix): Rename members window_left_x
4955 to window_left_col, window_top_y to window_top_line. All uses
4956 changed.
4957 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
4958 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
4959 internal_border_width is now set to 0 for non-window frames.
4960 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
4961 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
4962 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
4963 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
4964 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
4965 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
4966 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
4967 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
4968 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
4969 Move to window.h and renamed [see window.h changes].
4970 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
4971 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
4972 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
4973 Use WINDOW_TOTAL_LINES.
4974 (frame_update_line_height): Remove prototype.
4975
4976 * buffer.h (struct buffer): Rename members measured in columns:
4977 left_margin_width to left_margin_cols, right_margin_width to
4978 right_margin_cols. All uses changed.
4979 New members left_fringe_width, right_fringe_width,
4980 fringes_outside_margins for per-buffer fringe settings.
4981 New members scroll_bar_width and vertical_scroll_bar_type for
4982 per-buffer scroll bar settings.
4983
4984 * buffer.c (init_buffer_once): Set buffer_defaults and
4985 buffer_local_flags for new buffer-local variables
4986 left_fringe_width, right_fringe_width, fringes_outside_margins,
4987 scroll_bar_width, and vertical_scroll_bar_type.
4988 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
4989 default-* variables for them.
4990
4991 * dispnew.c: Make (many) trivial substitutions for renamed and
4992 new macros in dispextern.h, frame.h and window.h.
4993 (mode_line_string): No need to adjust width for mode lines, as it
4994 is already adjusted by the caller.
4995 (marginal_area_string): Handle fringes inside/outside margins.
4996
4997 * frame.c: Make (many) trivial substitutions for renamed and
4998 new macros in dispextern.h, frame.h and window.h.
4999 (make_frame): Initialize left_fringe_width, right_fringe_width,
5000 fringe_cols, scroll_bar_actual_width, border_width,
5001 internal_border_width, column_width, line_height, x_pixels_diff,
5002 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
5003 members with values suitable for a non-window frames.
5004
5005 * gtkutil.c: Make (many) trivial substitutions for renamed and
5006 new macros in dispextern.h, frame.h and window.h.
5007
5008 * indent.c: Make (few) trivial substitutions for renamed and
5009 new macros in dispextern.h, frame.h and window.h.
5010
5011 * keyboard.c: Make (many) trivial substitutions for renamed and
5012 new macros in dispextern.h, frame.h and window.h.
5013 (make_lispy_event): Use window positions returned from
5014 window_from_coordinates when constructing the lisp event for
5015 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
5016 (incorrect) values locally.
5017 (make_lispy_movement): Use window positions returned from
5018 window_from_coordinates when constructing the lisp event, rather
5019 than calculating (incorrect) values locally.
5020
5021 * scroll.c: Make (some) trivial substitutions for renamed and
5022 new macros in dispextern.h, frame.h and window.h.
5023
5024 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
5025 scroll-bars.
5026
5027 * sysdep.c: Make (few) trivial substitutions for renamed and
5028 new macros in dispextern.h, frame.h and window.h.
5029
5030 * term.c: Make (some) trivial substitutions for renamed and
5031 new macros in dispextern.h, frame.h and window.h.
5032
5033 * widget.c: Make (few) trivial substitutions for renamed and
5034 new macros in dispextern.h, frame.h and window.h.
5035
5036 * window.c: Make (many) trivial substitutions for renamed and
5037 new macros in dispextern.h, frame.h and window.h.
5038 (make_window): Initialize new members
5039 left_margin_cols, right_margin_cols, left_fringe_width,
5040 right_fringe_width, fringes_outside_margins, scroll_bar_width,
5041 and vertical_scroll_bar_type.
5042 (coordinates_in_window): Adapted to new fringe/margin positions
5043 and per-window fringes and scroll-bars.
5044 Fix bug related to incorrectly adjusting coordinates by
5045 frame's internal_border_width (the effect normally negible since
5046 the internal_border_width is typically 0 or 1 pixel, but very
5047 noticeable for an internal_border_width of e.g. 25 pixels).
5048 Upon successful return (other than ON_NOTHING), the coordinates
5049 are now always properly converted to window relative for the
5050 given display element.
5051 (window_from_coordinates): Add new parameters wx and wy to
5052 return the window relative x and y position in the returned
5053 window and part. A null arg means, don't return the position.
5054 All callers changed.
5055 (adjust_window_margins): New function which may reduce the width
5056 of the display margins if a window's text area is too small after
5057 resizing or splitting windows.
5058 (size_window): Fix bug that did not account for display margin
5059 widths when checking the minimum width of a window; use
5060 adjust_window_margins.
5061 (set_window_buffer): Call Fset_window_fringes and
5062 Fset_window_scroll_bars to setup per-window elements.
5063 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
5064 existing display margin, fringe widths, and scroll bar settings
5065 (e.g. after splitting a window or resizing the frame).
5066 All callers changed.
5067 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
5068 (Fsplit_window): Duplicate original window's display margin,
5069 fringe, and scroll-bar settings; then call Fset_window_buffer with
5070 KEEP_MARGINS non-nil. This fixes a bug which caused a split
5071 window to only preserve the display margins in one of the windows.
5072 When splitting horizontally, call adjust_window_margins on both
5073 windows to ensure that the text area of the new windows is non too
5074 narrow. This fixes a bug which could cause Emacs to trap if the
5075 width of the split window was less than the width of the display
5076 margins.
5077 (window_box_text_cols): Renamed from window_internal_width.
5078 All uses changed. Adapt to per-window fringes and scroll bars.
5079 Fix bug that caused vertical separator to be subtracted also on
5080 window frames. Fix another bug that did not reduce the returned
5081 value by the columns used for display margins.
5082 (window_scroll_line_based): Fix bug related to scrolling too much
5083 when display margins are present (implicitly fixed by the fix to
5084 window_box_text_cols).
5085 (scroll_left, scroll_right): Fix bug related to scrolling too far
5086 by default when display margins are present (implicitly fixed by
5087 the fix to window_box_text_cols).
5088 (struct saved_window): Rename members left to left_col, top to
5089 top_line, width to total_cols, height to total_lines, orig_top to
5090 orig_top_line, orig_height to orig_total_lines. All uses changed.
5091 New members left_margin_cols, right_margin_cols,
5092 left_fringe_width, right_fringe_width, fringes_outside_margins,
5093 scroll_bar_width, and vertical_scroll_bar_type for saving
5094 per-window display elements.
5095 (Fset_window_configuration): Restore display margins, fringes,
5096 and scroll bar settings. This fixes a bug which caused display
5097 margins to be discarded when saving and restoring a window
5098 configuration.
5099 (save_window_save): Save display margins, fringes, and scroll bar
5100 settings. This fixes a bug which caused display margins to be
5101 discarded when saving and restoring a window configuration.
5102 (Fset_window_margins): Do nothing if display margins are not
5103 really changed. Otherwise, call adjust_window_margins to ensure
5104 the text area doesn't get too narrow. This fixes a bug which
5105 could cause Emacs to trap if setting display margins wider than
5106 the width of the window.
5107 (Fset_window_fringes): New defun to allow user to specifically set
5108 this window's fringe widths and position vs. display margins.
5109 (Fwindow_fringes): New defun to return window's actual fringe
5110 settings.
5111 (Fset_window_scroll_bars): New defun to allow user to specifically
5112 set this window's scroll bar width and position.
5113 (Fwindow_scroll_bars): New defun to return window's actual scroll
5114 bar settings.
5115 (compare_window_configurations): Also compare display margins,
5116 fringes, and scroll bar settings.
5117 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
5118
5119 * xdisp.c: Make (many) trivial substitutions for renamed and
5120 new macros in dispextern.h, frame.h and window.h.
5121 (window_box_width): Adapt to per-window fringes and scroll bars,
5122 and new fringe vs. display margin position. Note that returned
5123 value is no longer guaranteed to be a whole multiple of the frame
5124 column width, since per-window fringes may now be any width.
5125 (window_box_left_offset): New function like window_box_left, but
5126 value is relative to left border of window (rather than frame).
5127 (window_box_right_offset): New function like window_box_right,
5128 but value is relative to left border of window.
5129 (window_box_left): Adapt to per-window fringes and scroll bars,
5130 and new fringe vs. display margin position. Simplify by using
5131 WINDOW_LEFT_EDGE_X and window_box_left_offset.
5132 (window_box): Allow null args for unnecessary return values;
5133 change/simplify relevant callers.
5134 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
5135 and new fringe vs. display margin position.
5136 Use window_box_left_offset and window_box_right_offset
5137 (get_glyph_string_clip_rect): Adapt to per-window fringes and
5138 scroll bars, and new fringe vs. display margin position.
5139 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
5140 (draw_fringe_bitmap): Rework to handle per-window fringes and new
5141 fringe vs. display margin position.
5142 (hscroll_window_tree): Use window_box_width instead of window_box.
5143 (redisplay_window): Adapt to per-window scroll bars.
5144 (draw_glyphs): Rework to handle per-window fringes and scroll
5145 bars, and new fringe vs. display margin position.
5146 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
5147 (x_clear_end_of_line): Adapt to per-window fringes and scroll
5148 bars, and new fringe vs. display margin position. Fix bug which
5149 increased total width of full_width rows by width of scroll bars
5150 although window's total width already includes that.
5151 (x_fix_overlapping_area): Simplify using window_box_left_offset.
5152 (expose_area): Simplify using window_box_left_offset.
5153 (x_draw_vertical_border): Handle per-window scroll bar settings,
5154 mixing windows with left, right and no scroll bars.
5155
5156 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
5157 where it's used in x_list_fonts (for clarity).
5158 (frame_update_line_height): Remove unused function; functionality
5159 is now done directly when setting the default font in x_set_font.
5160
5161 * xfns.c: Make (many) trivial substitutions for renamed and
5162 new macros in dispextern.h, frame.h and window.h.
5163
5164 * xmenu.c: Make (some) trivial substitutions for renamed and
5165 new macros in dispextern.h, frame.h and window.h.
5166
5167 * xterm.h (struct x_output): Move members left_pos, top_pos,
5168 border_width, pixel_height, pixel_width, line_height,
5169 internal_border_width, vertical_scroll_bar_extra,
5170 left_fringe_width, right_fringe_width, fringe_cols,
5171 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
5172 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
5173 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
5174 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
5175 (PIXEL_WIDTH, PIXEL_HEIGHT)
5176 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
5177 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
5178 frame.h and renamed [see frame.h changes].
5179 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
5180 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
5181 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
5182 and renamed [see frame.h changes].
5183
5184 * xterm.c: Make (several) trivial substitutions for renamed and
5185 new macros in dispextern.h, frame.h and window.h.
5186 (x_draw_glyph_string_box): Adapt to per-window fringes and
5187 scroll-bars.
5188 (scroll_run): Adapt to new fringe position.
5189 (glyph_rect): Use window coordinates returned from
5190 window_from_coordinates rather than frame_to_window_pixel_xy.
5191 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
5192 scroll-bars.
5193 (handle_one_xevent): Simplify a USE_GTK conditional.
5194 (x_clip_to_row): Remove superfluous whole_line_p arg and code
5195 (fringes are now inside margins, i.e. always in the clipping area).
5196 All callers changed.
5197 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
5198 directly, then call compute_fringe_widths. Don't call
5199 frame_update_line_height.
5200
5201 * w32term.h (struct w32_output): Move members left_pos, top_pos,
5202 border_width, pixel_height, pixel_width, line_height,
5203 internal_border_width, vertical_scroll_bar_extra,
5204 left_fringe_width, right_fringe_width, fringe_cols,
5205 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
5206 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
5207 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
5208 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
5209 (PIXEL_WIDTH, PIXEL_HEIGHT)
5210 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
5211 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
5212 frame.h and renamed [see frame.h changes].
5213 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
5214 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
5215 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
5216 and renamed [see frame.h changes].
5217
5218 * w32term.c: Make (several) trivial substitutions for renamed and
5219 new macros in dispextern.h, frame.h and window.h.
5220 (x_draw_glyph_string_box): Adapt to per-window fringes and
5221 scroll-bars.
5222 (glyph_rect): Use window coordinates returned from
5223 window_from_coordinates rather than frame_to_window_pixel_xy.
5224 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
5225 scroll-bars.
5226 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
5227 (fringes are now inside margins, i.e. always in the clipping area).
5228 All callers changed.
5229 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
5230 directly, then call compute_fringe_widths. Don't call
5231 frame_update_line_height.
5232
5233 * w32console.c: Make (few) trivial substitutions for renamed and
5234 new macros in dispextern.h, frame.h and window.h.
5235
5236 * w32fns.c: Make (many) trivial substitutions for renamed and
5237 new macros in dispextern.h, frame.h and window.h.
5238
5239 * w32menu.c: Make (few) trivial substitutions for renamed and
5240 new macros in dispextern.h, frame.h and window.h.
5241
5242 * macterm.h (struct mac_output): Move members left_pos, top_pos,
5243 border_width, pixel_height, pixel_width, line_height,
5244 internal_border_width, vertical_scroll_bar_extra,
5245 left_fringe_width, right_fringe_width, fringe_cols,
5246 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
5247 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
5248 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
5249 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
5250 (PIXEL_WIDTH, PIXEL_HEIGHT)
5251 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
5252 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
5253 frame.h and renamed [see frame.h changes].
5254 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
5255 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
5256 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
5257 and renamed [see frame.h changes].
5258
5259 * macterm.c: Make (several) trivial substitutions for renamed and
5260 new macros in dispextern.h, frame.h and window.h.
5261 (x_draw_glyph_string_box): Adapt to per-window fringes and
5262 scroll-bars.
5263 (glyph_rect): Use window coordinates returned from
5264 window_from_coordinates rather than frame_to_window_pixel_xy.
5265 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
5266 scroll-bars.
5267 (x_clip_to_row): Remove superfluous whole_line_p arg and code
5268 (fringes are now inside margins, i.e. always in the clipping area).
5269 All callers changed.
5270 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
5271 directly, then call compute_fringe_widths. Don't call
5272 frame_update_line_height.
5273
5274 * macfns.c: Make (several) trivial substitutions for renamed and
5275 new macros in dispextern.h, frame.h and window.h.
5276 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
5277
5278 * macmenu.c: Make (few) trivial substitutions for renamed and
5279 new macros in dispextern.h, frame.h and window.h.
5280
5281 * msdos.h (struct x_output): Remove members left_pos, top_pos,
5282 and line_height, and use corresponding new members in struct
5283 frame. All uses changed.
5284 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
5285 superseeded by corresponding macros in frame.h.
5286
5287 * msdos.c: Make (several) trivial substitutions for renamed and
5288 new macros in dispextern.h, frame.h and window.h.
5289 (IT_note_mouse_highlight): Use updated window coordinates returned
5290 by window_from_coordinates, rather than adjusting them locally.
5291 (internal_terminal_init): No need to initialize line_height here;
5292 it now defaults to 1.
5293
5294 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
5295
5296 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
5297 dropping `down' events.
5298
5299 2003-05-24 Andreas Schwab <schwab@suse.de>
5300
5301 * coding.c (find_safe_codings): Fix last change.
5302
5303 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
5304
5305 * xfns.c (x_window): Fix typo from 2003-05-21 change.
5306
5307 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
5308
5309 * xdisp.c (display_mode_element): Increase max depth.
5310 Simplify the error handling code. Use a different error string
5311 for the case where we hit the depth limit.
5312
5313 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
5314
5315 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
5316
5317 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
5318
5319 * intervals.c (get_local_map): Don't get char-property of previous
5320 point any more: get_pos_property already does it and better.
5321
5322 2003-05-21 Dave Love <fx@gnu.org>
5323
5324 [Merged from unicode branch.]
5325
5326 * xfns.c (x_window, x_window): Use use_xim.
5327
5328 * xterm.c (use_xim): Initialize.
5329 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
5330 (x_term_init): Maybe set use_xim.
5331
5332 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
5333
5334 2003-05-21 Jason Rumney <jasonr@gnu.org>
5335
5336 * unexw32.c (_start): Remove _fmode initialization.
5337
5338 * emacs.c (main) [WINDOWSNT]: Move it here.
5339
5340 2003-05-20 Dave Love <fx@gnu.org>
5341
5342 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
5343
5344 2003-05-19 Richard M. Stallman <rms@gnu.org>
5345
5346 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
5347 as value for QCfont attribute.
5348 (realize_default_face): lface should already exist; crash if not.
5349 Specify 0 for FORCE_P when calling set_lface_from_font_name.
5350
5351 * frame.c (Fignore_event): Doc fix.
5352
5353 2003-05-19 Kenichi Handa <handa@m17n.org>
5354
5355 * coding.c (decode_coding_string): Handle post-read-conversion
5356 even if the coding doesn't require decoding.
5357
5358 2003-05-18 Richard M. Stallman <rms@gnu.org>
5359
5360 * callproc.c (Fcall_process_region): Doc fix.
5361
5362 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
5363
5364 * lread.c (Fload): Print a message if package is obsolete.
5365
5366 * window.c (Fselect_window): Add optional `norecord' arg.
5367 (select_window_1): Fold into Fselect_window.
5368 (select_window_norecord): New function.
5369 (temp_output_buffer_show): Use it. Preserve current buffer.
5370
5371 * window.h (Fselect_window): Update declaration.
5372
5373 * window.c (delete_window, Fother_window, Fset_window_configuration):
5374 * minibuf.c (read_minibuf):
5375 * macterm.c (x_new_focus_frame):
5376 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
5377 * callint.c (Fcall_interactively):
5378 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
5379
5380 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
5381
5382 2003-05-17 David Kastrup <dak@gnu.org>
5383
5384 * process.c (read_process_output): Back out change from 2003-03-09.
5385
5386 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
5387
5388 * editfns.c (get_pos_property): Don't assume that `object' = nil.
5389
5390 * textprop.c (text_property_stickiness): New arg `buffer'.
5391
5392 * intervals.h (text_property_stickiness): New arg `buffer'.
5393 (get_pos_property): Declare.
5394
5395 * intervals.c (get_local_map): Use get_pos_property, to obey
5396 stickiness and empty overlays.
5397 (create_root_interval, graft_intervals_into_buffer): Use BEG.
5398 (merge_properties, intervals_equal, merge_properties_sticky):
5399 Use XCAR, XCDR.
5400 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
5401
5402 2003-05-17 Richard M. Stallman <rms@gnu.org>
5403
5404 * minibuf.c (read_minibuf): If buffer is empty, record the default
5405 in the history.
5406 (Fminibuffer_complete_word): When deleting the overlap, take account
5407 of its real position.
5408
5409 * fns.c (map_char_table): Fix previous change.
5410
5411 * syntax.c (find_defun_start):
5412 When open_paren_in_column_0_is_defun_start,
5413 return beginning of buffer.
5414
5415 * lisp.h (map_char_table): Declare added arg.
5416
5417 * fns.c (map_char_table): New arg TABLE gets the master table.
5418 All calls changed.
5419 Process default and inheritance, resorting to Faref if necessary.
5420
5421 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
5422 (Faccessible_keymaps): Pass new arg to map_char_table.
5423
5424 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
5425
5426 * casetab.c (set_case_table): Pass new arg to map_char_table.
5427
5428 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
5429
5430 * lisp.h (specbinding_func): New typedef.
5431 (struct specbinding): Use specbinding_func, to put the `volatile'
5432 in the right place.
5433
5434 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
5435 to avoid GCC warning.
5436
5437 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org> (tiny change)
5438
5439 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
5440
5441 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
5442
5443 * keyboard.c (apply_modifiers): Don't fill the other cache.
5444
5445 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
5446
5447 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
5448
5449 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
5450 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
5451 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
5452 (Fset_window_configuration, Fcurrent_window_configuration)
5453 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
5454 (Fpos_visible_in_window_p, mark_window_cursors_off)
5455 (window_internal_height, window_internal_width, Frecenter)
5456 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
5457 (replace_buffer_in_all_windows, init_window_once, init_window)
5458 (syms_of_window, keys_of_window): Move from lisp.h.
5459 * lisp.h: Move window.c declarations to window.h.
5460
5461 * bytecode.c: Include window.h.
5462 * emacs.c: Include window.h.
5463
5464 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
5465 (keyremap): Add `parent' field.
5466 (keyremap_step): Use it. Remove `parent' argument.
5467 (read_key_sequence): Setup and use the new `parent' field.
5468
5469 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
5470
5471 * keyboard.c (adjust_point_for_property): Ensure termination.
5472
5473 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
5474
5475 * keyboard.c (follow_key): Remove dead variable `did_meta'.
5476 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
5477 duplicated handling of function-key-map and key-translation-map
5478 in read_key_sequence.
5479 (read_key_sequence): Use them.
5480
5481 * keyboard.c (adjust_point_for_property): Try harder to move point
5482 to the non-sticky end of an invisible property.
5483
5484 * xdisp.c (single_display_prop_intangible_p): Make `space' display
5485 property intangible as well.
5486
5487 2003-05-10 Andreas Schwab <schwab@suse.de>
5488
5489 * xmenu.c (single_menu_item): Change last parameter to void* to
5490 avoid warning.
5491
5492 2003-05-09 Richard M. Stallman <rms@gnu.org>
5493
5494 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
5495 Bind Qinhibit_modification_hooks to t so there will be no GC.
5496 Rename local `tem' to `save_deactivate_mark'.
5497
5498 * eval.c (specpdl_ptr): Declare volatile.
5499 (unbind_to): Copy the whole binding and decrement specpdl_ptr
5500 before doing the work of unbinding it.
5501
5502 * lisp.h (struct specbinding): Declare elements volatile.
5503 (specpdl_ptr): Declare volatile.
5504
5505 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
5506
5507 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
5508 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
5509
5510 2003-05-08 Dave Love <fx@gnu.org>
5511
5512 * coding.c (Vlast_coding_system_used): Doc fix.
5513
5514 2003-05-07 Jason Rumney <jasonr@gnu.org>
5515
5516 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
5517 when system does not support them.
5518
5519 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
5520
5521 * fileio.c (Qwrite_region_annotate_functions): New var.
5522 (build_annotations): Use it to process the global part of the hook.
5523 (syms_of_fileio): Init and staticpro it.
5524
5525 * keyboard.c (safe_run_hooks_error): Display a message instead of
5526 silently ignoring the error.
5527
5528 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
5529
5530 * keyboard.c (input_available_signal): Mark static.
5531 (menu_bar_items): Use map_keymap.
5532 (menu_bar_one_keymap): Remove.
5533 (menu_bar_item): Adjust arglist (for use in map_keymap).
5534 Properly hide a second binding when not both are keymaps.
5535
5536 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
5537 (single_keymap_panes): Use it and map_keymap.
5538 (single_menu_item): Use skp as well.
5539
5540 * keymap.h (map_keymap_function_t): New type.
5541 (map_keymap): Declare.
5542
5543 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
5544 (map_keymap_call, Fmap_keymap): New functions.
5545 (syms_of_keymap): Defsubr map-keymap.
5546
5547 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5548
5549 * gtkutil.c (create_dialog, make_widget_for_menu_item)
5550 (make_menu_item, create_menus, xg_update_menu_item): Don't call
5551 ..._with_mnemonic functions for menu items.
5552
5553 2003-05-01 Kenichi Handa <handa@m17n.org>
5554
5555 * coding.c (coding_system_accept_latin_extra_p): Delete this
5556 function.
5557 (find_safe_codings): Pay attention to
5558 the property tranlsation-table-for-encode of each codings.
5559 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
5560
5561 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
5562
5563 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
5564
5565 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
5566
5567 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
5568
5569 * lisp.h (CHECK): Wrap args in parenthesis.
5570 (specbind): Fix doc: symbol = Qnil is not supported any more.
5571
5572 * bytecode.c (Fbyte_code) <unwind-protect>:
5573 Use Fprogn rather than 0 and Qnil.
5574
5575 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
5576 `double', and `triple' modifiers as well.
5577
5578 2003-04-30 Richard M. Stallman <rms@gnu.org>
5579
5580 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
5581
5582 * alloc.c (abort_on_gc): New variable.
5583 (Fgarbage_collect): Abort if abort_on_gc is set.
5584
5585 * lisp.h (abort_on_gc): Add decl.
5586
5587 * eval.c (Fsignal): Clear abort_on_gc.
5588
5589 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
5590 Reinit FORMAT_START and END before second scan.
5591
5592 * xdisp.c (move_it_vertically_backward): Do the final big else
5593 even if nlines is 0.
5594
5595 * xdisp.c (redisplay_internal): Finish the per-frame loop
5596 even if redisplay is suspended by input.
5597
5598 2003-04-24 Andrew Choi <akochoi@shaw.ca>
5599
5600 * macterm.c (x_list_fonts): Return all fonts that match if
5601 maxnames = -1.
5602
5603 2003-04-25 Kenichi Handa <handa@m17n.org>
5604
5605 * syntax.c (skip_chars): Fix previous change.
5606
5607 2003-04-24 Kenichi Handa <handa@m17n.org>
5608
5609 * syntax.c (skip_chars): Make the code faster by using the common
5610 technique of *p, *stop, and *endp.
5611
5612 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5613
5614 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
5615 tool_bar_items so GTK tool bar expose callback does not access items
5616 being updated.
5617
5618 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
5619
5620 * eval.c (Fapply): Undo last change and add a comment about why.
5621
5622 2003-04-18 Miles Bader <miles@gnu.org>
5623
5624 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
5625 pickier PARSE_MULTIBYTE_SEQ.
5626
5627 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
5628
5629 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
5630 Use XCDR, XCAR, CONSP.
5631 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
5632 (Fapply): Remove unnecessary GCPRO.
5633
5634 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
5635
5636 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
5637
5638 * buffer.h: Don't hardcode BEG==1.
5639
5640 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
5641
5642 2003-04-16 Richard M. Stallman <rms@gnu.org>
5643
5644 * xdisp.c (try_window, try_window_reusing_current_matrix):
5645 When at end of window, set window_end_pos to Z-ZV.
5646
5647 * buffer.c (Foverlay_recenter): Doc fix.
5648
5649 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
5650
5651 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
5652
5653 2003-04-14 Andrew Choi <akochoi@shaw.ca>
5654
5655 * macterm.c (mac_check_for_quit_char): Don't check more often than
5656 once a second.
5657
5658 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
5659
5660 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
5661 specially, so that they can't hide an implicit switch-frame event.
5662 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
5663 (head_table): Use switch-frame as event_kind for select-window.
5664 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
5665
5666 * editfns.c (Fformat): Lisp_Object/int mixup.
5667 (format2): Remove unused var numargs.
5668
5669 2003-04-11 Kenichi Handa <handa@m17n.org>
5670
5671 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
5672 (Qafter_insert_file_set_coding): New variable.
5673 (syms_of_fileio): Initialize and staticpro it. Delete declaration
5674 for after-insert-file-adjust-coding-function.
5675 (Finsert_file_contents): Call Qafter_insert_file_set_coding
5676 instead of Vafter_insert_file_adjust_coding_function.
5677
5678 2003-04-11 Kenichi Handa <handa@m17n.org>
5679
5680 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
5681
5682 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
5683 string. Callers changed.
5684
5685 2003-04-10 Kenichi Handa <handa@m17n.org>
5686
5687 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
5688 (syms_of_fileio): Declare it as a lisp variable.
5689 (Finsert_file_contents):
5690 Call Vafter_insert_file_adjust_coding_function before calling
5691 decode-format.
5692
5693 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5694
5695 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
5696 get GtkAdjustment as widget now is a GtkRange.
5697
5698 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
5699 GtkRange to avoid memory leak.
5700
5701 2003-04-09 Kenichi Handa <handa@m17n.org>
5702
5703 * xfaces.c (Vface_font_rescale_alist): New variable.
5704 (struct font_name): New member rescale_ratio.
5705 (font_rescale_ratio): New function.
5706 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
5707 (better_font_p): On comparing point sized, pay attention to
5708 recale_ratio member of fonts.
5709 (build_scalable_font_name): Reflect font->rescale_ratio in the
5710 font name.
5711 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
5712
5713 * lread.c (read1): Before calling index, check if the 2nd
5714 arguemnt is in ASCII range.
5715
5716 2003-04-08 Richard M. Stallman <rms@gnu.org>
5717
5718 * fileio.c (Ffile_symlink_p): Doc fix.
5719
5720 * editfns.c (Fformat): Translate positions of text properties
5721 in the format string to apply them to the result.
5722
5723 * fileio.c (Finsert_file_contents): Doc fix.
5724 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
5725
5726 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
5727
5728 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
5729
5730 2003-04-08 Steven Tamm <steventamm@mac.com>
5731
5732 * mac.c (init_mac_osx_environment): Switch libexec and bin so
5733 that self-contained application finds libexec files.
5734
5735 2003-04-08 Kenichi Handa <handa@m17n.org>
5736
5737 * coding.c (code_convert_region_unwind):
5738 Set Vlast_coding_system_used to the argument.
5739 (code_convert_region): If post-read-conversion function changed
5740 the value of last-coding-sytem, keep the new value in
5741 coding->symbol so that it won't be overridden.
5742 (run_pre_post_conversion_on_str): Likewise.
5743 (coding_system_accept_latin_extra_p): New function.
5744 (find_safe_codings): Pay attention to characters registered in
5745 latin-extra-code-table.
5746
5747 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
5748
5749 * Makefile.in (md5.o): Add missing dependency info.
5750
5751 2003-04-06 Richard M. Stallman <rms@gnu.org>
5752
5753 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
5754
5755 * marker.c (verify_bytepos): New function.
5756
5757 * intervals.c (set_intervals_multibyte_1): When becoming
5758 multibyte, adjust right and left child sizes to a whole set of
5759 characters. If an interval gets zero total-length, delete it.
5760 If an interval consists of just its children, delete one of them.
5761
5762 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
5763 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
5764
5765 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
5766 All calls deleted.
5767 (lisp_malloc): Do the work here directly.
5768
5769 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
5770
5771 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
5772 char tables.
5773
5774 2003-04-04 Kenichi Handa <handa@m17n.org>
5775
5776 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
5777 destructively change "%S" to "%s".
5778
5779 2003-04-03 Miles Bader <miles@gnu.org>
5780
5781 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
5782 always set.
5783
5784 2003-04-01 Dave Love <fx@gnu.org>
5785
5786 * xfns.c (xpm_lookup_color): Grok "opaque".
5787
5788 2003-03-31 Andrew Choi <akochoi@shaw.ca>
5789
5790 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
5791 parent window ID.
5792
5793 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
5794
5795 * macterm.h (struct mac_output): Define x_pixels_diff and
5796 y_pixels_diff.
5797
5798 2003-03-31 Juanma Barranquero <lektu@terra.es>
5799
5800 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
5801 blockinput.h and files included from it.
5802
5803 2003-03-31 Kim F. Storm <storm@cua.dk>
5804
5805 The following changes consolidates the common code related to
5806 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
5807 files into frame.c.
5808
5809 * frame.c: Include blockinput.h.
5810 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
5811 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
5812 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
5813 related vars here.
5814 (struct frame_parm_table, frame_parms): New table for describing
5815 frame parameters and their associated Q-variable.
5816 The order of the parameters corresponds to the sequence of the
5817 frame_parm_handlers table in redisplay_interface.
5818 (x_fullscreen_move, x_set_frame_parameters)
5819 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
5820 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
5821 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5822 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
5823 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
5824 Generic functions for processing of frame parameters.
5825 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
5826 (display_x_get_resource, x_get_resource_string): Functions for
5827 generic access to X resources.
5828 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
5829 (x_default_parameter, Fx_parse_geometry): Functions for generic
5830 access to frame parameters.
5831 (x_figure_window_size): Generic calculation of frame size.
5832 Fixed to add space needed for tool bar. Also setup size_hint_flags.
5833 (syms_of_frame): Intern and staticpro frame parameter variables.
5834 Defvar_lisp Vx_resource_class and Vx_resource_name here.
5835 Defsubr Sx_get_resource and Sx_parse_geometry.
5836
5837 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
5838 parameter related vars defined in frame.c.
5839 (EMACS_CLASS): Define here.
5840 (enum FULLSCREEN_*): Define here.
5841 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
5842 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
5843 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
5844 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
5845 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
5846 (x_set_visibility, x_set_autoraise, x_set_autolower)
5847 (x_set_unsplittable, x_set_vertical_scroll_bars)
5848 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
5849 (x_figure_window_size): Add prototypes.
5850
5851 * dispextern.h (frame_parm_handler): New typedef.
5852 (struct redisplay_interface): New member frame_parm_handlers.
5853 (enum resource_types): Move declaration here.
5854 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
5855 (x_default_parameter): Add prototypes.
5856
5857 * window.c: Remove extern decl for frame parameter vars.
5858 (change_window_heights): New generic function;
5859 replaces x_change_window_heights. All users changed.
5860
5861 * window.h (change_window_heights): Add prototype.
5862
5863 * xfaces.c: Remove extern decl for frame parameter vars.
5864
5865 * xterm.h (EMACS_CLASS): Remove. Use generic define.
5866 (struct w32_display_info): Fix type of xrdb member.
5867 (enum FULLSCREEN_*): Remove.
5868 Remove prototypes for generic functions (in frame.h).
5869
5870 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
5871 parameters now defined in frame.h and frame.c.
5872 (Vx_resource_name): Remove. Use generic var.
5873 (enum x_frame_parms): Remove (bogus, unused enum).
5874 (check_x_display_info): Make non-static (for frame.c).
5875 (struct x_frame_parm_table, x_frame_parms): Remove.
5876 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
5877 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
5878 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5879 (x_change_window_heights, x_set_autoraise, x_set_autolower)
5880 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
5881 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
5882 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
5883 Remove. Use generic functions instead.
5884 (enum resource_types): Remove.
5885 (x_set_scroll_bar_default_width): New global function (for frame.c).
5886 (Fx_create_frame): Depend on x_figure_window_size to add space for
5887 toolbar and setup size_hint_flags.
5888 (x_frame_parm_handlers): New table for redisplay_interface.
5889 (syms_of_xfns): Don't intern/staticpro removed vars.
5890
5891 * xterm.c: Remove unnecessary extern declarations.
5892 (x_fullscreen_adjust): Remove. Use generic instead.
5893 (x_redisplay_interface): Add x_frame_parm_handlers member.
5894
5895 * w32gui.h (XrmDatabase): New (dummy) typedef.
5896
5897 * w32term.h (EMACS_CLASS): Remove. Use generic define.
5898 (struct w32_display_info): Fix type of xrdb member.
5899 (enum FULLSCREEN_*): Remove.
5900 (x_fullscreen_adjust): Remove prototype.
5901
5902 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
5903 parameters now defined in frame.h and frame.c.
5904 (Vx_resource_name): Remove. Use generic var.
5905 (enum x_frame_parms): Remove (bogus, unused enum).
5906 (check_x_display_info): Make non-static (for frame.c).
5907 (struct x_frame_parm_table, x_frame_parms): Remove.
5908 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
5909 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
5910 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5911 (x_change_window_heights, x_set_autoraise, x_set_autolower)
5912 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
5913 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
5914 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
5915 Remove. Use generic functions instead.
5916 (enum resource_types): Remove.
5917 (x_set_scroll_bar_default_width): New global function (for frame.c).
5918 (Fx_create_frame): Depend on x_figure_window_size to add space for
5919 toolbar and setup size_hint_flags.
5920 (w32_frame_parm_handlers): New table for redisplay_interface.
5921 (syms_of_w32fns): Don't intern/staticpro removed vars.
5922
5923 * w32term.c: Remove unnecessary extern declarations.
5924 (x_fullscreen_adjust): Remove. Use generic instead.
5925 (x_redisplay_interface): Add w32_frame_parm_handlers member.
5926
5927 * w32reg.c (x_get_string_resource): Use XrmDatabase.
5928
5929 * macgui.h (XrmDatabase): New (dummy) typedef.
5930
5931 * macterm.h (EMACS_CLASS): Remove.
5932 (struct mac_display_info): Add xrdb member.
5933 (struct mac_output): Add want_fullscreen member.
5934
5935 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
5936 parameters now defined in frame.h and frame.c.
5937 (Vx_resource_name): Remove. Use generic var.
5938 (check_x_display_info): Make non-static (for frame.c).
5939 (struct x_frame_parm_table, x_frame_parms): Remove.
5940 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
5941 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
5942 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5943 (x_change_window_heights, x_set_autoraise, x_set_autolower)
5944 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
5945 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
5946 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
5947 Remove. Use generic functions instead.
5948 (enum resource_types): Remove.
5949 (x_set_scroll_bar_default_width): New global function (for frame.c).
5950 (mac_frame_parm_handlers): New table for redisplay_interface.
5951 (syms_of_macfns): Don't intern/staticpro removed vars.
5952
5953 * macterm.c: Remove unnecessary extern declarations.
5954 (x_redisplay_interface): Add mac_frame_parm_handlers member.
5955
5956 * Makefile.in (frame.o): Add dependency on blockinput.h and files
5957 included from it (atimer.h and systime.h).
5958
5959 2003-03-30 Andreas Schwab <schwab@suse.de>
5960
5961 * xdisp.c (x_insert_glyphs): Fix swapped width and height
5962 parameters for shift_glyphs_for_insert.
5963
5964 * macterm.c (x_redisplay_interface): Add missing entry for
5965 draw_vertical_window_border.
5966
5967 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
5968
5969 * fileio.c (Fexpand_file_name): In the no-handler case, after
5970 expanding, look again for a handler and invoke it. This is needed
5971 for filenames like "/foo/../user@host:/bar/../baz" -- the first
5972 expansion produces "/user@host:/bar/../baz" which needs to be
5973 expanded again for the finame result "/user@host:/baz".
5974
5975 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5976
5977 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
5978 of area to be redrawn for better performance.
5979
5980 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
5981
5982 * xterm.c (take_vertical_position_into_account): Remove.
5983 (xt_action_hook): Call set_vertical_scroll_bar if needed.
5984 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
5985 (xm_scroll_callback, x_create_toolkit_scroll_bar)
5986 (x_set_toolkit_scroll_bar_thumb): Simplify.
5987 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
5988 (XTread_socket): Remove unused var.
5989 (x_make_frame_invisible): Replace goto with else.
5990
5991 * xdisp.c (set_vertical_scroll_bar): New fun.
5992 (redisplay_window): Use it.
5993
5994 2003-03-26 Richard M. Stallman <rms@gnu.org>
5995
5996 * xdisp.c (update_tool_bar): Recompute tool bar if
5997 update_mode_lines is set. Set w->update_mode_line
5998 only if the tool bar contents actually change.
5999 (update_menu_bar): Undo previous change.
6000
6001 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6002
6003 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
6004 (xg_frame_set_char_size): Calculate scroll bar width before frame
6005 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
6006 (xg_separator_p): Check for all documented separator types.
6007 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
6008 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
6009
6010 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
6011 so tool bar gets updated.
6012
6013 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
6014
6015 * data.c (store_symval_forwarding): Re-instate part of the code
6016 that was deleted with too much enthusiasm.
6017
6018 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
6019
6020 * data.c (store_symval_forwarding): Delete special read-only
6021 hack for type == -1, since we now use ->constant instead.
6022 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
6023
6024 * buffer.c (overlays_in): Declare static.
6025 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
6026 `constant' field rather than the variable's `type' field.
6027
6028 2003-03-24 Andrew Choi <akochoi@shaw.ca>
6029
6030 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
6031
6032 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
6033
6034 * fns.c [MAC_OSX]: Do not redefine vector.
6035
6036 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
6037
6038 * macgui.h: Remove definition of No_Cursor.
6039
6040 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
6041
6042 * xdisp.c: Define No_Cursor.
6043 (x_write_glyphs, notice_overwritten_cursor)
6044 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
6045 (note_mouse_highlight): Remove Mac-specific code.
6046 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
6047
6048 2003-03-24 John Paul Wallington <jpw@gnu.org>
6049
6050 * xdisp.c (redisplay_window): If mini window's buffer is not
6051 empty, then redisplay it like other windows.
6052
6053 2003-03-23 Kim F. Storm <storm@cua.dk>
6054
6055 * w32term.c (w32_draw_window_cursor): Fix last change.
6056
6057 2003-03-23 Kenichi Handa <handa@m17n.org>
6058
6059 * alloc.c (make_string_from_bytes, make_specified_string):
6060 Add `const' for the arg CONTENTS.
6061
6062 * lisp.h (make_string_from_bytes, make_specified_string):
6063 Prototypes adjusted.
6064
6065 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6066
6067 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
6068
6069 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
6070 (XG_SB_RANGE): New define.
6071
6072 * gtkutil.c (xg_fixed_handle_expose): New function.
6073 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
6074 expose events.
6075 (xg_update_scrollbar_pos): Take two more arguments, left and width
6076 of scroll bar including borders.
6077 Clear left and right part outside scroll bar separately as some
6078 themes have bars that are not an even number of pixels.
6079 Don't set reallocate_redraws, don't call
6080 gdk_window_process_all_updates.
6081 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
6082 so no need to change it. Calculate size and value with XG_SB_RANGE.
6083
6084 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
6085 Pass left and width of scroll bar including borders to
6086 xg_update_scrollbar_pos.
6087
6088 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
6089
6090 * Makefile.in: Make sure space precedes end-of-line backslashes.
6091
6092 2003-03-22 Kim F. Storm <storm@cua.dk>
6093
6094 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
6095 Add generic versions here. Remove system specific versions
6096 defined elsewhere.
6097
6098 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
6099 Add prototypes.
6100
6101 * xterm.h (STORE_NATIVE_RECT): New macro.
6102
6103 2003-03-21 Kim F. Storm <storm@cua.dk>
6104
6105 * xdisp.c (get_glyph_string_clip_rect):
6106 Use FRAME_INTERNAL_BORDER_WIDTH.
6107
6108 * dispextern.h (struct redisplay_interface): Add active_p
6109 argument to draw_window_cursor member. All uses changed.
6110
6111 2003-03-21 Kim F. Storm <storm@cua.dk>
6112
6113 The following changes consolidate code related to writing and
6114 inserting glyphs, exposing frame, the tool bar, the mouse face,
6115 the output cursor, and help echo from xterm.c, w32term.c and
6116 macterm.c into xdisp.c. It also generalizes the use of the
6117 window_part enum instead of using numeric values throughout.
6118
6119 * xdisp.c: Consolidate gui-independent code here.
6120 Include keymap.h.
6121 (Qhelp_echo): Import.
6122 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
6123 (help_echo_string, help_echo_window, help_echo_object)
6124 (previous_help_echo_string, help_echo_pos): Declare here.
6125 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
6126 (estimate_mode_line_height): Define here. Handle windowing
6127 systems directly (without using estimate_mode_line_height_hook).
6128 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
6129 (update_window_cursor, update_cursor_in_window_tree)
6130 (fast_find_position, fast_find_string_pos)
6131 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
6132 (expose_area, expose_line, expose_overlaps, expose_window)
6133 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
6134 declared static as they are only used locally in xdisp.c.
6135 (draw_glyphs): Rename from x_draw_glyphs and make static.
6136 (tool_bar_item_info, notice_overwritten_cursor): Make static.
6137 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
6138 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
6139 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
6140 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
6141 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
6142 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
6143 (note_mouse_highlight, x_clear_window_mouse_face)
6144 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
6145 (x_intersect_rectangles): New generic functions for use by xdisp.c
6146 and GUI front-ends.
6147 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
6148 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
6149
6150 * dispextern.h (Display_Info): Generic typedef for *_display_info.
6151 (NativeRectangle): Generic typedef for rectangle type.
6152 (enum window_part): Move here from window.c.
6153 (struct redisplay_interface): New members flush_display_optional,
6154 define_frame_cursor, clear_frame_area, draw_window_cursor,
6155 draw_vertical_window_border, shift_glyphs_for_insert.
6156 Rename member clear_mouse_face to clear_window_mouse_face.
6157 (estimate_mode_line_height_hook): Remove hook.
6158 (auto_raise_tool_bar_buttons_p): Don't declare extern.
6159 (tool_bar_item_info): Remove prototype.
6160 (help_echo_string, help_echo_window, help_echo_object)
6161 (previous_help_echo_string, help_echo_pos)
6162 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
6163 (x_stretch_cursor_p, output_cursor): Declare extern.
6164 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
6165 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
6166 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
6167 (display_and_set_cursor, set_output_cursor, x_cursor_to)
6168 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
6169 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
6170 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
6171 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
6172 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
6173 Add prototypes.
6174 (mode_line_string, marginal_area_string): Fix prototypes.
6175
6176 * window.c (enum window_part): Move to dispextern.h.
6177 (coordinates_in_window): Use enum window_part member names
6178 instead of numbers to describe return value.
6179 (struct check_window_data): Change part member to window_part.
6180 (check_window_containing): Return window_part unaltered.
6181 (window_from_coordinates): Change part arg from int to enum
6182 window_part. Allow part arg to be null. All users changed.
6183
6184 * window.h (window_from_coordinates): Fix prototype.
6185
6186 * term.c (estimate_mode_line_height): Move to xdisp.c.
6187
6188 * keyboard.c (make_lispy_event): Use enum window_part.
6189
6190 * dispnew.c (mode_line_string, marginal_area_string): Use enum
6191 window_part instead of int in arg list. Users changed.
6192
6193 * xterm.h (No_Cursor): Declare as None for X.
6194 (struct mac_output): Replace member cross_cursor by hand_cursor.
6195
6196 * xterm.c: Remove consolidated defines and code.
6197 (BETWEEN): Remove unused macro.
6198 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
6199 (x_define_frame_cursor, x_clear_frame_area)
6200 (x_draw_window_cursor): New X-specific functions for RIF.
6201 (x_redisplay_interface): Add new members.
6202
6203 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
6204
6205 * w32term.h (struct w32_output): Remove cross_cursor member.
6206
6207 * w32term.c: Remove consolidated defines and code.
6208 (BETWEEN): Remove unused macro.
6209 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
6210 (w32_define_frame_cursor, w32_clear_frame_area)
6211 (w32_draw_window_cursor): New W32-specific functions for RIF.
6212 (w32_redisplay_interface): Add new members.
6213
6214 * w32gui.h (No_Cursor): Define as 0 for W32.
6215 (XRectangle): Add X compatible rectangle type.
6216 (NativeRectangle): Declare as RECT for W32.
6217 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
6218
6219 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
6220
6221 * w32console.c: Remove consolidated defines and code.
6222
6223 * msdos.h (Display_Info): Add generic typedef.
6224
6225 * msdos.c: Remove consolidated defines and code.
6226 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
6227
6228 * macterm.h (struct mac_output): Replace member cross_cursor by
6229 hand_cursor.
6230 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
6231
6232 * macterm.c: Remove consolidated defines and code.
6233 (BETWEEN): Remove unused macro.
6234 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
6235 (mac_define_frame_cursor, mac_clear_frame_area)
6236 (mac_draw_window_cursor): New Mac-specific functions for RIF.
6237 (x_redisplay_interface): Add new members.
6238
6239 * macgui.h (No_Cursor): Define as 0 for Mac.
6240 (XRectangle): Add X compatible rectangle type.
6241 (NativeRectangle): Declare as Rect for Mac.
6242 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
6243
6244 * macfns.c (x_set_mouse_color): Setup hand_cursor.
6245 (x_set_cursor_color): Use x_display_and_set_cursor.
6246
6247 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
6248 included from it. Add dependency on keymap.h.
6249
6250 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
6251
6252 2003-03-21 Kenichi Handa <handa@m17n.org>
6253
6254 * fileio.c (Fexpand_file_name): Fix previous change.
6255
6256 2003-03-19 Kenichi Handa <handa@m17n.org>
6257
6258 * fileio.c (Ffile_name_directory): Reconstruct file name by
6259 make_specified_string.
6260 (Ffile_name_nondirectory, Ffile_name_as_directory)
6261 (Fdirectory_file_name, Fexpand_file_name)
6262 (Fsubstitute_in_file_name): Likewise.
6263 (Fread_file_name): Compare decoded homedir with DIR and
6264 DEFAULT_FILENAME.
6265
6266 * alloc.c (make_specified_string): If NCHARS is negative, count
6267 the number of characters.
6268
6269 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6270
6271 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
6272 all widgets.
6273
6274 * gtkutil.h: Removed xg_ignore_next_thumb.
6275
6276 2003-03-18 Kenichi Handa <handa@m17n.org>
6277
6278 * coding.c (Vchar_coding_system_table): Remove this variable.
6279 (Vcoding_system_safe_chars): New variable.
6280 (intersection): Remove this function.
6281 (find_safe_codings): Don't use Vchar_coding_system_table, but try
6282 all codings in SAFE_CODINGS.
6283 (Ffind_coding_systems_region_internal): Adjust for the change of
6284 find_safe_codings. Get generic coding systems from
6285 Vcoding_system_safe_chars.
6286 (Fdefine_coding_system_internal): New function.
6287 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
6288 Initialize and staticpro Vcoding_system_safe_chars.
6289
6290 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6291
6292 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
6293 equal old values before updating.
6294
6295 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
6296
6297 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
6298
6299 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6300
6301 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
6302 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
6303 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
6304 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
6305 (xg_create_scroll_bar): Pass bar to button event callback.
6306 (xg_find_top_left_in_fixed): New function.
6307 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
6308 whole scroll bar area. Get old position with
6309 xg_find_top_left_in_fixed, calculate and only clear needed areas.
6310 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
6311 dragging is in progress. Calculate whole as for Motif.
6312 Remove code that saved last values. Call gtk_range functions to
6313 set scroll bar sizes.
6314
6315 * gtkutil.h: Removed xg_ignore_next_thumb.
6316
6317 2003-03-17 Juanma Barranquero <lektu@terra.es>
6318
6319 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
6320 and files included from it.
6321
6322 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
6323
6324 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
6325 multiple occurrences of the same keymap under different prefixes.
6326 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
6327
6328 2003-03-16 Jason Rumney <jasonr@gnu.org>
6329
6330 * w32gui.h: Use HDC for Display.
6331
6332 * w32term.c (w32_encode_char): Prevent double-byte chars from
6333 crashing Emacs.
6334
6335 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
6336 as binary.
6337
6338 2003-03-16 Juanma Barranquero <lektu@terra.es>
6339
6340 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
6341
6342 2003-03-16 Kim F. Storm <storm@cua.dk>
6343
6344 The following changes consolidate some of the gui-independent
6345 parts of the processing and drawing of "glyph strings" from
6346 xterm.c, w32term.c, and macterm.c into xdisp.c.
6347
6348 * dispextern.h (struct glyph): Reduce face_id member from 22 to
6349 21 bits (this reduces number of faces from 4M to 2M).
6350 Replace W32 specific w32_font_type member (2 bits) by generic
6351 font_type member (3 bits) for portability.
6352 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
6353 (enum draw_glyphs_face): Define here.
6354 (struct glyph_string): Define here. Merge W32 and X versions.
6355 (struct redisplay_interface): New members per_char_metric,
6356 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
6357 (VCENTER_BASELINE_OFFSET): Define here.
6358 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
6359 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
6360
6361 * xdisp.c: Consolidate gui-independent "glyph string" code here.
6362 (dump_glyph_string): Moved here.
6363 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
6364 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
6365 (fill_composite_glyph_string, fill_glyph_string)
6366 (fill_image_glyph_string, fill_stretch_glyph_string)
6367 (left_overwritten, left_overwriting, right_overwritten)
6368 (right_overwriting, get_char_face_and_encoding)
6369 (set_glyph_string_background_width, compute_overhangs_and_x)
6370 (append_glyph, append_composite_glyph, produce_image_glyph)
6371 (take_vertical_position_into_account, append_stretch_glyph)
6372 (produce_stretch_glyph): New generic functions (based on X version).
6373 Call platform specific functions through rif.
6374 (INIT_GLYPH_STRING): New macro, hides W32 details.
6375 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
6376 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
6377 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
6378 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
6379 (notice_overwritten_cursor):
6380 Generic functions exported to platform modules. Users changed.
6381
6382 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
6383 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
6384 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
6385 New macros for consolidated code.
6386
6387 * xterm.c: Remove consolidated defines and code.
6388 (x_per_char_metric, x_encode_char)
6389 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
6390 (x_redisplay_interface): Add new members.
6391
6392 * w32gui.h (Display): Add dummy typedef for consolidation.
6393 (XChar2b): Define alias for wchar_t for consolidation.
6394 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
6395
6396 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
6397 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
6398 New macros for consolidation.
6399
6400 * w32term.c: Remove consolidated defines and code.
6401 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
6402 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
6403 (w32_per_char_metric): Change font_type arg to int for RIF.
6404 (w32_encode_char): Return int according to RIF requirements.
6405 (w32_compute_glyph_string_overhangs): Adapt to RIF.
6406 (w32_get_glyph_overhangs): New function for RIF. Uses generic
6407 x_get_glyph_overhangs.
6408 (w32_redisplay_interface): Add new members.
6409
6410 * macgui.h (XChar2b): Move typedef here for consolidation.
6411 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
6412
6413 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
6414 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
6415 consolidation.
6416
6417 * macterm.c: Remove consolidated defines and code.
6418 (mac_per_char_metric): New function for RIF.
6419 (mac_encode_char): Adapt to new RIF requirements.
6420 (mac_compute_glyph_string_overhangs): Adapt for RIF.
6421 (x_redisplay_interface): Add new members.
6422
6423 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
6424
6425 * keymap.c (Vmenu_events): New var.
6426 (syms_of_keymap): Initialize it.
6427 (where_is_internal): Check more carefully what is a menu event.
6428
6429 2003-03-14 Richard M. Stallman <rms@gnu.org>
6430
6431 * lread.c (read1): After #!, exit loop on eof.
6432
6433 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6434
6435 * gtkutil.h: Add declaration for xg_frame_cleared.
6436
6437 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
6438
6439 * gtkutil.c (struct xg_last_sb_pos): New structure.
6440 (handle_fixed_child): New function.
6441 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
6442 and force a redraw on them.
6443 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
6444 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
6445 so we can avoid unneeded redraws.
6446 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
6447 and force a redraw on the scroll bar.
6448 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
6449 if xg_last_sb_pos shows the positions are up to date.
6450 (xg_frame_cleared): New function.
6451
6452 2003-03-13 Kenichi Handa <handa@m17n.org>
6453
6454 * coding.c (Fdetect_coding_region): Fix docstring.
6455 (Fdetect_coding_string): Fix docstring.
6456
6457 2003-03-13 Andreas Schwab <schwab@suse.de>
6458
6459 * gtkutil.c: Add prototype for create_menus.
6460
6461 * data.c (long_to_cons): Fix type of top.
6462
6463 * xselect.c (selection_data_to_lisp_data): Use int instead of
6464 long for an integer of size 4.
6465
6466 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
6467 (xg_tool_bar_help_callback): Likewise.
6468
6469 2003-03-12 Andreas Schwab <schwab@suse.de>
6470
6471 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
6472
6473 2003-03-12 Kim F. Storm <storm@cua.dk>
6474
6475 The following changes consolidate the fringe handling from
6476 xterm.c, w32term.c, and macterm.c into xdisp.c.
6477
6478 * xdisp.c: Consolidate fringe handling code here.
6479 (left_bits, right_bits, continued_bits, continuation_bits)
6480 (ov_bits, zv_bits): Define fringe bitmaps.
6481 (fringe_bitmaps): New array holding fringe bitmaps.
6482 (draw_fringe_bitmap): Draw a specific bitmap; call display
6483 specific drawing routine via rif->draw_fringe_bitmap.
6484 (draw_row_fringe_bitmaps): Generic replacement for
6485 x_draw_row_fringe_bitmaps; all callers changed.
6486 (compute_fringe_widths): Generic replacement for
6487 x_compute_fringe_widths; all callers changed.
6488
6489 * dispextern.h (enum fringe_bitmap_type): Define here.
6490 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
6491 (fringe_bitmaps): Declare extern.
6492 (struct redisplay_interface): New member draw_fringe_bitmap.
6493 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
6494
6495 * xterm.c: Remove generic fringe code.
6496 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
6497 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
6498
6499 * w32term.c: Remove generic fringe code.
6500 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
6501 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
6502
6503 * macterm.c: Remove generic fringe code.
6504 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
6505 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
6506
6507 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
6508
6509 * print.c (Fprin1_to_string): Return unibyte string if possible.
6510
6511 2003-03-09 David Kastrup <dak@gnu.org>
6512
6513 * process.c (read_process_output): We have allocated enough space
6514 for readmax and carryover, so actually use the alloted space.
6515
6516 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6517
6518 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
6519 toolkit scrollbar click.
6520
6521 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
6522 for USE_GTK.
6523 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
6524 also.
6525 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
6526 scrollbar and control is pressed, call x_scroll_bar_handle_click.
6527
6528 * gtkutil.h: Declare xg_get_scroll_id_for_window.
6529
6530 * gtkutil.c (xg_get_scroll_id_for_window): New function.
6531 (xg_tool_bar_item_expose_callback): New function.
6532 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
6533 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
6534 on the tool bar widget.
6535 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
6536 to expose on the tool bar item widgets.
6537
6538 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6539
6540 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
6541 struct image* when deciding to update (struct image* may have been
6542 deleted from the image cache).
6543
6544 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
6545 the event isn't for a frame (i.e. for dialogs).
6546
6547 2003-03-07 Kenichi Handa <handa@m17n.org>
6548
6549 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
6550 composition components reaches the limit, terminate composing.
6551 (COMPOSITION_OK): New macro.
6552 (detect_coding_iso2022): Use it if an escape sequence for
6553 composition is found.
6554 (coding_restore_composition): Adjust the number of composition
6555 components if it is not sane.
6556
6557 2003-03-06 Juanma Barranquero <lektu@terra.es>
6558
6559 * w32term.h (struct w32_display_info): Add xrdb member to support
6560 passing resources via -xrm on Windows.
6561
6562 * w32term.c (w32_make_rdb): New function.
6563 (w32_term_init): Use it to initialize xrdb member of w32_display_info
6564 struct. Delete leftover code.
6565
6566 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
6567 for resources passed on the command line.
6568
6569 * w32reg.c (w32_get_rdb_resource): New function.
6570 (x_get_string_resource): Use it, so resources passed with -xrm
6571 supercede the ones in the registry.
6572
6573 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6574
6575 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
6576 instead of x_top_window_to_frame.
6577
6578 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6579
6580 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
6581 when restarting Emacs.
6582
6583 2003-03-03 Richard M. Stallman <rms@gnu.org>
6584
6585 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
6586 to run kill-buffer-query-functions.
6587 (Qkill_buffer_query_functions): New var.
6588 (syms_of_buffer): Init and staticpro it.
6589
6590 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6591
6592 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
6593
6594 2003-02-25 Kim F. Storm <storm@cua.dk>
6595
6596 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
6597 If centering point failed to make whole line visible and vscroll
6598 is non-zero, disable vscroll and try centering point again.
6599
6600 * lread.c (read1): Accept `single space' syntax like (? x).
6601
6602 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6603
6604 * keyboard.c (cancel_hourglass_unwind): Surround with
6605 #ifdef HAVE_X_WINDOWS
6606
6607 2003-02-25 Kenichi Handa <handa@m17n.org>
6608
6609 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
6610 process only when "subprocesses" is defined.
6611
6612 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
6613
6614 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
6615
6616 2003-02-24 Juanma Barranquero <lektu@terra.es>
6617
6618 * callint.c (fix_command): Declare as static void and move before
6619 Fcall_interactively.
6620
6621 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
6622 (syms_of_xdisp): Don't initialize Qwhen.
6623
6624 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6625
6626 * keyboard.c (cancel_hourglass_unwind): New function.
6627 (command_loop_1): Cancel hourglass with unwind-protect.
6628
6629 2003-02-23 Richard M. Stallman <rms@gnu.org>
6630
6631 * callint.c (fix_command): New subroutine, from Fcall_interactively.
6632 Detect (when ... (region-beginning)) etc.
6633 (Fcall_interactively): Call fix_command.
6634 (Qif, Qwhen): New variables.
6635 (syms_of_callint): Init and staticpro them.
6636
6637 * regex.c (print_partial_compiled_pattern): Output to stderr.
6638
6639 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
6640
6641 * dired.c (directory_files_internal): Don't expand directory.
6642 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
6643 instead. From Lars Hansen <larsh@math.ku.dk>.
6644
6645 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
6646
6647 * fns.c (string_to_multibyte): Remove unused var i.
6648 (Flanginfo): Fix int/Lisp_Object mixup.
6649 (void_call2): New fun.
6650 (Fmap_char_table): Use it in place of call2.
6651
6652 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
6653
6654 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
6655
6656 * keymap.c (copy_keymap_1): Make it static.
6657
6658 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
6659
6660 2003-02-22 David Ponce <david@dponce.com>
6661
6662 * lread.c (Fload): Don't check STRING_MULTIBYTE.
6663
6664 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6665
6666 * process.h: Removed subtty field from struct Lisp_Process.
6667
6668 * process.c (create_process): Remove setting of subtty.
6669 (emacs_get_tty_pgrp): New function.
6670 (Fprocess_running_child_p, process_send_signal):
6671 Call emacs_get_tty_pgrp instead of ioctl.
6672 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
6673
6674 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
6675
6676 * keymap.c (Fdefine_key): Doc fix.
6677
6678 2003-02-21 Juanma Barranquero <lektu@terra.es>
6679
6680 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
6681
6682 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
6683 POLLING_PROBLEM_IN_SELECT.
6684
6685 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
6686 Delete #undef of POLLING_PROBLEM_IN_SELECT.
6687
6688 * s/hpux10-20.h: New file.
6689
6690 * process.c (wait_reading_process_input):
6691 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
6692
6693 2003-02-20 Kenichi Handa <handa@m17n.org>
6694
6695 * fontset.c (check_fontset_name): If NAME is nil, return the
6696 default fontset.
6697 (override_font_info): New function.
6698 (Fset_fontset_font): Document that NAME nil means the default fontset.
6699 (Ffontset_info): If FONTSET is not the default fontset, merge
6700 FONTSET onto the copy of the default fontset, and work on that
6701 copy. Document that NAME nil means the default fontset.
6702 (Ffontset_font): Document that NAME nil means the default fontset.
6703
6704 * process.c (setup_process_coding_systems): If the process's
6705 in/out descriptor is -1, do nothing.
6706
6707 2003-02-19 Andreas Schwab <schwab@suse.de>
6708
6709 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
6710 Add prototypes.
6711
6712 2003-02-19 Kenichi Handa <handa@m17n.org>
6713
6714 * xfaces.c (try_alternative_families): Try all scalable fonts if
6715 Vscalable_fonts_allowed is not Qt.
6716
6717 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6718
6719 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
6720
6721 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6722
6723 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
6724 names.
6725
6726 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
6727 (sorted_font_list): Move allocation of struct font_name to
6728 x_face_list_fonts.
6729 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
6730 (Fx_list_fonts): Set maxnames to -1 to get all font names.
6731
6732 2003-02-18 Kim F. Storm <storm@cua.dk>
6733
6734 * lread.c (read1): Fix last change.
6735 "`" is not always special. Allow "?" after a character constant.
6736
6737 2003-02-18 Andrew Choi <akochoi@shaw.ca>
6738
6739 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
6740
6741 2003-02-18 Andreas Schwab <schwab@suse.de>
6742
6743 * window.c (window_scroll_pixel_based): Move outside a
6744 multi-glyph character before setting new window start.
6745
6746 * xdisp.c (in_display_vector_p): New function.
6747 * dispextern.h (in_display_vector_p): Declare.
6748
6749 2003-02-18 Kim F. Storm <storm@cua.dk>
6750
6751 * lread.c (read1): Fix and relax read syntax.
6752 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
6753 Only recognize "," after dotted-pair dot if inside backquote.
6754 Never include "`" or "," (inside backquote) in a symbol.
6755 Allow dotted-pair dot after a character constant.
6756 Allow "`" and "," (inside backquote) after a character constant.
6757
6758 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6759
6760 * gtkutil.c (xg_tool_bar_expose_callback): New function.
6761 (xg_create_tool_bar): Force style of tool bar to be horizontal with
6762 icons. Set name of tool bar to emacs-toolbar.
6763 (update_frame_tool_bar): Connect expose event to
6764 xg_tool_bar_expose_callback.
6765
6766 2003-02-17 Richard M. Stallman <rms@gnu.org>
6767
6768 * keyboard.c (this_command_key_count_reset): New variable.
6769 Initiatize to 0 where this_command_key_count is set.
6770 (read_char): Save and restore this_command_key_count_reset
6771 around input method code.
6772 (read_char): If this_command_key_count_reset, echo reread commands.
6773 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
6774
6775 2003-02-17 Kenichi Handa <handa@m17n.org>
6776
6777 * fns.c (string_to_multibyte): Always return a multibyte string.
6778
6779 2003-02-16 Jason Rumney <jasonr@gnu.org>
6780
6781 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
6782 Negative max_fonts parameter means list all.
6783
6784 2003-02-14 Dave Love <fx@gnu.org>
6785
6786 * fns.c (Flanginfo): Doc fix.
6787
6788 2003-02-13 Kim F. Storm <storm@cua.dk>
6789
6790 * lread.c (read_escape): Interpret \s as a SPACE character, except
6791 for \s-X in a character constant which still is the super modifier.
6792 (read1): Signal an `invalid read syntax' error if a character
6793 constant is immediately followed by a digit or symbol character.
6794
6795 * search.c (Fmatch_data): Doc fix. Explicitly state that
6796 match-data is undefined if last search failed.
6797
6798 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
6799 All uses changed.
6800
6801 2003-02-12 Juanma Barranquero <lektu@terra.es>
6802
6803 * eval.c (Fdefmacro): Fix typo.
6804
6805 2003-02-12 Kim F. Storm <storm@cua.dk>
6806
6807 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
6808 macro is a string, convert meta modifiers in string when copying
6809 the string into a vector.
6810
6811 2003-02-11 Kim F. Storm <storm@cua.dk>
6812
6813 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
6814
6815 2003-02-11 Kenichi Handa <handa@m17n.org>
6816
6817 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
6818
6819 2003-02-10 Kim F. Storm <storm@cua.dk>
6820
6821 * process.c: Doc fixes.
6822 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
6823
6824 2003-02-10 Kenichi Handa <handa@m17n.org>
6825
6826 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
6827
6828 * process.c (QCfilter_multibyte): New variable.
6829 (setup_process_coding_systems): New function.
6830 (Fset_process_buffer, Fset_process_filter):
6831 Call setup_process_coding_systems.
6832 (Fstart_process): Initialize the member `filter_multibyte' of
6833 struct Lisp_Process.
6834 (create_process): Call setup_process_coding_systems.
6835 (Fmake_network_process): New keyward `:filter-multibyte'.
6836 Initialize the member `filter_multibyte' of struct Lisp_Process.
6837 Call setup_process_coding_systems.
6838 (server_accept_connection): Call setup_process_coding_systems.
6839 (read_process_output): If the process has a filter, decide the
6840 multibyteness of a string to given to the filter by
6841 `filter_multibyte' member of the process. If the process doesn't
6842 have a filter and the result of conversion is unibyte, use
6843 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
6844 multibyte form.
6845 (Fset_process_coding_system): Call setup_process_coding_systems.
6846 (Fset_process_filter_multibyte): New function.
6847 (Fprocess_filter_multibyte_p): New function.
6848 (syms_of_process): Intern and staticpro QCfilter_multibyte.
6849 Defsubr Sset_process_filter_multibyte and
6850 Sprocess_filter_multibyte_p.
6851
6852 * process.h (struct Lisp_Process): New member filter_multibyte.
6853
6854 * lisp.h (setup_process_coding_systems): Add prototype.
6855
6856 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
6857 process, update coding systems for the process.
6858
6859 2003-02-09 Kenichi Handa <handa@m17n.org>
6860
6861 * fns.c (string_to_multibyte): New function.
6862 (Fstring_to_multibyte): New function.
6863 (syms_of_fns): Defsubr it.
6864
6865 2003-02-08 Andreas Schwab <schwab@suse.de>
6866
6867 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
6868 instead of the substitution.
6869
6870 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6871
6872 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
6873
6874 * xmenu.c (menu_position_func): Adjust menu popup position so that
6875 the menu is fully visible.
6876
6877 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6878
6879 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
6880 (x_make_frame_invisible, x_wm_set_icon_position):
6881 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
6882
6883 * xfns.c (x_set_name, x_set_title): Ditto.
6884
6885 2003-02-04 Richard M. Stallman <rms@gnu.org>
6886
6887 * keyboard.c (echo_now): Update before_command_echo_length.
6888 (Freset_this_command_lengths): Reset this_command_key_count etc.
6889 immediately rather than arranging to do it later.
6890 (before_command_key_count_1, before_command_echo_length_1)
6891 (before_command_restore_flag): Vars deleted.
6892 (add_command_key): Don't handle before_command_restore_flag.
6893 (read_char, record_menu_key): Don't update before_command_key_count or
6894 before_command_echo_length.
6895 (read_char): Don't handle before_command_restore_flag.
6896
6897 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
6898 in direct-output clauses if it wouldn't be called in the ordinary case.
6899
6900 2003-02-04 Kim F. Storm <storm@cua.dk>
6901
6902 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
6903
6904 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6905
6906 * gtkutil.c (remove_from_container): Copying list is not needed.
6907 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
6908 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
6909 on list returned from gtk_container_get_children to avoid memory leak.
6910
6911 2003-02-01 Jason Rumney <jasonr@gnu.org>
6912
6913 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
6914 local malloc.
6915 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
6916 definitions in xpm.h.
6917 (init_xpm_functions): New function.
6918 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
6919 (init_external_image_libraries): Try to load libXpm.dll.
6920
6921 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
6922 timestamp.
6923
6924 2003-01-31 Dave Love <fx@gnu.org>
6925
6926 * syntax.c (Fskip_chars_forward)
6927 (open-paren-in-column-0-is-defun-start): Doc fix.
6928
6929 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
6930
6931 * fileio.c: Support // at start of name for Cygwin (just added proper
6932 preprocessor tests).
6933
6934 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
6935
6936 * Makefile.in: Use @EXEEXT@ for Cygwin.
6937
6938 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
6939
6940 * s/cygwin.h: Added for Cygwin port.
6941
6942 2003-01-31 Juanma Barranquero <lektu@terra.es>
6943
6944 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
6945 when including gif_lib.h.
6946 (init_gif_functions, init_tiff_functions): New functions.
6947 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
6948 Windows. Disable color table lookups. Call library functions
6949 through pointers determined at runtime.
6950 (init_external_image_libraries): Try to load libungif.dll and
6951 libtiff.dll.
6952
6953 2003-01-31 Kenichi Handa <handa@m17n.org>
6954
6955 * xdisp.c (SKIP_GLYPHS): New macro.
6956 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
6957
6958 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6959
6960 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
6961
6962 2003-01-30 Dave Love <fx@gnu.org>
6963
6964 * alloc.c (Vgc_elapsed, gcs_done): New variables.
6965 (Fgarbage_collect): Use them.
6966 (init_alloc, syms_of_alloc): Set them up.
6967
6968 2003-01-30 Juanma Barranquero <lektu@terra.es>
6969
6970 * w32fns.c (init_external_image_libraries): Add missing operator.
6971
6972 2003-01-29 Jason Rumney <jasonr@gnu.org>
6973
6974 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
6975 an alternative name for jpeg.dll.
6976
6977 2003-01-29 Kenichi Handa <handa@m17n.org>
6978
6979 * xdisp.c (set_cursor_from_row): Pay attention to string display
6980 properties.
6981
6982 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
6983
6984 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
6985 <escape>.
6986 (keycode_to_xkeysym_table): Reformat and add more comments.
6987 (XTread_socket): Drop special case for backspace.
6988
6989 2003-01-28 Andrew Choi <akochoi@shaw.ca>
6990
6991 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
6992 values in old-style RGB specs.
6993
6994 2003-01-27 Juanma Barranquero <lektu@terra.es>
6995
6996 * w32fns.c (init_external_image_libraries): Try alternate names for the
6997 jpeg dll.
6998
6999 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7000
7001 * gtkutil.c (create_dialog, xg_separator_p)
7002 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
7003 before calling strcmp or strlen.
7004
7005 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7006
7007 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
7008 and handle image load failure.
7009
7010 2003-01-26 Jason Rumney <jasonr@gnu.org>
7011
7012 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
7013 New functions.
7014 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
7015 Disable color table lookups. Call jpeg library functions
7016 through pointers determined at runtime.
7017 (init_external_image_libraries): Try to load jpeg.dll.
7018
7019 2003-01-25 Richard M. Stallman <rms@gnu.org>
7020
7021 * lisp.h: Declare format2 instead of format1.
7022
7023 * fileio.c (barf_or_query_if_file_exists):
7024 Call format2 instead of format1.
7025
7026 * editfns.c (format2): New function, replaces format1
7027 but takes exactly two Lisp Objects as format args.
7028
7029 * buffer.c (Fkill_buffer): Call format2 instead of format1.
7030
7031 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7032
7033 * xterm.h: Change to return value of x_dispatch_event to int.
7034
7035 * xterm.c (x_filter_event): New function.
7036 (event_handler_gdk, XTread_socket): Call x_filter_event.
7037 (x_dispatch_event): Change to return value of finish.
7038 (event_handler_gdk): Use return value from x_dispatch_event.
7039
7040 * xfns.c (x_window): Call create_frame_xic for GTK version to
7041 initialize input methods.
7042
7043 * gtkutil.h: Add (void) prototypes.
7044
7045 * gtkutil.c (create_menus): Remove code that puts the help menu to
7046 the right.
7047
7048 2003-01-25 Jason Rumney <jasonr@gnu.org>
7049
7050 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
7051 [HAVE_PNG]: Sync with xfns.c version.
7052 (png_load): Adjust colors for Windows. Use Windows
7053 bitmaps. Disable color table lookups.
7054 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
7055 (init_png_functions): New function.
7056 (png_read_from_memory, png_load): Call png library functions
7057 through pointers determined at runtime.
7058 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
7059 (init_external_image_libraries): New function.
7060 (init_xfns): Call it.
7061
7062 2003-01-24 Andreas Schwab <schwab@suse.de>
7063
7064 * minibuf.c (Fminibuffer_message): Verify type of parameter.
7065
7066 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7067
7068 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
7069 of static initializer.
7070
7071 2003-01-24 Dave Love <fx@gnu.org>
7072
7073 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
7074 architectures.
7075
7076 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
7077 Use __alignof__.
7078
7079 2003-01-24 Kenichi Handa <handa@m17n.org>
7080
7081 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
7082 It it is nonzero, don't pretend that an invisible area doesn't exist.
7083 (command_loop_1): Call adjust_point_for_property with proper
7084 second arg.
7085
7086 2003-01-22 Jason Rumney <jasonr@gnu.org>
7087
7088 Sync changes with xterm.c and xfns.c.
7089
7090 * w32term.c (x_draw_glyph_string_foreground)
7091 (x_draw_composite_glyph_string_foreground): Implement overstriking.
7092
7093 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
7094 phys_cursor's hpos is overwritten. This is still not completely
7095 correct, as it doesn't really make sense to use hpos at all to
7096 get the cursor glyph (as that is relative to the width of the
7097 characters on the line, which may have changed during the update).
7098
7099 * w32term.c (notice_overwritten_cursor): Handle the special case
7100 of the cursor being in the first blank non-text line at the
7101 end of a window.
7102
7103 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
7104 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
7105 Compute from the x position returned by x_draw_glyphs.
7106
7107 (x_display_and_set_cursor): Don't set phys_cursor_width here,
7108 except for NO_CURSOR and system caret, to make phys_cursor_width
7109 contain what its name suggests.
7110 (notice_overwritten_cursor): Consider the cursor image erased if
7111 the output area intersects the cursor image in y-direction.
7112
7113 * w32term.c (note_mode_line_or_margin_highlight): Rename from
7114 note_mode_line_highlight and extend.
7115
7116 * w32term.c (last_window): New variable.
7117 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
7118 (note_mouse_movement): Remove reimplemented code in #if 0.
7119
7120 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
7121 not update_mode_lines, and always set it to 1.
7122
7123 2003-01-21 Jason Rumney <jasonr@gnu.org>
7124
7125 * w32fns.c (IDC_HAND): Define it if system headers don't.
7126
7127 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
7128
7129 * w32term.h (struct w32_output): New member hand_cursor.
7130 (WM_EMACS_SETCURSOR): New message definition.
7131
7132 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
7133 function w32_define_cursor.
7134 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
7135 position, change member name output_data.x to output_data.w32 and
7136 add function w32_define_cursor.
7137 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
7138 and change member name output_data.x to output_data.w32.
7139 (w32_initialize_display_info):
7140 Setup dpyinfo->vertical_scroll_bar_cursor.
7141
7142 * w32fns.c (Vx_hand_shape): New variable.
7143 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
7144 WM_EMACS_SETCURSOR.
7145 (x-create-frame): Setup Cursor types.
7146
7147 2003-01-21 David Ponce <david@dponce.com>
7148
7149 * w32term.c (w32_encode_char): For DIM=1 charset, set
7150 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
7151 x_encode_char change by Kenichi Handa <handa@m17n.org> on
7152 2002-09-30.)
7153 (w32_draw_relief_rect): Declare all args.
7154 (w32_define_cursor): New.
7155
7156 * w32fns.c (w32_load_cursor): New function.
7157 (w32_init_class): Use it.
7158 (x_put_x_image): Declare all args.
7159
7160 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
7161
7162 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
7163
7164 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7165
7166 * gtkutil.c: Must include stdio.h before termhooks.h
7167
7168 2003-01-21 Dave Love <fx@gnu.org>
7169
7170 * alloc.c (Fgc_status): Print zombie list.
7171 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
7172 Fix assignment of zombies.
7173 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
7174 Don't take car of non-cons.
7175
7176 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7177
7178 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7179
7180 2003-01-20 David Ponce <david@dponce.com>
7181
7182 * w32menu.c (digest_single_submenu): Declare all args.
7183
7184 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
7185 changes in xmenu.c:
7186
7187 (parse_single_submenu): Use individual keymap's prompt
7188 string as pane name, if there is one.
7189 (set_frame_menubar): Save menu_items_n_panes from each call to
7190 parse_single_submenu and use it when calling digest_single_submenu.
7191
7192 2003-01-20 Steven Tamm <steventamm@mac.com>
7193
7194 * macterm.c (XTread_socket): Checks for valid, visible window
7195 before sending a scroll-wheel event.
7196
7197 2003-01-20 Richard M. Stallman <rms@gnu.org>
7198
7199 * xdisp.c (redisplay_window): If mini window's buffer is not
7200 a minibuffer, then redisplay it like other windows.
7201
7202 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7203
7204 * gtkutil.c (xg_create_frame_widgets): Check if there is an
7205 external tool bar before setting tool bar height.
7206
7207 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7208
7209 * xterm.c (handle_one_xevent): Surround popup_activated
7210 with #ifdef:s for non-toolkit version.
7211
7212 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
7213 (gtkutil.o): New file.
7214 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
7215 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
7216
7217 * gtkutil.c: New file for GTK version.
7218
7219 * gtkutil.h: New file for GTK version.
7220
7221 * xterm.h: Add xt_or_gtk_widget.
7222 Include gtk files for USE_GTK.
7223 (struct x_output): Add toolbar_height.
7224 (struct x_output): Add GTK widgets and Gdk size_hints.
7225 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
7226 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
7227 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
7228
7229 * xterm.c: Include gtkutil.h for USE_GTK.
7230 Declare extern void free_frame_menubar for USE_GTK.
7231 (note_mouse_highlight): Check popup_activated for USE_GTK.
7232 (xt_action_hook): Don't compile if USE_GTK.
7233 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
7234 (xg_scroll_callback): New function.
7235 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
7236 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
7237 for USE_GTK.
7238 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
7239 xg_show_scroll_bar for USE_GTK.
7240 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
7241 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
7242 (event_handler_gdk): New function for USE_GTK.
7243 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
7244 (handle_one_xevent): Make sure widget is mapped before
7245 calling x_real_positions for USE_GTK.
7246 (XTread_socket): Add GTK event loop for USE_GTK.
7247 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
7248 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
7249 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
7250 (x_iconify_frame): Add code for USE_GTK.
7251 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
7252 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
7253 is in gtkutil.c.
7254 (x_term_init): Add initialization for GTK.
7255 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
7256
7257 * xmenu.c: Include gtkutil.h for USE_GTK.
7258 (Fx_popup_menu): Use current position if x and y is NIL.
7259 (single_menu_item, single_menu_item, Fx_popup_dialog):
7260 Check for USE_GTK.
7261 (popup_widget_loop): New function for USE_GTK.
7262 (x_activate_menubar): Add code for USE_GTK.
7263 (popup_activate_callback, popup_deactivate_callback)
7264 (menu_highlight_callback, menubar_selection_callback):
7265 Add USE_GTK versions.
7266 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
7267 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
7268 (free_frame_menubar): Only compile if not USE_GTK. GTK version
7269 is in gtkutil.c.
7270 (popup_selection_callback): New version for USE_GTK.
7271 (create_and_show_popup_menu): New fuction, one USE_GTK version and
7272 one USE_X_TOOLKIT version.
7273 (xmenu_show): Call create_and_show_popup_menu.
7274 (dialog_selection_callback): New version for USE_GTK.
7275 (create_and_show_dialog): New fuction, one USE_GTK version and
7276 one USE_X_TOOLKIT version.
7277 (xdialog_show): Call create_and_show_dialog.
7278
7279 * xfns.c: Include gtkutil for USE_GTK.
7280 (x_window_to_frame, x_any_window_to_frame)
7281 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
7282 (x_top_window_to_frame): Add code for USE_GTK.
7283 (x_set_background_color): Call xg_set_background_color for GTK.
7284 (x_set_menu_bar_lines): Check for USE_GTK.
7285 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
7286 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
7287 (x_window): Call xg_create_frame_widgets for USE_GTK.
7288 (Fx_create_frame): Check for USE_GTK
7289 (Fx_file_dialog): New implementation for USE_GTK.
7290
7291 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
7292 (update_menu_bar): Add check for USE_GTK.
7293 (update_tool_bar): Add check for USE_GTK and external tool bar.
7294 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
7295 (redisplay_internal): Add check for USE_GTK and popup_activated.
7296 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
7297 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
7298 (display_menu_bar): Add check for USE_GTK
7299
7300 * lisp.h: Declare Vx_resource_name extern.
7301
7302 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
7303 for USE_GTK.
7304 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
7305
7306 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
7307 (FRAME_EXTERNAL_TOOL_BAR): New macro.
7308 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
7309
7310 * fileio.c (Fread_file_name): Add check for USE_GTK.
7311
7312 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
7313 Add check for USE_GTK.
7314
7315 * config.in: Added HAVE_GTK
7316
7317 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
7318
7319 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
7320
7321 * charset.h (Funibyte_char_to_multibyte): Export.
7322
7323 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7324
7325 * xmenu.c (mouse_position_for_popup): New function.
7326 (Fx_popup_menu): Call mouse_position_for_popup for X and
7327 mouse_position_hook for others.
7328
7329 2003-01-17 Kim F. Storm <storm@cua.dk>
7330
7331 * editfns.c (Finsert): Mention `string-make-multibyte' and
7332 `string-as-multibyte' in doc string.
7333
7334 2003-01-17 Kenichi Handa <handa@m17n.org>
7335
7336 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
7337
7338 * editfns.c (Fformat): Convert an unibyte char argument that is
7339 formatted by "%c" to multibyte if the total result must be a
7340 multibyte string.
7341
7342 2003-01-16 Kim F. Storm <storm@cua.dk>
7343
7344 * process.c (set-process-filter): Document unibyte/multibyte-ness
7345 of string argument.
7346
7347 2003-01-16 Kenichi Handa <handa@m17n.org>
7348
7349 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
7350
7351 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
7352 (re_search_2): Likewise.
7353
7354 2003-01-15 Kenichi Handa <handa@m17n.org>
7355
7356 * xdisp.c (message_dolog): Fix bug of the case that *Message*
7357 buffer is unibyte.
7358
7359 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
7360
7361 * fns.c (Fsubstring): Clarify doc string.
7362
7363 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
7364 (Fprevious_char_property_change)
7365 (Fnext_single_char_property_change)
7366 (Fprevious_single_char_property_change, Fnext_property_change)
7367 (Fnext_single_property_change, Fprevious_property_change)
7368 (Fprevious_single_property_change, Fadd_text_properties)
7369 (Fput_text_property, Fset_text_properties)
7370 (Fremove_text_properties, Fremove_list_of_text_properties)
7371 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
7372
7373 2003-01-14 Kim F. Storm <storm@cua.dk>
7374
7375 * process.h (struct Lisp_Process): New member plist replaces old
7376 member private_vars. All uses changed.
7377
7378 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
7379 (QCplist): Rename from QCvars. Change all uses.
7380 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
7381 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
7382 (syms_of_process): Intern, staticpro, defsubr these.
7383 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
7384
7385 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
7386
7387 * m/delta.h: Remove (obsolete).
7388
7389 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
7390
7391 * fileio.c (Fdelete_directory, Fdelete_file): Document the
7392 behaviour in front of symlinks.
7393 (Fdelete_file): Raise an error on directories.
7394
7395 2003-01-13 Dave Love <fx@gnu.org>
7396
7397 * fns.c (Freverse): Use QUIT.
7398
7399 2003-01-13 Richard M. Stallman <rms@gnu.org>
7400
7401 * minibuf.c (minibuffer_completion_contents):
7402 Error if point is inside prompt.
7403
7404 * keyboard.c (command_loop_1): Don't redisplay directly
7405 if there's a post-command-hook.
7406
7407 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
7408 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
7409
7410 2003-01-12 Kim F. Storm <storm@cua.dk>
7411
7412 * process.h (struct Lisp_Process): New member private_vars.
7413
7414 * process.c (QCvars): New variable.
7415 (syms_of_process): Intern and staticpro it.
7416 (Fset_process_contact): Removed function.
7417 (Fprocess_variable, Fset_process_variable): New functions.
7418 (syms_of_process): Defsubr them.
7419 (Fstart_process): Initialize private_vars plist to nil.
7420 (Fmake_network_process): New arg :vars to setup the private
7421 variables for new network process.
7422 (server_accept_connection): Copy server's private variables to
7423 client process.
7424
7425 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
7426 crashes). Code rewritten and simplified. Now directly aligns the
7427 pointer and recalculates pure_bytes_used, rather than aligning the
7428 size and adjusting the pointer.
7429
7430 2003-01-11 Kim F. Storm <storm@cua.dk>
7431
7432 * process.c (Fset_process_contact): New function.
7433 (syms_of_process): defsubr it.
7434 (make-network-process): Update doc.
7435
7436 2003-01-10 Andreas Schwab <schwab@suse.de>
7437
7438 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
7439 Reported by Berthold Gunreben <b.gunreben@web.de>.
7440
7441 2003-01-10 Dave Love <fx@gnu.org>
7442
7443 * composite.c (syms_of_composite): Make composition_hash_table weak.
7444
7445 2003-01-09 Kim F. Storm <storm@cua.dk>
7446
7447 * process.c (Fmake_network_process): Convert new port number
7448 to host byte order for `:service t' case. From Mario Lang.
7449
7450 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7451
7452 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
7453 instead of XtAppProcessEvent.
7454
7455 * xterm.c (handle_one_xevent): New function.
7456 (x_dispatch_event): New function.
7457 (XTread_socket): Call handle_one_xevent.
7458
7459 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
7460
7461 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
7462 call XQueryPointer to get coordinates.
7463 (popup_get_selection): Do not set popup_activated_flag to zero,
7464 let popup_deactivate_callback do that. Needed for Motif.
7465 Call x_dispatch_event instead of XtDispatchEvent.
7466 (xmenu_show): Calculate root coordinate from frame top/left position.
7467
7468 2003-01-08 Kim F. Storm <storm@cua.dk>
7469
7470 * process.c (server_accept_connection): Fix recording of new
7471 connection's local address in :local property of contact info.
7472 (Fmake_network_process): Record local network address for new
7473 client processes in :local property of contact info.
7474 (format-network-address): Add arg OMIT-PORT. Change callers.
7475
7476 2003-01-07 Dave Love <fx@gnu.org>
7477
7478 * Makefile.in (fns.o): Depend on coding.h.
7479
7480 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
7481
7482 * minibuf.c (Fread_variable): Doc fix.
7483
7484 * eval.c (Fuser_variable_p): Doc change. For custom variables,
7485 use the same test as for custom-variable-p.
7486
7487 2003-01-05 Richard M. Stallman <rms@gnu.org>
7488
7489 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
7490 Count LAST_LINE_MISFIT in scroll margin for end of window.
7491 Move label too_near_end before setting SCROLL_MARGIN_POS.
7492 Set LAST_LINE_MISFIT before jumping there.
7493
7494 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
7495 scroll_conservatively case. If scrolling that much doesn't change
7496 STARTP, move it down one line.
7497
7498 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
7499 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
7500
7501 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
7502 selected frame.
7503
7504 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
7505 (syms_of_keymap): staticpro them.
7506 (Fapropos_internal): Initialize them and clear them out.
7507 Don't GCPRO them.
7508
7509 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
7510 Doc fixes.
7511
7512 * lisp.h: New misc type Lisp_Save_Value.
7513 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
7514 (XSAVE_VALUE): New macro.
7515 (struct Lisp_Save_Value): New data type.
7516 (union Lisp_Misc): Add u_save_value alternative.
7517 (make_save_value): Declared.
7518
7519 * alloc.c (make_save_value): New function.
7520
7521 * xterm.c (x_catch_errors): Save dpy using make_save_value.
7522 (x_catch_errors_unwind): Call XSync.
7523
7524 2003-01-01 Richard M. Stallman <rms@gnu.org>
7525
7526 * window.c (window_scroll_pixel_based): Partially undo last change.
7527
7528 * keyboard.c (command_loop_1): Call adjust_point_for_property
7529 in direct action cases for Qforward_char and Qbackward_char.
7530 Set already_adjusted so it won't be done twice.
7531
7532 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
7533
7534 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
7535 type definition of size_t.
7536
7537 2003-01-02 Steven Tamm <steventamm@mac.com>
7538
7539 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
7540 distinguish Carbon GUI builds from X11 builds on darwin.
7541
7542 2002-12-30 Steven Tamm <steventamm@mac.com>
7543
7544 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
7545 to default to t.
7546
7547 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
7548
7549 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
7550
7551 2002-12-28 Steven Tamm <steventamm@mac.com>
7552
7553 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
7554 allow building in a different directory than source. Uses some
7555 GNU Make extensions, but there is no other make on Mac OS X.
7556
7557 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
7558
7559 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
7560 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
7561 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
7562 (Fstring_to_number): Mention the returned value in the doc strings.
7563
7564 2002-12-23 Richard M. Stallman <rms@gnu.org>
7565
7566 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
7567 <scroll-down-aggressively>: Doc fix.
7568
7569 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
7570 string as pane name, if there is one.
7571 (set_frame_menubar): Save menu_items_n_panes from each call to
7572 parse_single_submenu and use it when calling digest_single_submenu.
7573
7574 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
7575 Don't try to make last line fully visible if it is past end of window.
7576
7577 2002-12-22 Steven Tamm <steventamm@mac.com>
7578
7579 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
7580 (mac_menu_show): Add support for hierarchical popup menus.
7581 (add_menu_item): Remove indentation support.
7582 (fill_submenu, fill_menu): Create hierarchical menus
7583 instead of using indentation.
7584
7585 2002-12-22 Richard M. Stallman <rms@gnu.org>
7586
7587 * xdisp.c (try_cursor_movement): Don't call try_window here.
7588 (redisplay_window): Never redisplay minibuffer when inactive.
7589
7590 * window.c (select_window_1): Undo 9/21 change.
7591
7592 2002-12-22 Steven Tamm <steventamm@mac.com>
7593
7594 * macterm.c (XTread_socket): Call KeyTranslate for control and
7595 meta to deal correctly shifted non-alpha characters, like C-S-5
7596 being treated like C-%. Does not look for shift key to deal
7597 with masking off control-key with mac-reverse-ctrl-meta.
7598
7599 2002-12-21 Richard M. Stallman <rms@gnu.org>
7600
7601 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
7602 If it is non-nil, run timers. Use an unwind-protect to requeue
7603 the events that were read ahead.
7604 (popup_get_selection_unwind): New subroutine.
7605 (popup_get_selection_queue): File-scope variable now holds that queue.
7606 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
7607 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
7608 Use an unwind-protect to pop down the dialog box.
7609 (xdialog_show_unwind): New subroutine implements that.
7610
7611 * xdisp.c (row_containing_pos): Change exit test using last_y.
7612 (try_window_id): Abort if row_containing_pos returns null.
7613
7614 * lread.c (load_error_handler): New function.
7615 (Fload): Handle errors in Fsubstitute_in_file_name.
7616 Don't expect Fsignal to return.
7617
7618 * eval.c: Errors and throws work right with interrupt blocking.
7619 (struct catchtag): New elt interrupt_input_blocked.
7620 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
7621 (internal_catch, Fcondition_case, internal_condition_case)
7622 (internal_condition_case_1, internal_condition_case_2): Save it.
7623 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
7624
7625 * editfns.c (Fformat): Add parens.
7626
7627 * dired.c (file_name_completion): Fix that change.
7628 Delete special quit-handling code; just use QUIT.
7629
7630 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change)
7631
7632 * dired.c (file_name_completion): Close directory on error
7633 just as in directory_files_internal.
7634
7635 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
7636
7637 * window.c (Fset_window_configuration): Set old_point to correct
7638 value when new_current_buffer == current_buffer.
7639
7640 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
7641
7642 Revisited my earlier fix for the following entry in etc/PROBLEMS:
7643 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
7644 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
7645
7646 These changes were in part based upon suggestions made by Peter
7647 'Luna' Runestig [peter@runestig.com].
7648
7649 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
7650 g_b_init_get_token_information, g_b_init_lookup_account_sid,
7651 g_b_init_get_sid_identifier_authority ): Add several static
7652 global variables.
7653
7654 * w32.c (globals_of_w32): New function. Used to initialize those
7655 global variables that must always be initialized on startup even
7656 when the global variable initialized is non zero. Its primary
7657 purpose at this time is to set the global variables
7658 g_b_init_is_windows_9x, g_b_init_open_process_token,
7659 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
7660 g_b_init_get_sid_identifier_authority to 0 on startup.
7661 Called from main.
7662
7663 * w32.c (is_windows_9x): Perform initialization only if
7664 g_b_init_is_windows_9x is equal to 0. On initialization set
7665 g_b_init_is_windows_9x equal to 1.
7666
7667 * w32.c (open_process_token): Perform initialization only if
7668 g_b_init_open_process_token is equal to 0. On initialization set
7669 g_b_init_open_process_token equal to 1.
7670
7671 * w32.c (get_token_information): Perform initialization only if
7672 g_b_init_get_token_information is equal to 0. On initialization
7673 set g_b_init_get_token_information equal to 1.
7674
7675 * w32.c (lookup_account_sid): Perform initialization only if
7676 g_b_init_lookup_account_sid is equal to 0. On initialization
7677 set g_b_init_lookup_account_sid equal to 1.
7678
7679 * w32.c (get_sid_identifier_authority): Perform initialization
7680 only if g_b_init_get_sid_identifier_authority is equal to 0.
7681 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
7682
7683 * w32fns.c (globals_of_w32fns): New function. Used to initialize
7684 those global variables that must always be initialized on startup
7685 even when the global variable initialized is non zero.
7686 Its primary purpose at this time is to initialize the global variable
7687 track_mouse_event_fn.
7688
7689 * w32fns.c (w32_wnd_proc): Remove initialization of
7690 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
7691
7692 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
7693
7694 * w32menu.c (globals_of_w32menu): New function. Used to
7695 initialize those global variables that must always be initialized
7696 on startup even when the global variable initialized is non zero.
7697 Its primary purpose at this time is to initialize the global
7698 variables get_menu_item_info and set_menu_item_info.
7699
7700 * w32menu.c (initialize_frame_menubar): Remove initialization of
7701 get_menu_item_info and set_menu_item_info.
7702
7703 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
7704
7705 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
7706 Declare them.
7707
7708 * emacs.c (main): Call globals_of_w32 prior to calling
7709 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
7710 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
7711 is defined.
7712
7713 * w32term.c (x_update_window_begin): Fix Windows API error
7714 detected by BoundsChecker. Test to determine if
7715 w32_system_caret_hwnd is NULL prior to attempting to use
7716 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
7717
7718 * w32term.c (x_update_window_end): Fix Windows API error
7719 detected by BoundsChecker. Test to determine if
7720 w32_system_caret_hwnd is NULL prior to attempting to use
7721 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
7722
7723 2002-12-17 Kenichi Handa <handa@m17n.org>
7724
7725 * coding.c (coding_system_require_warning): New variable.
7726 (syms_of_coding): DEFVAR it.
7727
7728 * coding.h (coding_system_require_warning): Extern it.
7729
7730 * fileio.c (choose_write_coding_system): Even if
7731 Vcoding_system_for_write is non-nil, if
7732 coding_system_require_warning is nonzero, call
7733 Vselect_safe_coding_system_function.
7734
7735 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
7736
7737 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
7738 (lisp): Add font-core.
7739
7740 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
7741
7742 * textprop.c (text_read_only): New arg `propval'.
7743 (get_char_property_and_overlay): Remove unused var `next_overlay'.
7744 (verify_interval_modification): Use text_read_only's new arg.
7745
7746 2002-12-13 Kenichi Handa <handa@m17n.org>
7747
7748 * coding.c (Funencodable_char_position): Set pend correctly.
7749
7750 2002-12-12 Jason Rumney <jasonr@gnu.org>
7751
7752 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
7753 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
7754 Be more careful about when help_events are generated.
7755
7756 2002-12-12 Steven Tamm <steventamm@mac.com>
7757
7758 * macterm.c (mac_check_for_quit_char): Correctly set the
7759 modifiers of the event to 0.
7760 * mac.c (sys_select): Duplicate rfds before calling select to
7761 ensure that rfds survive the while loop.
7762
7763 2002-12-11 Kim F. Storm <storm@cua.dk>
7764
7765 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
7766 row_containing_pos returned NULL.
7767
7768 2002-12-10 Steven Tamm <steventamm@mac.com>
7769
7770 * mac.c (sys_read): Fix sys_read to not call select if IO is
7771 non-blocking.
7772 (sys_select): Fix sys_select to not use a timeout larger than
7773 the one given.
7774
7775 2002-12-10 Juanma Barranquero <lektu@terra.es>
7776
7777 * editfns.c (Fformat): Use alloca, not _alloca.
7778
7779 2002-12-09 Richard M. Stallman <rms@gnu.org>
7780
7781 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
7782 as the last thing.
7783
7784 2002-12-09 Dave Love <fx@gnu.org>
7785
7786 * s/sol2-8.h: Removed. (Not necessary.)
7787
7788 2002-12-09 Matthew Swift <swift@alum.mit.edu>
7789
7790 * editfns.c (Fformat): Handle precision in string conversion
7791 specifiers like libc functions do (ie, print at most that many
7792 characters).
7793
7794 2002-12-08 Richard M. Stallman <rms@gnu.org>
7795
7796 * xdisp.c (row_containing_pos): Check more carefully
7797 whether charpos is really in the row before returning it.
7798
7799 2002-12-07 Steven Tamm <steventamm@mac.com>
7800
7801 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
7802
7803 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
7804 each stack frame. This may change as it could be time consuming.
7805
7806 * macterm.c (mac_check_for_quit_char, quit_char_comp)
7807 (init_quit_char_handler, mac_determine_quit_char_modifiers)
7808 (mac_initialize): Add code to check for pressing of quit_char
7809 in the OS event queue.
7810
7811 * mac.c (sys_select): Call mac_check_for_quit_char every second
7812 while blocking on select.
7813
7814 * mac.c (sys_read): Use sys_select to test for input first
7815 before calling read, to allow C-g to break.
7816
7817 2002-12-07 Richard M. Stallman <rms@gnu.org>
7818
7819 * minibuf.c (Fcompleting_read): Doc fix.
7820
7821 * lread.c (syms_of_lread) <load-history>: Doc fix.
7822
7823 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
7824
7825 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
7826 autoload.
7827
7828 * data.c (Fdefalias): Record in load-history redefining an autoload.
7829
7830 * alloca.c: Undo ifdef change accidentally made on 12-04.
7831
7832 2002-12-06 Francesco Potorti` <pot@gnu.org>
7833
7834 * xfns.c (png_load): Avoid double gamma correction for PNG images.
7835
7836 2002-12-04 Richard M. Stallman <rms@gnu.org>
7837
7838 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
7839
7840 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
7841
7842 * alloca.c: Don't use #error.
7843
7844 2002-12-03 Dave Love <fx@gnu.org>
7845
7846 * buffer.c (Qucs_set_table_for_input): New.
7847 (Fget_buffer_create): Use it.
7848 (Qset_buffer_major_mode_hook): Deleted.
7849 (Fset_buffer_major_mode): Revert previous change.
7850 (init_buffer_once): Intern ucs-set-table-for-input.
7851 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
7852 Add &Qucs_set_table_for_input.
7853
7854 2002-12-03 Andreas Schwab <schwab@suse.de>
7855
7856 * callint.c (Fcall_interactively): Use next_event only if less
7857 than key_count.
7858
7859 2002-12-02 Andrew Choi <akochoi@shaw.ca>
7860
7861 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
7862 names to 255 characters.
7863
7864 * macterm.c (XTread_socket): If all frames have been collapsed,
7865 expand the first one before handling drag-and-drop events.
7866
7867 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
7868 which is detected by autoconf.
7869
7870 2002-12-01 Steven Tamm <steventamm@mac.com>
7871
7872 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
7873 offset in two hints table to allow prebinding to be redone and
7874 allow the executable to be stripped.
7875
7876 2002-11-29 Dave Love <fx@gnu.org>
7877
7878 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
7879 already provided.
7880
7881 2002-11-29 Richard M. Stallman <rms@gnu.org>
7882
7883 * xdisp.c (start_display): Check more intelligently for
7884 whether the line is continued.
7885 (move_it_vertically_backward): Clear it->continuation_lines_width.
7886
7887 2002-11-28 Dave Love <fx@gnu.org>
7888
7889 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
7890 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
7891
7892 2002-11-27 Steven Tamm <steventamm@mac.com>
7893
7894 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
7895 more descriptive error output from lread.c:Fload upon most require
7896 cycles during boostrapping.
7897
7898 2002-11-27 Jason Rumney <jasonr@gnu.org>
7899
7900 * fileio.c (Finsert_file_contents): Give a more appropriate error
7901 for files bigger than 2Gb when off_t is 32 bit.
7902
7903 * dired.c (Ffile_attributes): Don't return negative file sizes for
7904 files bigger than 2Gb when off_t is 32 bit.
7905
7906 2002-11-27 Dave Love <fx@gnu.org>
7907
7908 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7909
7910 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
7911 Test GETPGRP_VOID instead.
7912 [BSD_TERMIOS]: Remove definitions (never used).
7913
7914 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
7915 Don't define.
7916 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7917
7918 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
7919
7920 2002-11-25 Jason Rumney <jasonr@gnu.org>
7921
7922 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
7923 supported.
7924
7925 2002-11-25 Dave Love <fx@gnu.org>
7926
7927 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
7928
7929 * Makefile.in (TEMACS_LDFLAGS): Update last change.
7930
7931 2002-11-25 Andreas Schwab <schwab@suse.de>
7932
7933 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
7934
7935 2002-11-24 Steven Tamm <steventamm@mac.com>
7936
7937 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
7938 determine the size of pointers alloced in unexed space instead
7939 of using possibly invalid emacs_zone pointers. This fixes the
7940 binary incompatibility problems caused by updates to libSystem.B.
7941
7942 2002-11-24 Richard M. Stallman <rms@gnu.org>
7943
7944 * search.c (Fstring_match): Doc fix.
7945
7946 * callint.c (Fcall_interactively): If a command fails because
7947 `*' detects a read-only buffer, but RECORD_FLAG is set,
7948 record it anyway if the args don't actually do tty input.
7949
7950 2002-11-22 Dave Love <fx@gnu.org>
7951
7952 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
7953
7954 * keyboard.c (interrupt_signal): Provide forward declaration.
7955 (kbd_buffer_store_event): Don't declare interrupt_signal.
7956
7957 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
7958
7959 2002-11-21 Richard M. Stallman <rms@gnu.org>
7960
7961 * eval.c (interactive_p): Skip any number of bytecode
7962 and special form frames, in any order.
7963
7964 2002-11-20 Jason Rumney <jasonr@gnu.org>
7965
7966 * w32fns.c (convert_mono_to_color_image): New function.
7967 (xbm_load, xbm_load_image): Use it when foreground or background
7968 is explicitly set.
7969
7970 2002-11-19 Dave Love <fx@gnu.org>
7971
7972 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
7973
7974 2002-11-18 Jason Rumney <jasonr@gnu.org>
7975
7976 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
7977 (XPutPixel): Swap blue and red.
7978 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
7979 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
7980 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
7981 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
7982
7983 2002-11-18 Dave Love <fx@gnu.org>
7984
7985 * m/orion105.h (HAVE_ALLOCA): Don't define.
7986
7987 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
7988
7989 * m/intel386.h: Don't include alloca.h or define alloca.
7990
7991 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
7992 malloc, realloc, calloc.
7993
7994 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
7995 (bcmp): Don't define.
7996
7997 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
7998
7999 * m/amdahl.h: Don't define LIB_STANDARD.
8000
8001 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
8002
8003 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
8004
8005 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
8006 Don't include alloca.h.
8007
8008 * s/aix3-2.h (HAVE_FSYNC): Don't define.
8009
8010 * regex.c (_GNU_SOURCE): Don't define.
8011
8012 * process.c (_GNU_SOURCE): Don't define.
8013
8014 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
8015
8016 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
8017
8018 * s/sol2-8.h: Include sol2-6.h.
8019
8020 2002-11-18 Miles Bader <miles@gnu.org>
8021
8022 * dispextern.h (struct face): Add `overstrike' field.
8023 * xterm.c (x_draw_glyph_string_foreground)
8024 (x_draw_composite_glyph_string_foreground): Implement overstriking.
8025 * xfaces.c (load_face_font): Set `face->overstrike' based on
8026 result from choose_face_font.
8027 (best_matching_font, choose_face_font): Add `needs_overstrike'
8028 argument, and use it to return whether overstriking is desirable
8029 for this face/font combo.
8030 (set_font_frame_param: Pass new argument to choose_face_font.
8031
8032 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
8033
8034 This change is my fix for the following entry in etc/PROBLEMS:
8035 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
8036 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
8037
8038 * w32.c: Added wrapper functions around the win32 API functions
8039 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
8040 GetSidIdentifierAuthority. These wrapper functions serve two
8041 purposes:
8042 1. They ensure that the wrapped function can never be called
8043 when Emacs is running on an operating system on which they are
8044 not supported (Microsoft Windows 95 / 98 / ME).
8045 2. They call the wrapped functions via function pointers rather
8046 than calling them directly. This avoids taking advantage of the
8047 undocumented fact that although these functions are not supported
8048 in the 9x branch of Microsoft Windows, the functions do exist in
8049 the version of advapi32.dll that is found in the 9x branch of
8050 Microsoft Windows.
8051
8052 * w32.c (init_user_info): Replace the calls to the win32 API
8053 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
8054 and GetSidIdentifierAuthority with calls to the newly added
8055 wrapper functions.
8056
8057 * w32.h: Added extern declarations for the following functions:
8058 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
8059 syms_of_w32menu, and void syms_of_fontset.
8060
8061 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
8062 function pointer track_mouse_event_fn in the handler for the
8063 WM_SETFOCUS message.
8064
8065 * w32menu.c (initialize_frame_menubar): Add code to
8066 reinitialize the function pointers set_menu_item_info and
8067 get_menu_item_info.
8068
8069 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
8070
8071 * sound.c: Added a partial implementation of play-sound-internal
8072 for Microsoft Windows. Added various #ifdef / #else / #endif
8073 code blocks to separate the code that will compile under
8074 Microsoft Windows from the code that is specific to Gnu/Linux.
8075 Moved several blocks of code around to make this separation of code
8076 into Windows compatible and Gnu/Linux compatible code blocks easier.
8077
8078 * makefile.w32-in: Include sound.c and link with WinMM.lib.
8079
8080 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
8081 added support for play-sound-internal under Windows would be
8082 included in the build of Emacs.
8083
8084 2002-11-16 Jason Rumney <jasonr@gnu.org>
8085
8086 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
8087
8088 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
8089
8090 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
8091
8092 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
8093 (adjust_point_for_property): Move out of display and invisible even if
8094 we were already inside before (in case a property was added while
8095 we weren't looking). Be more careful when handling invisible props.
8096 Skip invisible text as if it really wasn't there at all.
8097
8098 2002-11-15 Jason Rumney <jasonr@gnu.org>
8099
8100 * w32term.c (x_draw_image_foreground)
8101 (w32_draw_image_foreground_1): Use standard copy and invert
8102 operations to draw images.
8103
8104 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
8105 depth of 1.
8106 (xbm_read_bitmap_data): Invert bits as xbm is read in.
8107 (XPutPixel): Don't invert bits here.
8108
8109 2002-11-15 Jason Rumney <jasonr@gnu.org>
8110
8111 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
8112 (w32_draw_image_foreground_1): Handle image masks.
8113 (x_draw_image_glyph_string): Don't BitBlt transparently.
8114
8115 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
8116 (x_from_xcolors): Adjust RGB values for W32.
8117 (image_background, image_background_transparent)
8118 (postprocess_image, x_to_xcolors, x_disable_image)
8119 (x_build_heuristic_mask): Adapt for W32 and enable.
8120 (x_create_x_image_and_pixmap): Mark images with palettes as such.
8121 (xbm_load): Remove unused variable.
8122
8123 2002-11-14 Richard M. Stallman <rms@gnu.org>
8124
8125 * buffer.c (syms_of_buffer): Doc fix.
8126
8127 2002-11-14 Dave Love <fx@gnu.org>
8128
8129 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
8130
8131 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
8132 * xmenu.c (unuse_menu_items, digest_single_submenu):
8133 * xfns.c (x_put_x_image):
8134 * xdisp.c (message2_nolog, set_message):
8135 * undo.c (record_point):
8136 * terminfo.c (tparam):
8137 * syntax.c (scan_sexps_forward):
8138 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
8139 * composite.c (update_compositions):
8140 * cm.c (calccost, cmgoto):
8141 * charset.c (c_string_width): Declare all args (per C99).
8142
8143 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
8144
8145 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
8146 Don't declare.
8147
8148 * emacs.c (main) [!VMS]: Avoid third arg.
8149
8150 * fns.c (Fcopy_sequence): Doc fix.
8151 (Fmap_char_table): Cast `call2'.
8152
8153 2002-11-14 Francesco Potorti` <pot@gnu.org>
8154
8155 * s/sol2-8.h: New file.
8156
8157 2002-11-14 Kim F. Storm <storm@cua.dk>
8158
8159 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
8160 dependency on `risky-local-variable' and the :propertize form.
8161
8162 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
8163
8164 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
8165
8166 * syntax.c (scan_sexps_forward): Undo last patch.
8167 Use a more obvious fix: check eob before updating the syntax table.
8168
8169 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
8170
8171 * syntax.c (scan_sexps_forward): Update syntax table before reading
8172 a char rather than after so we don't update the table past eob.
8173
8174 2002-11-09 Dave Love <fx@gnu.org>
8175
8176 * buffer.c (Fset_buffer_major_mode): Fix last change.
8177
8178 * regex.c (regexec): Fix pmatch declaration.
8179
8180 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
8181
8182 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
8183 to self-inserting characters.
8184 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
8185
8186 * coding.c (Vtranslation_table_for_input): New.
8187 (syms_of_coding): DEFVAR it.
8188
8189 2002-11-08 Juanma Barranquero <lektu@terra.es>
8190
8191 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
8192 window.
8193
8194 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8195
8196 * process.c (Fformat_network_address): Remove unused locals p,
8197 cp, and i.
8198
8199 2002-11-06 Dave Love <fx@gnu.org>
8200
8201 * buffer.c (Qset_buffer_major_mode_hook): New.
8202 (Fset_buffer_major_mode): Use it.
8203
8204 2002-11-06 Richard M. Stallman <rms@gnu.org>
8205
8206 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
8207 and stop_polling.
8208
8209 * process.c (wait_reading_process_input):
8210 Test POLLING_PROBLEM_IN_SELECT, not hpux.
8211 Avoid initialization for auto Lisp_Object var.
8212
8213 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
8214
8215 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
8216
8217 2002-11-05 Richard M. Stallman <rms@gnu.org>
8218
8219 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
8220
8221 * callint.c (Fcall_interactively): New local filter_specs.
8222 (Fcall_interactively): Check for progn as well as let.
8223 Add a gcpro.
8224 (Qprogn): New variable.
8225 (syms_of_callint): Staticpro and init Qprogn.
8226
8227 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
8228
8229 * lread.c (Feval_buffer): Doc fix.
8230
8231 2002-11-04 Dave Love <fx@gnu.org>
8232
8233 * keyboard.c (read_char): Always translate iff
8234 Vkeyboard_translate_table is a char table and c is valid.
8235
8236 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8237 and fix C types.
8238
8239 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
8240
8241 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
8242
8243 * editfns.c (get_pos_property): Don't hardcode Qfield.
8244
8245 * keyboard.c (adjust_point_for_property): Handle `display' prop on
8246 overlays. Also handle `invisible' prop.
8247
8248 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
8249
8250 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
8251 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
8252
8253 2002-11-01 Andreas Schwab <schwab@suse.de>
8254
8255 * editfns.c (Fmessage): Revert last change to properly handle %%.
8256
8257 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
8258
8259 * xmenu.c (unuse_menu_items): New fun.
8260 (menu_items_inuse): New var.
8261 (syms_of_xmenu): Initialize it.
8262 (init_menu_items): Use it to detect re-entrance.
8263 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
8264 (Fx_popup_menu): Remove spurious XSETFRAME.
8265
8266 * editfns.c (find_field): Make an exception for nil fields.
8267
8268 2002-11-01 Dave Love <fx@gnu.org>
8269
8270 * m/gec63.h: Deleted.
8271
8272 2002-10-31 Dave Love <fx@gnu.org>
8273
8274 * xterm.c (XTread_socket): Fix last change.
8275 (xaw_scroll_callback): Cast call_data to long to avoid warning.
8276
8277 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
8278
8279 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
8280
8281 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
8282
8283 * editfns.c (overlays_around, get_pos_property): New funs.
8284 (find_field): Use them.
8285 Also be careful not to modify POS before its last use.
8286 (Fmessage): Don't Fformat if there's nothing to format.
8287
8288 2002-10-30 Dave Love <fx@gnu.org>
8289
8290 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
8291 [HAVE_PTY_H]; Include pty.h.
8292
8293 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
8294
8295 * xterm.c (Qeql): Declare.
8296 (Vx_keysym_table): New.
8297 (syms_of_xterm): Initialize it.
8298 (XTread_socket): Use it. Deal with ASCII keysyms.
8299 (XSetIMValues) [HAVE_X11R6]: Prototype.
8300
8301 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
8302 (lispy_kana_keys): Comment out.
8303 (make_lispy_event) [XK_kana_A]: Comment out.
8304 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
8305 Fix sprintf call.
8306
8307 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
8308 regexp.h change).
8309 (TERMINFO, LIBS_TERMCAP): Define.
8310
8311 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
8312 (bcmp): Define conditional on HAVE_BCMP.
8313 (NO_SIOCTL_H): Don't define.
8314 (TIOCSIGSEND): Don't make conditional on IRIX6.
8315
8316 * s/sol2-5.h: Don't include strings.h.
8317 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
8318
8319 * s/irix6-0.h (IRIX6): Don't define.
8320 (bcopy, bcmp, bzero): Don't undef.
8321
8322 * s/irix6-5.h: Don't include strings.h.
8323 (IRIX6): Don't define.
8324 (bcopy, bcmp, bzero): Don't undef.
8325
8326 * syntax.c (Fforward_comment): Doc fix.
8327
8328 2002-10-29 Kim F. Storm <storm@cua.dk>
8329
8330 * process.c (Fsignal_process): Allow PROCESS to be specified by
8331 name in addition to pid (as integer or string).
8332
8333 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
8334
8335 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
8336 environments.
8337
8338 2002-10-27 Kim F. Storm <storm@cua.dk>
8339
8340 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
8341
8342 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
8343
8344 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
8345
8346 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
8347
8348 2002-10-26 Richard M. Stallman <rms@gnu.org>
8349
8350 * editfns.c (Fformat): Detect invalid format letters for floats.
8351
8352 2002-10-25 Kenichi Handa <handa@m17n.org>
8353
8354 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
8355 (x_set_title): Likewise.
8356
8357 2002-10-25 Juanma Barranquero <lektu@terra.es>
8358
8359 * macgui.h:
8360 * w32gui.h: Remove definition of XColor.
8361
8362 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
8363
8364 2002-10-24 Kim F. Storm <storm@cua.dk>
8365
8366 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
8367 Callers changed (supply dummy arg).
8368
8369 * lisp.h (get_window_cursor_type): Update prototype.
8370
8371 * w32term.c (x_display_and_set_cursor): Get active_cursor from
8372 get_window_cursor_type to track system caret.
8373
8374 2002-10-24 Kim F. Storm <storm@cua.dk>
8375
8376 * process.c (Fformat_network_address): New function.
8377 (syms_of_process): Defsubr it.
8378 (list_processes_1): Use it to format :local/:remote address if
8379 service/host is not set; before Emacs would crash in that case.
8380 (Fmake_network_process): Don't use Ffind_operation_coding_system
8381 to setup coding system if host or service is not set.
8382
8383 2002-10-23 Juanma Barranquero <lektu@terra.es>
8384
8385 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
8386
8387 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
8388 COLORREF.
8389
8390 * macgui.h:
8391 * w32gui.h: Add definition of XColor.
8392
8393 * macfns.c:
8394 * w32fns.c:
8395 * xfaces.c: Remove definition of XColor.
8396
8397 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
8398
8399 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
8400
8401 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
8402 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
8403 window if it is dedicated.
8404 (Fshrink_window): Add preserve_before as was done for enlarge_window.
8405 (Vspecial_display_function): Update docstring.
8406
8407 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
8408 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
8409 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
8410
8411 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
8412
8413 * casefiddle.c (casify_region): Don't treat a prefix char as part
8414 of a word when at the beginning.
8415
8416 2002-10-17 Juanma Barranquero <lektu@terra.es>
8417
8418 * lread.c (syms_of_lread): Fix typos.
8419
8420 2002-10-17 Dave Love <fx@gnu.org>
8421
8422 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
8423
8424 2002-10-16 Richard M. Stallman <rms@gnu.org>
8425
8426 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
8427
8428 2002-10-14 Juanma Barranquero <lektu@terra.es>
8429
8430 * w16select.c (syms_of_win16select): Fix docstring for
8431 `selection-coding-system'.
8432
8433 * w32select.c (syms_of_w32select): Likewise.
8434
8435 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
8436
8437 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
8438 a backslash-quoted char.
8439 (scan_lists, scan_sexps_forward): Pacify the compiler.
8440
8441 2002-10-13 Richard M. Stallman <rms@gnu.org>
8442
8443 * window.c (window_scroll): Set immediate_quit.
8444
8445 * print.c (print): When backquote form is the car of a list,
8446 output in old style. Use old_backquote_output to output all
8447 comma forms inside it in old style too.
8448
8449 * buffer.h (struct buffer): Move `undo_list' down below `name'.
8450
8451 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
8452
8453 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
8454 batch mode).
8455
8456 * lread.c (Fload): Doc fix (load-suffixes).
8457
8458 2002-10-10 Steven Tamm <steventamm@mac.com>
8459
8460 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
8461 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
8462 Also switch the default to Qnil from Qt.
8463
8464 2002-10-08 Kenichi Handa <handa@m17n.org>
8465
8466 * coding.c (code_convert_region): When we need more GAP for
8467 conversion, pay attention to the case that coding->produced is not
8468 greater than coding->consumed.
8469
8470 2002-10-07 Richard M. Stallman <rms@gnu.org>
8471
8472 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
8473
8474 2002-10-06 Andrew Choi <akochoi@shaw.ca>
8475
8476 * macmenu.c (mac_menu_show): Add j to count menu items; match
8477 menu_item_selection to it to find selected item.
8478
8479 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8480
8481 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
8482 cases. The correct fix is to pass ReparentNotify to Xt.
8483 The shell widget interprets ConfigureNotify differently depending
8484 on if it has been reparented or not.
8485
8486 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
8487
8488 * editfns.c (Fformat_time_string): Doc fix.
8489
8490 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
8491
8492 * fns.c (Flength): Doc fix.
8493
8494 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
8495
8496 * keyboard.c (keyremap): New struct.
8497 (read_key_sequence): Use it: globally replace keytran_foo with
8498 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
8499 keytran_next and fkey_next to just `next'.
8500
8501 2002-10-04 Steven Tamm <steventamm@mac.com>
8502
8503 * macterm.c (keycode_to_xkeysym_table): Change return to be
8504 treated like an X keysym.
8505
8506 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8507
8508 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
8509 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
8510 This is to also handle x/y changes that occur because of a resize.
8511
8512 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
8513
8514 * frame.c (Vdelete_frame_functions): New variable.
8515 (syms_of_frame): Initialize and defvar it.
8516 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
8517 it when frame's `tooltip' parameter is non-nil.
8518
8519 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
8520
8521 * w32fns.c (x_create_tip_frame): Likewise.
8522
8523 * macfns.c (x_create_tip_frame): Likewise.
8524
8525 2002-09-30 Kenichi Handa <handa@m17n.org>
8526
8527 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
8528 -1 before calling ccl_driver.
8529
8530 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
8531 Only when it is non-nil, handle composition sequence.
8532 (setup_coding_system) <0>: Don't force composition handling.
8533
8534 * Makefile.in (lisp, shortlisp): Add utf-16.elc
8535
8536 2002-09-29 Richard M. Stallman <rms@gnu.org>
8537
8538 * search.c (Freplace_match): Adjust match data for the substitution
8539 just made in the buffer.
8540
8541 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
8542 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
8543
8544 2002-09-27 Richard M. Stallman <rms@gnu.org>
8545
8546 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
8547 (read_char): Use them. Do all exits thru the end of the function.
8548
8549 2002-09-27 Kenichi Handa <handa@etl.go.jp>
8550
8551 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
8552 is nil.
8553
8554 2002-09-26 Richard M. Stallman <rms@gnu.org>
8555
8556 * regex.h (__restrict_arr): Don't define if already defined.
8557
8558 * coding.c (run_pre_post_conversion_on_str):
8559 Save and restore Vdeactivate_mark.
8560
8561 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
8562
8563 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
8564
8565 2002-09-26 Kenichi Handa <handa@etl.go.jp>
8566
8567 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
8568 nonzero, try face's family at first. Otherwise try FAMILY at first.
8569 (choose_face_font): If C is a single byte char or latin-1, call
8570 try_font_list with PREFER_FACE_FAMILY 1.
8571
8572 2002-09-21 Richard M. Stallman <rms@gnu.org>
8573
8574 * window.c (select_window_1): Don't select frame.
8575 Set frame's selected window only when frame itself is selected.
8576 (Fselect_window): Doc fix.
8577
8578 2002-09-18 Kim F. Storm <storm@cua.dk>
8579
8580 * process.c (make-network-process): Doc fix (there is no
8581 network-server-log-function hook).
8582
8583 2002-09-18 Richard M. Stallman <rms@gnu.org>
8584
8585 * print.c (print): Clear out the unused parts of Vprint_number_table.
8586 (syms_of_print): Doc fix for `print-number-table'.
8587
8588 * unexelf.c (unexec): Undo previous change.
8589
8590 2002-09-17 Andreas Schwab <schwab@suse.de>
8591
8592 * m/alpha.h [LINUX]: Don't define DATA_START.
8593
8594 2002-09-16 Dave Love <fx@gnu.org>
8595
8596 * unexelf.c (unexec): Deal with .got, reinstating change from
8597 25-08-1999.
8598
8599 2002-09-13 Richard M. Stallman <rms@gnu.org>
8600
8601 * s/sol2-6.h (UNEXEC): Comment out definition.
8602
8603 * unexsol.c (unexec): Don't downcase first letter of error msg.
8604
8605 * xfaces.c (Fcolor_supported_p): Just one arg is required.
8606
8607 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
8608
8609 * unexsol.c: Include buffer.h, charset.h, coding.h.
8610
8611 2002-09-11 Richard M. Stallman <rms@gnu.org>
8612
8613 * unexsol.c: Don't use report_file_error; do it by hand
8614 using dlerror.
8615
8616 * process.c (wait_reading_process_input, both versions):
8617 Before calling turn_on_atimers, call stop_polling.
8618
8619 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
8620
8621 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
8622 we go to too_near_end, call clear_glyph_matrix.
8623 (redisplay_window): After make_cursor_line_fully_visible,
8624 call clear_glyph_matrix and bypass `goto done'.
8625
8626 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
8627 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
8628
8629 2002-09-10 Richard M. Stallman <rms@gnu.org>
8630
8631 * fileio.c (Fdo_auto_save): Catch error making directory.
8632 Only call push_message if we need to.
8633 At the same time, make an unwind-protect to pop it.
8634 Rename local message_p to old_message_p.
8635 (do_auto_save_make_dir, do_auto_save_eh): New functions.
8636 (do_auto_save_unwind): Don't call pop_message.
8637
8638 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
8639
8640 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
8641
8642 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
8643
8644 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
8645
8646 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
8647
8648 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
8649 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
8650 (re_match_2_internal): Be more careful with infinite loops.
8651
8652 2002-09-10 Kim F. Storm <storm@cua.dk>
8653
8654 * macros.c (end_kbd_macro): New function.
8655 (Fend_kbd_macro): Use it.
8656
8657 * macros.h (end_kbd_macro): Declare extern.
8658
8659 * keyboard.c (Fdiscard_input): If defining keyboard macro,
8660 end and save it instead of discarding it.
8661
8662 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
8663
8664 * s/sol2-6.h: Fix typo. Add comment.
8665
8666 2002-09-09 Richard M. Stallman <rms@gnu.org>
8667
8668 * regex.c (regnum_t): Use signed int, not unsigned int.
8669
8670 * s/sol2-6.h: New file.
8671
8672 * s/sol2-5.h (UNEXEC): Definition deleted.
8673
8674 2002-09-08 Kim F. Storm <storm@cua.dk>
8675
8676 * macros.c (executing_macro_index): Change type to EMACS_INT.
8677 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
8678
8679 * macros.h (executing_macro_index): Change type to EMACS_INT.
8680
8681 2002-09-06 Richard M. Stallman <rms@gnu.org>
8682
8683 * casetab.c (set_case_table): Make canon table point to eqv table.
8684
8685 2002-09-06 Juanma Barranquero <lektu@terra.es>
8686
8687 * coding.c (syms_of_coding): Fix spacing.
8688
8689 * composite.c (Fcompose_region_internal)
8690 (Fcompose_string_internal): Likewise.
8691
8692 * data.c (Flsh): Likewise.
8693
8694 * fontset.c (Fset_fontset_font): Likewise.
8695
8696 * macfns.c (Fx_server_max_request_size): Likewise.
8697
8698 * w16select.c (syms_of_win16select): Likewise.
8699
8700 * w32select.c (syms_of_w32select): Likewise.
8701
8702 * xselect.c (syms_of_xselect): Likewise.
8703
8704 2002-09-05 Richard M. Stallman <rms@gnu.org>
8705
8706 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
8707 call EXTEND_RANGE_TABLE and return a proper value.
8708 (set_image_of_range): Don't call set_image_of_range_1
8709 if no TRANSLATE or if range includes all of Latin-1.
8710 Only call it for the Latin-1 part of the range.
8711 For other cases, make two separate ranges,
8712 one for the original specified characters and one for
8713 their case-conversions.
8714
8715 2002-09-04 Richard M. Stallman <rms@gnu.org>
8716
8717 * s/sol2-5.h (UNEXEC): Use unexsol.o.
8718
8719 * window.c (displayed_window_lines): Correct for one-off bug
8720 in HEIGHT on non-window displays.
8721
8722 * regex.c (set_image_of_range_1): New function.
8723 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
8724 Return a value to indicate running out of memory.
8725 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
8726 (extend_range_table_work_area): New subroutine.
8727 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
8728 Different calling conventions, and used from set_image_of_range{,_1}.
8729 (IMMEDIATE_QUIT_CHECK): Definitions moved.
8730
8731 2002-09-04 Juanma Barranquero <lektu@terra.es>
8732
8733 * makefile.w32-in: All dependencies updated.
8734
8735 2002-09-01 Richard M. Stallman <rms@gnu.org>
8736
8737 * unexsol.c: New file.
8738
8739 * xfns.c (Qbox): Declare external, don't define.
8740
8741 * xdisp.c (redisplay_window) <force-start case>:
8742 If point is on semi-visible last line, reposition
8743 it at previous line.
8744
8745 * alloc.c (display_malloc_warning): Use display-warning.
8746 (malloc_warning_1): Function deleted.
8747
8748 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
8749
8750 * lread.c (read1): Handle #! by skipping the line.
8751
8752 2002-08-31 Richard M. Stallman <rms@gnu.org>
8753
8754 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
8755 Don't include LDFLAGS.
8756 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
8757
8758 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
8759
8760 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
8761 member of x_display_info unless we compile for some window system.
8762
8763 2002-08-31 Kim F. Storm <storm@cua.dk>
8764
8765 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
8766 (get_window_cursor_type): Don't use them.
8767 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
8768
8769 2002-08-30 Kenichi Handa <handa@etl.go.jp>
8770
8771 * xdisp.c (get_next_display_element): Fix previous change.
8772
8773 2002-08-30 Andrew Choi <akochoi@shaw.ca>
8774
8775 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
8776 (expose_window): Use it to fix the display of overlapping
8777 rows (merge code from xterm.c).
8778
8779 * macfns.c (Qbox): Add extern declaration.
8780
8781 2002-08-30 Juanma Barranquero <lektu@terra.es>
8782
8783 * w32fns.c (Qbox): Make extern.
8784 (syms_of_w32fns): Remove initialization of Qbox.
8785
8786 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
8787
8788 * xfns.c (Fx_open_connection): Fix error message.
8789
8790 2002-08-30 Kim F. Storm <storm@cua.dk>
8791
8792 The following changes consolidates the handling of the cursor
8793 type in xdisp.c, moving duplicate code and functionality from
8794 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
8795
8796 * frame.h (enum text_cursor_kinds): Consolidated here.
8797 Added DEFAULT_CURSOR value.
8798 (struct frame) <desired_cursor, cursor_width>
8799 <blink_off_cursor, blink_off_cursor_width>: New fields.
8800 Consolidated from output_x, output_w32 and output_mac structs.
8801 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
8802 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
8803
8804 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
8805 Variables consolidated here.
8806 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
8807 (Vcursor_in_non_selected_windows): Renamed from
8808 cursor_in_non_selected_windows and changed to Lisp_Object.
8809 (syms_of_xdisp): Define and staticpro new and moved variables.
8810 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
8811 consolidated here. Recognize Qhollow setting.
8812 (set_frame_cursor_types): New function to set frame cursor types
8813 based on the frame parameters.
8814 (get_window_cursor_type): New function to calculate new cursor
8815 type and width for the specified window. Based on duplicated
8816 code consolidated here.
8817 Enhancements: cursor-in-non-selected-windows may be a cursor type,
8818 check buffer-local alternate-cursor-type and blink-cursor-alist
8819 before using built-in blink off methods.
8820
8821 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
8822
8823 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
8824 (get_specified_cursor_type, get_window_cursor_type)
8825 (set_frame_cursor_types): Added prototypes.
8826
8827 * macfns.c (x_specified_cursor_type): Removed.
8828 (x_set_cursor_type): Use set_frame_cursor_types.
8829 (Qbar, Qbox): Removed.
8830 (syms_of_macfns): Don't intern or staticpro them.
8831
8832 * macterm.c (x_specified_cursor_type): Remove prototype.
8833 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
8834 (x_display_and_set_cursor): Use get_window_cursor_type.
8835 Remove unused local variables cursor_non_selected, active_cursor.
8836 Redraw cursor if hbar cursor width changes.
8837 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
8838
8839 * macterm.h (enum text_cursor_kinds): Removed.
8840 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
8841 <blink_off_cursor, blink_off_cursor_width>: Members removed.
8842 (FRAME_DESIRED_CURSOR): Macro removed.
8843
8844 * w32fns.c (Vblink_cursor_alist): Removed.
8845 (Qbar, Qhbar, Qbox, Qhollow): Removed.
8846 (syms_of_w32fns): Don't intern, staticpro, or define them.
8847 (x_specified_cursor_type): Removed.
8848 (x_set_cursor_type): Use set_frame_cursor_types.
8849
8850 * w32term.c (x_specified_cursor_type): Remove prototype.
8851 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
8852 (x_display_and_set_cursor): Use get_window_cursor_type.
8853 Remove unused local variables cursor_off_state.
8854 Redraw cursor if hbar cursor width changes.
8855 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
8856
8857 * w32term.h (enum text_cursor_kinds): Removed.
8858 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
8859 <blink_off_cursor, blink_off_cursor_width>: Members removed.
8860 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
8861 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
8862 (struct w32_display_info) <x_highlight_frame>: Renamed member from
8863 w32_highlight_frame.
8864
8865 * xfns.c (Vblink_cursor_alist): Removed.
8866 (Qbar, Qhbar, Qbox, Qhollow): Removed.
8867 (syms_of_xfns): Don't intern, staticpro, or define them.
8868 (x_specified_cursor_type): Removed.
8869 (x_set_cursor_type): Use set_frame_cursor_types.
8870
8871 * xterm.c (x_specified_cursor_type): Remove prototype.
8872 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
8873 (x_display_and_set_cursor): Use get_window_cursor_type.
8874 Remove unused local variables cursor_off_state.
8875 Redraw cursor if hbar cursor width changes.
8876
8877 * xterm.h (enum text_cursor_kinds): Removed.
8878 (struct output_x) <current_cursor, desired_cursor, cursor_width>
8879 <blink_off_cursor, blink_off_cursor_width>: Members removed.
8880 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
8881 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
8882 (x_specified_cursor_type): Remove prototype.
8883
8884 2002-08-28 Richard M. Stallman <rms@gnu.org>
8885
8886 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
8887 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
8888 (Vblink_cursor_alist): New variable.
8889 (syms_of_w32fns): Initialize and defvar it.
8890 (x_specified_cursor_type): Recognize Qbox for filled box.
8891 Exceptions are hollow boxes.
8892 (Qbox, Qhollow): New variables.
8893 (syms_of_w32fns): Initialize and staticpro them.
8894
8895 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
8896 New macros.
8897 (struct w32_output): New fields blink_off_cursor,
8898 blink_off_cursor_width.
8899 (FRAME_CURSOR_WIDTH): New macro.
8900
8901 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
8902 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
8903
8904 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
8905 for bar cursor.
8906
8907 * w32term.c (expose_overlaps): New function.
8908 (expose_window): Use it to fix the display of overlapping rows.
8909
8910 2002-08-28 Simon Josefsson <jas@extundo.com>
8911
8912 * xfns.c (Fx_open_connection): Improve help when X connection
8913 fails, xhost is insecure and xauth is better.
8914
8915 2002-08-28 Juanma Barranquero <lektu@terra.es>
8916
8917 * makefile.w32-in: Add missing dependencies on w32term.h and
8918 composite.h.
8919
8920 * emacs.c (USAGE1): Add missing newline.
8921
8922 2002-08-27 Andrew Choi <akochoi@shaw.ca>
8923
8924 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
8925
8926 2002-08-27 Richard M. Stallman <rms@gnu.org>
8927
8928 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
8929 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
8930 (Vblink_cursor_alist): New variable.
8931 (syms_of_xfns): Initialize and defvar it.
8932 (x_specified_cursor_type): Recognize Qbox for filled box.
8933 Exceptions are hollow boxes.
8934 (Qbox, Qhollow): New variables.
8935 (syms_of_xfns): Initialize and staticpro them.
8936
8937 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
8938 New macros.
8939 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
8940
8941 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
8942 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
8943
8944 * emacs.c (main): Handle --script.
8945 (USAGE1): Mention --script.
8946 (standard_args): Define sort order for --script.
8947
8948 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
8949
8950 * xdisp.c (redisplay_updating_p): Variable removed.
8951 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
8952 New variables.
8953 (init_iterator): Don't free realized faces if
8954 inhibit_free_realized_faces is set.
8955 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
8956 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
8957 initialize Qinhibit_free_realized_faces.
8958
8959 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
8960 when iterator is adding glyphs to a glyph matrix.
8961
8962 2002-08-27 Kenichi Handa <handa@etl.go.jp>
8963
8964 * xdisp.c (get_next_display_element): In unibyte case, don't use
8965 octal form for such eight-bit characters that can be converted to
8966 multibyte char.
8967
8968 2002-08-26 Kim F. Storm <storm@cua.dk>
8969
8970 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
8971 and background colors. From Joe Buehler (tiny change).
8972
8973 2002-08-26 Miles Bader <miles@gnu.org>
8974
8975 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
8976
8977 2002-08-25 Andrew Choi <akochoi@shaw.ca>
8978
8979 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
8980 defined instead of MAC_OSX.
8981
8982 * s/darwin.h (select): Define select to sys_select only if
8983 HAVE_CARBON is defined.
8984 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
8985 (DONT_REOPEN_PTY): #def it.
8986
8987 * macterm.c (XTread_socket): Remove code to call
8988 SendEventToEventTarget for keys with command modifiers when
8989 mac_command_key_is_meta is nil.
8990
8991 2002-08-24 Andreas Schwab <schwab@suse.de>
8992
8993 * eval.c (Fdefvar): Fix last change.
8994
8995 2002-08-23 Richard M. Stallman <rms@gnu.org>
8996
8997 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
8998 Record variables in load history as (defvar . VAR).
8999 (Fdefvar): Don't record in load history if no initial value.
9000 (Qdefvar): New variable.
9001 (syms_of_eval): Init and staticpro it.
9002
9003 * lread.c (syms_of_lread): Doc fix.
9004 (build_load_history): Use Fmember to see if a definition
9005 is already in the Vload_history element.
9006
9007 * process.c (Fstart_process): Remove /: from program name.
9008
9009 * emacs.c (decode_env_path): Don't add /: if file name handler
9010 has a `safe-magic' property.
9011
9012 * callproc.c (Fcall_process): Remove /: from program name.
9013
9014 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
9015
9016 * regex.c (PATFETCH): Remove the translating fetch.
9017 (PATFETCH_RAW): Rename to PATFETCH.
9018 (set_image_of_range): New fun.
9019 (SET_RANGE_TABLE_WORK_AREA): Use it.
9020 (regex_compile): Don't translate the pattern chars so eagerly.
9021 Only do it when inserting an `exactn' bytecode or when handling
9022 a char-range.
9023 (mutually_exclusive_p): Avoid empty statement.
9024
9025 2002-08-22 Kim F. Storm <storm@cua.dk>
9026
9027 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
9028 end up on a partially visible line; this reverts a specific part
9029 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
9030 display error which has been reported several times now.
9031 However it introduces the problem that changes was supposed to fix.
9032 See my comments in the source if you want to debug this further.
9033
9034 2002-08-20 Kenichi Handa <handa@etl.go.jp>
9035
9036 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
9037
9038 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
9039
9040 * msdos.c (croak): Add `void' to definition.
9041
9042 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
9043 Don't define them, they are defined in msdos.c.
9044
9045 * mem-limits.h [MSDOS]: Declare etext.
9046
9047 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
9048 `const' since CORRECT_DIR_SEPS modifies its target.
9049
9050 2002-08-19 Kim F. Storm <storm@cua.dk>
9051
9052 * keyboard.c (Fclear_this_command_keys): Add optional arg
9053 KEEP-RECORD to avoid clearing lossage when we just want to clear
9054 the current key sequence (kmacro needs this).
9055
9056 2002-08-19 Kenichi Handa <handa@localhost>
9057
9058 * composite.c (run_composition_function): Call FUNC if it is fboundp.
9059
9060 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
9061 cons, return Qnil.
9062
9063 2002-08-17 Richard M. Stallman <rms@gnu.org>
9064
9065 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
9066
9067 * sysdep.c [!VMS]: Include sys/files.h.
9068
9069 * editfns.c (save_restriction_restore): Defend from unchained marker.
9070
9071 * buffer.c (overlays_at): Handle extending vec uniformly.
9072 (overlays_in): Handle extending vec from length 0 as in overlays_at.
9073
9074 2002-08-15 Andrew Choi <akochoi@shaw.ca>
9075
9076 * mac.c (init_mac_osx_environment): New function.
9077
9078 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
9079
9080 2002-08-14 Kim F. Storm <storm@cua.dk>
9081
9082 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
9083 executing macro before appending to it (when used from Lisp).
9084 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
9085 which is called prior to each iteration of macro (for kmacro.el).
9086 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
9087
9088 * lisp.h (Fexecute_kbd_macro): Update prototype.
9089
9090 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
9091
9092 2002-08-14 Kenichi Handa <handa@etl.go.jp>
9093
9094 * xselect.c (QUTF8_STRING): New variable.
9095 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
9096 (x_atom_to_symbol): Likewise.
9097 (x_get_local_selection): New argument local_request. If it is
9098 nonzero, call handler_fn with the second arg nil.
9099 (x_handle_selection_request): Call x_get_local_selection with
9100 local_request 0.
9101 (lisp_data_to_selection_data): Don't encode the string here.
9102 (Fx_get_selection_internal): Call x_get_local_selection with
9103 local_request 1.
9104 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
9105
9106 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
9107
9108 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
9109
9110 2002-08-13 Richard M. Stallman <rms@gnu.org>
9111
9112 * minibuf.c (Fminibufferp): New function.
9113 (syms_of_minibuf): Defsubr it.
9114 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
9115
9116 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
9117
9118 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
9119
9120 2002-08-12 Richard M. Stallman <rms@gnu.org>
9121
9122 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
9123 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
9124 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
9125 already.
9126
9127 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
9128
9129 2002-08-11 Andrew Choi <akochoi@shaw.ca>
9130
9131 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
9132 (Vmac_pass_command_to_system): New variable.
9133 (Vmac_pass_control_to_system): New variable.
9134 (do_mouse_moved): Check wp with is_emacs_window.
9135 (XTread_socket): Check window_ptr with is_emacs_window.
9136 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
9137 events back to Mac Toolbox for processing, depending on values of
9138 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
9139 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
9140 Vmac_pass_control_to_system.
9141
9142 2002-08-10 Kenichi Handa <handa@etl.go.jp>
9143
9144 * coding.c (unencodable_char_position): New function.
9145 (Funencodable_char_position): New function.
9146 (syms_of_coding): Defsubr Funencodable_char_position.
9147
9148 2002-08-10 Andrew Choi <akochoi@shaw.ca>
9149
9150 * mac.c (sys_select) [MAC_OSX]: New function.
9151
9152 * macterm.c (MakeMeTheFrontProcess): New function.
9153 (mac_initialize): Call MakeMeTheFrontProcess.
9154
9155 * s/darwin.h: Define select to sys_select.
9156
9157 2002-08-09 Richard M. Stallman <rms@gnu.org>
9158
9159 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
9160
9161 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
9162
9163 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
9164 end of the buffer.
9165
9166 2002-08-08 Ken Raeburn <raeburn@mit.edu>
9167
9168 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
9169
9170 * puresize.h (BASE_PURESIZE): Increase to 910000.
9171
9172 2002-08-08 Kenichi Handa <handa@etl.go.jp>
9173
9174 * coding.c (Ffind_operation_coding_system): For write-region, if
9175 VISIT is a filename, make it the target.
9176
9177 2002-08-07 Richard M. Stallman <rms@gnu.org>
9178
9179 * alloc.c (mark_object): Detect long lists for debugging.
9180 (mark_object_loop_halt): New variable.
9181
9182 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
9183
9184 * data.c (Fmake_variable_frame_local): Doc fix.
9185
9186 2002-08-01 David Ponce <david@dponce.com>
9187
9188 * w32menu.c (local_heap, local_alloc, local_free): New macros.
9189 (malloc_widget_value, free_widget_value)
9190 (w32_free_submenu_strings): Use them.
9191
9192 (push_submenu_start, push_submenu_end, push_left_right_boundary)
9193 (push_menu_pane, push_menu_item, single_keymap_panes)
9194 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
9195 (single_submenu, set_frame_menubar)
9196 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
9197
9198 (Fx_popup_menu): Don't show pop up menu until preceding one is
9199 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
9200
9201 * w32menu.c: Changes adapted from xmenu.c
9202 (set_frame_menubar): First parse all submenus,
9203 then make widget_value trees from them.
9204 Don't allocate any widget_value objects
9205 until we are done with the parsing.
9206 (parse_single_submenu): New function.
9207 (digest_single_submenu): New function.
9208 (single_submenu): Function deleted, replaced by those two.
9209
9210 2002-08-04 Andrew Choi <akochoi@shaw.ca>
9211
9212 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
9213 returns a valid window pointer before proceeding for keyDown and
9214 autoKey events.
9215
9216 2002-08-03 Andrew Choi <akochoi@shaw.ca>
9217
9218 * macterm.c (USE_CARBON_EVENTS): New macro.
9219 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
9220 (x_iconify_frame): Call CollapseWindow.
9221 (Vmac_reverse_ctrl_meta): New variable.
9222 (Vmac_wheel_button_is_mouse_2): New variable.
9223 (init_mac_drag_n_drop): New function.
9224 (mac_do_receive_drag): New function.
9225 (mac_handle_service_event): New function.
9226 (init_service_handler): New function.
9227 (mac_to_emacs_modifiers): New function.
9228 (mac_event_to_emacs_modifiers): New function.
9229 (mac_get_mouse_btn): New function.
9230 (mac_convert_event_ref): New function.
9231 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
9232 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
9233 mac_get_mouse_btn.
9234 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
9235
9236 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
9237 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
9238 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
9239 TOOL_BAR_EVENT for MAC_OS as well.
9240 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
9241 as for WINDOWS_NT.
9242 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
9243
9244 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
9245
9246 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
9247
9248 * xdisp.c (forward_to_next_line_start): Fix a condition that
9249 lead to a newline being skipped.
9250
9251 2002-08-02 Andrew Choi <akochoi@shaw.ca>
9252
9253 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
9254
9255 2002-08-01 Richard M. Stallman <rms@gnu.org>
9256
9257 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
9258
9259 2002-07-31 Andrew Choi <akochoi@shaw.ca>
9260
9261 * macfns.c: #undef init_process before #define-ing it.
9262
9263 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
9264 HAVE_CARBON is defined.
9265
9266 2002-07-31 Richard M. Stallman <rms@gnu.org>
9267
9268 * xmenu.c (set_frame_menubar): First parse all submenus,
9269 then make widget_value trees from them.
9270 Don't allocate any widget_value objects
9271 until we are done with the parsing.
9272 (parse_single_submenu): New function.
9273 (digest_single_submenu): New function.
9274 (single_submenu): Function deleted, replaced by those two.
9275
9276 2002-07-30 Juanma Barranquero <lektu@terra.es>
9277
9278 * w32proc.c (syms_of_ntproc): Fix docstring of
9279 `w32-get-true-file-attributes'.
9280
9281 2002-07-28 Richard M. Stallman <rms@gnu.org>
9282
9283 * s/hpux8.h (HPUX8): Define this before including hpux.h.
9284 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
9285
9286 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
9287
9288 * keyboard.c (make_lispy_event):
9289 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
9290 Explicitly clear up_modifier in event->modifiers.
9291
9292 2002-07-27 Richard M. Stallman <rms@gnu.org>
9293
9294 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
9295
9296 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
9297 for bar cursor.
9298
9299 2002-07-26 Kenichi Handa <handa@etl.go.jp>
9300
9301 * coding.c (detect_coding_iso2022): While checking a byte sequence
9302 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
9303 it in the normal loop.
9304
9305 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
9306
9307 * xterm.c (expose_overlaps): New function.
9308 (expose_window): Use it to fix the display of overlapping rows.
9309
9310 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
9311
9312 2002-07-23 Ken Raeburn <raeburn@gnu.org>
9313
9314 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
9315 since it only depends on XUINT.
9316
9317 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
9318 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
9319 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
9320 Macros deleted.
9321
9322 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
9323 its value over other approaches.
9324 * sysdep.c (start_of_data): Don't define the function if a macro
9325 form has been defined.
9326
9327 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
9328
9329 * xdisp.c (redisplay_updating_p): New variable.
9330 (init_iterator): Don't free realized faces when
9331 redisplay_updating_p is set.
9332 (redisplay_internal): Set redisplay_updating_p while updating
9333 the display.
9334
9335 2002-07-23 Richard M. Stallman <rms@gnu.org>
9336
9337 * editfns.c (Fmessage): Treat "" like nil.
9338
9339 2002-07-23 Kenichi Handa <handa@etl.go.jp>
9340
9341 * xdisp.c (face_before_or_after_it_pos):
9342 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
9343
9344 2002-07-22 Juanma Barranquero <lektu@terra.es>
9345
9346 * callproc.c (init_callproc) [DOS_NT]:
9347 Initialize Vshared_game_score_directory to nil.
9348 (syms_of_callproc) [DOS_NT]: Likewise.
9349
9350 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
9351
9352 * xdisp.c (display_line): Replace an abort with xassert.
9353
9354 2002-07-21 Richard M. Stallman <rms@gnu.org>
9355
9356 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
9357 and END_UNCHANGED when setting buffer_unchanged_p.
9358 Use current_matrix_up_to_date_p to decide whether to use
9359 try_cursor_movement.
9360
9361 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
9362
9363 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
9364
9365 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
9366 Set to nil if dir does not exist.
9367 (syms_of_callproc): Init unconditionally and simply.
9368
9369 * buffer.c (Fbuffer_list): Doc fix.
9370
9371 2002-07-21 Ken Raeburn <raeburn@gnu.org>
9372
9373 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
9374
9375 * buffer.c (mmap_realloc): When shrinking, make sure number of
9376 pages to unmap is rounded towards zero.
9377
9378 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
9379 (XSETINT): Deleted.
9380
9381 * m/att3b.h (XINT): Don't define.
9382 (VALBITS, VALMASK, XTYPE): Deleted.
9383 (DATA_SEG_BITS): Define.
9384 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
9385 ARRAY_MARK_FLAG): Deleted.
9386 (DATA_SEG_BITS): Define.
9387 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
9388 (DATA_SEG_BITS): Define.
9389
9390 2002-07-20 Richard M. Stallman <rms@gnu.org>
9391
9392 * print.c (print_error_message): New args CONTEXT and CALLER.
9393 Calls changed.
9394
9395 * lisp.h (print_error_message): Declare new args.
9396
9397 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
9398 and CONTEXT to print_error_message, don't print them here.
9399 For a Quit, don't use Vsignaling_function.
9400 Call message_log_maybe_newline.
9401
9402 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
9403
9404 2002-07-20 Kim F. Storm <storm@cua.dk>
9405
9406 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
9407
9408 2002-07-19 Ken Raeburn <raeburn@gnu.org>
9409
9410 * bytecode.c (struct byte_stack): Pointers into byte string now
9411 point to const.
9412 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
9413 const.
9414 * charset.h (BCOPY_SHORT): Source pointer now points to const.
9415 * coding.c (encode_eol, detect_coding, detect_eol):
9416 (decode_coding, encode_coding, detect_coding_system):
9417 Source strings now treated as const.
9418 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
9419 modify Lisp string contents.
9420 * coding.h (decode_coding, encode_coding, detect_coding,
9421 detect_eol): Declarations updated.
9422 * composite.c (compose_chars_in_text): Treat Lisp string contents
9423 as const.
9424 * dispnew.c (safe_bcopy): Source pointer now points to const.
9425 * lisp.h (STRING_COPYIN): New macro.
9426 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
9427 (internal_with_output_to_temp_buffer): Declarations updated.
9428 * print.c (temp_output_buffer_setup):
9429 (internal_with_output_to_temp_buffer): Buffer name argument is now
9430 pointer to const.
9431 * sound.c (struct sound_device): Function pointer field "write"
9432 buffer argument now points to const.
9433 (vox_write): Buffer argument points to const.
9434 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
9435 contents as const.
9436 * sysdep.c (emacs_write): Buffer pointer now const.
9437 * term.c (encode_terminal_code): Buffer pointer now const.
9438 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
9439 (x_face_list_fonts, x_update_menu_appearance):
9440 (hash_string_case_insensitive): Treat Lisp string contents as const.
9441
9442 2002-07-19 Juanma Barranquero <lektu@terra.es>
9443
9444 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
9445
9446 * fileio.c (syms_of_fileio): Likewise.
9447 (Ffile_name_as_directory): Fix argument name in docstring.
9448 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
9449
9450 2002-07-18 Richard M. Stallman <rms@gnu.org>
9451
9452 * data.c (Fdefalias): Doc fix.
9453
9454 2002-07-17 Dave Love <fx@gnu.org>
9455
9456 * intervals.h (text_property_stickiness): Use P_.
9457
9458 * ccl.c: Remove `emacs' conditionals.
9459 (ccl_backtrace_table): Fix size spec.
9460 (ccl_driver): Fix type errors.
9461
9462 2002-07-16 Ken Raeburn <raeburn@gnu.org>
9463
9464 * alloc.c (xstrdup, make_string, make_unibyte_string)
9465 (make_multibyte_string, build_string): String pointer args now
9466 point to const.
9467 * charset.c (find_charset_in_text, c_string_width):
9468 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
9469 * fileio.c (report_file_error):
9470 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
9471 (count_combining_before, count_combining_after, insert_1_both):
9472 (insert, insert_and_inherit, insert_string):
9473 (insert_before_markers, insert_before_markers_and_inherit):
9474 * lread.c (intern, oblookup, hash_string):
9475 * minibuf.c (temp_echo_area_glyphs):
9476 * search.c (fast_c_string_match_ignore_case):
9477 * sysdep.c (emacs_open, set_file_times):
9478 * xfaces.c (xstricmp):
9479 * xdisp.c (store_frame_title, string_char_and_length):
9480 (message_dolog, message2, message2_nolog, set_message): Likewise.
9481 (set_message_1): Cast message string argument to const pointer.
9482 * editfns.c (general_insert_function): Insertion function now
9483 takes pointer to const for input data.
9484 * charset.h (find_charset_in_text, c_string_width):
9485 (parse_str_as_multibyte): Declarations updated.
9486 * dispextern.h (xstricmp): Declaration updated.
9487 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
9488 (count_size_as_multibyte, count_combining_before):
9489 (count_combining_after, insert_1, insert_1_both, message_dolog):
9490 (insert, insert_and_inherit, insert_before_markers)
9491 (insert_before_markers_and_inherit, set_message, message2):
9492 (message2_dolog, build_string, make_string, make_unibyte_string):
9493 (make_multibyte_string, intern, oblookup, report_file_error):
9494 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
9495 (emacs_open, xstrdup): Declarations updated.
9496 * systime.h (set_file_times): Declaration updated.
9497
9498 * charset.c (find_charset_in_text, lisp_string_width): Use const
9499 for pointer to lisp string data.
9500 * charset.h (FETCH_STRING_CHAR_ADVANCE):
9501 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
9502 * coding.c (Ffind_coding_systems_region_interval):
9503 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
9504 (Fmake_directory_internal, Fdelete_directory):
9505 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
9506 * fontset.c (font_family_registry, fs_query_fontset):
9507 (list_fontsets):
9508 * frame.c (Fframe_parameter):
9509 * keyboard.c (cmd_error_internal):
9510 * keymap.c (Fdescribe_buffer_bindings):
9511 * lread.c (complete_filename_p, openp):
9512 * minibuf.c (Fminibuffer_complete_word):
9513 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
9514 (face_before_or_after_it_pos, next_element_from_string):
9515 (get_overlay_arrow_glyph_row, display_mode_element):
9516 (decode_mode_spec_coding):
9517 * xterm.c (same_x_server): Likewise.
9518
9519 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
9520 settings of non-existent fields.
9521
9522 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
9523 copy a lisp value.
9524
9525 * lread.c (Fintern_soft): Use string macros instead of
9526 Lisp_String fields.
9527 * keyboard.c (echo_char, parse_modifiers_uncached):
9528 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
9529 * textprop.c (validate_interval_range, interval_of): Likewise.
9530
9531 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
9532
9533 * charset.h (FETCH_STRING_CHAR_ADVANCE)
9534 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
9535 XSTRING()->size_byte.
9536
9537 * lisp.h (SDATA, SREF): Produce rvalue.
9538 (SSET): New macro.
9539 * alloc.c (make_event_array): Use SSET for storing into a string.
9540 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
9541 a string.
9542 * casefiddle.c (casify_object): Use SSET.
9543 * charset.h (FETCH_STRING_CHAR_ADVANCE)
9544 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
9545 address of string contents.
9546 * data.c (Faref): Use SDATA.
9547 (Faset): Use SDATA, SSET.
9548 * dired.c (directory_files_internal): Use SSET.
9549 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
9550 (Fread_file_name): Use SREF, SSET.
9551 * fns.c (concat): Use SSET.
9552 (concat, Fdelete): Use SDATA.
9553 * insdel.c (insert_from_string_1): Use SDATA.
9554 * keyboard.c (Fevent_convert_list): Use SREF.
9555 * lread.c (Fload): Use SDATA, SSET.
9556 * macfns.c (validate_x_resource_name): Use SSET.
9557 * process.c (status_message): Use SSET.
9558 * search.c (wordify): Use SDATA.
9559 (Freplace_match): Use SREF.
9560 * w32fns.c (validate_x_resource_name): Use SSET.
9561 * xfns.c (validate_x_resource_name): Use SSET.
9562 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
9563
9564 2002-07-16 Richard M. Stallman <rms@gnu.org>
9565
9566 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
9567
9568 * xdisp.c (reconsider_clip_changes):
9569 Don't test prevent_redisplay_optimizations_p.
9570 (redisplay_internal): Test prevent_redisplay_optimizations_p
9571 along with clip_changed in some cases.
9572 (try_window_id): Likewise.
9573 (redisplay_window): New local var buffer_unchanged_p.
9574
9575 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
9576
9577 * process.c (create_process): Test USG_SUBTTY_WORKS.
9578 (process_send_signal): Clean up handling of GID.
9579 Detect errors in ioctls meant to set GID.
9580
9581 * window.c (temp_output_buffer_show):
9582 Don't set prevent_redisplay_optimizations_p.
9583
9584 2002-07-15 Juanma Barranquero <lektu@terra.es>
9585
9586 * eval.c (Fdefvaralias): Add docstring argument.
9587
9588 2002-07-15 Ken Raeburn <raeburn@gnu.org>
9589
9590 * lisp.h (STRING_INTERVALS): Produce rvalue.
9591 (STRING_SET_INTERVALS): New macro.
9592 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
9593 * fns.c (Fstring_as_multibyte): Likewise.
9594 * intervals.c (balance_possible_root_interval, delete_interval)
9595 (create_root_interval, copy_intervals_to_string): Likewise.
9596 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
9597 instead of 0.
9598
9599 2002-07-14 Ken Raeburn <raeburn@gnu.org>
9600
9601 * lisp.h (STRING_SET_CHARS): New macro.
9602 (SCHARS, SBYTES): Produce rvalues.
9603 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
9604 * fns.c (concat): Likewise.
9605 * lread.c (read_vector): Likewise.
9606
9607 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
9608 (STRING_SET_UNIBYTE): New macro.
9609 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
9610 length of -1) changed to use STRING_SET_UNIBYTE.
9611 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
9612 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
9613 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
9614 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
9615 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
9616 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
9617 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
9618 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
9619 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
9620 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
9621 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
9622 STRING_BYTES or indirection changed to SCHARS, SBYTES,
9623 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
9624 unchanged for now.
9625
9626 2002-07-13 Kim F. Storm <storm@cua.dk>
9627
9628 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
9629
9630 2002-07-12 Richard M. Stallman <rms@gnu.org>
9631
9632 * fileio.c (Fwrite_region): Doc fix.
9633
9634 * print.c (print_error_message): Don't handle Vsignaling_function here.
9635
9636 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
9637 (command_loop_1): Avoid certain actions after memory-full error.
9638
9639 * eval.c (Fsignal): Don't call cancel_hourglass.
9640 For a memory-full error, don't call Vsignal_hook_function
9641 and don't set Vsignaling_function.
9642
9643 * process.c (process_send_signal): Add abort call.
9644
9645 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
9646
9647 * keymap.c (Fkey_binding): Fix typo.
9648
9649 2002-07-11 Richard M. Stallman <rms@gnu.org>
9650
9651 * alloc.c (Vmemory_full): New variable.
9652 (Vmemory_signal_data): Renamed from memory_signal_data.
9653 Uses changed.
9654 (syms_of_alloc): Defvar them.
9655 (memory_full, buffer_memory_full): Set Vmemory_full.
9656
9657 * lisp.h (Vmemory_full): Add declaration.
9658 (current_column, indented_beyond_p): Change declaration.
9659
9660 * indent.c (last_known_column): Declare as double, not float.
9661 (current_column, current_column_1, string_display_width)
9662 (position_indentation): Return `double'.
9663 (indented_beyond_p): Arg `column' is `double'. Callers changed.
9664
9665 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
9666 (back_to_previous_visible_line_start)
9667 (reseat_at_next_visible_line_start, next_element_from_buffer):
9668 Use `double', not `float', when calling indented_beyond_p.
9669
9670 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
9671
9672 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
9673
9674 2002-07-11 Juanma Barranquero <lektu@terra.es>
9675
9676 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
9677 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
9678 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
9679 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
9680 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
9681 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
9682
9683 2002-07-10 Juanma Barranquero <lektu@terra.es>
9684
9685 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
9686 All callers changed.
9687
9688 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
9689
9690 * data.c (Fdefalias): Add an optional `docstring' argument.
9691 (set_internal, Fsetq_default): Use XCAR/XCDR.
9692
9693 * composite.c (HASH_VALUE, HASH_KEY):
9694 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
9695
9696 2002-07-09 Kenichi Handa <handa@etl.go.jp>
9697
9698 * callproc.c (Fcall_process): Fix previous change.
9699
9700 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
9701
9702 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
9703 Add support for hash-tables.
9704 (Ftry_completion): Return t even if the string appears multiple times.
9705
9706 * fns.c (Fnconc): Use XCDR.
9707 (Fprovide): Use CONSP and XCDR.
9708 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
9709 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
9710 (Fmake_hash_table): Accept `:size nil'.
9711 (Fmakehash): Delete: moved to subr.el.
9712 (syms_of_fns): Don't defsubr makehash.
9713
9714 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
9715 (HASH_TABLE_SIZE): Move from fns.c.
9716
9717 2002-07-07 Richard M. Stallman <rms@gnu.org>
9718
9719 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
9720 Instead just return 0 when there is something to be done.
9721 (try_scrolling): If make_cursor_line_fully_visible returns 0,
9722 retry scrolling as if cursor were off the bottom.
9723 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
9724 return CURSOR_MOVEMENT_MUST_SCROLL.
9725 (redisplay_window): If make_cursor_line_fully_visible returns 0,
9726 go to try_to_scroll.
9727
9728 * buffer.c (Fbuffer_local_value): Store current value into its binding
9729 so we get the up-to-date value for the binding that is loaded.
9730
9731 * eval.c (Fdefmacro): Doc fix.
9732
9733 2002-07-05 Dave Love <fx@gnu.org>
9734
9735 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
9736 correctly.
9737
9738 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
9739 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
9740 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
9741 CCL_LookupCharConstTbl.
9742 (syms_of_ccl): Defvar translation-hash-table-vector.
9743
9744 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9745
9746 * xdisp.c: Remove unused variable `face'.
9747
9748 2002-07-04 Juanma Barranquero <lektu@terra.es>
9749
9750 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
9751 obsolescence information.
9752
9753 2002-07-03 Andrew Choi <akochoi@shaw.ca>
9754
9755 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
9756 pattern. Search cache first.
9757 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
9758 for Japanese font.
9759 (XLoadQueryFont): Use it.
9760
9761 2002-07-02 Richard M. Stallman <rms@gnu.org>
9762
9763 * keymap.c (Fdefine_key): Doc fix.
9764
9765 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
9766
9767 2002-07-02 Juanma Barranquero <lektu@terra.es>
9768
9769 * keymap.c (syms_of_keymap): Fix typo.
9770
9771 2002-07-01 Andrew Choi <akochoi@shaw.ca>
9772
9773 * s/darwin.h: Define POSIX_SIGNALS.
9774
9775 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
9776 and FSRefMakePath to convert FSSpec returned with Apple Event to
9777 Posix pathname.
9778 (mac_initialize) [TARGET_API_MAC_CARBON]:
9779 Call init_required_apple_events and disable the `Quit' menu item
9780 provided automatically by the Carbon Toolbox.
9781
9782 2002-07-01 Dave Love <fx@gnu.org>
9783
9784 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
9785 for K&R.
9786
9787 * xterm.c: Fix prototype for K&R.
9788
9789 * term.c (costs_set): Declare static, non-initialized for pcc.
9790
9791 2002-07-01 Richard M. Stallman <rms@gnu.org>
9792
9793 * keyboard.c (timer_last_idleness_start_time): New variable.
9794 (timer_start_idle): Set that.
9795 (read_key_sequence): Use that to reset timer_idleness_start_time
9796 to previous value.
9797
9798 * window.c (Frecenter): With arg, set optional_new_start.
9799
9800 * xdisp.c (redisplay_internal): Make optional_new_start really work.
9801
9802 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
9803 buffer for completion.
9804
9805 2002-06-29 Ken Raeburn <raeburn@gnu.org>
9806
9807 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
9808
9809 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9810
9811 * keyboard.c (readable_filtered_events): New function that filters
9812 FOCUS_IN_EVENT depending on parameter.
9813 (readable_events): Calls readable_filtered_events, not filtering
9814 FOCUS_IN_EVENT.
9815 (get_filtered_input_pending): New function, filtering parameter passed
9816 to readable_filtered_events.
9817 (get_input_pending): Calls get_filtered_input_pending, not filtering
9818 FOCUS_IN_EVENT.
9819 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
9820 FOCUS_IN_EVENT.
9821
9822 * xterm.h (struct x_output): Add focus_state.
9823
9824 * xterm.c (x_focus_changed): New function.
9825 (x_detect_focus_change): New function.
9826 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
9827 EnterNotify and LeaveNotify to track X focus changes.
9828
9829 2002-06-28 Andreas Schwab <schwab@suse.de>
9830
9831 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
9832
9833 2002-06-27 Kim F. Storm <storm@cua.dk>
9834
9835 * xdisp.c: (mode_line_string_list, mode_line_string_face)
9836 (mode_line_string_face_prop): New variables.
9837 (store_mode_line_string): New function.
9838 (display_mode_element): Use store_mode_line_string to
9839 add mode-line string elements to mode_line_string_list
9840 when mode_line_string_list is non-nil.
9841 (Fformat_mode_line): Now returns propertized string by
9842 default. New arg NO-PROPS to ignore properties.
9843 (decode_mode_spec): Only add two dashes for %- in propertized
9844 mode-line string.
9845 (syms_of_xdisp): Init and staticpro mode_line_string_list.
9846
9847 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
9848
9849 * minibuf.c (minibuffer_completion_contents): Add return type.
9850
9851 2002-06-27 Juanma Barranquero <lektu@terra.es>
9852
9853 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
9854
9855 2002-06-26 Juanma Barranquero <lektu@terra.es>
9856
9857 * fileio.c (read_file_name_cleanup): Add missing return.
9858
9859 2002-06-26 Richard M. Stallman <rms@gnu.org>
9860
9861 * window.c (Frecenter): Don't set force_start flag.
9862
9863 * minibuf.c (do_completion, Fminibuffer_complete_word)
9864 (Fminibuffer_completion_help): Complete just the text before point.
9865 (minibuffer_completion_contents): New function.
9866
9867 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
9868
9869 * frame.c (frames_bury_buffer): Function deleted.
9870
9871 2002-06-25 Miles Bader <miles@gnu.org>
9872
9873 * callint.c (Fcall_interactively): When checking to see if doprnt hit
9874 the end of callint_message, allow for a terminating '\0'.
9875
9876 2002-06-24 Juanma Barranquero <lektu@terra.es>
9877
9878 * w32select.c: Include composite.h
9879
9880 * w16select.c: Likewise.
9881
9882 2002-06-24 Kenichi Handa <handa@etl.go.jp>
9883
9884 * callproc.c (Fcall_process): If code detection is necessary,
9885 call detect_coding directly here.
9886
9887 * coding.c (detect_eol): Preserve coding->cmp_data.
9888
9889 * w16select.c (Fw16_get_clipboard_data):
9890 * w32fns.c (w32_to_x_font):
9891 * w32select.c (Fw32_get_clipboard_data):
9892 * xselect.c (selection_data_to_lisp_data):
9893 * xterm.c (XTread_socket): Disable composition handling.
9894
9895 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
9896
9897 * print.c (temp_output_buffer_setup): Kill all local variables.
9898
9899 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
9900
9901 * lread.c (Fread): Remove redundant and imprecise declaration.
9902
9903 * xfns.c (check_x_display_info): Use check_x_frame.
9904
9905 * .gdbinit (xprintsym): Use the new `xname' field.
9906 (xsymbol): Use it.
9907
9908 2002-06-22 Jason Rumney <jasonr@gnu.org>
9909
9910 * w32fns.c (file_dialog_callback): New function.
9911 (Fx_file_dialog): Allow selecting directories as well as files.
9912
9913 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9914
9915 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
9916 OpenBSD. Add support for mipseb-*-netbsd* machines.
9917
9918 2002-06-17 Andrew Choi <akochoi@shaw.ca>
9919
9920 * macterm.c (mac_scroll_area): Set foreground and backcolor to
9921 black and white before scrolling. Restore frame background and
9922 foreground color after scrolling.
9923 (do_window_update): Call XClearWindow before calling expose_frame.
9924 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
9925 FRAME_FOREGROUND_PIXEL of frame.
9926
9927 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
9928 test Mac command key as <ALT> key.
9929
9930 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
9931
9932 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
9933
9934 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
9935 Lookup keys in function-key-map immediately so that key-translation-map
9936 can be applied earlier.
9937 Remove function_key_possible and key_translation_possible, replaced
9938 by checking `keytran_start < t'.
9939
9940 * .gdbinit (xsymbol): Use the new `xname' field.
9941
9942 2002-06-17 Andrew Choi <akochoi@shaw.ca>
9943
9944 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
9945 test Mac command key as <ALT> key.
9946
9947 * mac.c (do_applescript): Call initialize_applescript if necessary
9948 when first called. Dispose of result_desc only when there is no error.
9949 (Fdo_applescript): Use %d format specifier instead of %ld.
9950
9951 2002-06-16 Andrew Choi <akochoi@shaw.ca>
9952
9953 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
9954 of FrontWindow for cases keyDown and autoKey.
9955
9956 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
9957 Vdefault_fontset to Monaco with mac-roman coding.
9958
9959 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
9960 init_process before and after inclusion of Carbon/Carbon.h, resp.
9961
9962 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
9963 cursor_gc.
9964 (add_font_name_table_entry): New function.
9965 (init_font_name_table): Use add_font_name_table_entry; add italic,
9966 bold, and bold-italic entries for truetype fonts.
9967
9968 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
9969 for Mac too.
9970 (try_font_list) [MAC_OS]: If no font matches given registry, try
9971 fonts with any registry matching face_family.
9972 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
9973
9974 * s/darwin.h: If autoconf detects the Ncurses library, define
9975 LIBS_TERMCAP to -lncurses to use it.
9976
9977 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
9978
9979 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
9980
9981 2002-06-15 Richard M. Stallman <rms@gnu.org>
9982
9983 * window.c (Fset_window_configuration): Explicitly preserve
9984 the point value that new_current_buffer had at the start.
9985
9986 2002-06-14 Juanma Barranquero <lektu@terra.es>
9987
9988 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
9989 Fix typos.
9990
9991 2002-06-14 Kim F. Storm <storm@cua.dk>
9992
9993 * insdel.c (insert_1_both, insert_from_string_1)
9994 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
9995 insert happened in the end_unchanged region. Otherwise, the
9996 redisplay may be confused and duplicate the last line in the
9997 buffer [seen after save-buffer when require-final-newline==t].
9998
9999 2002-06-13 Jason Rumney <jasonr@gnu.org>
10000
10001 * w32.c (init_environment): Remove EMACSLOCKDIR.
10002 (stat): Swap _S_IFDIR and _S_IFREG.
10003
10004 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10005
10006 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
10007 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
10008 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
10009 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
10010 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
10011 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
10012 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
10013 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
10014 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
10015 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
10016 SELECTION_REQUEST_EVENT, selection_clear_event to
10017 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
10018 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
10019 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
10020 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
10021 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
10022 no_event to NO_EVENT.
10023
10024 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10025
10026 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
10027
10028 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
10029
10030 * intervals.c (textget): Don't forget to `return'.
10031 (lookup_char_property): Use XCAR/XCDR.
10032
10033 2002-06-12 Juanma Barranquero <lektu@terra.es>
10034
10035 * xdisp.c (Fformat_mode_line): Fix typo.
10036
10037 2002-06-12 Kim F. Storm <storm@cua.dk>
10038
10039 * xdisp.c (Fformat_mode_line): New function.
10040 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
10041 (store_frame_title_char, store_frame_title): Use unconditionally.
10042 (init_xdisp): Defsubr Fformat_mode_line.
10043 Initialize frame_title_buf etc. unconditionally.
10044
10045 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
10046
10047 * keyboard.c (read_key_sequence):
10048 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
10049 things through those maps after downcasing events.
10050 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
10051 applies after function-key-map.
10052 Make sure that keytran can be done in the middle in the sequence.
10053 Be careful not to throw away events past the one we downcase.
10054
10055 * lread.c (read_integer): Remove unused var `tem'.
10056 (read1): Fix int/Lisp_Object mixup.
10057
10058 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
10059
10060 2002-06-11 Richard M. Stallman <rms@gnu.org>
10061
10062 * keyboard.c (readable_events): Ignore any number of
10063 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
10064
10065 2002-06-09 Miles Bader <miles@gnu.org>
10066
10067 * xfaces.c (Ftty_supports_face_attributes_p): New function.
10068 (parse_rgb_list, tty_lookup_color): New functions.
10069 (tty_defined_color): Use `tty_lookup_color' to do all the work.
10070 (color_distance, Fcolor_distance): New functions.
10071 (TTY_SAME_COLOR_THRESHOLD): New macro.
10072 (Qtty_color_standard_values): New variable.
10073 (syms_of_xfaces): Initialize new vars & functions.
10074
10075 2002-06-08 Colin Walters <walters@verbum.org>
10076
10077 * textprop.c (Vchar_property_alias_alist): New variable.
10078 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
10079
10080 * intervals.c (lookup_char_property): New function for looking up
10081 overlay and text properties, created from textget.
10082 (textget): Use it.
10083
10084 * intervals.h (lookup_char_property): Declare.
10085 (Vchar_property_alias_alist): Declare.
10086
10087 * buffer.c (Foverlay_get): Use lookup_char_property.
10088
10089 2002-06-07 Sam Steingold <sds@gnu.org>
10090
10091 * xselect.c (lisp_data_to_selection_data): Fix last change:
10092 *data_ret is not a Lisp string, while unibyte_string is.
10093
10094 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
10095
10096 * xselect.c (lisp_data_to_selection_data): Fix last change:
10097 set size_ret.
10098
10099 2002-06-07 Andreas Schwab <schwab@suse.de>
10100
10101 * m/amdx86-64.h: New file.
10102
10103 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
10104
10105 * fns.c (Fstring_make_unibyte): Doc fix.
10106
10107 * xselect.c (lisp_data_to_selection_data): If the requested type
10108 is STRING, call string_make_unibyte to encode the selected text
10109 as a string.
10110
10111 * window.c (Fset_window_hscroll): Doc fix.
10112
10113 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10114
10115 * fileio.c (choose_write_coding_system):
10116 Call select-safe-coding-system properly.
10117
10118 2002-06-03 Richard M. Stallman <rms@gnu.org>
10119
10120 * xdisp.c (message_with_string): Error if STRING is not a string.
10121
10122 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
10123
10124 * fileio.c (choose_write_coding_system): Pass FILE arg to
10125 Vselect_safe_coding_system_function.
10126
10127 2002-06-03 Ken Raeburn <raeburn@gnu.org>
10128
10129 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
10130
10131 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
10132
10133 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
10134 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
10135 * keymap.c (describe_command): Likewise.
10136 * minibuf.c (read_minibuf): Likewise.
10137
10138 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
10139 Cast `current_column' return value to int.
10140 (back_to_previous_visible_line_start)
10141 (reseat_at_next_visible_line_start, next_element_from_buffer):
10142 Cast `indented_beyond_p' 3rd arg to float.
10143
10144 * indent.c (last_known_column): Now a float.
10145 (current_column_1, position_indentation, current_column)
10146 (string_display_width): Return float.
10147 (Fcurrent_column): Cast `current_column' return value to int.
10148 (Fcurrent_indentation): Cast `position_indentation' retval to int.
10149 (indented_beyond_p): Third arg now a float.
10150 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
10151
10152 * lisp.h (current_column): Now returns float.
10153 (indented_beyond_p): 3rd arg now a float.
10154
10155 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
10156
10157 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
10158 is Qcompound_text_with_extensions.
10159
10160 * xselect.c (lisp_data_to_selection_data): Always set selection
10161 type as string if x_encode_text returns streingp non-NULL.
10162
10163 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
10164
10165 2002-05-30 Richard M. Stallman <rms@gnu.org>
10166
10167 * window.c (Fset_window_configuration): Correct the handling
10168 of point in current buffer, to work with multiple windows.
10169
10170 2002-05-29 Colin Walters <walters@verbum.org>
10171
10172 * lread.c (Fread_from_string): Don't depend on order of evaluation
10173 for C function parameters.
10174
10175 2002-05-28 Richard M. Stallman <rms@gnu.org>
10176
10177 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
10178 way for blinked-off state and for a nonselected window.
10179
10180 * window.c (window_scroll_pixel_based): Don't call Fbolp;
10181 instead, see if the new start pos is at beginning of line.
10182
10183 * fileio.c (Fwrite_region): If START is a string, don't
10184 make any annotations.
10185
10186 * eval.c (syms_of_eval): Doc fix.
10187
10188 2002-05-28 Colin Walters <walters@debian.org>
10189
10190 * emacs.c (USAGE1): Add --no-splash.
10191 (standard_args): Ditto.
10192
10193 2002-05-28 Colin Walters <walters@gnu.org>
10194
10195 * lread.c (readchar_count): New variable.
10196 (readchar): Increment it.
10197 (unreadchar): Decrement it.
10198 (read_multibyte): Decrement it.
10199 (Vread_with_symbol_positions): New variable.
10200 (Vread_symbol_positions_list): New variable.
10201 (read_internal_start): New function, created from Fread and
10202 Fread_from_string. Handle Vread_symbol_positions_list and
10203 Vread_with_symbol_positions.
10204 (readevalloop, Fread, Fread_from_string): Use it.
10205 (read1): Use readchar_count to add symbol positions to
10206 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
10207 (syms_of_lread): DEFVAR_LISP and initialize them.
10208
10209 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
10210 (substitute_object_recurse, substitute_object_in_subtree)
10211 (substitute_in_interval): Prototype.
10212 (read_multibyte): Return c if it's less than zero.
10213
10214 2002-05-28 Kim F. Storm <storm@cua.dk>
10215
10216 * fileio.c (Fread_file_name_internal): Added brute-force
10217 speed up for using predicate file-directory-p.
10218
10219 2002-05-28 Kim F. Storm <storm@cua.dk>
10220
10221 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
10222 New variables.
10223 (syms_of_fileio): DEFVAR_LISP them.
10224 (read_file_name_cleanup): New unwind function.
10225 (Fread_file_name_internal): Only return completions satifying
10226 Vread_file_name_predicate. Temporarily unwind protect and rebind
10227 default-directory while checking completions against the predicate.
10228 (Fread_file_name): Added PREDICATE argument. Specbind it to
10229 Vread_file_name_predicate during completion.
10230 Call Vread_file_name_function to read the file name if non-nil.
10231
10232 * lisp.h (Fread_file_name): Now has 6 args.
10233
10234 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
10235 predicate for Fread_file_name when reading directory name.
10236 Supply Qnil for predicate in other calls to Fread_file_name.
10237
10238 2002-05-26 Miles Bader <miles@gnu.org>
10239
10240 * term.c (tty_capable_p): New function.
10241 * dispextern.h (tty_capable_p): New function declaration.
10242 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
10243 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
10244
10245 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
10246
10247 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
10248 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
10249 (Vwrite_region_annotate_functions): Docstring fix.
10250
10251 2002-05-23 Kim F. Storm <storm@cua.dk>
10252
10253 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
10254 phys_cursor's hpos is overwritten. This is still not completely
10255 correct, as it doesn't really make sense to use hpos at all to
10256 get the cursor glyph (as that is relative to the width of the
10257 characters on the line, which may have changed during the update).
10258
10259 2002-05-22 Jason Rumney <jasonr@gnu.org>
10260
10261 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
10262 Lisp_Object.
10263 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
10264 Use modified enumfont_t struct.
10265
10266 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
10267
10268 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
10269 Handle the `hbar' cursor type.
10270 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
10271
10272 * w32fns.c (Qhbar): New variable.
10273 (x_specified_cursor_type): Use it.
10274
10275 2002-05-21 Ken Raeburn <raeburn@gnu.org>
10276
10277 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
10278 now, when the address is needed.
10279
10280 2002-05-21 Colin Walters <walters@gnu.org>
10281
10282 * Makefile.in (shortlisp): Add font-core.el.
10283
10284 2002-05-20 Richard M. Stallman <rms@gnu.org>
10285
10286 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
10287
10288 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
10289 equivalent key bindings here.
10290
10291 2002-05-20 Ken Raeburn <raeburn@gnu.org>
10292
10293 Change symbol structure to contain a lisp object for the symbol
10294 name:
10295 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
10296 object field named "xname".
10297 (SYMBOL_NAME): New macro.
10298 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
10299 name field.
10300 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
10301 (mark_object, gc_sweep): Use symbol xname field and XSTRING
10302 instead of name field.
10303 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
10304 SYMBOL_NAME instead of XSYMBOL and name field.
10305 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
10306 instead of XSYMBOL and name field.
10307 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
10308 and SYMBOL_NAME instead of XSYMBOL and name field.
10309 * coding.c (Fread_coding_system, code_convert_region1)
10310 (code_convert_string1, code_convert_string_norecord)
10311 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
10312 XSYMBOL and name field.
10313 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
10314 (Fmake_variable_buffer_local, Fmake_local_variable)
10315 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
10316 of XSYMBOL and name field.
10317 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
10318 XSYMBOL and name field.
10319 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
10320 instead of XSYMBOL and name field.
10321 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
10322 XSYMBOL and name field.
10323 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
10324 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
10325 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
10326 instead of XSYMBOL and name field.
10327 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
10328 (parse_modifiers, apply_modifiers, Fevent_convert_list)
10329 (parse_solitary_modifier, Fexecute_extended_command):
10330 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
10331 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
10332 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
10333 of XSYMBOL and name field.
10334 (describe_command, describe_translation): Use SYMBOL_NAME and
10335 assignment instead of XSYMBOL and name field and XSETSTRING.
10336 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
10337 instead of XSYMBOL and name field.
10338 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
10339 name field and XSETSTRING.
10340 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
10341 of XSYMBOL and name field.
10342 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
10343 assignment instead of XSYMBOL and name field and XSETSTRING.
10344 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
10345 XSTRING instead of XSYMBOL and name field.
10346 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
10347 and XSTRING instead of XSYMBOL and name field.
10348 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
10349 and XSTRING instead of XSYMBOL and name field.
10350 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
10351 XSTRING instead of XSYMBOL and name field.
10352 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
10353 of XSYMBOL and name field.
10354 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
10355 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
10356
10357 2002-05-19 Ken Raeburn <raeburn@gnu.org>
10358
10359 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
10360 and XCDR real rvalues in most configurations.
10361
10362 * buffer.c (fix_overlays_in_range, fix_overlays_before):
10363 Don't take the address of the cdr part of a cons cell; instead, track
10364 the parent cell and call XSETCDR, or set the variable for the head
10365 of the list if we haven't started down the list yet.
10366
10367 2002-05-19 Richard M. Stallman <rms@gnu.org>
10368
10369 * doc.c (reread_doc_file): Don't ask for confirmation.
10370
10371 2002-05-18 Jason Rumney <jasonr@gnu.org>
10372
10373 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
10374 (xbm_load_image): Use it.
10375 (xbm_load): Ditto.
10376 (xbm_read_bitmap_data): Reverted to xfns.c version.
10377 From David Ponce <david@dponce.com>.
10378
10379 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
10380
10381 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
10382 2.02 and later.
10383
10384 2002-05-16 Juanma Barranquero <lektu@terra.es>
10385
10386 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
10387
10388 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
10389
10390 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
10391 meaningful test.
10392 (read_char_minibuf_menu_prompt): Fix typo.
10393
10394 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10395
10396 * eval.c (Fcommandp): Doc fix.
10397
10398 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
10399
10400 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
10401 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
10402 (Fset_keymap_parent): Gcpro a bit more.
10403 (access_keymap): Gcpro around meta_map call and around the main loop.
10404 (get_keyelt): Gcpro when following indirect references.
10405 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
10406 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
10407 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
10408 Remove useless ad-hoc remap code.
10409
10410 2002-05-13 Richard M. Stallman <rms@gnu.org>
10411
10412 * search.c (search_buffer): Give up boyer moore search if inverse
10413 translation change charset_base.
10414
10415 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
10416
10417 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
10418 characters is carried over from the previous block of text, adjust
10419 coding->produced to account for the extra character.
10420
10421 2002-05-11 Andreas Schwab <schwab@suse.de>
10422
10423 * coding.c (intersection): Keep the elements of the returned list
10424 in the same order as in the first list.
10425
10426 2002-05-11 Kim F. Storm <storm@cua.dk>
10427
10428 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
10429 only update cmm_size if realloc actually succeeds.
10430 Testing with initial size of 2 elements revealed that using
10431 realloc on GNU/Linux would cause a random trap in xmalloc
10432 later on, so I rewrote the code to use malloc/bcopy/free instead
10433 of realloc.
10434
10435 2002-05-10 Jason Rumney <jasonr@gnu.org>
10436
10437 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
10438
10439 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
10440
10441 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
10442 parens, to ensure correct evaluation order.
10443
10444 2002-05-10 Kim F. Storm <storm@cua.dk>
10445
10446 * keymap.c (Vemulation_mode_map_alists): New variable.
10447 (syms_of_keymap): DEFVAR_LISP it.
10448 (current_minor_maps): Process keymap alists in that list before
10449 minor-mode-overriding-map-alist and minor-mode-map-alist.
10450
10451 2002-05-09 Richard M. Stallman <rms@gnu.org>
10452
10453 * search.c (Freplace_match): Doc fix.
10454
10455 2002-05-09 Kim F. Storm <storm@cua.dk>
10456
10457 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
10458 Enlarge cursor rectangle drawn around image with non-zero relief.
10459
10460 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
10461 Enlarge cursor rectangle drawn around image with non-zero relief.
10462
10463 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
10464 Enlarge cursor rectangle drawn around image with non-zero relief.
10465
10466 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
10467
10468 * xselect.c (lisp_data_to_selection_data): Don't set selection
10469 type if comes from the Lisp object's car. If the selection
10470 contains a pure ASCII text, always return QSTRING as its type.
10471
10472 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10473
10474 * mac.c (mac-cut-function): Doc fix.
10475
10476 2002-05-05 Richard M. Stallman <rms@gnu.org>
10477
10478 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
10479
10480 2002-05-04 Jason Rumney <jasonr@gnu.org>
10481
10482 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
10483 for event-click-count.
10484
10485 * process.c (init_process): Only add server subfeature if we can
10486 use non-blocking I/O.
10487
10488 2002-05-04 Andrew Choi <akochoi@shaw.ca>
10489
10490 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
10491 repeatedly.
10492
10493 2002-05-03 Jason Rumney <jasonr@gnu.org>
10494
10495 * process.c (Fmake_network_process): Only support server sockets
10496 when we can make them non-blocking.
10497
10498 * s/ms-w32.h (HAVE_SELECT): Define.
10499
10500 * w32.h (FILE_NDELAY): New flag.
10501
10502 * w32.c (sys_getpeername, fcntl): New functions.
10503 (_sys_read_ahead): Temporarily block on non-blocking sockets.
10504
10505 * w32proc.c: include sys/file.h.
10506
10507 2002-05-03 Colin Walters <walters@verbum.org>
10508
10509 * callproc.c (Vgame_score_directory): Renamed to
10510 Vshared_game_score_directory.
10511
10512 2002-04-30 Richard M. Stallman <rms@gnu.org>
10513
10514 * s/gnu.h [emacs]: Include stdio.h.
10515 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
10516
10517 * eval.c (do_autoload): Error if called while preparing to dump.
10518
10519 * fns.c (Frequire): Error if need to load while preparing to dump.
10520
10521 2002-04-28 Colin Walters <walters@verbum.org>
10522
10523 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
10524 Default to "~/.emacs.d/games".
10525
10526 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
10527
10528 * lread.c (openp): Change arg exec_only to predicate.
10529 (build_load_history): Use XCAR/XCDR.
10530 (Flocate_file_internal): New fun.
10531 (syms_of_lread): Defsubr it.
10532 (Fload): Update call to openp.
10533
10534 * lisp.h (openp): Update prototype.
10535
10536 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
10537 * w32proc.c (sys_spawnve):
10538 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
10539 * w32.c (check_windows_init_file):
10540 * sound.c (Fplay_sound_internal):
10541 * process.c (Fstart_process):
10542 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
10543 * mac.c (run_mac_command):
10544 * emacs.c (init_cmdargs):
10545 * callproc.c (Fcall_process): Update call to openp.
10546
10547 * textprop.c (remove_properties): Don't use XCAR without CONSP.
10548
10549 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
10550
10551 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10552
10553 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
10554 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
10555
10556 2002-04-28 Richard M. Stallman <rms@gnu.org>
10557
10558 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
10559
10560 * eval.c (Fcommandp): New arg for_call_interactively.
10561 * lisp.h (Fcommandp): Declare new arg.
10562
10563 2002-04-28 Jason Rumney <jasonr@gnu.org>
10564
10565 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
10566
10567 * w32.c (stat, fstat): Use file index information to generate
10568 inodes for directories where available.
10569
10570 2002-04-26 Andrew Choi <akochoi@shaw.ca>
10571
10572 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
10573 [HAVE_CARBON]: Include Mac object files.
10574
10575 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
10576 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
10577 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
10578 MAC_OSX, and MAC_OS instead of macintosh.
10579
10580 * editfns.c [MAC_OS8]: Include stdio.h.
10581
10582 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
10583
10584 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
10585 Apple Monaco.
10586
10587 * process.c: Declare QCfamily and QCfilter as extern.
10588 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
10589 calling select.
10590
10591 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
10592
10593 * tparam.c [MAC_OSX]: Don't define BC and UP.
10594
10595 * config.in [HAVE_CARBON]: Add.
10596
10597 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
10598 Move here from mac/src and mac/inc.
10599
10600 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
10601
10602 2002-04-26 Gerd Moellmann <gerd@gnu.org>
10603
10604 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
10605 Compute phys_cursor_width from the x position returned
10606 by x_draw_glyhs, which is cheaper.
10607 (x_display_and_set_cursor): Compute the buffer-local value
10608 of `cursor-in-non-selected-windows' only when needed.
10609
10610 2002-04-25 Gerd Moellmann <gerd@gnu.org>
10611
10612 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
10613 cursor on a stretch glyph has a width that depends on
10614 x_stretch_cursor_p.
10615
10616 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10617
10618 * abbrev.c (abbrev-start-location): Doc fix.
10619
10620 * indent.c (Fvertical_motion): Fix last change.
10621
10622 2002-04-25 Gerd Moellmann <gerd@gnu.org>
10623
10624 * indent.c (Fvertical_motion): Move to the start of the line
10625 containing PT before moving up or down.
10626
10627 2002-04-24 Gerd Moellmann <gerd@gnu.org>
10628
10629 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
10630 case of writing a whole row, more or less analogous to the case of
10631 writing only parts of a row.
10632
10633 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
10634 0 for NO_CURSOR.
10635
10636 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
10637
10638 2002-04-23 Colin Walters <walters@verbum.org>
10639
10640 * buffer.c (syms_of_buffer): Doc fix.
10641
10642 2002-04-23 Gerd Moellmann <gerd@gnu.org>
10643
10644 * xterm.c (notice_overwritten_cursor): Handle the special case
10645 of the cursor being in the first blank non-text line at the
10646 end of a window.
10647
10648 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
10649 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
10650 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
10651 bar cursors only, to make phys_cursor_width contain what its name
10652 suggests.
10653 (notice_overwritten_cursor): Consider the cursor image erased if
10654 the output area intersects the cursor image in y-direction.
10655
10656 2002-04-23 Simon Marshall <simon@gnu.org>
10657
10658 * xfns.c (x_set_mouse_color): Change default for cross_cursor
10659 to XC_hand2.
10660
10661 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10662
10663 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
10664
10665 2002-04-22 Kim F. Storm <storm@cua.dk>
10666
10667 * textprop.c (remove_properties): Fixed trap for malformed plist.
10668
10669 2002-04-22 Richard M. Stallman <rms@gnu.org>
10670
10671 * cmds.c (Fend_of_line): Handle intangible text in mid line.
10672
10673 * window.c (make_window): Initialize height_fixed_p,
10674 last_cursor_off_p, and p->cursor_off_p slots.
10675
10676 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10677
10678 * fns.c (use-dialog-box): Doc fix.
10679
10680 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10681
10682 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
10683 variables `row', `i' and `area'.
10684 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
10685 toolkit library.
10686
10687 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
10688
10689 * xfaces.c (clear_font_table): Don't free the default font of
10690 a frame even if it's on another display.
10691 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
10692 that could be Qt.
10693
10694 2002-04-19 Juanma Barranquero <lektu@terra.es>
10695
10696 * indent.c (Fmove_to_column): Remove unused local variable
10697 `next_boundary_byte'.
10698 (current_column_1): Likewise.
10699
10700 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
10701
10702 * msdos.c (Qhbar): New variable.
10703 (syms_of_msdos): Intern and staticpro it.
10704 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
10705 cursor type.
10706
10707 2002-04-19 Dave Lambert <dlambert@acm.org>
10708
10709 Theses change implement an underscore-like (`hbar') cursor.
10710
10711 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
10712
10713 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
10714 Handle the `hbar' cursor type.
10715 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
10716
10717 * xfns.c (Qhbar): New variable.
10718 (syms_of_xfns): Intern and staticpro it.
10719 (x_specified_cursor_type): Handle `hbar' cursor.
10720
10721 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
10722 not defined.
10723
10724 2002-04-18 Richard M. Stallman <rms@gnu.org>
10725
10726 * textprop.c (remove_properties): New arg LIST allows scanning
10727 either a list or a plist.
10728 (interval_has_some_properties_list): New function, like
10729 interval_has_some_properties using list instead of plist.
10730 All callers changed.
10731 (Fremove_list_of_text_properties): New function.
10732 (syms_of_textprop): Defsubr it.
10733
10734 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
10735
10736 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
10737
10738 2002-04-17 Juanma Barranquero <lektu@terra.es>
10739
10740 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
10741
10742 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
10743
10744 * window.c (coordinates_in_window): Don't report on margin area
10745 if its width is zero.
10746
10747 2002-04-16 Jason Rumney <jasonr@gnu.org>
10748
10749 * w32fns.c (Fx_file_dialog): Decode file name before using.
10750
10751 * w32term.c (construct_drag_n_drop): Likewise.
10752
10753 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
10754
10755 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
10756 store load-history in pure space.
10757
10758 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
10759
10760 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
10761
10762 * xterm.c (Qlatin_1, Qutf_8): New vars.
10763 (syms_of_xterm): Initialize them.
10764 (XTread_socket): Eliminate incorrect optimization that tried to avoid
10765 decoding the output of X*LookupString.
10766 Always use latin-1 to decode the output of XLookupString.
10767 Try Xutf8LookupString if XmbLookupString failed.
10768
10769 * region-cache.c (new_region_cache): Use BEG.
10770
10771 2002-04-16 Gerd Moellmann <gerd@gnu.org>
10772
10773 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
10774 configuration files.
10775 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
10776 returns 0.
10777
10778 2002-04-15 Andreas Schwab <schwab@suse.de>
10779
10780 * config.in: Regenerated using autoheader.
10781
10782 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
10783 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
10784 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
10785 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
10786 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
10787 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
10788 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
10789 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
10790 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
10791 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
10792 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
10793 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
10794 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
10795 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
10796 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
10797 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
10798 STACK_DIRECTION, now set by autoconf.
10799
10800 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10801
10802 * dispnew.c (marginal_area_string): Sort arguments.
10803
10804 * dispextern.h (marginal_area_string): Add prototype.
10805
10806 2002-04-13 Richard M. Stallman <rms@gnu.org>
10807
10808 * fileio.c (Finsert_file_contents):
10809 Don't call temp_output_buffer_setup--do just part, by hand.
10810
10811 * coding.c (run_pre_post_conversion_on_str):
10812 Don't call temp_output_buffer_setup--do just part, by hand.
10813
10814 * keyboard.c (command_loop_1): Don't call start_hourglass
10815 or cancel_hourglass when executing a macro.
10816
10817 * marker.c (count_markers): New function.
10818
10819 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
10820 grow without limit. Move recently used elements to the front.
10821
10822 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10823
10824 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
10825
10826 2002-04-12 Gerd Moellmann <gerd@gnu.org>
10827
10828 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
10829 rows marginal areas.
10830 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
10831 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10832
10833 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
10834
10835 2002-04-12 Dave Love <fx@gnu.org>
10836
10837 * dispnew.c (marginal_area_string): New.
10838
10839 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
10840 (Qleft_margin, Qright_margin): Declare.
10841 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
10842
10843 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
10844 note_mode_line_highlight and extended.
10845
10846 * keyboard.c (Qleft_margin, Qright_margin): Declare.
10847 (make_lispy_event): Deal with mouse events in margins.
10848
10849 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
10850
10851 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
10852
10853 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
10854 than deactivating the mark if tmm is set to `lambda'.
10855 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
10856 Use a single event for HELP_EVENT.
10857 (Fexecute_extended_command): Save last_point_position.
10858
10859 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10860
10861 * lisp.h (Fpropertize): Add prototype.
10862
10863 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
10864
10865 2002-04-10 Colin Walters <walters@verbum.org>
10866
10867 * config.in: Add HAVE_SHARED_GAME_DIR.
10868
10869 * callproc.c: (Vgame_score_directory): New variable.
10870 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
10871
10872 2002-04-10 Richard M. Stallman <rms@gnu.org>
10873
10874 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
10875
10876 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
10877
10878 * minibuf.c (read_minibuf): Use empty_string.
10879 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
10880 Short-circuit the search as soon as it "failed".
10881 (Fall_completions): Allow lambda forms and lists of strings for alist.
10882 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
10883 when require_match is nil.
10884 (Ftest_completion): Rename from `test_completion' and export to elisp.
10885 Call the predicate also when alist is a list.
10886 Obey Vcompletion_regexp_list.
10887 (do_completion, Fminibuffer_complete_and_exit): Use it.
10888 (Fassoc_string): Rename from `assoc_for_completion'.
10889 Allow list of strings as well and export to elisp.
10890
10891 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
10892
10893 * puresize.h (BASE_PURESIZE): Increase to 900KB.
10894
10895 2002-04-08 Juanma Barranquero <lektu@terra.es>
10896
10897 * w32.c (sys_accept): Don't hide variable `s'.
10898
10899 2002-04-05 Gerd Moellmann <gerd@gnu.org>
10900
10901 * callint.c (Fcall_interactively): Use INTEGERP instead of
10902 NUMBERP for checking Vhistory_length.
10903
10904 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10905
10906 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
10907 Doc fix to reflect it.
10908
10909 2002-04-04 Richard M. Stallman <rms@gnu.org>
10910
10911 * xdisp.c (display_mode_element): New arg RISKY.
10912 Disregard text props found or specified within a variable
10913 that isn't marked risky-local-variable.
10914 (Qrisky_local_variable): New variable.
10915 (syms_of_xdisp): Init and staticpro it.
10916
10917 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
10918
10919 * undo.c (record_point): New fun.
10920 (record_delete, record_insert): Use it.
10921
10922 2002-04-03 Juanma Barranquero <lektu@terra.es>
10923
10924 * doc.c (Fdocumentation): Add missing parentheses.
10925 (Fdocumentation_property): Likewise.
10926
10927 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
10928
10929 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
10930 data is 0, just return nil.
10931
10932 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
10933
10934 * msdos.c (syms_of_msdos): Fix last change with
10935 mouse_autoselect_window.
10936
10937 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10938
10939 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
10940 mouse_autoselect_window.
10941
10942 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
10943
10944 * keyboard.c (make_lispy_event): Handle unknown keysyms together
10945 with system-specific keysyms. Use it also for unknown function keys.
10946
10947 * doc.c (reread_doc_file): Return whether reload was attempted.
10948 (Fdocumentation, Fdocumentation_property): Don't try to reload
10949 if the doc is 0 and only ask once.
10950
10951 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
10952
10953 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
10954
10955 * keyboard.c (read_char): If the event was Qselect_window,
10956 restore timer_idleness_start_time to its previous value.
10957
10958 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
10959
10960 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
10961
10962 * region-cache.c (new_region_cache): Use BEG.
10963
10964 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
10965 Use BEG and BEG_BYTE.
10966
10967 * doc.c (get_doc_string): Return nil if the location is wrong.
10968 (reread_doc_file): New fun.
10969 (Fdocumentation, Fdocumentation_property):
10970 Call it if get_doc_string fails.
10971 (Fsnarf_documentation): Make it work for a dumped Emacs.
10972
10973 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
10974 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
10975
10976 * charset.c (Fstring): Allow 0 arguments.
10977
10978 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
10979
10980 * process.c (DATAGRAM_CONN_P, list_processes_1)
10981 (Fprocess_datagram_address, Fset_process_datagram_address)
10982 (Fset_network_process_options, server_accept_connection):
10983 Fix some int/Lisp_Object confusions (thank you union types).
10984
10985 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10986
10987 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
10988
10989 * w32term.c: Likewise.
10990 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
10991
10992 * keyboard.c (Qselect_window): New symbol.
10993 (head_table): Use it.
10994 (keys_of_keyboard): Bound select-window event to handle-select-window.
10995 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
10996
10997 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
10998 (last_window): New variable.
10999 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
11000 (note_mouse_movement): Remove reimplemented code in #if 0.
11001 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
11002 Emacs windows.
11003
11004 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
11005
11006 2002-03-31 Gerd Moellmann <gerd@gnu.org>
11007
11008 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
11009 Callers changed.
11010
11011 2002-03-30 Richard M. Stallman <rms@gnu.org>
11012
11013 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
11014 loop whenever it stops making progress.
11015
11016 * widget.c (set_frame_size): Don't call change_frame_size.
11017
11018 2002-03-30 Gerd Moellmann <gerd@gnu.org>
11019
11020 * dispnew.c (direct_output_for_insert):
11021 Call mark_window_display_accurate.
11022
11023 2002-03-29 Jason Rumney <jasonr@gnu.org>
11024
11025 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
11026
11027 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
11028
11029 * Makefile.in (lread.o): Depend on coding.h.
11030
11031 * lread.c (openp, Fload): Encode the file name before passing it
11032 to `stat', `access', and `emacs_open'.
11033 (openp): GCPRO the encoded file name. Don't recompute Lisp
11034 strings unnecessarily.
11035
11036 2002-03-29 Kim F. Storm <storm@cua.dk>
11037
11038 * fns.c (Flax_plist_put): Doc fix.
11039
11040 2002-03-28 Miles Bader <miles@gnu.org>
11041
11042 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
11043
11044 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11045
11046 * process.c (set-network-process-options): Add usage.
11047 (make-network-process): Doc fix.
11048
11049 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
11050
11051 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
11052
11053 2002-03-26 Richard M. Stallman <rms@gnu.org>
11054
11055 * fns.c (Fsubstring_no_properties): New function.
11056 (Flax_plist_get, Flax_plist_put): New functions.
11057 (syms_of_fns): defsubr them.
11058
11059 * xdisp.c (update_menu_bar): Test only update_mode_lines;
11060 don't test or alter w->update_mode_line.
11061
11062 * window.c (Fdisplay_buffer): Doc fix.
11063
11064 2002-03-24 Richard M. Stallman <rms@gnu.org>
11065
11066 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
11067
11068 2002-03-24 Gerd Moellmann <gerd@gnu.org>
11069
11070 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
11071 (Fdefmacro): Handle `(declare ...)'.
11072 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
11073 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
11074
11075 2002-03-24 Jason Rumney <jasonr@gnu.org>
11076
11077 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
11078 (xbm_file_p): Add prototypes.
11079 (xbm_format, xbm_image_p): Sync with xfns.c.
11080 (reflect_byte): New function.
11081 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
11082 (xbm_load_image): Create bitmaps with a depth of 1.
11083 (init_xfns): Enable XBM images.
11084
11085 2002-03-23 Jason Rumney <jasonr@gnu.org>
11086
11087 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
11088 correctly. Do not pass up_modifier to keyboard buffer.
11089
11090 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
11091
11092 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
11093
11094 * Makefile.in (bootstrapclean): New target.
11095 (bootstrap-temacs, bootstrap-doc): Remove.
11096 (bootstrap-emacs): Use a bog-standard `temacs'.
11097 Don't bother to build a DOC file.
11098
11099 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
11100
11101 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
11102 in temacs even if !CANNOT_DUMP.
11103 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
11104
11105 * alloc.c (check_pure_size): Only output a warning.
11106
11107 2002-03-22 Jason Rumney <jasonr@gnu.org>
11108
11109 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
11110 supported.
11111
11112 * w32term.c (zv_bits): Declare as short, for word alignment.
11113 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
11114 (syms_of_w32term): Define x-use-underline-position-properties.
11115
11116 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
11117 (clear_image_cache): Block input, fix logic, clear matrices in
11118 all frames that share this cache.
11119
11120 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
11121
11122 * emacs.c (main): Update the Copyright year in the blurb printed
11123 by "emacs --version".
11124
11125 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
11126
11127 * xterm.c (XTread_socket): If XK_ISO_Lock and
11128 XK_ISO_Last_Group_Lock are defined, handle keysyms between
11129 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
11130
11131 2002-03-21 Kim F. Storm <storm@cua.dk>
11132
11133 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
11134 menu-bar bindings in keymap and local-map properties _are_ used.
11135 But try keymap property first in accordance with 2002-01-03 patch.
11136 Added comment describing why this is not always reliable.
11137 (tool_bar_items): Ditto for tool-bar.
11138
11139 2002-03-21 Jason Rumney <jasonr@gnu.org>
11140
11141 * w32fns.c (x_clear_image_1): Disable color table code.
11142
11143 2002-03-21 Kim F. Storm <storm@cua.dk>
11144
11145 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
11146 removed the wrong version of the DEFUN macro; fixed it.
11147
11148 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
11149 Fmember rather than Fmemq).
11150 (Fprovide): Check that subfeatures is a list.
11151
11152 * process.c (QCfeature, QCdatagram): Removed variables.
11153 (QCtype, Qdatagram): New variables.
11154 (network_process_featurep): Removed function.
11155 (Fmake_network_process): Removed :feature check.
11156 Use :type 'datagram instead of :datagram t to create a datagram
11157 socket. This allows us to add other connection types (e.g. raw
11158 sockets) later in a consistent manner.
11159 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
11160 supported subfeatures for feature make-network-process.
11161 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
11162 Intern and staticpro QCtype and Qdatagram.
11163 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
11164
11165 * xfns.c: (QCtype): Remove duplicate declaration and
11166 initialization (is now declared in process.c).
11167
11168 * w32fns.c: (QCtype): Remove duplicate declaration and
11169 initialization (is now declared in process.c).
11170
11171 2002-03-21 Richard M. Stallman <rms@gnu.org>
11172
11173 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
11174 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
11175 when jumping to `fail' to avoid undoing reg changes in the
11176 last iteration of the loop.
11177 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
11178
11179 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
11180 Depend on process.h.
11181
11182 2002-03-20 Jason Rumney <jasonr@gnu.org>
11183
11184 Most of the following changes are still conditional on HAVE_IMAGES
11185 which is not set by default on Windows.
11186
11187 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
11188
11189 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
11190 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
11191 (four_corners_best, x_clear_image_1, x_clear_image)
11192 (x_alloc_image_color, postprocess_image)
11193 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
11194 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
11195 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
11196
11197 * w32gui.h (struct XImage): Define.
11198
11199 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
11200 extract mouse co-ordinates.
11201
11202 2002-03-20 Jason Rumney <jasonr@gnu.org>
11203
11204 * w32.c (init_winsock): Dynamically load new server and UDP
11205 socket functions.
11206 (socket_to_fd): New function.
11207 (sys_socket): Use it.
11208 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
11209 (sys_recvfrom, sys_sendto): New wrapper functions.
11210
11211 * process.c (QCfamily, QCfilter): Remove duplicate declaration
11212 and initialization.
11213
11214 * makefile.w32-in (LIBS): Remove $(WSOCK32).
11215
11216 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
11217
11218 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
11219 Don't use "sun" as a variable, it's a predefined constant on Sun
11220 machines.
11221
11222 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11223
11224 * bytecode.c (Fbyte_code): Revert last change.
11225
11226 2002-03-19 Kim F. Storm <storm@cua.dk>
11227
11228 * makefile.w32-in (LIBS): Add $(WSOCK32).
11229 From David Ponce <dponce@voila.fr>.
11230
11231 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11232
11233 * process.c (wait_reading_process_input): Move variables `pname'
11234 and `pnamelen' down where they are used.
11235
11236 * bytecode.c (Fbyte_code): Discard unused computed value to
11237 prevent gcc warning.
11238
11239 * lisp.h (Fplist_member): Add prototype.
11240
11241 2002-03-18 Kim F. Storm <storm@cua.dk>
11242
11243 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
11244 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
11245
11246 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
11247 Remove explicit GNU_LINUX settings for datagram support.
11248
11249 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11250
11251 * process.c (Fmake_network_process): Remove unused variable `sa'.
11252 Doc fix. Add usage:.
11253 (set_socket_options): Remove unused variables `optnum' and `opttype'.
11254
11255 2002-03-17 Richard M. Stallman <rms@gnu.org>
11256
11257 * xdisp.c (cursor_type_changed): New variable.
11258 (redisplay_internal): Redisplay all windows if cursor_type_changed.
11259 Clear it when clearing windows_or_buffers_changed.
11260 (try_cursor_movement, redisplay_window, try_window_id)
11261 (try_window_reusing_current_matrix): Test cursor_type_changed
11262 along with windows_or_buffers_changed.
11263
11264 * window.h (cursor_type_changed): New variable.
11265
11266 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
11267 not update_mode_lines, and always set it to 1.
11268
11269 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
11270 if no frames needed redrawing.
11271
11272 2002-03-17 Kim F. Storm <storm@cua.dk>
11273
11274 The following changes add support for network server processes,
11275 datagram connections, and local (unix) sockets.
11276
11277 * process.h (struct Lisp_Process): New member log.
11278 Doc fix: Member command used to indicate stopped network process.
11279 Doc fix: Member childp contains plist for network process.
11280 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
11281
11282 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
11283 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
11284 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
11285 New variables.
11286 (NETCONN1_P): New macro.
11287 (DATAGRAM_SOCKETS): New conditional symbol.
11288 (datagram_address): New array.
11289 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
11290 (status_message): Use concat3.
11291 (Fprocess_status): Add `listen' status to doc string. Return `stop'
11292 for a stopped network process.
11293 (Fset_process_buffer): Update contact plist for network process.
11294 (Fset_process_filter): Ditto. Don't enable input for stopped
11295 network processes. Server must listen, even if filter is t.
11296 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
11297 New functions.
11298 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
11299 (Fprocess_contact): Added KEY argument. Handle datagrams.
11300 (list_processes_1): Optionally show only processes with the query
11301 on exit flag set. Dynamically adjust column widths. Omit tty
11302 column if not needed. Report stopped network processes.
11303 Identify server and datagram network processes.
11304 (Flist_processes): New optional arg `query-only'.
11305 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
11306 (conv_lisp_to_sockaddr, set_socket_options)
11307 (network_process_featurep, unwind_request_sigio): New helper functions.
11308 (Fprocess_datagram_address, Fset_process_datagram_address):
11309 (Fset_network_process_options): New lisp functions.
11310 (Fopen_network_stream): Removed. Now defined in simple.el.
11311 (Fmake_network_process): New lisp function. Code is based on previous
11312 Fopen_network_stream, but heavily reworked with new property list based
11313 argument list, support for datagrams, server processes, and local
11314 sockets in addition to old client-only functionality.
11315 (server_accept_connection): New function.
11316 (wait_reading_process_input): Use it to handle incoming connects.
11317 Do not enable input on a new connection if process is stopped.
11318 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
11319 (send_process): Handle datagram sockets.
11320 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
11321 network process is indicated by setting command field to t .
11322 (Fprocess_send_eof): No-op if datagram connection.
11323 (Fstatus_notify): Don't read input for a stream server socket or a
11324 stopped network process.
11325 (init_process): Initialize datagram_address array.
11326 (syms_of_process): Intern and staticpro new variables, defsubr new
11327 functions.
11328
11329 2002-03-16 Jason Rumney <jasonr@gnu.org>
11330
11331 * w32fns.c (w32_to_all_x_charsets): Return correct type in
11332 startup case.
11333
11334 2002-03-16 Richard M. Stallman <rms@gnu.org>
11335
11336 * xdisp.c (redisplay_internal, redisplay_windows):
11337 Use list_of_error to call internal_condition_case_1.
11338 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
11339 so as to catch all errors with no possibility of debugger redisplay.
11340 (list_of_error): New variable.
11341 (syms_of_xdisp): Init and staticpro it.
11342
11343 * print.c (print_object): Delete `\ ' from printed rep of frame.
11344
11345 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
11346
11347 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
11348 until its implementation is fixed.
11349
11350 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11351
11352 * xfns.c (png_load): Remove unused variable `gamma_str'.
11353
11354 2002-03-14 Richard M. Stallman <rms@gnu.org>
11355
11356 * xfns.c (x_real_positions): Handle failure in XQueryTree.
11357
11358 2002-03-14 Miles Bader <miles@gnu.org>
11359
11360 * intervals.c (adjust_for_invis_intang): New function.
11361 (set_point_both): Use `adjust_for_invis_intang' to do most of the
11362 work for dealing with invisible+intangible regions. Do so before
11363 and after both forward and backward movements, to handle both
11364 front-sticky and rear-sticky cases.
11365 * textprop.c (text_property_stickiness): Function moved here from
11366 `editfns.c'.
11367 * intervals.h (text_property_stickiness): New declaration.
11368 * editfns.c (char_property_eq): Function removed.
11369 (text_property_stickiness): Function moved to `textprop.c'.
11370
11371 2002-03-13 Jason Rumney <jasonr@gnu.org>
11372
11373 * config.in: Add STRFTIME_NO_POSIX2.
11374
11375 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
11376 and %OX when underlying strftime does not.
11377
11378 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
11379
11380 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
11381 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
11382 line) to avoid annoying flicker.
11383 (xm_scroll_callback): Get rid of the now unnecessary kludge.
11384 (XTread_socket): Mark it static.
11385
11386 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
11387
11388 2002-03-13 Kim F. Storm <storm@cua.dk>
11389
11390 * puresize.h (BASE_PURESIZE): Increase to 775000.
11391
11392 2002-03-12 Juanma Barranquero <lektu@terra.es>
11393
11394 * editfns.c (syms_of_editfns): Fix typo.
11395
11396 2002-03-12 Gerd Moellmann <gerd@gnu.org>
11397
11398 * xsmfns.c: Include stdio.h because termhooks.h needs it.
11399 Include termopt.h for interrupt_input.
11400
11401 2002-03-11 Andreas Schwab <schwab@suse.de>
11402
11403 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
11404
11405 2002-03-11 Gerd Moellmann <gerd@gnu.org>
11406
11407 * xterm.c (note_mouse_movement): Put code for
11408 x_autoselect_window_p in #if 0.
11409
11410 * lread.c (Fload): Don't assume that message_with_string uses the
11411 string it is given like a C string.
11412
11413 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11414
11415 * xterm.h (x_session_check_input, x_session_initialize): Declared.
11416
11417 * xterm.c: (XTread_socket): Add call to x_session_check_input and
11418 x_session_have_connection.
11419 (x_initialize): Add call to x_session_initialize.
11420
11421 * termhooks.h (enum event_kind): Add save_session_event.
11422
11423 * keyboard.c: Add Emacs event save_session_event.
11424
11425 * emacs.c (main): Add call to syms_of_xsmfns.
11426
11427 * lisp.h: Declare syms_of_xsmfns as extern.
11428
11429 * config.in: Add HAVE_X_SM.
11430
11431 * Makefile.in (LIBXT): Add -lSM -lICE
11432 if HAVE_X_SM and not USE_X_TOOLKIT.
11433 (XOBJ): New file xsmfns.c added.
11434
11435 * xsmfns.c: New file for X session management.
11436
11437 2002-03-09 Jason Rumney <jasonr@gnu.org>
11438
11439 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
11440 read-only when setting modified time.
11441
11442 2002-03-08 Gerd Moellmann <gerd@gnu.org>
11443
11444 * xdisp.c (move_it_vertically_backward): At the end of the function,
11445 when moving forward by lines, treat terminal frames specially.
11446
11447 * keyboard.c (echo_char): Make sure to add a separator between
11448 keys even if echo_dash hasn't been called.
11449
11450 * xdisp.c: Use new string macros.
11451 (update_echo_area): Pass number of bytes to message3 instead of
11452 number of chars.
11453 (set_message_1): Don't access a string's size_byte directly.
11454 (decode_mode_spec_coding): Use number of bytes of eoltype string
11455 instead number of chars.
11456
11457 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
11458
11459 2002-03-08 Juanma Barranquero <lektu@terra.es>
11460
11461 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
11462 24-bit.
11463
11464 2002-03-06 Jason Rumney <jasonr@gnu.org>
11465
11466 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
11467
11468 2002-03-06 Gerd Moellmann <gerd@gnu.org>
11469
11470 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
11471 (cancel_echoing, echo_length, echo_truncate): Changed to
11472 work with new kboard definition.
11473 (echo_now): Use message3_nolog instead of message2_nolog.
11474
11475 * alloc.c (mark_kboards): Mark echo_string.
11476
11477 * keyboard.h (ECHOBUFSIZE): Removed.
11478 (struct kboard): Member echoptr removed, member echobuf renamed
11479 to echo_string.
11480
11481 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
11482 message3 instead of message2 to display the message using STRING's
11483 text properties.
11484
11485 2002-03-05 Andreas Schwab <schwab@suse.de>
11486
11487 * xdisp.c (hscroll_margin): Change to EMACS_INT.
11488
11489 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
11490
11491 * frame.c (default-frame-alist): Explain that setting it doesn't
11492 affect existing frames.
11493
11494 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
11495
11496 * indent.c (skip_invisible): Fix my brain fart.
11497
11498 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
11499
11500 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
11501
11502 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
11503 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
11504 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
11505 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
11506 and variables to use EMACS_INT instead of just int.
11507
11508 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
11509
11510 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
11511
11512 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
11513 environment, pass it down with corrected value.
11514
11515 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11516
11517 * lread.c (read_filtered_event): Do not call start_hourglass
11518 before returning.
11519
11520 2002-03-04 Juanma Barranquero <lektu@terra.es>
11521
11522 * w32term.c (x_display_and_set_cursor): Fix typo.
11523
11524 2002-03-03 Richard M. Stallman <rms@gnu.org>
11525
11526 * fileio.c (Fmake_temp_name): Doc fix.
11527
11528 2002-03-03 Gary Wong <gtw@gnu.org>
11529
11530 * termcap.c [!emacs]: Replace ospeed for building standalone
11531 libtermcap, for binary compatibility.
11532
11533 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
11534
11535 2002-03-03 Richard M. Stallman <rms@gnu.org>
11536
11537 * xrdb.c (file_p): Rename arg `path' to `filename'.
11538
11539 * abbrev.c (Fexpand_abbrev): Increment plist as use count
11540 only if it is an integer.
11541
11542 * xfns.c (png_load): Set screen_gamma based on f->gamma.
11543 If png_get_sRGB gives an answer, call png_set_gamma
11544 using the default image gamma value.
11545
11546 * lread.c (read1): When reading from a file, default string to
11547 multibyte only if it has some multibyte characters.
11548
11549 * print.c (print_object): Output multibyte chars 128...255
11550 using \x even if ! print_escape_multibyte.
11551
11552 * xdisp.c (display_mode_element): Move the places where
11553 bytepos, charpos, this, and lisp_string are set.
11554 Use lisp_string to set bytepos.
11555
11556 * xdisp.c (redisplay_internal):
11557 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
11558
11559 * xdisp.c (display_mode_element): Merge properties specified with
11560 :propertize onto those that come with the string.
11561
11562 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
11563
11564 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
11565 automatic-hscrolling. Users changed.
11566 <hscroll-margin>: Renamed from automatic-hscroll-margin.
11567 Users changed.
11568 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
11569
11570 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11571
11572 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
11573
11574 2002-03-02 Kim F. Storm <storm@cua.dk>
11575
11576 * window.c (Fminibuffer_selected_window): New function.
11577 (syms_of_window): Defsubr it.
11578
11579 2002-03-01 Kim F. Storm <storm@cua.dk>
11580
11581 * window.h (struct window): New member phys_cursor_width.
11582
11583 * window.c (make_window, replace_window): Init phys_cursor_width.
11584
11585 * xterm.c (x_display_and_set_cursor): Blink box cursor using
11586 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
11587
11588 * w32term.c (x_display_and_set_cursor): Blink box cursor using
11589 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
11590
11591 * lisp.h (GCPRO6): New macro.
11592
11593 * process.c (Fopen_network_stream): Use GCPRO6.
11594
11595 2002-03-01 Kim F. Storm <storm@cua.dk>
11596
11597 * process.c (Qconnect, Qfailed): New variables.
11598 (syms_of_process): Intern and staticpro them.
11599 (Fprocess_status): Document connect and failed return values.
11600 [NON_BLOCKING_CONNECT]: New conditional.
11601 (connect_wait_mask, num_pending_connects): New variables.
11602 (status_message): Convert Qfailed status.
11603 (Fopen_network_stream): Added support for non-blocking connect.
11604 New optional args: filter, sentinel, non_blocking. Doc updated.
11605 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
11606 (deactivate_process): Handle pending non-blocking connect.
11607 (wait_reading_process_input): Poll for status of non-blocking
11608 connects. Exec sentinel directly when connect succeeds.
11609 (status_notify): Don't read process output if not yet connected.
11610
11611 2002-02-28 Kim F. Storm <storm@cua.dk>
11612
11613 * window.c: (minibuf_selected_window): Renamed from
11614 Vminibuf_selected_window. Users changed.
11615 (syms_of_window): Staticpro it.
11616
11617 2002-02-26 Kim F. Storm <storm@cua.dk>
11618
11619 The following changes add a new Vminibuf_selected_window variable
11620 which is similar to Vminibuf_scroll_window, but which is only set
11621 on entry to the minibuffer (from a non-minibuffer window):
11622
11623 * window.c: (Vminibuf_selected_window): New variable.
11624 (struct save_window_data): New member minibuf_selected_window.
11625 (Fset_window_configuration): Restore Vminibuf_selected_window.
11626 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
11627 Set minibuf_scroll_window member to nil if minibuf_level is 0.
11628 (compare_window_configurations): Compare minibuf_selected_window.
11629
11630 * window.h: (Vminibuf_selected_window): Declare extern.
11631
11632 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
11633 entry to minibuffer or on entry from a non-minibuffer window.
11634
11635 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
11636 Vminibuf_selected_window instead of Vminibuf_scroll_window.
11637
11638 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
11639 instead of Vminibuf_scroll_window when deciding in which window
11640 the region should be highlighted. Consequently, the region remains
11641 highlighteded even when a completion buffer is also displayed.
11642
11643 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
11644
11645 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
11646
11647 * xselect.c (Qcompound_text_with_extensions): Renamed from
11648 Qcompound_text_no_extensions.
11649 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
11650
11651 2002-02-26 Juanma Barranquero <lektu@terra.es>
11652
11653 * w32proc.c (syms_of_ntproc): Doc fix.
11654
11655 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11656
11657 * intervals.h: Include "dispextern.h" unconditionally.
11658
11659 2002-02-24 Jason Rumney <jasonr@gnu.org>
11660
11661 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
11662 and disp-table.elc.
11663 (lisp): Add emacs-lisp/backquote.elc.
11664
11665 2002-02-24 Kim F. Storm <storm@cua.dk>
11666
11667 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
11668 The validation of the event type was too strict as it didn't
11669 allow string events; buffer names are used in bindings for
11670 menu-bar-select-buffer (see `menu-bar-update-buffers').
11671
11672 2002-02-23 Kim F. Storm <storm@cua.dk>
11673
11674 The following changes rework my patch of 2002-02-06 which
11675 added command remapping by entering the commands directly into
11676 the keymaps. Now, command remapping uses an explicit `remap'
11677 prefix in the keymaps, i.e. [remap COMMAND].
11678
11679 * keymap.c (Qremap, remap_command_vector): New variables.
11680 (is_command_symbol): Removed function.
11681 (Fdefine_key): No longer accept a symbol for KEY.
11682 Added validation of [remap COMMAND] argument for KEY.
11683 The DEF is no longer required to be a symbol when remapping a command.
11684 (Fremap_command): New function to remap command through keymaps.
11685 (Flookup_key): Perform command remapping initiated by
11686 Fremap_command directly for speed.
11687 (Fkey_binding): Use Fremap_command for command remapping.
11688 (where_is_internal): Handle new command remapping representation.
11689 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
11690 staticpro them. Defsubr Fremap_command.
11691
11692 * keymap.h (Fremap_command): Declare extern.
11693 (is_command_symbol): Remove extern.
11694
11695 * keyboard.c (command_loop_1): Use Fremap_command for command
11696 remapping; now try command remapping for all symbols.
11697
11698 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
11699
11700 * coding.h (run_pre_post_conversion_on_str): Add prototype.
11701
11702 2002-02-23 Jason Rumney <jasonr@gnu.org>
11703
11704 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
11705 on the string before encoding it.
11706 (Fw32_get_clipboard_data): Run post-read-conversion on the string
11707 after decoding it.
11708
11709 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
11710
11711 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11712
11713 * w32term.c (enter_timestamp): Remove unused static variable to
11714 prevent warning.
11715
11716 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
11717
11718 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
11719
11720 * w16select.c (Fw16_get_clipboard_data): Fix last change.
11721
11722 * xselect.c (selection_data_to_lisp_data): Fix last change.
11723
11724 2002-02-22 Jason Rumney <jasonr@gnu.org>
11725
11726 * w32term.h (struct w32_output): New member menu_command_in_progress.
11727
11728 * w32menu.c (menubar_selection_callback): Free the menu and
11729 clear the menu_command_in_progress flag.
11730
11731 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
11732 (menu_free_timer): New variable.
11733 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
11734 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
11735 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
11736 menu command is in progress.
11737 <WM_COMMAND>: Set the menu_command_in_progress flag.
11738 Kill any menu_free_timer that is running.
11739
11740 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
11741 Call ExtTextOutA rather than ExtTextOut.
11742
11743 2002-02-22 Eli Zaretskii <eliz@gnu.org>
11744
11745 * puresize.h (BASE_PURESIZE): Increase to 755000.
11746
11747 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11748
11749 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
11750 on the string before encoding it.
11751 (Fw16_get_clipboard_data): Run post-read-conversion on the string
11752 after decoding it.
11753
11754 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11755
11756 Support for ICCCM Extended Segments in X selections:
11757
11758 * xselect.c <Qcompound_text_no_extensions>: New variable.
11759 (syms_of_xselect): Intern and staticpro it.
11760 (selection_data_to_lisp_data): Run post-read-conversion on decoded
11761 selection text.
11762 (lisp_data_to_selection_data): If next-selection-coding-system is
11763 compound-text-no-extensions, set the type of selection to be
11764 compound-text.
11765
11766 * xterm.h (x_encode_text): Update prototype.
11767
11768 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
11769 callers changed. If SELECTIONP is non-zero, run the
11770 pre-write-conversion function before encoding the selection text.
11771
11772 2002-02-21 Kim F. Storm <storm@cua.dk>
11773
11774 * frame.c (syms_of_frame): Change mouse-highlight default to t.
11775
11776 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
11777 Correct composing of language-change event.
11778
11779 2002-02-20 Kim F. Storm <storm@cua.dk>
11780
11781 * keyboard.c (menu_bar_items): Don't include keymap or local-map
11782 bindings at PT when building menu (the menu is not updated often
11783 enough for this to work reliable).
11784 (tool_bar_items): Likewise.
11785 (current_active_maps): Removed unused (and buggy) function.
11786
11787 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11788
11789 * xfns.c (gif_load): Use correct width and height for GIF images.
11790
11791 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
11792
11793 * floatfns.c (Fatan): Accept an optional second arg and call
11794 atan2 if passed 2 args.
11795
11796 2002-02-18 Jason Rumney <jasonr@gnu.org>
11797
11798 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
11799
11800 2002-02-17 Jason Rumney <jasonr@gnu.org>
11801
11802 * w32term.c (x_autoselect_window_p): New variable.
11803 (syms_of_w32term): DEFVAR_BOOL and initialize it.
11804 (note_mouse_movement): Use it.
11805
11806 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
11807
11808 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
11809
11810 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
11811 New variables.
11812 (syms_of_w32fns): Intern and staticpro them.
11813 (x_frame_parms) <"fullscreen">: New parameter.
11814 (x_fullscreen_move, x_set_fullscreen): New functions.
11815 (x_set_frame_parameters): Support Qfullscreen.
11816 (x_real_positions): Save x/y_pixels_diff frame params.
11817 (x_figure_window_size): Support full-screen frames.
11818 (Fx_create_frame): Default the fullscreen parameter.
11819
11820 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
11821 (x_fullscreen_adjust): New functions.
11822 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
11823 fullscreen. Call x_check_fullscreen_move, and set the
11824 want_fullscreen member of output_data.w32
11825 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
11826
11827 * w32term.h: New enum for FULLSCREEN_* constants.
11828 (struct w32_output): New members want_fullscreen, x_pixels_diff,
11829 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
11830 (x-fullscreen-adjust): New prototype.
11831
11832 2002-02-17 Kim F. Storm <storm@cua.dk>
11833
11834 * frame.c: (Vmouse_highlight): New variable.
11835 (syms_of_frame): DEFVAR_LISP it.
11836
11837 * frame.h: (Vmouse_highlight): Declare extern.
11838
11839 * xterm.h (struct x_display_info): Add mouse_face_hidden.
11840
11841 * xterm.c (disable_mouse_highlight): Removed variable.
11842 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
11843 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
11844 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
11845 and on after keyboard input.
11846 (x_term_init): Initialize mouse_face_hidden.
11847
11848 * msdos.h (struct display_info): Add mouse_face_hidden.
11849
11850 * msdos.c (disable_mouse_highlight): Removed variable.
11851 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
11852 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
11853 (internal_terminal_init): Initialize mouse_face_hidden.
11854 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
11855 and on after keyboard input.
11856
11857 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
11858
11859 * w32term.c (disable_mouse_highlight): Removed variable.
11860 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
11861 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
11862 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
11863 and on after keyboard input.
11864 (w32_initialize_display_info): Initialize mouse_face_hidden.
11865
11866 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
11867
11868 * msdos.c (last_mouse_window): New variable.
11869 (dos_rawgetc): Fix last change--if the mouse is in the same window
11870 as recorded in last_mouse_window, don't select this window.
11871
11872 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
11873
11874 * msdos.c (x_autoselect_window_p): New variable.
11875 (syms_of_msdos): Defvar it.
11876 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
11877 which the last mouse movement occured, unless it is already selected.
11878
11879 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
11880 New variables.
11881 (syms_of_xdisp): DEVFAR them.
11882 (hscroll_window_tree): Use automatic_hscroll_margin and
11883 Vautomatic_hscroll_step to compute the amount of window scrolling.
11884
11885 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11886
11887 * xterm.c (x-autoselect-window): New variable.
11888 (note_mouse_movement): Use it.
11889
11890 * keyboard.c: Do not include "systime.h" twice.
11891
11892 2002-02-15 Andreas Schwab <schwab@suse.de>
11893
11894 * puresize.h (BASE_PURESIZE): Increase to 9/5.
11895
11896 * alloc.c (NSTATICS): Increase to 1280.
11897
11898 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
11899
11900 * alloc.c (NSTATICS): Bump to 1026.
11901
11902 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
11903 (Vx_super_keysym): New variables.
11904 (syms_of_xterm): DEFVAR_LISP them.
11905 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
11906 variables to determine which keys to use for the various modifiers.
11907
11908 2002-02-13 Kim F. Storm <storm@cua.dk>
11909
11910 * window.c: (Vmode_line_in_non_selected_windows): Removed.
11911 (mode_line_in_non_selected_windows): New variable.
11912 (syms_of_window): DEFVAR_BOOL it.
11913
11914 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
11915 Use mode_line_in_non_selected_windows.
11916 (mode_line_in_non_selected_windows): Declare extern.
11917 (Vmode_line_in_non_selected_windows): Removed extern.
11918
11919 2002-02-13 Richard M. Stallman <rms@gnu.org>
11920
11921 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
11922 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
11923 (Fclear_this_command_keys): Doc fixes.
11924
11925 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
11926 (update_face_from_frame_parameter): Increment face_change_count
11927 and windows_or_buffers_changed to force redisplay using changed faces.
11928
11929 * xdisp.c (QCpropertize): New variable.
11930 (mode_line_proptrans_alist): New variable.
11931 (display_mode_element): New arg PROPS; all calls changed.
11932 Implement this, for strings.
11933 Handle literal output of strings by sharing the
11934 main-line code for strings, using local var `literal'.
11935 Handle :propertize feature.
11936 (syms_of_xdisp): Initialze and staticpro QCpropertize and
11937 mode_line_proptrans_alist.
11938
11939 2002-02-11 Kim F. Storm <storm@cua.dk>
11940
11941 * window.c: (Vmode_line_in_non_selected_windows): New variable.
11942 (syms_of_window): DEFVAR_LISP it.
11943
11944 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
11945 (CURRENT_MODE_LINE_FACE_ID): Use it.
11946 (Vmode_line_in_non_selected_windows): Declare extern.
11947
11948 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
11949 to get mode line face.
11950
11951 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
11952
11953 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
11954 variables; cus-start.el doesn't need them anymore.
11955
11956 2002-02-09 Kim F. Storm <storm@cua.dk>
11957
11958 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
11959 reduction. This fixes a display problem where stray newlines were
11960 inserted in the window (corrected by C-l). Clarified code (IMHO).
11961
11962 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
11963
11964 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
11965
11966 * xdisp.c (display_mode_lines): Fix last change.
11967
11968 2002-02-09 Jason Rumney <jasonr@gnu.org>
11969
11970 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
11971 match each other.
11972 (w32_load_system_font): Prevent Cleartype fonts from loading.
11973 (Fx_show_tip): Ensure tip frames are above other topmost windows.
11974
11975 2002-02-09 Kim F. Storm <storm@cua.dk>
11976
11977 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
11978 (CURRENT_MODE_LINE_HEIGHT): Use it.
11979 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
11980
11981 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
11982 (pos_visible_p, handle_face_prop): Likewise.
11983 (display_mode_lines): Likewise, but for the real selected window.
11984 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
11985
11986 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
11987 in non-selected windows.
11988 (realize_basic_faces): Realize it.
11989 (syms_of_term): Intern and staticpro it.
11990
11991 2002-02-08 Kim F. Storm <storm@cua.dk>
11992
11993 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
11994 Changed mail addresses to emacs-devel@gnu.org.
11995
11996 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
11997
11998 * fileio.c (Fsubstitute_in_file_name): If the file name includes
11999 ~user, and there's no such user, don't discard everything before ~user.
12000
12001 * floatfns.c (Fround): Doc fix.
12002
12003 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12004
12005 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
12006
12007 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
12008
12009 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
12010
12011 2002-02-07 Kim F. Storm <storm@cua.dk>
12012
12013 * keymap.c (where_is_internal): Only check whether definition is
12014 remapped if it fulfills is_command_symbol.
12015
12016 2002-02-07 Andreas Schwab <schwab@suse.de>
12017
12018 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
12019
12020 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
12021
12022 2002-02-06 Kim F. Storm <storm@cua.dk>
12023
12024 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
12025 defining command remapping. Doc updated.
12026 (Flookup_key): Remap command through keymap if KEY is a symbol.
12027 (is_command_symbol): New function.
12028 (Fkey_binding): Use it. New optional argument NO-REMAP.
12029 Doc updated. Callers changed. Perform command remapping via
12030 recursive call unless that arg is non-nil.
12031 (where_is_internal): New argument no_remap. Callers changed.
12032 Call recursively to find original key bindings for a remapped
12033 comand unless that arg is non-nil.
12034 (Fwhere_is_internal): New optional argument NO-REMAP.
12035 Doc updated. Callers changed. Pass arg to where_is_internal.
12036
12037 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
12038 (is_command_symbol): Added prototype.
12039
12040 * keyboard.c (Vthis_original_command): New variable.
12041 (syms_of_keyboard): DEFVAR_LISP it.
12042 (command_loop_1): Set it, and perform command remapping.
12043
12044 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12045
12046 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
12047
12048 2002-02-06 Jason Rumney <jasonr@gnu.org>
12049
12050 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
12051
12052 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
12053
12054 * charset.c (get_charset_id): Use if-else instead of ?:.
12055
12056 2002-02-06 Richard M. Stallman <rms@gnu.org>
12057
12058 * filelock.c (S_ISLNK): Define if not defined.
12059
12060 2002-02-03 Richard M. Stallman <rms@gnu.org>
12061
12062 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
12063
12064 * lread.c (read1): Redesign strategy for force_multibyte and
12065 force_singlebyte. Now is_multibyte records whether read_buffer
12066 is multibyte. Encountering any multibyte character makes it so.
12067
12068 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
12069
12070 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
12071 with the same sequence, map that sequence to f10 rather than f0.
12072
12073 2002-02-03 Andreas Schwab <schwab@suse.de>
12074
12075 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
12076 latter never being defined on GNU/Linux.
12077
12078 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
12079
12080 * xfaces.c (realize_default_face): Don't set the weight and slant of
12081 the default face to Qnormal, unless these attributes are unspecified.
12082
12083 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12084
12085 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
12086 Call cancel_hourglass unconditionally.
12087
12088 * eval.c (Fsignal): Remove duplicated declaration of
12089 the variable `display_hourglass_p'.
12090
12091 2002-01-31 Richard M. Stallman <rms@gnu.org>
12092
12093 * editfns.c (region_limit): Nicer error message.
12094
12095 * coding.c (decode_composition_emacs_mule):
12096 Give up if NCOMPONENT gets too large to index `component'.
12097
12098 * callint.c (check_mark): New arg to specify clearer error message.
12099 Callers changed.
12100
12101 2002-01-27 Richard M. Stallman <rms@gnu.org>
12102
12103 * minibuf.c (Fcompleting_read): Doc fix.
12104
12105 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12106
12107 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
12108 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
12109 Fix doc-strings.
12110
12111 2002-01-26 Richard M. Stallman <rms@gnu.org>
12112
12113 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
12114
12115 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
12116 and scroll_up_aggressively.
12117
12118 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12119
12120 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
12121
12122 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
12123
12124 * textprop.c (Fnext_property_change, Fnext_single_property_change)
12125 (Fprevious_property_change, Fprevious_single_property_change):
12126 Stay within the narrowed-buffer boundaries.
12127
12128 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
12129
12130 * term.c (Ftty_display_color_cells): New function.
12131 (syms_of_term): Defsubr it.
12132 (Ftty_display_color_cells, Ftty_display_color_p): Change the
12133 argument name to DISPLAY. Doc fix.
12134
12135 * dispextern.h: Add prototype for set_tty_color_mode and
12136 tty_setup_colors.
12137
12138 2002-01-24 Jason Rumney <jasonr@gnu.org>
12139
12140 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
12141 If region left to draw is not what was expected, mark the frame as
12142 garbaged.
12143
12144 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
12145 Combine the regions returned by BeginPaint and GetUpdateRect.
12146
12147 2002-01-23 Jason Rumney <jasonr@gnu.org>
12148
12149 * w32term.c (x_update_window_begin): Only hide caret if
12150 w32_use_visible_system_caret is set.
12151 (x_update_window_end): Only show caret if
12152 w32_use_visible_system_caret is set.
12153 (syms_of_w32term): Handle SystemParametersInfo call failing.
12154
12155 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
12156
12157 2002-01-22 Richard M. Stallman <rms@gnu.org>
12158
12159 * unexelf.c (unexec): Define n so as to cause compilation error
12160 for the code where people have often written n instead of nn.
12161
12162 * .gdbinit (hookpost-run): Defined.
12163
12164 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12165
12166 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
12167
12168 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12169
12170 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
12171 if fullscreen is being set.
12172
12173 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12174
12175 * minibuf.c (Fminibuffer_contents)
12176 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
12177 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
12178
12179 2002-01-21 Richard M. Stallman <rms@gnu.org>
12180
12181 * window.c (check_frame_size): Fix minimum height calculation.
12182
12183 2002-01-20 Ken Raeburn <raeburn@gnu.org>
12184
12185 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
12186 height before comparison.
12187 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
12188
12189 2002-01-20 Jason Rumney <jasonr@gnu.org>
12190
12191 * w32term.c (w32_system_caret_width): Remove.
12192 (w32_use_visible_system_caret): New user flag.
12193 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
12194 Windows reports a screen reader running.
12195 (x_update_window_begin): Hide the system caret.
12196 (x_update_window_end): Show the system caret.
12197 (x_display_and_set_cursor): Don't draw a cursor when
12198 w32_use_visible_system_caret is set. Do not adjust width.
12199
12200 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
12201 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
12202 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
12203 the user requests it. Use system default width when creating.
12204 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
12205
12206 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
12207 New window messages.
12208
12209 2002-01-20 Richard M. Stallman <rms@gnu.org>
12210
12211 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
12212
12213 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12214
12215 * doprnt.c (doprnt1): Fix typos in error call.
12216
12217 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
12218
12219 * unexelf.c (unexec) [__sgi]: Support the .got sections.
12220
12221 2002-01-20 Jason Rumney <jasonr@gnu.org>
12222
12223 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
12224 that Windows returns. If a double check fails, try to guess how
12225 ExtTextOut is going to act.
12226
12227 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
12228 in place of stricmp.
12229 (w32_list_synthesized_fonts): Removed.
12230 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
12231 (struct enumfont_t): New element; list.
12232 (enum_font_cb2): List all style and charset variations of a font.
12233 (Fw32_select_font): New optional argument; include_proportional.
12234 Exclude vertical fonts. Exclude proportional fonts unless
12235 include_proportional is non-nil.
12236 (w32_enable_synthesized_fonts): Change to a boolean.
12237 (Fw32_send_sys_command): Doc fix.
12238
12239 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12240
12241 * dispnew.c (update_frame): Move the variable `tem' to the block
12242 where it is used.
12243
12244 2002-01-19 Jason Rumney <jasonr@gnu.org>
12245
12246 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
12247 call to face-set-after-frame-default.
12248
12249 2002-01-18 Richard M. Stallman <rms@gnu.org>
12250
12251 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
12252 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
12253
12254 2002-01-17 Richard M. Stallman <rms@gnu.org>
12255
12256 * window.c (enlarge_window): When exceeding size of parent,
12257 directly delete all the siblings instead of trying to resize it.
12258
12259 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12260
12261 * term.c (set_tty_color_mode): Remove unused variable `tem'.
12262
12263 2002-01-16 Henrik Enberg <henrik@enberg.org>
12264
12265 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
12266
12267 2002-01-16 Kim F. Storm <storm@cua.dk>
12268
12269 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
12270 is invisible. This can happen if cursor is on top line of a
12271 window, and we switch to a buffer with a header line.
12272
12273 * w32term.c (x_erase_phys_cursor): Ditto.
12274
12275 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12276
12277 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
12278 `dont_resize' only when used.
12279
12280 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
12281
12282 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
12283
12284 * xdisp.c (display_mode_element): When computing charpos, depend
12285 on multibyteness of elt, not the text in field.
12286
12287 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12288
12289 * buffer.c (Fkill_all_local_variables):
12290 Increment `update_mode_lines' only once.
12291
12292 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12293
12294 * lisp.h (adjust_after_replace_noundo)
12295 (Fupdate_coding_systems_internal): Add prototypes.
12296
12297 * sound.c (Fplay_sound): Initialize header_size also for :data case.
12298
12299 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
12300
12301 Support for the --color command-line argument and tty-color-mode
12302 frame parameter:
12303
12304 * term.c (tty_default_color_capabilities, tty_setup_colors)
12305 (set_tty_color_mode): New functions.
12306 (term_init): Call tty_default_color_capabilities.
12307 (Qtty_color_mode_alist): New variable.
12308 (syms_of_term): Intern and staticpro it.
12309
12310 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
12311 frames.
12312 (do_switch_frame): For termcap frames, switch the tty
12313 color mode as specified by the frame's parameters.
12314 (Qtty_color_mode): New variable.
12315 (syms_of_frame): Intern and staticpro it.
12316
12317 * emacs.c (USAGE2): Add the --color option.
12318 (standard_args): Ditto.
12319
12320 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12321
12322 * xterm.h (struct x_output): New members want_fullscreen,
12323 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
12324 y_pixels_outer_diff.
12325 New enum for FULLSCREEN_* constants.
12326 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
12327 is NULL.
12328 (x_fullscreen_adjust): Add prototype.
12329
12330 * emacs.c (USAGE2): Add the new full-screen arguments.
12331 (standard_args): Ditto.
12332
12333 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
12334 New variables.
12335 (syms_of_xfns): Intern and staticpro them.
12336 (x_frame_parms) <"fullscreen">: New parameter.
12337 (x_fullscreen_move, x_set_fullscreen): New functions.
12338 (x_set_frame_parameters): Support for Qfullscreen.
12339 (x_real_positions): More accurate computation of the frame position.
12340 (x_figure_window_size): Support full-screen frames.
12341 (Fx_create_frame): Default the fullscreen parameter.
12342
12343 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
12344 (XTread_socket) <Expose>: Call x_check_fullscreen.
12345 <ConfigureNotify>: Don't resize to fullscreen.
12346 Call x_check_fullscreen_move, and set the want_fullscreen member of
12347 output_data.x.
12348
12349 2002-01-13 Jason Rumney <jasonr@gnu.org>
12350
12351 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
12352 for mice with more than 3 buttons.
12353
12354 * w32term.c (parse_button): New parameter xbutton. Callers changed.
12355 (w32_read_socket): Handle new "XBUTTON" messages.
12356
12357 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
12358 (syms_of_w32fns): DEFVAR_BOOL it.
12359 (w32_wnd_proc): Handle new "XBUTTON" messages.
12360
12361 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12362
12363 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
12364
12365 2002-01-13 Andreas Schwab <schwab@suse.de>
12366
12367 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
12368
12369 2002-01-12 Andreas Schwab <schwab@suse.de>
12370
12371 * .gdbinit (xbuffer): Remove address operator since data is now a
12372 pointer.
12373
12374 2002-01-11 Richard M. Stallman <rms@gnu.org>
12375
12376 * insdel.c (adjust_after_replace_noundo): New function.
12377
12378 * coding.c (code_convert_region): Don't copy old text if undo disabled.
12379
12380 2002-01-09 Jason Rumney <jasonr@gnu.org>
12381
12382 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
12383 when checking for multiple frames.
12384
12385 2002-01-08 Richard M. Stallman <rms@gnu.org>
12386
12387 * window.c (delete_window): Rewrite the code for changing the
12388 selected window to handle the case where WINDOW is not a leaf.
12389
12390 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
12391
12392 * process.c (send_process): Set src_multibyte to 1 after the call
12393 top setup_coding_system, not before the call.
12394
12395 2002-01-07 Jason Rumney <jasonr@gnu.org>
12396
12397 * xmenu.c (set_frame_menubar, xmenu_show):
12398 (xdialog_show): Initialize wv->help to Qnil.
12399
12400 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
12401 (w32_dialog_show): Initialize wv->help to Qnil.
12402
12403 2002-01-06 Jason Rumney <jasonr@gnu.org>
12404
12405 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
12406
12407 * w32menu.c (w32_menu_display_help): Revert last change.
12408
12409 * xmenu.c (menu_highlight_callback): Revert last change.
12410
12411 2002-01-06 Andreas Schwab <schwab@suse.de>
12412
12413 * insdel.c (make_gap_larger): Make sure buffer size does not
12414 overflow range of int.
12415
12416 2002-01-05 Jason Rumney <jasonr@gnu.org>
12417
12418 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
12419 OVERLAPS_P.
12420
12421 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
12422
12423 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
12424 to the left or to the right of the pointer, put it against
12425 the left screen edge.
12426 (x_frame_parms): Add missing braces around initializer.
12427
12428 * w32term.c (x_setup_relief_colors): Don't compute an image's
12429 background color if it doesn't have a Pixmap.
12430 (notice_overwritten_cursor): Don't depend on
12431 output_cursor and updated_area. Compare pixel coordinates with
12432 window's cursor pixel coordinates.
12433 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
12434 Call notice_overwritten_cursor with new arg list.
12435 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
12436 unconditionally.
12437 (x_draw_image_relief): Use predefined macro instead of
12438 constant when the value of `tool_bar_button_relief' is negative.
12439
12440 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
12441
12442 2002-01-04 Richard M. Stallman <rms@gnu.org>
12443
12444 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
12445
12446 2002-01-03 Richard M. Stallman <rms@gnu.org>
12447
12448 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
12449 (Fkey_binding): Try the `keymap' property map first.
12450 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
12451 minor mode bindings.
12452
12453 2002-01-03 Kim F. Storm <storm@cua.dk>
12454
12455 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
12456
12457 2002-01-02 Richard M. Stallman <rms@gnu.org>
12458
12459 * keyboard.c (read_key_sequence): Handle the keymap property
12460 before minor mode maps.
12461
12462 * editfns.c (Fformat): Update thissize from field_width
12463 based on the actual width, in the string case.
12464
12465 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12466
12467 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
12468 when used as truth value to prevent gcc warnings.
12469
12470 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
12471 * w32proc.c: Include <config.h>.
12472
12473 2002-01-01 Andreas Schwab <schwab@suse.de>
12474
12475 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
12476 not EMACS_INT, to make them compatible with DEFVAR_INT.
12477 * lisp.h (max_specpdl_size): Adjust declaration.
12478
12479 2002-01-01 Richard M. Stallman <rms@gnu.org>
12480
12481 * print.c (print_object): Test print_escape_nonascii only for
12482 unibyte strings.
12483 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
12484 when outputting to a multibyte buffer.
12485
12486 2001-12-29 Richard M. Stallman <rms@gnu.org>
12487
12488 * print.c (print_object): In multibyte string, use hex escapes.
12489 Use octal only for unibyte strings.
12490 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
12491
12492 * lread.c (read_escape): New arg BYTEREP for reporting whether
12493 escape forces unibyte or multibyte.
12494 (read1): When reading a string, take note of that info.
12495
12496 2001-12-29 Ken Raeburn <raeburn@gnu.org>
12497
12498 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
12499 comparison to test lisp value returned by Fget.
12500
12501 2001-12-29 Richard M. Stallman <rms@gnu.org>
12502
12503 * lisp.h (max_specpdl_size): Add declaration.
12504
12505 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
12506
12507 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
12508 Handle modifier bits. Correct typo in error message.
12509
12510 2001-12-28 Richard M. Stallman <rms@gnu.org>
12511
12512 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
12513 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
12514 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
12515 Update calls to Fdefine_abbrev.
12516 (write_abbrev): Update for changed data format.
12517 Don't list "system" abbrevs.
12518 (Fexpand_abbrev): Update use count with new data format.
12519 (describe_abbrev): Update for changed data format.
12520 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
12521
12522 * config.in (HAVE_MBSINIT): Add #undef.
12523
12524 * strftime.c (mbsinit): Define as no-op if not available.
12525
12526 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
12527 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
12528
12529 * keymap.c (Flookup_key): Error message if key has wrong data type.
12530 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
12531 (exclude_key): New variable.
12532
12533 2001-12-28 Gerd Moellmann <gerd@gnu.org>
12534
12535 * xterm.c (x_setup_relief_colors): Don't compute an image's
12536 background color if it doesn't have a Pixmap.
12537
12538 * xterm.c (notice_overwritten_cursor): Don't depend on
12539 output_cursor and updated_area. Compare pixel coordinates with
12540 window's cursor pixel coordinates.
12541 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
12542 Call notice_overwritten_cursor with new arg list.
12543 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
12544 unconditionally.
12545
12546 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
12547 height of the cursor line to the amount to scroll.
12548
12549 2001-12-27 Richard M. Stallman <rms@gnu.org>
12550
12551 * intervals.c (set_point_both): The position after an invisible,
12552 intangible character is not an acceptable stopping point.
12553
12554 2001-12-27 Ken Raeburn <raeburn@gnu.org>
12555
12556 * window.c (enlarge_window): In new preserve_before code, convert
12557 CURBEG from lisp object to integer before doing arithmetic.
12558
12559 2001-12-27 Richard M. Stallman <rms@gnu.org>
12560
12561 * bytecode.c (Fbyte_code): Undo previous change.
12562
12563 2001-12-26 Kim F. Storm <storm@cua.dk>
12564
12565 * keyboard.c (record_char): Ignore duplicate help-echo events only
12566 separated by mouse-movement. When tracking mouse, only record
12567 first and last mouse-movement event in same window.
12568 Don't record mouse-movement events in keyboard macros.
12569
12570 2001-12-25 Richard M. Stallman <rms@gnu.org>
12571
12572 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
12573 (Fenlarge_window): New arg PRESERVE_BEFORE.
12574
12575 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
12576 instead of Fstring_as_unibyte.
12577
12578 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12579
12580 The following changes remove mocklisp support:
12581
12582 * mocklisp.h, mocklisp.c: Files removed.
12583
12584 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
12585 `Qmocklisp' and `Qmocklisp_arguments'.
12586 Remove prototype of syms_of_mocklisp.
12587
12588 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
12589
12590 * callint.c: Do not include mocklisp.h.
12591 (Fcall_interactively): Do not test for mocklisp case.
12592
12593 * eval.c: Remove variables `Qmocklisp_arguments',
12594 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
12595 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
12596 Do not test for mocklisp case.
12597 (Fwhile): Remove unused variable `tem'.
12598 (syms_of_eval): Remove variable `moclisp-arguments'.
12599
12600 * data.c (wrong_type_argument): Remove mocklisp case.
12601
12602 * doc.c (Fdocumentation): Remove mocklisp case.
12603
12604 * emacs.c (main): Do not call syms_of_mocklisp.
12605
12606 2001-12-21 Richard M. Stallman <rms@gnu.org>
12607
12608 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
12609 to the left or to the right of the pointer, put it against
12610 the left screen edge.
12611
12612 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
12613
12614 * Makefile.in (distclean): Remove .gdbinit if we are building
12615 outside the source tree.
12616
12617 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
12618
12619 * w32.c (emacs_root_dir): New function.
12620
12621 * msdos.c (emacs_root_dir): New function.
12622
12623 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
12624 of the current drive as the fallback for default_directory.
12625
12626 * dired.c (file_name_completion): Run the elements of
12627 completion-ignored-extensions through ENCODE_FILE.
12628
12629 * lisp.h (scmp): Remove prototype, since it's now a static
12630 function private to dired.c.
12631
12632 2001-12-18 Richard M. Stallman <rms@gnu.org>
12633
12634 * dired.c (scmp): Function moved from minibuf.c.
12635 Delete multibyte handling--used only on encoded strings.
12636
12637 * minibuf.c (scmp): Function moved to dired.c.
12638
12639 * fns.c (merge): Add QUIT call.
12640
12641 2001-12-18 Dave Love <fx@gnu.org>
12642
12643 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
12644 language/georgian.el.
12645
12646 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
12647
12648 * Makefile.in (lisp, shortlisp): Synchronize with changes to
12649 lisp/Makefile.in:DONTCOMPILE.
12650
12651 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12652
12653 * xdisp.c (window_box_height): Do not return negative values.
12654 From Gerd Moellmann <gerd@gnu.org>.
12655
12656 * keyboard.c (head_table): Add missing braces around initializer.
12657
12658 * term.c (keys): Likewise.
12659
12660 * xfns.c (x_frame_parms, visual_classes): Likewise.
12661
12662 2001-12-17 Sam Steingold <sds@gnu.org>
12663
12664 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
12665 patch (COMPOSING_P, not COMPOSING).
12666
12667 2001-12-17 Richard M. Stallman <rms@gnu.org>
12668
12669 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
12670
12671 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
12672 before calling decode_coding.
12673
12674 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
12675
12676 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
12677 instead of only for COMPOSITION_DISABLED.
12678
12679 2001-12-16 Richard M. Stallman <rms@gnu.org>
12680
12681 * alloc.c (pure_alloc): After overflow, allocate just a small block.
12682
12683 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
12684
12685 * buffer.h (struct buffer): New field `display_error_modiff'.
12686 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
12687
12688 * window.c (Frecenter): Clear display_error_modiff field.
12689
12690 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
12691 Call redisplay_window, but not if display_error_modiff field says no.
12692 (redisplay_window_error): New function.
12693 (displayed_buffer): New variable.
12694 (redisplay_internal, redisplay_windows): Call the new functions
12695 instead of redisplay_window directly.
12696
12697 2001-12-15 Richard M. Stallman <rms@gnu.org>
12698
12699 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
12700
12701 2001-12-14 Andrew Innes <andrewi@gnu.org>
12702
12703 * makefile.w32-in (EMACSLOADPATH): Define.
12704 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
12705 (bootstrap-temacs): Remove dependency on bootstrap-clean.
12706
12707 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
12708
12709 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
12710 parameter have a numeric value all the time.
12711
12712 * w32fns.c (x_report_frame_params): Likewise.
12713
12714 2001-12-12 Richard M. Stallman <rms@gnu.org>
12715
12716 * fileio.c (Fwrite_region): Doc fix.
12717
12718 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
12719 (redisplay_internal): Call clear_image_cache only for window terminals.
12720
12721 2001-12-12 Gerd Moellmann <gerd@gnu.org>
12722
12723 * xdisp.c (move_it_vertically_backward): Change heuristic
12724 for the case that we didn't move far enough initially.
12725
12726 * window.c (Frecenter): Simplify computation in the case of window
12727 system frames and ARG < 0; use window_box_height.
12728
12729 2001-12-11 Richard M. Stallman <rms@gnu.org>
12730
12731 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
12732 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
12733
12734 2001-12-11 Andrew Innes <andrewi@gnu.org>
12735
12736 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
12737 arg is negative.
12738
12739 2001-12-11 Richard M. Stallman <rms@gnu.org>
12740
12741 * m/hp800.h: Split the __hpux conditional into the parts
12742 that are right for GNU/Linux too and the parts that are not.
12743 Use the former if GNU_LINUX.
12744 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
12745
12746 * s/gnu-linux.h (GNU_LINUX): Defined.
12747
12748 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12749
12750 * macros.c, msdos.c, w16select.c: Change doc-string comments to
12751 `new style' [w/`doc:' keyword].
12752
12753 2001-12-10 Jason Rumney <jasonr@gnu.org>
12754
12755 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
12756 before using.
12757
12758 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12759
12760 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
12761 keyword].
12762
12763 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
12764
12765 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
12766
12767 * s/hpux10.h (srand48): Don't undefine.
12768
12769 2001-12-09 Jason Rumney <jasonr@gnu.org>
12770
12771 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
12772 Add comment to explain where the struct came from.
12773 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
12774 (add_menu_item): Process pop-up menus first to avoid memory leak.
12775 (add_menu_item, w32_menu_display_help): Use `help' field as
12776 Lisp_Object.
12777 (w32_free_submenu_strings): Only free owner-drawn strings.
12778
12779 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12780
12781 * COPYING: Moved back.
12782
12783 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
12784 Add parentheses around && within ||.
12785
12786 * indent.c (compute_motion): Likewise.
12787
12788 * intervals.c (merge_properties_sticky): Likewise.
12789
12790 * coding.c (setup_coding_system, shrink_encoding_region)
12791 (Fdecode_sjis_char): Likewise.
12792
12793 2001-12-07 Andreas Schwab <schwab@suse.de>
12794
12795 * xdisp.c (display_mode_element): Don't read past end of string if
12796 it ends with '%'.
12797
12798 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
12799 can hold.
12800
12801 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
12802 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
12803 type changed to Lisp_Object.
12804 (syms_of_data): DEFVAR_LISP them.
12805
12806 2001-12-07 Richard M. Stallman <rms@gnu.org>
12807
12808 * callproc.c (init_callproc): Set Vdata_directory based on the source
12809 location whenever Emacs was run uninstalled.
12810
12811 2001-12-06 Paul Eggert <eggert@twinsun.com>
12812
12813 * config.in (HAVE_WORKING_VFORK): New #undefs.
12814 * process.c (create_process):
12815 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
12816 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
12817 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
12818 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
12819 * m/intel386.h (HAVE_VFORK): Likewise.
12820 * m/mips-siemens.h (HAVE_VFORK): Likewise.
12821 * m/mips.h (HAVE_VFORK): Likewise.
12822 * s/freebsd.h (vfork): Remove #define.
12823 * s/lynxos.h (HAVE_VFORK): Remove #undef.
12824 * s/usg5-4-2.h: Fix comment about vfork.
12825
12826 2001-12-06 Richard M. Stallman <rms@gnu.org>
12827
12828 * s/hpux10.h (random): Add undef.
12829 (HAVE_RANDOM): Define it just once.
12830
12831 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
12832
12833 * eval.c: Undo last change: the standard syntax is not wanted.
12834
12835 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
12836
12837 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
12838 scroll bars of the frame before deleting the frame itself. If the
12839 frame has a widget, delete the frame with XtDestroyWidget, and do
12840 not call XDestroyWindow before that.
12841
12842 2001-12-06 Kim F. Storm <storm@cua.dk>
12843
12844 * xfns.c (x_report_frame_params): Return actual fringe widths.
12845
12846 * w32fns.c (x_report_frame_params): Return actual fringe widths.
12847
12848 2001-12-05 Andrew Innes <andrewi@gnu.org>
12849
12850 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
12851 excessively large.
12852
12853 * insdel.c (make_gap_larger): New function.
12854 (make_gap_smaller): New function.
12855 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
12856 Call make_gap_smaller if arg is negative.
12857
12858 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
12859
12860 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
12861 Pass a dummy argument when calling interrupt_signal.
12862 (parse_menu_item): Mark disabled items before checking for empty def.
12863 (read_char_minibuf_menu_prompt): Make safety more visible.
12864 (read_key_sequence): Add a `first_unbound' variable.
12865 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
12866 unbound prefix as soon as we can detect it.
12867
12868 * doc.c (Fsnarf_documentation): Add prototype.
12869 (get_doc_string): Handle negative arguments.
12870 (Fdocumentation): Use AREF and ASIZE.
12871 Move the calls to get_doc_string to a single place.
12872 Don't confuse an interactive-spec for a docstring reference.
12873 (Fdocumentation_property): Take advantage of the fact that
12874 get_doc_string now ignores the sign of the docstring position.
12875
12876 * eval.c: Use standard syntax for usage in docstrings.
12877
12878 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12879
12880 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
12881
12882 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12883
12884 * xterm.c (x_draw_image_relief): Use predefined macro instead of
12885 constant when the value of `tool_bar_button_relief' is negative.
12886
12887 2001-12-02 Richard M. Stallman <rms@gnu.org>
12888
12889 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
12890 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
12891
12892 * fileio.c (read_non_regular): Delete Fsignal call.
12893
12894 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
12895
12896 * lisp.h (run_hook_list_with_args): Undo last change.
12897
12898 2001-12-01 Gerd Moellmann <gerd@gnu.org>
12899
12900 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
12901
12902 2001-12-01 Jason Rumney <jasonr@gnu.org>
12903
12904 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
12905
12906 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
12907 [!WM_MOUSELEAVE]: Define.
12908
12909 * w32menu.c (current_popup_menu, get_menu_item_info):
12910 (set_menu_item_info): New vars.
12911 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
12912 (w32_menu_show): Set current_popup_menu.
12913 (add_menu_item): Allocate new strings for owner-drawn menu items
12914 and help strings.
12915 Use owner-draw for disabled menu items again.
12916 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
12917 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
12918
12919 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
12920 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
12921 <WM_EXITMENULOOP>: Free menu strings.
12922 <WM_MOUSELEAVE>: Stop tracking mouse.
12923 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
12924
12925 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
12926 and mouse face.
12927
12928 2001-12-01 Kim F. Storm <storm@cua.dk>
12929
12930 The following changes add left-fringe and right-fringe
12931 frame parameters to adjust fringe widths, or remove one or
12932 both fringes.
12933
12934 * frame.h (struct frame): Remove trunc_area_pixel_width and
12935 trunc_area_cols fields.
12936 (Qleft_fringe, Qright_fringe): Declare.
12937 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
12938
12939 * frame.c (Qleft_fringe, Qright_fringe): New vars.
12940 (syms_of_frame): Initialize them.
12941
12942 * window.c (coordinates_in_window): Handle separate left and right
12943 fringe widths.
12944
12945 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
12946 and fringe_cols fields.
12947 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
12948 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
12949 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
12950 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
12951 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
12952 (x_compute_fringe_widths): Add prototype.
12953
12954 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
12955 fill fringe evenly with small dashes.
12956 (x_draw_fringe_bitmap): Clear background if necessary. Align and
12957 clip the new ZV bitmap to avoid jitter between rows.
12958 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
12959 background. Don't draw fringe bitmaps if fringe width is zero.
12960 (x_compute_fringe_widths): New function.
12961 (x_new_font, x_set_window_size_1): Use it.
12962
12963 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
12964 (x_set_frame_parameters): Process `font' parameter before other
12965 parameters as fringe widths depend on it.
12966 (x_set_fringe_width): New function.
12967 (x_figure_window_size): Use x_compute_fringe_widths.
12968 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
12969 parameters.
12970
12971 * widget.c (set_frame_size): Use x_compute_fringe_widths.
12972 (EmacsFrameSetCharSize): Ditto.
12973
12974 * w32term.h: Merged changes from xterm.h.
12975 * w32term.c: Merged changes from xterm.c.
12976 * w32fns.c: Merged changes from xfns.c.
12977
12978 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12979
12980 * COPYING: Removed.
12981
12982 2001-11-29 Dave Love <fx@gnu.org>
12983
12984 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
12985 extra extra slot.
12986 (detect_coding_mask): Fix call of detect_coding_iso2022.
12987
12988 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12989
12990 * fileio.c (file-name-coding-system)
12991 (default-file-name-coding-system): Doc fix (links to referenced
12992 variables added).
12993
12994 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
12995
12996 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
12997 Add dummy uses of gcproN variables.
12998
12999 * category.c (describe_category, describe_category_1)
13000 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
13001 (syms_of_category): Don't defsubr Sdescribe_categories.
13002
13003 2001-11-28 Richard M. Stallman <rms@gnu.org>
13004
13005 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
13006
13007 * Makefile.in (lispdir): New variable, referring to build dir.
13008 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
13009
13010 2001-11-28 Andrew Innes <andrewi@gnu.org>
13011
13012 * w32menu.c (w32_menu_display_help): Actually add the new argument
13013 OWNER.
13014
13015 2001-11-28 Jason Rumney <jasonr@gnu.org>
13016
13017 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
13018 menu items. From David Ponce <dponce@wanadoo.fr>.
13019 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
13020 conditionally.
13021 (w32_menu_display_help): New argument OWNER. Rewritten to store a
13022 help event in the owner frame's keyboard buffer.
13023
13024 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
13025 (Fx_show_tip): Don't subtract last width from row width.
13026
13027 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
13028 (w32_read_socket): Use EQ to compare frames.
13029
13030 2001-11-28 Gerd Moellmann <gerd@gnu.org>
13031
13032 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
13033 OVERLAPS_P.
13034
13035 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13036
13037 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
13038 `gcpro3' and `gcpro4'.
13039
13040 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
13041
13042 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
13043
13044 * ccl.c: Use AREF and ASIZE.
13045
13046 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
13047
13048 * lisp.h (run_hook_list_with_args): Remove.
13049 (LIST_END_P): Fix call to wrong_type_argument.
13050 (make_fixnum_or_float): Use EMACS_INT rather than int.
13051
13052 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
13053
13054 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
13055 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
13056
13057 * eval.c: Use AREF and ASIZE.
13058 (Ffetch_bytecode): Add the file name to the error message.
13059
13060 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
13061 which match the end of the file-name.
13062 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
13063 is not a valid env var, but leave it as is instead.
13064
13065 * keymap.c (access_keymap): Handle t bindings like nil bindings.
13066 Make nil bindings in char-tables transparent.
13067 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
13068
13069 2001-11-26 Richard M. Stallman <rms@gnu.org>
13070
13071 * textprop.c (set_text_properties_1): Allow START, END in either order.
13072 Do nothing if range is empty.
13073
13074 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
13075
13076 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
13077 (clean): Not here.
13078
13079 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
13080
13081 * textprop.c (set_text_properties_1): Clearly mark that the
13082 interval should not be empty.
13083
13084 * intervals.c (graft_intervals_into_buffer):
13085 Don't call set_text_properties_1 on an empty interval.
13086
13087 2001-11-25 Richard M. Stallman <rms@gnu.org>
13088
13089 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
13090
13091 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
13092 don't lose the data in it.
13093
13094 2001-11-25 Juanma Barranquero <lektu@terra.es>
13095
13096 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
13097
13098 * buffer.c (Fkill_buffer): Likewise.
13099
13100 * print.c (temp_output_buffer_setup): Likewise.
13101
13102 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
13103
13104 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
13105
13106 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
13107
13108 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
13109 Niemitalo <kon@iki.fi>.
13110
13111 2001-11-25 Jason Rumney <jasonr@gnu.org>
13112
13113 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
13114
13115 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
13116 (Fx_show_tip): Block input during frame creation.
13117 (Fx_show_tip, Fx_hide_tip): Enable.
13118
13119 2001-11-24 Richard M. Stallman <rms@gnu.org>
13120
13121 * lread.c (Fload): Detect recursive load error for more than 3
13122 nestings of the same file.
13123 (Vrecursive_load_depth_limit): Variable deleted.
13124 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
13125
13126 2001-11-24 Jason Rumney <jasonr@gnu.org>
13127
13128 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
13129 mouse position if either left or top is not specified.
13130
13131 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
13132 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
13133 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
13134 (my_create_tip_window): Assign tip_window.
13135 (x_create_tip_frame): Use same defaults as X.
13136 (compute_tip_xy): Remove unused variable. Use full screen width.
13137 (Fx_show_tip): Do not double height. Call ShowWindow directly.
13138
13139 * w32term.c (x_after_update_window_line): Doc fix.
13140 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
13141 frames.
13142 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
13143
13144 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
13145 for all Windowed systems.
13146
13147 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
13148
13149 * msdos.c (IT_clear_screen): If the frame's faces are not yet
13150 realized, use the initial screen colors to clear the screen.
13151
13152 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13153
13154 * textprop.c (Fset_text_properties): Remove unused variables
13155 `unchanged', `prev_changed', `s' and `len'.
13156
13157 * search.c (Freplace_match): Remove unused variable `inslen'.
13158
13159 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
13160
13161 2001-11-22 Jason Rumney <jasonr@gnu.org>
13162
13163 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
13164 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
13165 (my_create_tip_window): New function.
13166 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
13167 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
13168
13169 2001-11-20 Jason Rumney <jasonr@gnu.org>
13170
13171 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
13172 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
13173
13174 * w32fns.c (Vw32_system_coding_system): Remove.
13175 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
13176
13177 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
13178
13179 * fileio.c (Fwrite_region): Move choose_write_coding_system to
13180 after build_annotations.
13181
13182 * syntax.c (describe_syntax): Add dummy arg.
13183 (describe_syntax_1): Update call to describe_vector.
13184
13185 * category.c (describe_category): Add dummy arg.
13186 (describe_category_1): Update call to describe_vector.
13187
13188 * keymap.c (Fdescribe_vector): Add `describer' parameter.
13189 (describe_command, describe_translation): Add dummy second param.
13190 (describe_map): Call elt_describer with two arguments.
13191 (describe_vector_princ): Add `fun' parameter.
13192 Call it instead of the hardcoded `princ'.
13193 (describe_vector): Add arg `args'.
13194 Pass it as a new second argument to elt_describer.
13195
13196 * keymap.h (describe_vector): Update prototype.
13197
13198 * frame.c: Don't include keymap.h any more.
13199 (keys_of_frame): Remove.
13200
13201 * lisp.h (keys_of_frame): Remove declaration.
13202
13203 * emacs.c (main): Don't call `keys_of_frame' any more.
13204
13205 2001-11-14 Andreas Schwab <schwab@suse.de>
13206
13207 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
13208 if defined, 0 otherwise.
13209 (MAP_FAILED): Define if not defined and use it to test mmap failure.
13210 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
13211
13212 2001-11-19 Richard M. Stallman <rms@gnu.org>
13213
13214 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
13215
13216 2001-11-18 Jason Rumney <jasonr@gnu.org>
13217
13218 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
13219 (x_draw_bar_cursor): If the background color of the glyph under
13220 the cursor equals the frame's cursor color, use the glyph's
13221 foreground color for drawing the bar cursor.
13222 (x_after_update_window_line): Clear internal border in different
13223 circumstances.
13224 (w32_set_vertical_scroll_bar): Check for width and height > 0.
13225 (w32_draw_relief_rect): Correct relief by 1 pixel.
13226 (x_set_glyph_string_background_width):
13227 Set extends_to_end_of_line_p if the row's fill_line_p is set and
13228 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
13229 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
13230 if cursor_in_non_selected_windows is false.
13231 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
13232 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
13233 Notice if cursor gets overwritten.
13234 (notice_overwritten_cursor): Renamed from
13235 note_overwritten_text_cursor. Rewritten to take glyph widths
13236 into account, and to take X positions as parameters.
13237 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
13238 around call to x_draw_glyphs.
13239 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
13240 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
13241 color to use for image glyph reliefs.
13242 (x_draw_image_relief): Accept zero tool_bar_button_relief.
13243 (glyph_rect): Remove unused variable `area'.
13244
13245 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
13246 some items.
13247 (x_set_internal_border_width): Set frame garbaged when window
13248 doesn't exist yet.
13249 (Fx_create_frame): Accept zero tool_bar_button_relief.
13250 (x_clear_image_1, four_corners_best, image_background)
13251 (image_background_transparent): New functions.
13252 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
13253 (gs_format): Add `:background' entry.
13254 (lookup_image): Set IMG's background color if specified.
13255 (pbm_load, xbm_load_image, png_load): Set IMG's background field
13256 when appropriate.
13257 (x_clear_image_1): Reset `background_valid' and
13258 `background_transparent_valid' fields.
13259 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
13260 calculating it here. Set IMG's background_transparent field.
13261 (enum xpm_keyword_index): Add XPM_BACKGROUND.
13262 (enum png_keyword_index): Add PNG_BACKGROUND.
13263 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
13264 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
13265 (enum gif_keyword_index): Add GIF_BACKGROUND.
13266 (enum gs_keyword_index): Add GS_BACKGROUND.
13267 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
13268 Pre-calculate image background color where necessary.
13269 (x_create_x_image_and_pixmap, xbm_load, gs_load):
13270 Use display info's n_cbits entry for screen depth.
13271 (Fx_show_tip): Remove unused variables `buffer', `top',
13272 `left', `max_width' and `max_height'.
13273
13274 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
13275
13276 2001-11-18 Gerd Moellmann <gerd@gnu.org>
13277
13278 * puresize.h (BASE_PURESIZE): Increase to 750000.
13279
13280 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13281
13282 * frame.c (Fframe_live_p): Doc fix.
13283
13284 2001-11-18 Richard M. Stallman <rms@gnu.org>
13285
13286 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
13287 (message_dolog_marker3): New static variables hold three markers.
13288 (syms_of_xdisp): Initialize and staticpro them.
13289 (message_dolog): Use message_dolog_marker1..3 instead of
13290 allocating markers each time. Unchain them when done.
13291
13292 2001-11-17 Richard M. Stallman <rms@gnu.org>
13293
13294 * doc.c (Fsnarf_documentation): Doc fix.
13295
13296 2001-11-17 Andreas Schwab <schwab@suse.de>
13297
13298 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
13299
13300 2001-11-17 Richard M. Stallman <rms@gnu.org>
13301
13302 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
13303
13304 2001-11-17 Jason Rumney <jasonr@gnu.org>
13305
13306 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
13307
13308 2001-11-17 Gerd Moellmann <gerd@gnu.org>
13309
13310 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
13311 with invalid position.
13312
13313 2001-11-16 Richard M. Stallman <rms@gnu.org>
13314
13315 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
13316
13317 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
13318 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
13319 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
13320
13321 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
13322
13323 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
13324
13325 * fileio.c (build_annotations): Split off the tail.
13326 (build_annotations_2): New fun. Extracted from build_annotations.
13327 (Fwrite_region): Split the call to build_annotations into two
13328 calls to build_annotations and build_annotations_2.
13329
13330 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13331
13332 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
13333 clear_waiting_for_input with argument.
13334
13335 * xterm.h (x_update_cursor): Remove duplicated prototype.
13336
13337 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
13338
13339 * xterm.c (waiting_for_input): Remove unnecessary declaration.
13340
13341 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
13342
13343 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
13344
13345 * fileio.c (choose_write_coding_system): New fun, extracted
13346 from Fwrite_region.
13347 (Fwrite_region): Use it.
13348
13349 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
13350 (funcall_lambda, run_hook_with_args): Make static and add prototype.
13351 (ml_apply, find_handler_clause): Add prototype.
13352
13353 2001-11-16 Eli Zaretskii <eliz@gnu.org>
13354
13355 * config.in: Add #undef HAVE_COFF_H.
13356
13357 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
13358 Required for ISC 4.1.
13359
13360 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
13361
13362 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
13363 Andrew Wiseman <a.wiseman@btclick.com>.
13364
13365 2001-11-16 Kim F. Storm <storm@cua.dk>
13366
13367 The following changes are made to clean up the various internal
13368 references to the fringes to actually use the term `fringe' for
13369 them. Previously, they were called `flags areas', `bitmap areas',
13370 `left/right side of windows', or implicitly as `flags' or
13371 `bitmaps':
13372
13373 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
13374 Comments fixed. Use renamed symbols.
13375
13376 * dispnew.c: Comment fix. Use renamed symbols.
13377
13378 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
13379 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
13380 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
13381
13382 * msdos.c: Comment fix.
13383
13384 * w32fns.c: Use renamed symbols.
13385
13386 * w32term.c: Comment fixes. Use renamed symbols.
13387 (fringe_bitmap_type): Renamed from bitmap_type.
13388 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
13389 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
13390 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
13391
13392 * w32term.h: Comment fixes. Use renamed symbols.
13393 (fringes_extra): Renamed from flags_areas_extra.
13394 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
13395 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
13396 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
13397 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
13398 (FRAME_X_LEFT_FRINGE_WIDTH):
13399 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
13400 (FRAME_X_RIGHT_FRINGE_WIDTH):
13401 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
13402
13403 * widget.c: Use renamed symbols.
13404
13405 * window.c: Comment fixes. Use renamed symbols.
13406 (coordinates-in-window-p): Doc fix.
13407
13408 * xdisp.c: Comment fixes. Use renamed symbols.
13409
13410 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
13411
13412 * xfns.c: Use renamed symbols.
13413
13414 * xterm.c: Comment fixes. Use renamed symbols.
13415 (fringe_bitmap_type): Renamed from bitmap_type.
13416 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
13417 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
13418 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
13419
13420 * xterm.h: Comment fixes. Use renamed symbols.
13421 (fringes_extra): Renamed from flags_areas_extra.
13422 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
13423 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
13424 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
13425 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
13426 (FRAME_X_LEFT_FRINGE_WIDTH):
13427 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
13428 (FRAME_X_RIGHT_FRINGE_WIDTH):
13429 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
13430
13431 2001-11-15 Jason Rumney <jasonr@gnu.org>
13432
13433 * w32menu.c (add-menu-item): Make help_echo and radio buttons
13434 work for most menu items. From David Ponce
13435 <david.ponce@wanadoo.fr>.
13436
13437 2001-11-15 Gerd Moellmann <gerd@gnu.org>
13438
13439 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
13440 Some x_set_* function expect to be called even if old and new
13441 value are equal.
13442
13443 * xdisp.c (build_desired_tool_bar_string): Accept zero
13444 tool_bar_button_relief.
13445
13446 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
13447
13448 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
13449
13450 * xterm.c (x_draw_bar_cursor): If the background color of the
13451 glyph under the cursor equals the frame's cursor color, use
13452 the glyph's foreground color for drawing the bar cursor.
13453
13454 * dispnew.c (direct_output_forward_char): Fix character/byte
13455 position comparison.
13456
13457 2001-11-15 Miles Bader <miles@gnu.org>
13458
13459 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
13460 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
13461 Update arguments to find_field.
13462 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
13463 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
13464 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
13465 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
13466
13467 2001-11-14 Richard M. Stallman <rms@gnu.org>
13468
13469 * editfns.c (Fpropertize): Allow call with 1 arg.
13470
13471 * dispextern.h (image_background, image_background_transparent):
13472 Conditionalize on HAVE_X_WINDOWS.
13473
13474 2001-11-13 Richard M. Stallman <rms@gnu.org>
13475
13476 * print.c (Fprin1_to_string): Doc fix.
13477
13478 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
13479
13480 * floatfns.c (Fceiling, Ffloor): Doc fixes.
13481
13482 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
13483
13484 * fileio.c (Ffile_accessible_directory_p): Doc fix.
13485
13486 * eval.c (syms_of_eval): Doc fix.
13487
13488 * coding.c (syms_of_coding): Doc fix.
13489
13490 * doc.c (Fsnarf_documentation): Doc fix.
13491
13492 * dispnew.c (syms_of_display): Doc fix.
13493
13494 * category.c (Fget_unused_category): Doc fix.
13495
13496 * buffer.c (syms_of_buffer): Doc fixes.
13497
13498 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
13499
13500 * print.c (prin1, print): Doc fix.
13501
13502 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13503
13504 * fontset.h: Remove declarations of variables
13505 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
13506
13507 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
13508 `Vclip_large_size_font'.
13509
13510 2001-11-13 Jason Rumney <jasonr@gnu.org>
13511
13512 * w32fns.c: Doc fix.
13513
13514 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13515
13516 * xfaces.c (Fface_attributes_as_vector): Doc fix.
13517
13518 * fns.c: Doc fix.
13519
13520 * emacs.c: Doc fix.
13521
13522 * coding.c: Doc fix.
13523
13524 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
13525 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
13526 `new style' [w/`doc:' keyword].
13527
13528 2001-11-12 Richard M. Stallman <rms@gnu.org>
13529
13530 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
13531 LeaveNotify events. Only FocusIn and FocusOut do that now.
13532 (x_display_and_set_cursor): Do display hollow cursors in active
13533 minibuffer windows when they are not selected.
13534
13535 2001-11-12 Jason Rumney <jasonr@gnu.org>
13536
13537 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
13538 * w32term.c: Change doc-string comments to `new style'
13539 [w/`doc:' keyword]. Doc fixes.
13540
13541 * w32fns.c: Don't define max.
13542 (Fx_open_connection): Only execute once.
13543
13544 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13545
13546 * ccl.c: Change macros to use do-while block instead of if-else.
13547 Use braces to follow GNU Coding Standards.
13548
13549 2001-11-11 Richard M. Stallman <rms@gnu.org>
13550
13551 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
13552
13553 * lread.c (read_escape): Use end_of_file_error for reporting eof.
13554
13555 * insdel.c (replace_range): Use adjust_markers_for_replace
13556 instead of adjust_markers_for_delete and adjust_markers_for_insert.
13557
13558 * intervals.h: Declare set_text_properties and set_text_properties_1.
13559
13560 * textprop.c (set_text_properties_1): New subroutine
13561 broken out of set_text_properties.
13562 (set_text_properties): Use set_text_properties_1.
13563
13564 * intervals.c (graft_intervals_into_buffer):
13565 Use set_text_properties_1 to clear out properties.
13566
13567 * search.c (Freplace_match): Use replace_range to insert
13568 and delete. Don't request property inheritance from
13569 surrounding text.
13570
13571 2001-11-10 Jason Rumney <jasonr@gnu.org>
13572
13573 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
13574 vertical fonts. Allow them if face name is explicitly specified.
13575 Do not give up if we find a font that cannot be converted to an xlfd.
13576
13577 2001-11-10 Gerd Moellmann <gerd@gnu.org>
13578
13579 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
13580 instead of malloc/free.
13581
13582 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13583
13584 * xfaces.c (merge_face_vectors): Use braces to follow GNU
13585 Coding Standards.
13586 (Finternal_set_lisp_face_attribute): Likewise.
13587
13588 * buffer.c (Fbury_buffer): Likewise.
13589
13590 * indent.c (current_column_1): Remove unused variable `prev_col'.
13591
13592 * coding.c (encode_coding): Use precomputed value of `src'.
13593 (encode_coding): Remove unused variable `src_end'.
13594 (code_convert_region): Remove unused variables `count'.
13595
13596 2001-11-07 Jason Rumney <jasonr@gnu.org>
13597
13598 * w32term.c (x_display_and_set_cursor): Do not move system caret
13599 if cursor_glyph is NULL.
13600
13601 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13602
13603 * keymap.c (access_keymap): Fix compilation error.
13604
13605 2001-11-07 Miles Bader <miles@gnu.org>
13606
13607 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
13608
13609 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13610
13611 * intervals.c (graft_intervals_into_buffer):
13612 Remove #ifdef'd-out code.
13613 (graft_intervals_into_buffer): Remove unused variable `middle'.
13614
13615 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
13616 code (eval-current-buffer).
13617 Change doc-string comments to `new style' [w/`doc:' keyword].
13618
13619 2001-11-06 Richard M. Stallman <rms@gnu.org>
13620
13621 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
13622
13623 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
13624
13625 * lread.c (read1): Fix behavior with nested backquoting.
13626
13627 * keyboard.c (make_lispy_event): Check integerness and fix
13628 Lisp_Object/int mixup.
13629
13630 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13631
13632 * fns.c (copy_hash_table): Remove unused variable `v'.
13633
13634 * fontset.c (fontset_font_pattern): Remove unused variable
13635 `family_registry'.
13636
13637 * indent.c (current_column_1): Remove unused variable `prev_col'.
13638
13639 2001-11-05 Richard M. Stallman <rms@gnu.org>
13640
13641 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
13642
13643 * buffer.c (Fkill_buffer): Don't delete auto save file
13644 if buffer is modified.
13645
13646 2001-11-05 Andrew Innes <andrewi@gnu.org>
13647
13648 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
13649 CHECK_NUMBER_CDR.
13650
13651 2001-11-05 Richard M. Stallman <rms@gnu.org>
13652
13653 * unexelf.c (unexec): Minor changes; clean up comments.
13654
13655 2001-11-05 Sam Steingold <sds@gnu.org>
13656
13657 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
13658
13659 2001-11-05 Andreas Schwab <schwab@suse.de>
13660
13661 * sound.c (sound_perror): Save errno from being clobbered.
13662
13663 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
13664
13665 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
13666 the program image directly.
13667
13668 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13669
13670 * buffer.h (Fbuffer_local_value): Add prototype.
13671
13672 2001-11-04 Richard M. Stallman <rms@gnu.org>
13673
13674 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
13675 and CHECK_BUFFER.
13676
13677 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
13678 (record_char): Likewise.
13679
13680 * keyboard.c (make_lispy_event): Don't insist a drag event must
13681 move to a different buffer position. Instead, check for moving at
13682 least double_click_fuzz.
13683
13684 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
13685
13686 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
13687
13688 * indent.c (current_column_1, Fmove_to_column): Separate the code
13689 for display-table glyphs from the code for buffer text, to fix
13690 bugs in the former.
13691
13692 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
13693
13694 * buffer.c (Fbuffer_local_value): New function.
13695 (syms_of_buffer): Defsubr it.
13696
13697 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
13698 value of `cursor-in-non-selected-windows'.
13699
13700 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
13701 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
13702 (syms_of_xdisp): Initialize it.
13703
13704 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13705
13706 * xfns.c (Fx_create_frame): Doc fix.
13707
13708 * coding.c: Change doc-string comments to `new style' [w/`doc:'
13709 keyword].
13710
13711 * eval.c (top_level_value, top_level_set): Remove commented and
13712 #ifdef'd-out code.
13713 (Fdefvar): Fix usage in doc-string.
13714
13715 2001-11-03 Richard M. Stallman <rms@gnu.org>
13716
13717 * xfns.c: Include unistd.h, if it exists.
13718
13719 * editfns.c: Move the include of ctype.h after unistd.h.
13720
13721 * gmalloc.c: Test BROKEN_PROTOTYPES.
13722
13723 2001-11-03 Ken Raeburn <raeburn@gnu.org>
13724
13725 * lisp.h (CHECK_STRING_CAR): New macro.
13726 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
13727 treating XCAR and XCDR as lvalues.
13728 (openp): Use CHECK_STRING_CAR.
13729 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
13730
13731 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
13732
13733 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13734 (SIGMASKTYPE): Define.
13735
13736 * syssignal.h (sigunblock): Don't define if already defined.
13737
13738 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13739
13740 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
13741 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
13742 Fix typos in comments.
13743
13744 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
13745 and #ifdef'd-out code.
13746 Fix and reindent comments.
13747
13748 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
13749
13750 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
13751 argument `i' in macros.
13752
13753 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
13754 `i' in macros.
13755
13756 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
13757 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
13758 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
13759 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
13760 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
13761 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
13762 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
13763 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
13764 in macros.
13765
13766 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
13767 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
13768 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
13769 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
13770 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
13771 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
13772 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
13773 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
13774 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
13775 (remove unused second argument).
13776
13777 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
13778
13779 * syntax.c (describe_syntax): New wrapper.
13780 (Finternal_describe_syntax_value): Rename from describe_syntax.
13781 Don't insert space at front and \n at the end.
13782 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
13783
13784 * regex.c (re_wctype): Try to fix some warnings.
13785 (regcomp, regexec): Don't forget the __restrict.
13786
13787 2001-11-02 Richard M. Stallman <rms@gnu.org>
13788
13789 * textprop.c (Fget_char_property): Doc fix.
13790
13791 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13792
13793 * process.c (Fstart_process): Add usage to doc-string.
13794
13795 * data.c (Fsetq_default): Ditto.
13796
13797 * callint.c (Finteractive): Ditto.
13798
13799 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
13800
13801 * macros.c: Don't include keymap.h any more.
13802
13803 2001-11-01 Richard M. Stallman <rms@gnu.org>
13804
13805 * data.c (Fmake_local_variable): Doc fix.
13806
13807 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
13808 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
13809
13810 * keymap.c (Fdescribe_buffer_bindings): Print character property
13811 bindings along with or instead of the buffer local map.
13812 Make the overriding maps override what they should.
13813
13814 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13815
13816 * window.c (grow_mini_window): Fix typo in comment.
13817
13818 2001-11-01 Gerd Moellmann <gerd@gnu.org>
13819
13820 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
13821 (XTset_vertical_scroll_bar): Likewise.
13822
13823 * xfns.c (x_build_heuristic_mask): Use four_corners_best
13824 instead of IMAGE_BACKGROUND.
13825
13826 * xfns.c (four_corners_best): Reindent.
13827
13828 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
13829 Handle :box so that it is possible to specify sexprs.
13830
13831 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
13832
13833 * s/hpux11.h: New file.
13834
13835 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13836
13837 * emacs.c (USAGE1): Show command line option --no-window-system
13838 instead of --no-windows in usage.
13839 (standard_args): Rename --no-windows to --no-window-system.
13840 (bug_reporting_address): Follow Emacs coding conventions.
13841
13842 * eval.c (Fcommandp): Doc fix.
13843 Change doc-string comments to `new style' [w/`doc:' keyword].
13844
13845 * frame.c (Fframe_live_p): Doc fix.
13846
13847 * buffer.c (selective-display-ellipses): Doc fix.
13848
13849 2001-10-31 Gerd Moellmann <gerd@gnu.org>
13850
13851 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
13852
13853 * xfaces.c (realize_x_face): If C is not a single-byte character,
13854 set the face's colors_copied_bitwise_p instead of the defaulted_p
13855 members which have a different meaning.
13856 (free_face_colors): Do nothing for a face whose colors have been
13857 copied bitwise.
13858
13859 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
13860
13861 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13862
13863 * marker.c, mocklisp.c: Change doc-string comments to `new style'
13864 [w/`doc:' keyword].
13865
13866 2001-10-31 Gerd Moellmann <gerd@gnu.org>
13867
13868 * fns.c (require_unwind): Return Lisp_Object.
13869
13870 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13871
13872 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
13873 (last-input-char): Revert doc-string to be the same as the
13874 doc-string of `last-input-event'.
13875
13876 * xdisp.c: Fix typos in comments.
13877
13878 2001-10-31 Gerd Moellmann <gerd@gnu.org>
13879
13880 * window.c (grow_mini_window): Handle case that the root
13881 window is already smaller than the nominal mininum height.
13882
13883 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
13884
13885 * emacs.c (main): Don't call keys_of_macros any more.
13886
13887 * lisp.h (keys_of_macros): Remove.
13888
13889 * macros.c (keys_of_macros): Remove.
13890
13891 * xfaces.c (Fface_attribute_relative_p): Declare args.
13892
13893 2001-10-30 Jason Rumney <jasonr@gnu.org>
13894
13895 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
13896 (enum_font_cb2): Ignore fonts with vertical orientation.
13897
13898 2001-10-30 Richard M. Stallman <rms@gnu.org>
13899
13900 * keyboard.c (Finput_pending_p): Doc fix.
13901
13902 2001-10-30 Gerd Moellmann <gerd@gnu.org>
13903
13904 * xterm.c (x_after_update_window_line): Don't run the code
13905 clearing in borders for rows whose visible height is 0.
13906
13907 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
13908 resized_p flag is set. If not set, use the much less flickering
13909 method previously used.
13910
13911 * dispnew.c (change_frame_size_1): Set frame's resized_p.
13912
13913 * frame.h (struct frame) <resized_p>: New member.
13914
13915 * lread.c (to_multibyte): Ensure read_buffer is at least twice
13916 as large as the number of bytes to convert.
13917
13918 * lread.c (to_multibyte): New function.
13919 (read1): Use it.
13920
13921 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
13922
13923 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
13924
13925 2001-10-30 Gerd Moellmann <gerd@gnu.org>
13926
13927 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
13928 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
13929 if the row's fill_line_p is set and drawing the last glyph with
13930 DRAW_IMAGE_{RAISED,SUNKEN}.
13931
13932 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
13933
13934 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
13935
13936 * xmenu.c: Include coding.h and charset.h.
13937 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
13938 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
13939 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
13940 Explicitly set wv->help. Use `TRUE' rather than `True'.
13941 (menu_help_callback): Use empty_string.
13942
13943 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
13944 (Fx_popup_dialog): Explicitly init f.
13945 (w32_menu_display_help): Use empty_string.
13946
13947 2001-10-29 Richard M. Stallman <rms@gnu.org>
13948
13949 * fns.c (Frequire): Detect recursive try to require the same
13950 feature 3 or more levels deep, and get error.
13951 (require_unwind): New subroutine.
13952 (require_nesting_list): New variable.
13953 (syms_of_fns): Init and staticpro it.
13954
13955 * print.c (print_object): Clarify indication of insertion type.
13956
13957 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
13958
13959 * coding.c (syms_of_coding): Document that locale-coding-system is
13960 used for decoding input on X.
13961
13962 * window.c (Fscroll_left, Fscroll_right): Doc fix.
13963
13964 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13965
13966 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
13967 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
13968
13969 2001-10-29 Gerd Moellmann <gerd@gnu.org>
13970
13971 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
13972 use NO_CURSOR if cursor_in_non_selected_windows is false.
13973
13974 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
13975 the slant attribute if FRAME is t.
13976
13977 * xfns.c (x_set_internal_border_width): Set frame garbaged
13978 when X window doesn't exist yet.
13979
13980 * xterm.c (x_after_update_window_line): Clear internal border
13981 in different circumstances.
13982
13983 * xterm.c (XTread_socket) <KeyPress>: Don't use
13984 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
13985 <handa@etl.go.jp>.
13986
13987 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
13988
13989 * m/ibms390.h: New file. From Adam Thornton
13990 <athornton@sinenomine.net>.
13991
13992 2001-10-28 Gerd Moellmann <gerd@gnu.org>
13993
13994 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
13995
13996 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
13997 a loop counter.
13998
13999 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14000
14001 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
14002
14003 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
14004 keyword].
14005 Fix typos in comments.
14006
14007 * emacs.c (bug_reporting_address): New function.
14008 Use it when displaying usage message.
14009
14010 * minibuf.c (read_minibuf): Remove unused external declaration of
14011 variable `Qread_only'.
14012
14013 * keymap.c (access_keymap): Remove unused variable `charset'.
14014
14015 2001-10-28 Miles Bader <miles@gnu.org>
14016
14017 * xfaces.c (merge_face_heights): Handle TO being relative as well.
14018 Remove #ifdef'd-out code.
14019 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
14020 (syms_of_xfaces): Initialize them.
14021
14022 2001-10-27 Jason Rumney <jasonr@gnu.org>
14023
14024 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
14025 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
14026 position using the system caret.
14027
14028 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
14029 (w32_system_caret_height, w32_system_caret_x)
14030 (w32_system_caret_y): New variables for tracking system caret.
14031 (w32_initialize): Initialize them.
14032 (x_display_and_set_cursor): Make system caret follow the active cursor.
14033
14034 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
14035 New messages types.
14036
14037 * w32term.c (note_mouse_highlight): Clear old help_echo.
14038
14039 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14040
14041 * xterm.c: Fix typo in a comment.
14042
14043 * emacs.c: Fix typos in comments.
14044 Remove unnecessary spaces.
14045 Change doc-string comments to `new style' [w/`doc:' keyword].
14046 (USAGE2): Fix typos in usage string.
14047
14048 * xterm.c: Fix typo in a comment.
14049
14050 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
14051 emacs.c.
14052
14053 2001-10-27 Gerd Moellmann <gerd@gnu.org>
14054
14055 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
14056 instead of 1/2 line_height in the heuristic for skipping
14057 farther backward when target_y was not reached.
14058
14059 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
14060 Display errno only if non-zero.
14061 (sound_warning): New function.
14062 (vox_configure): Don't treat failing to set sample rate as error.
14063 (various places): Improve error messages.
14064
14065 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
14066
14067 * fileio.c (Faccess_file): Run the argument filename through
14068 Fexpand_file_name, before using it.
14069
14070 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
14071 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
14072
14073 2001-10-26 Gerd Moellmann <gerd@gnu.org>
14074
14075 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
14076
14077 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
14078 Fix clearing in the case of scroll bars on the right.
14079
14080 2001-10-26 Juanma Barranquero <lektu@terra.es>
14081
14082 * w32gui.h (XImage): Add a dummy typedef.
14083
14084 2001-10-26 Gerd Moellmann <gerd@gnu.org>
14085
14086 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
14087
14088 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
14089
14090 * frame.c (Fframe_parameter): Fix last change.
14091
14092 * fileio.c: Revert last change (which removed old commented-out
14093 version of expand-file-name). Add a comment that explains why
14094 this old version should not be removed.
14095
14096 2001-10-25 Gerd Moellmann <gerd@gnu.org>
14097
14098 * frame.c (Fframe_parameter): Fix a bug whereby some
14099 ``artificial'' frame parameters, like `minibuffer' were not
14100 obtained by calling Fframe_parameters.
14101
14102 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
14103 cursor differently.
14104
14105 * xdisp.c (move_it_vertically_backward): Compute line height
14106 differently. Add heuristic to try to be more compatible to 20.x.
14107
14108 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
14109
14110 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
14111
14112 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
14113 boolean.
14114
14115 2001-10-25 Miles Bader <miles@gnu.org>
14116
14117 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
14118 BG is a pointer to a structure, not a structure.
14119 (gif_format, png_format): Add missing commas.
14120
14121 2001-10-24 Richard M. Stallman <rms@gnu.org>
14122
14123 * xfaces.c (Fface_attributes_as_vector): New function.
14124 (syms_of_xfaces): Defsubr it.
14125
14126 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14127
14128 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
14129 variable `area'.
14130
14131 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14132
14133 * search.c (scan_newline): Remove unused variable `selective_display'.
14134
14135 2001-10-25 Miles Bader <miles@gnu.org>
14136
14137 * dispextern.h (struct image): Add `background',
14138 `background_valid', and `background_transparent' fields.
14139 (image_background, image_background_transparent): New declarations.
14140 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
14141 * xfns.c (image_background, image_background_transparent)
14142 (four_corners_best): New functions.
14143 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
14144 (gs_format): Add `:background' entry.
14145 (lookup_image): Set IMG's background color if specified.
14146 (pbm_load, xbm_load_image, png_load): Set IMG's background field
14147 when appropriate.
14148 (x_clear_image_1): Reset `background_valid' and
14149 `background_transparent_valid' fields.
14150 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
14151 calculating it here. Set IMG's background_transparent field.
14152 (enum xpm_keyword_index): Add XPM_BACKGROUND.
14153 (enum png_keyword_index): Add PNG_BACKGROUND.
14154 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
14155 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
14156 (enum gif_keyword_index): Add GIF_BACKGROUND.
14157 (enum gs_keyword_index): Add GS_BACKGROUND.
14158 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
14159 Pre-calculate image background color where necessary.
14160 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
14161 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
14162 color to use for image glyph reliefs.
14163
14164 2001-10-24 Gerd Moellmann <gerd@gnu.org>
14165
14166 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
14167 in full-width rows.
14168
14169 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
14170 Fix clearing of area not covered by scroll bar.
14171
14172 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14173
14174 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
14175 and `real_start'.
14176 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
14177 (glyph_rect): Remove unused variable `area'.
14178
14179 2001-10-24 Gerd Moellmann <gerd@gnu.org>
14180
14181 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
14182
14183 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
14184 (row_containing_pos): Take additional argument DY.
14185 Treat rows ending in middle of char differently.
14186 (display_line): Handle tabs on window systems differently.
14187
14188 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
14189 with additional argument.
14190
14191 * dispextern.h (row_containing_pos): Adjust prototype.
14192
14193 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
14194 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
14195 (try_window_id, try_window_reusing_current_matrix)
14196 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
14197 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
14198
14199 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14200
14201 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
14202 gnuemacs).
14203 (HAVE_BOXES): Fix typo in comment.
14204 (push_menu_pane): Fix typo in comment.
14205
14206 * xdisp.c: (display_prop_string_p): Remove unused local declaration
14207 of `Qwhen'.
14208 (single_display_prop_string_p): Remove unused local declarations
14209 of `Qwhen' and `Qmargin'.
14210 (string_buffer_position): Remove unused variable `around'.
14211 (store_frame_title): Remove unused variable `width'.
14212
14213 * window.c: Don't define max.
14214 (coordinates_in_window): Remove unused variable `uy'.
14215
14216 * widget.c: Don't define max.
14217
14218 * process.c: Don't define max.
14219 (create_process): Remove unused variable `buffer'.
14220
14221 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14222
14223 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
14224
14225 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
14226
14227 * xfaces.c (Finternal_set_lisp_face_attribute)
14228 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
14229 frame is on a windowed display.
14230
14231 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14232
14233 * dispnew.c (sync_window_with_frame_matrix_rows):
14234 Fix handling of windows which aren't full-width, fix handling
14235 of marginal areas.
14236
14237 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
14238
14239 2001-10-23 Andreas Schwab <schwab@suse.de>
14240
14241 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
14242 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
14243
14244 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14245
14246 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
14247 REAL_END. Notice if cursor gets overwritten.
14248 (notice_overwritten_cursor): Take X positions as parameters.
14249 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
14250 around call to x_draw_glyphs.
14251
14252 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14253
14254 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
14255 instead of C) and usage.
14256
14257 * editfns.c (char-to-string): Fix argument names (use CHAR instead
14258 of C) and usage.
14259
14260 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
14261 `left', `max_width' and `max_height'.
14262
14263 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14264
14265 * xdisp.c (display_line): For a tab continued to the next line,
14266 set row's ends_in_middle_of_char_p.
14267
14268 2001-10-22 Gerd Moellmann <gerd@gnu.org>
14269
14270 * xdisp.c (display_line): Fix computation of continuation lines
14271 width for TABs.
14272
14273 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14274
14275 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
14276 `Qlaplace'.
14277
14278 * fileio.c: Remove unused code.
14279
14280 2001-10-22 Miles Bader <miles@gnu.org>
14281
14282 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
14283 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
14284 Remove `DOC_STRINGS_IN_COMMENTS' cases.
14285
14286 2001-10-21 Jason Rumney <jasonr@gnu.org>
14287
14288 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
14289
14290 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
14291
14292 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
14293 (Finsert_string): Avoid the multi-line string literals warning.
14294
14295 2001-10-22 Miles Bader <miles@gnu.org>
14296
14297 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
14298 (Fdocumentation): Don't use it.
14299 (syms_of_doc): Don't initialize it.
14300
14301 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
14302 * print.c (Fwith_output_to_temp_buffer): Likewise.
14303 * window.c (Fsave_window_excursion): Likewise.
14304 * editfns.c (Fsave_excursion, Fsave_current_buffer)
14305 (Fsave_restriction): Likewise.
14306 * eval.c (Frun_hooks, Frun_hook_with_args)
14307 (Frun_hook_with_args_until_failure)
14308 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
14309 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
14310 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
14311 (Funwind_protect, Fcondition_case): Likewise.
14312 * coding.c (Ffind_operation_coding_system): Likewise.
14313 * keyboard.c (Ftrack_mouse): Likewise.
14314
14315 2001-10-21 Miles Bader <miles@gnu.org>
14316
14317 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
14318 (Fmake_hash_table): Add usage: string to doc string.
14319 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
14320 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
14321 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
14322 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
14323 (Fml_prefix_argument_loop): Likewise.
14324
14325 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14326
14327 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
14328
14329 * sysdep.c (init_sys_modes): Change doc-string comments to `new
14330 style' [w/`doc:' keyword].
14331
14332 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
14333 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
14334 comments to `new style' [w/`doc:' keyword].
14335
14336 2001-10-21 Jason Rumney <jasonr@gnu.org>
14337
14338 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
14339
14340 * w32term.c (remember_mouse_glyph): New function.
14341 (w32_mouse_position): Use it.
14342 (note_mouse_movement): If the mouse moved off the glyph, remember
14343 its new position.
14344
14345 * w32term.h (struct w32_output): Correct spelling of x_compatible.
14346 (w32_display_info): Add mouse_face_overlay.
14347
14348 * w32term.c (notice_overwritten_cursor): Renamed from
14349 note_overwritten_text_cursor. Rewritten to take glyph widths into
14350 account.
14351 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
14352 (fast_find_string_pos): New function.
14353 (fast_find_position): Return the correct vpos. Add parameter
14354 STOP. In the final row, stop before glyphs having STOP as object.
14355 Don't consider glyphs that are not from a buffer.
14356 (fast_find_position) [0]: Add a presumably more correct version
14357 for after 21.1.
14358 (expose_window_tree, expose_frame): Don't compute intersections here.
14359 (expose_window): Do it here instead.
14360 (expose_window_tree, expose_window, expose_line): Return 1 when
14361 overwriting mouse-face.
14362 (expose_window): If W is the window currently being updated, mark
14363 the frame garbaged.
14364 (expose_frame): If mouse-face was overwritten, redo it.
14365 (x_use_underline_position_properties): New variable.
14366 (syms_of_xterm): DEFVAR_BOOL it.
14367 (x_draw_glyph_string): Add comment to use it in future.
14368 (x_draw_glyph_string): Restore clipping after drawing box.
14369 Fix a computation of the underline position.
14370 (w32_get_glyph_string_clip_rect): Minor cleanup.
14371 (x_fill_stretch_glyph_string): Remove an assertion.
14372 (x_produce_glyphs): Don't convert multibyte characters
14373 to unibyte characters in unibyte buffers.
14374 (cursor_in_mouse_face_p): New function.
14375 (x_draw_stretch_glyph_string): Use it to choose a different GC
14376 when drawing a cursor within highlighted text. Don't draw
14377 background again if it has already been drawn.
14378 (x_draw_glyph_string_box): Don't draw a full-width
14379 box just because the glyph row's full_width_p flag is set.
14380 (x_draw_glyphs): Fix computation of rightmost x for
14381 full-width rows.
14382 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
14383 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
14384 change bottom shadow accordingly. Some cleanup.
14385 (x_update_window_end): Handle overwritten mouse face
14386 also for tool bar windows.
14387 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
14388 DRAW is DRAW_IMAGE_RAISED.
14389 (clear_mouse_face): Return 1 if text with mouse face was
14390 actually redrawn. Make the function static.
14391 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
14392 optimize away highlighting if we pass over that same overlay again.
14393 (note_mouse_highlight): Call mouse_face_overlay_overlaps
14394 to detect a case where we have to highlight a different region
14395 despite not having left the currently highlighted region.
14396 Set mouse_face_overlay in the x_display_info. Avoid changing the
14397 mouse pointer shape when show_mouse_face has already done it, or
14398 there is no need. Handle mouse-face and help-echo in strings.
14399 (glyph_rect): New function.
14400 (w32_mouse_position): Use it to raise the threshold for mouse
14401 movement event generation.
14402 (w32_initialize_display_info): Initialize the x_display_info's
14403 mouse_face_overlay.
14404 (w32_set_vertical_scroll_bar): Don't clear a zero height
14405 or width area.
14406 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
14407 a widget to zero height.
14408
14409 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
14410 Protect unibyte strings created by replacing their multibyte
14411 equivalents in menu_items.
14412 (w32_menu_show): Don't overwrite an item's name with its key
14413 description in case the description is a multibyte string.
14414 (single_submenu): Some cleanup.
14415
14416 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
14417 (postprocess_image): New function.
14418 (lookup_image): Call it for all image types except PostScript.
14419 (x_kill_gs_process): Call postprocess_image.
14420 (tiff_error_handler, tiff_warning_handler): New functions.
14421 (tiff_load): Install them as handlers.
14422 (x_kill_gs_process): Recognize if someone has cleared the image
14423 cache under us.
14424 (valid_image_p): Protect better against invalid image
14425 specifications. Previous code could signal an error.
14426 (Fx_hide_tip, Fshow_tip): Doc fix.
14427 (Fv_max_tooltip_size): New variable.
14428 (syns_of_xfns): DEFVAR_LISP it.
14429 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
14430 window buffer to *tip* right after creating the frame. Set frame's
14431 window_width. Use a maximum tooltip size specified by
14432 Vx_max_tooltip_size, if that has valid contents.
14433 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
14434 Make sure the tooltip is completely visible.
14435 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
14436 (Fx_create_frame): Adjust the frame's height for presence
14437 of the tool bar before calling x_figure_window_size.
14438 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
14439 when the window gets smaller.
14440 (x_set_foreground_color): Set frame's cursor_pixel.
14441 (x_set_foreground_color, x_set_background_color): Cleaned up.
14442 (x_set_font): Handle case of x_new_fontset returning the same name
14443 as before, although there was a change in fontsets.
14444
14445 2001-10-21 Miles Bader <miles@gnu.org>
14446
14447 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
14448 (Flogxor): Add usage: string to doc string.
14449 * charset.c (Fstring): Likewise.
14450 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
14451 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
14452
14453 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14454
14455 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
14456
14457 * alloc.c: Reindent DEFUNs with doc: keywords.
14458
14459 * abbrev.c (Finsert_abbrev_table_description): Reindent.
14460
14461 * frame.c: Change doc-string comments to `new style' [w/`doc:'
14462 keyword].
14463
14464 See ChangeLog.9 for earlier changes.
14465
14466 ;; Local Variables:
14467 ;; coding: iso-2022-7bit
14468 ;; End:
14469
14470 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
14471 Copying and distribution of this file, with or without modification,
14472 are permitted provided the copyright notice and this notice are preserved.
14473
14474 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4