*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
1 2004-07-12 Kim F. Storm <storm@cua.dk>
2
3 * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
4 if GC_MARK_STACK.
5
6 2004-07-10 Luc Teirlinck <teirllm@auburn.edu>
7
8 * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
9
10 * window.c (Fwindow_buffer, Fother_window, Fget_lru_window)
11 (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
12 (Freplace_buffer_in_windows, Fset_window_buffer)
13 (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
14 (syms_of_window): Expand docstring of `display-buffer-function'.
15
16 2004-07-09 Luc Teirlinck <teirllm@auburn.edu>
17
18 * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
19 (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
20 that time values of the type (HIGH . LOW) are considered obsolete.
21
22 2004-07-06 Luc Teirlinck <teirllm@auburn.edu>
23
24 * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
25 docstring.
26
27 * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
28
29 2004-07-06 John Paul Wallington <jpw@gnu.org>
30
31 * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
32
33 * fns.c (Fclear_string): Signal an error if STRING is not a string.
34
35 2004-07-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
36
37 * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
38 instead of CGMainDisplayID (only in OSX 10.2 and later).
39
40 2004-07-04 John Paul Wallington <jpw@gnu.org>
41
42 * fileio.c (read_file_name_completion_ignore_case): New variable.
43 (syms_of_fileio): Declare and initialise it.
44 (Fread_file_name): Bind `completion-ignore-case' to respect it.
45
46 2004-07-03 Eli Zaretskii <eliz@gnu.org>
47
48 * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
49 for event.x and event.y.
50
51 2004-07-01 Kenichi Handa <handa@m17n.org>
52
53 * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
54 after getting a new string by pre-write-conversion.
55
56 2004-06-30 Stefan <monnier@iro.umontreal.ca>
57
58 * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
59 (x_calc_absolute_position): Remove unused var `child'.
60
61 * xfaces.c (x_supports_face_attributes_p)
62 (Fdisplay_supports_face_attributes_p): YAILOM.
63 (tty_supports_face_attributes_p): Remove unused var `i'.
64
65 * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
66 back_unibyte_ok.
67
68 * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
69
70 * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'.
71
72 * Makefile.in (${etc}DOC): Fix file name of make-docfile.
73
74 2004-06-30 Andreas Schwab <schwab@suse.de>
75
76 * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
77 (Finit_image_library): Pass LIBRARIES through to
78 CHECK_LIB_AVAILABLE. Declare parameters. Doc fix.
79 (lookup_image_type): Pass Qnil as second argument to
80 Finit_image_library.
81
82 * lisp.h: Declare Finit_image_library.
83
84 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
85
86 * macterm.c (do_window_activate, do_window_deactivate): Remove.
87 (XTread_socket): Send mouse button events to the toolbox
88 dispatcher even when the mouse is grabbed. Don't process window
89 activate events for non-Emacs windows. Replace function calls to
90 do_window_activate and do_window_deactivate with their contents.
91 Reset mouse grabbing status when a window is deactivated.
92
93 2004-06-29 Steven Tamm <steventamm@mac.com>
94
95 * macterm.c (mac_get_emulated_btn)
96 (mac_event_to_emacs_modifiers): Fix emulated mouse button
97 support to correctly mask out modifiers.
98
99 2004-06-29 David Kastrup <dak@gnu.org>
100
101 * search.c (Fset_match_data): Allow buffer before end of list
102 which can happen if set-match-data is using a pre-consed list.
103
104 2004-06-28 Steven Tamm <steventamm@mac.com>
105
106 * macterm.c (XTread_socket): Correctly set the frame position
107 after the window is moved.
108
109 2004-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
110
111 * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
112 gpix and gmask just before return to avoid memory leak.
113 (xg_get_image_for_pixmap): Add workaround for monochrome displays
114 so insensitive and activated icons look ok.
115
116 2004-06-27 Jason Rumney <jasonr@gnu.org>
117
118 * w32fns.c (file_dialog_callback): Disable edit control if set
119 to directories only on CDN_INITDONE message.
120 (Fx_file_dialog): Default to directories only when prompt starts
121 with "Dired".
122
123 2004-06-25 Kim F. Storm <storm@cua.dk>
124
125 * alloc.c (allocate_misc): Update total_free_markers.
126 (free_misc): New function.
127 (safe_alloca_unwind, free_marker): Use it.
128
129 * lisp.h (free_misc): Add prototype.
130
131 * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
132
133 2004-06-24 Richard M. Stallman <rms@gnu.org>
134
135 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
136 (syms_of_emacs): Lisp variables deleted.
137
138 2004-06-23 David Kastrup <dak@gnu.org>
139
140 * search.c (Freplace_match): Adjust the match-data more thoroughly
141 when replacing strings in the buffer.
142 (Fmatch_data): When INTEGERS is non-nil and the last match was in
143 a buffer, add the buffer as last element to the match data.
144 (Fset_match_data): If an additional element of the match-data is a
145 buffer, restore it to last_thing_searched.
146 (save_search_regs): Save last_thing_searched as part of the match data.
147 (restore_match_data): Restore it again.
148
149 2004-06-23 Luc Teirlinck <teirllm@auburn.edu>
150
151 * keymap.c (Ftext_char_description): Doc fix.
152 * doc.c (Fsnarf_documentation): Doc fix.
153
154 2004-06-22 Kim F. Storm <storm@cua.dk>
155
156 * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
157
158 * lisp.h (struct Lisp_Save_Value): New member dogc.
159 (SAFE_ALLOCA_LISP): Change second arg to number of elements.
160 Set dogc member in Lisp_Save_Value object so it will be GC'ed.
161 (SAFE_FREE_LISP): New macro.
162
163 * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
164 (make_save_value): Init new dogc member.
165 (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
166
167 * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
168 SAFE_FREE_LISP macros.
169
170 2004-06-22 Kim F. Storm <storm@cua.dk>
171
172 * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
173 Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
174 in that memory area are unknown to GC. Add comments.
175
176 * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
177
178 2004-06-21 Kim F. Storm <storm@cua.dk>
179
180 * lisp.h (MAX_ALLOCA): Define here.
181 (safe_alloca_unwind): Add prototype.
182 (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
183
184 * alloc.c (safe_alloca_unwind): New function.
185
186 * casefiddle.c (casify_object): Use SAFE_ALLOCA.
187
188 * charset.c (Fstring): Use SAFE_ALLOCA.
189
190 * coding.c (MAX_ALLOCA): Remove define.
191
192 * data.c (MAX_ALLOCA): Remove define.
193 (Faset): Use SAFE_ALLOCA.
194
195 * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
196
197 * fns.c (string_make_multibyte, string_to_multibyte)
198 (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
199 (MAX_ALLOCA): Remove define.
200 (Fbase64_encode_region, Fbase64_encode_string)
201 (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
202 (Fbase64_encode_region, Fbase64_encode_string): Fix potential
203 memory leak if encoding fails.
204
205 * xdisp.c (add_to_log): Use SAFE_ALLOCA.
206
207 2004-06-21 Eli Zaretskii <eliz@gnu.org>
208
209 * print.c (Fwith_output_to_temp_buffer): Doc fix.
210
211 2004-06-20 Richard M. Stallman <rms@gnu.org>
212
213 * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
214
215 * search.c (match_limit): Cleaner err msg when no match data available.
216
217 * window.c (syms_of_window): Doc fix.
218
219 * keyboard.c (command_loop_1): Handle values `only' and `identity'
220 for Vtransient_mark_mode.
221
222 * buffer.c (syms_of_buffer): Doc fix.
223
224 2004-06-21 David Kastrup <dak@gnu.org>
225
226 * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
227 and unbinding of `case-fold-search' according to
228 `completion-ignore-case' around calls of string-match and
229 predicates, respectively. Should give satisfactory performance
230 in all relevant cases.
231
232 2004-06-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
233
234 * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
235 clip_x/y_origin.
236
237 * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
238
239 * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
240
241 * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
242 on Mac OSX.
243
244 2004-06-16 Luc Teirlinck <teirllm@auburn.edu>
245
246 * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
247
248 2004-06-16 Kim F. Storm <storm@cua.dk>
249
250 * dispextern.h (Vimage_types): Remove extern.
251
252 2004-06-16 Miles Bader <miles@gnu.org>
253
254 * image.c (lookup_image_type): Initialize image type if necessary.
255
256 2004-06-15 Kim F. Storm <storm@cua.dk>
257
258 * xdisp.c (try_cursor_movement): Exclude header line from scroll
259 margin at top of window.
260 (try_window_reusing_current_matrix): Calculate proper cursor position
261 after scrolling up with non-zero scroll margin, as the old cursor
262 position corresponds to value of PT before executing this command.
263 (try_window_id): Consider scroll margin at bottom of window too;
264 otherwise we fail to scroll when hl-line-mode is enabled.
265
266 * syntax.c (skip_chars): Only recognize [:class:] when it has the
267 proper format and class is a lower-case word.
268
269 2004-06-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
270
271 * gtkutil.c (xg_get_image_for_pixmap): New function.
272 (xg_get_gdk_pixmap_and_mask): Remove.
273 (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
274 xg_get_gdk_pixmap_and_mask.
275
276 * xterm.h (struct x_display_info): Typo in comment fixed.
277
278 2004-06-14 Juanma Barranquero <lektu@terra.es>
279
280 * dispextern.h (Vimage_types): Make it conditional on
281 HAVE_WINDOW_SYSTEM.
282
283 * image.c (Vimage_types): Move from xdisp.c.
284 (Vimage_type_cache): New variable.
285 (define_image_type): New argument indicating whether an image
286 library was loaded; cache loaded status and return t on success,
287 nil otherwise.
288 (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
289 (w32_delayed_load): New function to load an image library from a
290 list of possible filenames.
291 (init_xpm_functions, init_png_functions, init_jpeg_functions)
292 (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
293 (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
294 (Finit_image_library): New function, extracted from `init_image'.
295 Try to initialize an image library on demand and cache whether we
296 were successful or not.
297 (syms_of_image): Initialize `Vimage_types' and
298 `Vimage_type_cache'. Add recognized image types to Vimage_types.
299 Export `init-image-library'.
300 (init_image): Remove initialization of all image types, except xbm
301 and pbm.
302
303 * xdisp.c (Vimage_types): Delete (moved to image.c).
304
305 2004-06-14 Andreas Schwab <schwab@suse.de>
306
307 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
308 Avoid calling specbind when completion-regexp-list is empty.
309
310 2004-06-13 Richard M. Stallman <rms@gnu.org>
311
312 * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
313 (re_wctype, re_iswctype, re_wctype_to_bit):
314 Non-function definitions moved here from regex.c.
315
316 * regex.c (re_wctype, re_iswctype): Function defs longer static.
317 (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
318 (re_wctype, re_iswctype, re_wctype_to_bit):
319 Non-function definitions moved to regex.h.
320
321 * window.c (Fselect_window): Doc fix.
322
323 * syntax.c: Include regex.h.
324 (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed.
325 If requested, make a list of classes, then check the scanned
326 chars for membership in them.
327 (in_classes): New function.
328 Doc fix.
329
330 * keyboard.c (cmd_error): Don't call any_kboard_state
331 if inside a recursive edit level.
332
333 2004-06-13 Lorentey K\e,Aa\e(Broly <lorentey@elte.hu>
334
335 * keyboard.c (command_loop): Call any_kboard_state before
336 command_loop_2 when at top level.
337
338 2004-06-13 Andreas Schwab <schwab@suse.de>
339
340 * print.c (print_object): Always use %ld for printing EMACS_INT.
341
342 * keyboard.c (cancel_hourglass_unwind): Return a value.
343 (modify_event_symbol): Always use %ld for printing EMACS_INT.
344 (Fexecute_extended_command): Likewise.
345
346 * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
347 avoid clashes.
348 (SYNTAX): Likewise.
349 (SYNTAX_WITH_FLAGS): Likewise.
350 (SYNTAX_MATCH): Likewise.
351
352 * syntax.c (char_quoted): Avoid warning about undefined operation.
353 (find_defun_start): Likewise.
354 (scan_lists): Likewise.
355 (INC_FROM): Likewise.
356 (scan_sexps_forward): Likewise.
357
358 * image.c: Include <ctype.h>.
359
360 * xfaces.c (face_attr_equal_p): Declare parameters.
361
362 2004-06-13 Kenichi Handa <handa@m17n.org>
363
364 * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
365
366 2004-06-12 Matthew Mundell <matt@mundell.ukfsn.org>
367
368 * eval.c (Fdefun): Signal an error if NAME is not a symbol.
369
370 2004-06-12 Kenichi Handa <handa@m17n.org>
371
372 * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
373 ccl_prog_stack_struct and update it.
374 (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
375 (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
376 ccl->eof_ic on EOF.
377 (ccl_debug_hook): New function.
378 (struct ccl_prog_stack): New member eof_ic.
379 (ccl_driver): Handle EOF in subrountine call correctly.
380
381 2004-06-11 Kenichi Handa <handa@m17n.org>
382
383 * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
384
385 2004-06-11 Kim F. Storm <storm@cua.dk>
386
387 * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
388
389 2004-06-11 Juanma Barranquero <lektu@terra.es>
390
391 * keyboard.c (Fposn_at_point): Doc fix.
392
393 2004-06-11 David Kastrup <dak@gnu.org>
394
395 * search.c (match_limit): Don't flag an error if match-data
396 exceeding the allocated search_regs.num_regs gets requested, just
397 return Qnil.
398
399 2004-06-08 Miles Bader <miles@gnu.org>
400
401 * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
402
403 2004-06-07 Juanma Barranquero <lektu@terra.es>
404
405 * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
406 (Fcurrent_time_string, Fcurrent_time_zone)
407 (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
408
409 2004-06-07 Miles Bader <miles@gnu.org>
410
411 * xfaces.c (struct named_merge_point): New type.
412 (push_named_merge_point): New function.
413 (merge_named_face): New function.
414 (merge_face_ref, face_at_buffer_position, face_at_string_position):
415 Use `merge_named_face'.
416 (merge_face_inheritance): Function removed.
417 (merge_face_ref): Rename from `merge_face_vector_with_property'.
418 Add new `err_msgs' and `named_merge_points' args. Return error
419 status. Only print error messages if ERR_MSGS is true. Don't try to
420 do :inherit attribute validation.
421 (merge_face_heights): Handle `unspecified' in both directions.
422 (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
423 Call `merge_face_ref' instead of `merge_face_inheritance'.
424 (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
425 (compute_char_face, face_at_buffer_position)
426 (face_at_string_position): Call `merge_face_ref' instead of
427 `merge_face_vector_with_property'.
428
429 2004-06-07 Kenichi Handa <handa@m17n.org>
430
431 * coding.c (find_safe_codings): Check NILP (safe_codings) only at
432 the necessary places.
433
434 2004-06-07 Kim F. Storm <storm@cua.dk>
435
436 * process.c (Fdelete_process): Undo 2004-05-28 change.
437 Instead, call status_notify also for network process.
438 (status_message): Use process instead of status as arg.
439 Give messages "deleted" or "connection broken by remote peer" for
440 an exited network process.
441 (status_notify): Change call to status_message.
442 (read_process_output): Increase readmax to 4096. Do not increase
443 buffer size for datagram channels (default is now large enough).
444
445 2004-06-06 Steven Tamm <tamm@Steven-Tamms-Computer.local>
446
447 * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
448 problem due to newly defined variable.
449
450 2004-06-06 Miles Bader <miles@gnu.org>
451
452 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
453 immediately if non-interactive or not initialized.
454
455 2004-06-05 Richard M. Stallman <rms@gnu.org>
456
457 * minibuf.c (Fcompleting_read): Doc fix.
458
459 2004-06-05 Andreas Schwab <schwab@suse.de>
460
461 * macfns.c (x_create_tip_frame): Fix declaration after statement.
462
463 2004-06-05 Juanma Barranquero <lektu@terra.es>
464
465 * keymap.c (Fdescribe_vector): Fix docstring.
466 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
467
468 2004-06-05 Miles Bader <miles@gnu.org>
469
470 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
471 attributes have different values than the default face.
472
473 2004-06-04 Eli Zaretskii <eliz@gnu.org>
474
475 * xfaces.c (x_supports_face_attributes_p): Make this function
476 conditional on HAVE_WINDOW_SYSTEM.
477 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
478 Don't call x_supports_face_attributes_p if it was not compiled in.
479
480 2004-06-04 Miles Bader <miles@gnu.org>
481
482 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
483 from Ftty_supports_face_attributes_p.
484 (x_supports_face_attributes_p): New function.
485 (Ftty_supports_face_attributes_p): Function deleted.
486 (Fdisplay_supports_face_attributes_p): New function.
487 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
488 (face_attr_equal_p): New function.
489 (lface_equal_p): Use it.
490
491 2004-06-03 Juanma Barranquero <lektu@terra.es>
492
493 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
494 (Vw32_color_map): Fix typo in docstring.
495 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
496 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
497 Make argument names match their use in docstring.
498
499 2004-06-02 Juanma Barranquero <lektu@terra.es>
500
501 Work around bugs/problems with MinGW builds of graphics libraries
502 called from MSVC builds of Emacs.
503
504 * image.c (lookup_image): Make pointer to img static.
505 (png_read_from_memory): Disable "global" optimization.
506
507 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
508
509 * eval.c (Fcondition_case): Fix usage. Simplify.
510
511 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
512
513 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
514
515 * macfns.c: Don't include ccl.h.
516 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
517 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
518 TextUtils.h.
519 (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors.
520 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
521 display height/width.
522 (compute_tip_xy, Vx_max_tooltip_size): Declare.
523 (unwind_create_tip_frame, compute_tip_xy): New functions.
524 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
525 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
526 and last_show_tip_args.
527
528 * macgui.h [!MAC_OSX]: Include Gestalt.h.
529 (Cursor, No_Cursor): New defines.
530 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
531 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
532
533 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
534
535 * macterm.c: Don't include Gestalt.h.
536 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
537 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
538 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
539 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
540 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
541 (construct_mouse_click, XTmouse_position)
542 (x_scroll_bar_report_motion, x_calc_absolute_position)
543 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
544 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
545 (note_mouse_movement): Clear the mouse face and reset the pointer
546 shape when the pointer goes outside the frame without grabbing.
547 (mac_front_window): New function.
548 (mac_window_to_frame): New macro.
549 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
550 (do_window_activate, do_window_deactivate, do_app_resume)
551 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
552 (do_zoom_window, mac_do_receive_drag, XTread_socket)
553 (mac_check_for_quit_char): Use mac_front_window and/or
554 mac_window_to_frame.
555 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
556 scroll-bar click event.
557 (mac_define_frame_cursor): Change the pointer shape.
558 (x_free_frame_resources): Reset tip_window to NULL when it is disposed.
559 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
560 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
561 (do_window_update): Don't do anything if the updated window is the
562 tooltip window.
563 (do_mouse_moved): Handle mouse movement events here (previously in
564 XTread_socket). Clear the mouse face if
565 dpyinfo->mouse_face_hidden is set.
566 (do_os_event, do_events): Remove (now in XTread_socket).
567 (XTread_socket): Immediately return if interrupt_input_blocked.
568 Loop until all the events in the queue are processed.
569 Rearrange codes for mouse grabbing. Add tooltip support. Include the
570 contents of do_os_event and do_events. Remove mouse movement
571 handling (now in do_mouse_moved). Add the case where
572 Vmouse_highlight has an integer value.
573 (NewMacWindow): Remove.
574 (make_mac_frame): Do what NewMacWindow previously did. Don't do
575 excess initializations.
576 (make_mac_terminal_frame): Previous initializations in
577 make_mac_frame are moved here.
578 (mac_initialize_display_info):
579 Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
580
581 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
582 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
583
584 2004-05-29 Richard M. Stallman <rms@gnu.org>
585
586 * lisp.h (truncate_undo_list): Update decl.
587
588 * alloc.c (undo_outer_limit): New variable.
589 (syms_of_alloc): Defvar it.
590 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
591
592 * undo.c (truncate_undo_list): New arg LIMITSIZE.
593
594 * alloc.c (lisp_align_malloc): Check for base == 0
595 regardless of HAVE_POSIX_MEMALIGN.
596 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
597
598 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
599
600 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
601 (marker_blocks_pending_free): Remove.
602 (Fgarbage_collect): Sweep after cleaning up undo-lists.
603 Mark the undo lists after claning them up.
604 Don't free block in marker_blocks_pending_free.
605 (mark_buffer): Don't mark undo_list.
606 (gc_sweep): Sweep hash-tables and strings first.
607 Do free marker blocks that are empty.
608
609 2004-05-28 Jim Blandy <jimb@redhat.com>
610
611 * regex.c (print_partial_compiled_pattern): Add missing 'break'
612 after 'case wordend'. For symbeg and symend, print to stderr,
613 like the other cases.
614
615 2004-05-28 Noah Friedman <friedman@splode.com>
616
617 * process.c (Fdelete_process): Do not call remove_process.
618
619 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
620
621 * alloc.c (struct backtrace): Remove.
622 (Fgarbage_collect): Use the new mark_backtrace.
623
624 * eval.c (mark_backtrace): New function.
625
626 * minibuf.c (run_exit_minibuf_hook): New function.
627 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
628 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
629
630 2004-05-27 Kim F. Storm <storm@cua.dk>
631
632 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
633 over display properties, e.g. images, that replace buffer text.
634
635 2004-05-25 Kim F. Storm <storm@cua.dk>
636
637 * alloc.c (marker_blocks_pending_free): New var.
638 (gc_sweep): Store free marker blocks on that list.
639 (Fgarbage_collect): Free them after undo-list cleanup.
640
641 * process.c (wait_reading_process_input): Check connect_wait_mask
642 before actually accepting connection in case it has already been
643 accepted due to recursion.
644
645 2004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu> (tiny change)
646
647 * coding.c (Fset_safe_terminal_coding_system_internal):
648 Set suppress_error in safe_terminal_coding, not terminal_coding.
649
650 2004-05-22 Richard M. Stallman <rms@gnu.org>
651
652 * alloc.c (Fmake_string): Doc fix.
653
654 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
655 and the alist pairs too.
656
657 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
658
659 * emacs.c (main): Update copyright year.
660
661 * fileio.c (Fread_file_name): Expand DIR if not absolute.
662
663 * insdel.c (del_range_2, replace_range): Don't write an anchor
664 if the gap is empty.
665
666 * xdisp.c (try_scrolling): If scroll-up-aggressively or
667 scroll-down-aggressively is small but positive, put point
668 near the screen edge.
669
670 2004-05-22 Juanma Barranquero <lektu@terra.es>
671
672 * keymap.c (Fdefine_key): Doc fix.
673
674 2004-05-22 Kim F. Storm <storm@cua.dk>
675
676 * alloc.c (struct backtrace): Add debug_on_exit member.
677 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
678 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
679 the removed cons cells.
680 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
681 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
682 any cons cells pointing to unallocated stings.
683 Do not lisp_free any marker blocks, as there may still be pointers
684 to them from buffer undo lists at this stage of GC.
685
686 * keyboard.c (struct backtrace): Add debug_on_exit member.
687 (Fcommand_execute): Clear it.
688
689 2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
690
691 * intervals.c (lookup_char_property): Do not prematurely return nil.
692
693 2004-05-19 Jim Blandy <jimb@redhat.com>
694
695 Add support for new '\_<' and '\_>' regexp operators, matching the
696 beginning and end of symbols.
697
698 * regex.c (enum syntaxcode): Add Ssymbol.
699 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
700 (re_opcode_t): New opcodes `symbeg' and `symend'.
701 (print_partial_compiled_pattern): Print the new opcodes properly.
702 (regex_compile): Parse the new operators.
703 (analyse_first): Skip sym(beg|end) (they match only the empty string).
704 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
705 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
706 (re_match_2_internal): Match symbeg and symend.
707
708 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
709
710 2004-05-19 Kim F. Storm <storm@cua.dk>
711
712 * .gdbinit (xsymbol): Fix last change.
713
714 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
715
716 * .gdbinit (xprintstr): New fun.
717 (xstring, xprintsym): Use it.
718
719 * w32proc.c (create_child): Use INTMASK.
720
721 * alloc.c (Fgarbage_collect): Do all the marking before flushing
722 unmarked elements of the undo list.
723
724 2004-05-18 David Ponce <david@dponce.com>
725
726 * print.c (print): Reset print_depth before to call print_object.
727
728 2004-05-18 Jason Rumney <jasonr@gnu.org>
729
730 * w32console.c: Prefix RIF functions with w32con_ to avoid
731 namespace clash with functions in term.c and w32term.c.
732
733 * w32menu.c (add_menu_item, w32_menu_display_help)
734 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
735
736 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
737
738 2004-05-18 Eli Zaretskii <eliz@gnu.org>
739
740 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
741
742 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
743 with make_number.
744 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
745 with XINT.
746
747 2004-05-18 Kim F. Storm <storm@cua.dk>
748
749 * blockinput.h (INPUT_BLOCKED_P): New macros.
750
751 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
752 (Ftop_level): Unblock input if blocked.
753
754 * buffer.h (GET_OVERLAYS_AT): New macro.
755 * msdos.c (IT_note_mouse_highlight): Use it.
756 * textprop.c (get_char_property_and_overlay): Use it.
757 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
758 * xfaces.c (face_at_buffer_position): Use it.
759
760 * print.c (print_object): Increase buf size.
761
762 2004-05-17 Jason Rumney <jasonr@gnu.org>
763
764 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
765 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
766 Lisp_Object using i member.
767 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
768 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
769 consistently.
770
771 * w32proc.c (create_child): Use make_number instead of masking pid.
772
773 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
774 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
775 Use EQ to compare Lisp_Objects.
776 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
777
778 * w32term.c (w32_num_mouse_buttons): Rename from
779 Vw32_num_mouse_buttons and make it an int.
780
781 * w32.c (init_environment): Use it.
782
783 * w32fns.c (w32_wnd_proc): Likewise.
784
785 * w32proc.c (w32_pipe_read_delay): Rename from
786 Vw32_pipe_read_delay and make it an int.
787
788 * w32.c (_sys_read_ahead): Use it.
789
790 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
791
792 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
793
794 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
795 (key_event): Don't mix Lisp_Object and int.
796
797 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
798
799 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
800 modifiers in language change event.
801
802 2004-05-17 Kim F. Storm <storm@cua.dk>
803
804 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
805 Such objects may be freed markers which still exist on an undo list.
806
807 2004-05-16 Juanma Barranquero <lektu@terra.es>
808
809 * data.c (Fset_default): Make argument names match their use in
810 docstring.
811
812 2004-05-15 Andreas Schwab <schwab@suse.de>
813
814 * emacs.c (gdb_array_mark_flag): Define.
815 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
816
817 2004-05-15 Eli Zaretskii <eliz@gnu.org>
818
819 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
820 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
821 defined for the MS-DOS build.
822
823 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
824
825 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
826
827 2004-05-14 Kenichi Handa <handa@m17n.org>
828
829 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
830
831 2004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
832
833 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
834 section to frame.c section.
835 (Fxw_display_color_p, Fx_file_dialog): Declare if
836 HAVE_WINDOW_SYSTEM defined.
837
838 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
839
840 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
841
842 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
843 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
844 (XTread_socket): Fix int/Lisp_Object mixup.
845 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
846
847 * macterm.h (struct frame, struct face, struct image)
848 (display_x_get_resource, Fx_display_color_p)
849 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
850 Add prototypes.
851
852 2004-05-14 Kim F. Storm <storm@cua.dk>
853
854 * process.c (wait_reading_process_input): Make reentrant.
855 Make Available and Connecting non-static. Save and restore value
856 of waiting_for_user_input_p.
857
858 2004-05-13 Kim F. Storm <storm@cua.dk>
859
860 * keyboard.c (mark_kboards): Don't mark x and y members
861 that are overloaded in selection request events.
862
863 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
864
865 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
866
867 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
868
869 * window.c (Fdisplay_buffer, Fsplit_window)
870 (split-height-threshold): Doc fix.
871
872 2004-05-13 Juanma Barranquero <lektu@terra.es>
873
874 * xfaces.c (Ftty_supports_face_attributes_p)
875 (Finternal_copy_lisp_face): Fix typo in docstring.
876 (Finternal_get_lisp_face_attribute): Fix docstring.
877
878 2004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
879
880 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
881
882 2004-05-11 Steven Tamm <steventamm@mac.com>
883
884 * macfns.c (Fx_create_frame): Default to using tool-bar by
885 setting tool-bar-lines to 1 in default-frame-alist.
886
887 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
888
889 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
890 (xpm_get_color_table_v, xpm_make_color_table_h)
891 (xpm_put_color_table_h, xpm_get_color_table_h)
892 (xpm_str_to_color_key, xpm_load_image, xpm_load)
893 (syms_of_image): Support XPM on Carbon Emacs. Does not
894 depend on libXpm, but only supports XPM version 3 without extensions.
895
896 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
897
898 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
899 instead of FRAME_X_P
900
901 2004-05-11 Kim F. Storm <storm@cua.dk>
902
903 * process.c (read_process_output): Grow decoding_buf when needed;
904 this could cause a crash in allocate_string and compact_small_strings.
905
906 2004-04-29 Jim Blandy <jimb@redhat.com>
907
908 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
909 against proper opcode.
910
911 2004-05-10 Juanma Barranquero <lektu@terra.es>
912
913 * process.c (Fstart_process): Fix docstring.
914
915 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
916 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
917 (Fsplit_char, Fchar_charset): Make argument names match their use
918 in docstring.
919
920 2004-05-10 Richard M. Stallman <rms@gnu.org>
921
922 * print.c (print_preprocess): Use being_printed, loop_count and
923 halftail to detect overdeep nesting and cyclic cdr chains.
924
925 2004-05-10 Andreas Schwab <schwab@suse.de>
926
927 * lisp.h: Declare Fmake_symbolic_link.
928
929 * fileio.c (Frename_file): Remove extra argument in call to
930 Fmake_symbolic_link.
931
932 2004-05-10 Kim F. Storm <storm@cua.dk>
933
934 * xdisp.c (calc_line_height_property): Use string position when
935 object is a string.
936
937 2004-05-10 Kenichi Handa <handa@m17n.org>
938
939 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
940 inhibit-modification-hooks to t temporarily before calling
941 Ferase_buffer.
942
943 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
944 inhibit-modification-hooks to t temporarily before calling
945 Ferase_buffer.
946
947 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
948 inhibit-modification-hooks to t temporarily before calling
949 Ferase_buffer.
950
951 * fns.c (count_combining): Delete it.
952 (concat): Don't check combining bytes.
953
954 2004-05-09 Jason Rumney <jasonr@gnu.org>
955
956 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
957 (globals_of_w32fns): Set it.
958
959 2004-05-09 Piet van Oostrum <piet@cs.uu.nl> (tiny change)
960
961 * data.c (Fquo): Simplify.
962
963 2004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
964
965 * data.c (Fquo): If any argument is float, do the computation in
966 floating point.
967
968 2004-05-08 Juanma Barranquero <lektu@terra.es>
969
970 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
971 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
972 Fix spelling of Emacs on docstring.
973 (Fset_process_coding_system, Fprocess_coding_system)
974 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
975 Make argument names match their use in docstring.
976 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
977 Fix docstring.
978
979 * editfns.c (Finsert_buffer_substring): Make argument names match their
980 use in docstring.
981
982 * syntax.c (Fmodify_syntax_entry): Fix docstring.
983
984 2004-05-07 Steven Tamm <steventamm@mac.com>
985
986 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
987 around call to ReceiveEvent to avoid certain crashes.
988
989 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
990
991 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
992 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
993 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
994 Save/restore the current graphics port and device handle when
995 drawing into an offscreen graphics world.
996
997 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
998 (gif_load): Likewise.
999
1000 2004-05-07 Juanma Barranquero <lektu@terra.es>
1001
1002 * window.c (Fset_window_buffer): Fix docstring.
1003
1004 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
1005
1006 * emacs.c (main) [VMS]: Fix var ref.
1007
1008 2004-05-06 Romain Francoise <romain@orebokech.com> (tiny change)
1009
1010 * data.c (Fsetq_default): Fix docstring.
1011
1012 2004-05-06 Jason Rumney <jasonr@gnu.org>
1013
1014 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
1015 to avoid name clash.
1016
1017 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1018
1019 * fileio.c (barf_or_query_if_file_exists): Use lstat.
1020 (Frename_file): Handle renaming of symlinks across file systems.
1021 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
1022
1023 2004-05-04 Kim F. Storm <storm@cua.dk>
1024
1025 * xdisp.c (Qtotal): New var.
1026 (syms_of_xdisp): Intern and staticpro it.
1027 (calc_line_height_property): New arg total. Set it if
1028 line-spacing property has format (total . VALUE).
1029 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
1030 Handle total line-spacing property.
1031
1032 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1033
1034 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
1035 "under" scroll bar when size/position changes.
1036
1037 2004-05-03 Jason Rumney <jasonr@gnu.org>
1038
1039 * makefile.nt: Remove.
1040
1041 2004-05-02 Eli Zaretskii <eliz@gnu.org>
1042
1043 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
1044 Avoid compiler warnings.
1045
1046 * Makefile.in (region-cache.o): Depend on config.h.
1047
1048 2004-05-02 Romain Francoise <romain@orebokech.com> (tiny change)
1049
1050 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
1051 with continuation lines, too.
1052
1053 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
1054
1055 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
1056
1057 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
1058
1059 * xdisp.c (calc_line_height_property): YAILOM (yet another
1060 int/Lisp_Object mixup).
1061
1062 2004-05-01 Eli Zaretskii <eliz@gnu.org>
1063
1064 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
1065 undo bad effect of pack(4) in some versions of system headers.
1066
1067 2004-05-01 Jason Rumney <jasonr@gnu.org>
1068
1069 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
1070
1071 2004-04-30 Kim F. Storm <storm@cua.dk>
1072
1073 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
1074 (syms_of_buffer) <cursor-type>: Doc fix.
1075
1076 * dispextern.h (struct it): Remove member use_default_face.
1077 Add members override_ascent, override_descent, override_boff.
1078
1079 * xdisp.c (init_iterator): Handle line-spacing float value.
1080 Initialize override_ascent member.
1081 (append_space_for_newline): Reset override_ascent.
1082 Remove use_default_face.
1083 (calc_line_height_property): New function to calculate value of
1084 line-height and line-spacing properties. Look at overlays, too.
1085 Set override_ascent, override_descent, override_boff members when
1086 using another face than the current face. Float values are now
1087 relative to the frame default font, by default; accept a cons
1088 of ratio and face name to specify value relative to a specific face.
1089 (x_produce_glyphs): Use calc_line_height_property.
1090 Use override_ascent etc. when set to handle different face heights.
1091 A negative line-spacing property value is interpreted as a total
1092 line height, rather than inter-line spacing.
1093 (note_mouse_highlight): Allocate room for 40 overlays initially.
1094
1095 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
1096
1097 * data.c (Fsubr_name): New fun.
1098 (syms_of_data): Defsubr it.
1099
1100 2004-04-29 Kim F. Storm <storm@cua.dk>
1101
1102 * xdisp.c (null_glyph_slice): New var.
1103 (append_glyph, append_composite_glyph, append_stretch_glyph):
1104 Use it to initialize glyph slice.
1105
1106 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
1107
1108 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
1109 (on_hot_spot_p): Make sure we always return a value.
1110 (Flookup_image_map): Remove unused var ix and iy.
1111 (note_mode_line_or_margin_highlight): Remove unused var `image'.
1112
1113 2004-04-27 Eli Zaretskii <eliz@gnu.org>
1114
1115 * msdos.c (init_environment): If one of the TMP... environment
1116 variables is set to a drive letter without a trailing slash,
1117 append a slash.
1118
1119 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
1120
1121 * editfns.c (lisp_time_argument): Provide externally.
1122
1123 * fileio.c (Fset_file_times): New function.
1124 (syms_of_fileio): Intern and staticpro it.
1125
1126 2004-04-27 Kim F. Storm <storm@cua.dk>
1127
1128 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
1129 header line strings.
1130
1131 * dispextern.h (struct it): New member use_default_face.
1132
1133 * xdisp.c (Qline_height): New variable.
1134 (syms_of_xdisp): Intern and staticpro it.
1135 (append_space_for_newline): Partially undo 2004-04-25 change;
1136 add default_face_p arg, and restore callers.
1137 Clear it->use_default_face after use.
1138 (x_produce_glyphs): Set default font for ascii char if
1139 it->use_default_font is set. Change line-spacing property to set
1140 just extra line spacing. Handle new line-height property.
1141
1142 2004-04-26 Andreas Schwab <schwab@suse.de>
1143
1144 * print.c (print_object): Print non-ascii characters in bool
1145 vector representation as octal escapes.
1146
1147 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
1148 * print.c (print_object): Use it instead of BITS_PER_CHAR for
1149 bool vectors.
1150 * lread.c (read1): Likewise.
1151 * alloc.c (Fmake_bool_vector): Likewise.
1152 * data.c (Faref, Faset): Likewise.
1153 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
1154 (mapcar1): Likewise.
1155
1156 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
1157
1158 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
1159
1160 2004-04-26 Miles Bader <miles@gnu.org>
1161
1162 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
1163
1164 2004-04-26 Juanma Barranquero <lektu@terra.es>
1165
1166 * buffer.c (Fpop_to_buffer): Fix docstring.
1167
1168 2004-04-26 Steven Tamm <steventamm@mac.com>
1169
1170 * lread.c (init_lread): Don't display missing lisp directory
1171 warnings with Carbon Emacs because self-contained bundled Emacs
1172 may be built without correct installation path.
1173
1174 2004-04-25 Kim F. Storm <storm@cua.dk>
1175
1176 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
1177
1178 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
1179
1180 * xdisp.c (append_space_for_newline): Rename from append_space.
1181 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
1182 (x_produce_glyphs): Handle line-spacing property on newline char.
1183 If value is t, adjust ascent and descent to fit current row height.
1184 If value is an integer or float, set extra_line_spacing to integer
1185 value, or to float value x current line height.
1186
1187 2004-04-23 Kenichi Handa <handa@m17n.org>
1188
1189 * fontset.c (Finternal_char_font): If POSITION is nil, return
1190 font for displaying CH with the default face.
1191
1192 2004-04-23 Juanma Barranquero <lektu@terra.es>
1193
1194 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
1195
1196 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
1197
1198 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
1199 Don't make assumptions about the relative place of i and val.
1200 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
1201
1202 2004-04-21 Kim F. Storm <storm@cua.dk>
1203
1204 * dispextern.h (struct glyph_slice): New struct.
1205 (struct glyph): New member slice.
1206 (GLYPH_SLICE_EQUAL_P): New macro.
1207 (GLYPH_EQUAL_P): Use it.
1208 (struct glyph_string): New member slice.
1209 (struct it_slice): New struct.
1210 (struct it): New member slice, add member to stack too.
1211 New member constrain_row_ascent_descent_p.
1212 (image_ascent): Add prototype.
1213
1214 * dispnew.c (buffer_posn_from_coords): Return full image width
1215 and height even for image slices (posn is relative to full image).
1216 (marginal_area_string): Adjust x0,y0 for image slice.
1217
1218 * image.c (image_ascent): Add slice arg; calculate ascent for
1219 image slice (or full image).
1220
1221 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
1222 (syms_of_keyboard): Defsubr them.
1223
1224 * lisp.h (pos_visible_p): Fix prototype.
1225
1226 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
1227 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
1228 (x_draw_image_foreground, x_draw_image_relief)
1229 (x_draw_image_foreground_1, x_draw_image_glyph_string):
1230 Draw sliced images.
1231
1232 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
1233 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
1234 (x_draw_image_foreground, x_draw_image_relief)
1235 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
1236 Draw sliced images.
1237
1238 * w32term.h (image_ascent): Remove prototype.
1239
1240 * window.c (Fpos_visible_in_window_p): Return pixel position if
1241 PARTIALLY arg is non-nil. Simplify. Doc fix.
1242 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
1243 to return/set vscroll in pixels.
1244
1245 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
1246
1247 * xdisp.c (Qslice): New variable.
1248 (syms_of_xdisp): Intern and staticpro it.
1249 (pos_visible_p): Return pixel position in new x and y args.
1250 (init_iterator): Reset it->slice info.
1251 (handle_display_prop): Parse (slice ...) property.
1252 (push_it, pop_it): Save/restore slice info.
1253 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
1254 force repositioning of tall row if window is vscrolled, as that
1255 would reset vscroll.
1256 (append_space): Set it->constrain_row_ascent_descent_p to avoid
1257 increasing row height if row is non-empty.
1258 (fill_image_glyph_string): Copy slice info.
1259 (take_vertical_position_into_account): Simplify.
1260 (produce_image_glyph): Handle iterator slice info, setup glyph
1261 slice info. Do not force minimum line height.
1262 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
1263 do not increase height (ascent/descent) of non-empty row when
1264 adding normal character glyph; instead reduce glyph ascent/descent
1265 appropriately; if row is higher than current glyph, adjust glyph
1266 descent/ascent to reposition glyph within the existing row.
1267 Likewise, when char is newline, only set ascent/descent if row is
1268 currently empty.
1269 (note_mouse_highlight): Handle hotspots with sliced image.
1270
1271 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
1272 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
1273 (x_draw_image_foreground, x_draw_image_relief)
1274 (x_draw_image_foreground_1, x_draw_image_glyph_string):
1275 Draw sliced images.
1276
1277 * xterm.h (image_ascent): Remove prototype.
1278
1279 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
1280
1281 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
1282
1283 2004-04-20 John Paul Wallington <jpw@gnu.org>
1284
1285 * fns.c (Fassoc, Feql): Fix indentation.
1286
1287 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
1288
1289 2004-04-19 John Paul Wallington <jpw@gnu.org>
1290
1291 * fns.c (Feql): New function.
1292 (syms_of_fns): Defsubr it.
1293
1294 2004-04-18 Jason Rumney <jasonr@gnu.org>
1295
1296 * w32select.c (Fw32_set_clipboard_data): Get sequence number
1297 after closing the clipboard.
1298
1299 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
1300
1301 * buffer.c (Fbuffer_base_buffer): Doc fix.
1302
1303 2004-04-17 Kim F. Storm <storm@cua.dk>
1304
1305 * keymap.c (Fkey_description): Add optional PREFIX arg.
1306 Combine prefix with KEYS to make up the full key sequence to describe.
1307 Correlate meta_prefix_char and following (simple) key to describe
1308 as meta modifier. All callers changed.
1309 (describe_map): Rename arg `keys' to `prefix'. Remove local
1310 `elt_prefix' var. Use Fkey_description with prefix instead of
1311 elt_prefix combined with Fsingle_key_description.
1312 (describe_vector): Declare static. Replace arg `elt_prefix' with
1313 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
1314 if !KEYMAP_P. Use Fkey_description with prefix instead of
1315 Fsingle_key_description.
1316
1317 * keymap.h (Fkey_description): Fix prototype.
1318 (describe_vector): Remove prototype.
1319
1320 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
1321
1322 * image.c (PNG_BG_COLOR_SHIFT): Remove.
1323 (png_load): Fix calculation of transparent background color on X
1324 and W32 platforms.
1325
1326 2004-04-16 Juanma Barranquero <lektu@terra.es>
1327
1328 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
1329 not too large before computing how much to scroll.
1330
1331 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
1332
1333 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
1334
1335 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
1336
1337 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
1338 Add hyperlink to Elisp manual to the docstring.
1339
1340 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
1341
1342 * callint.c (fix_command): Use XDCR.
1343
1344 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
1345
1346 * window.c (Fget_lru_window): Doc fix.
1347
1348 2004-04-14 Kim F. Storm <storm@cua.dk>
1349
1350 * editfns.c (Fformat): Fix allocation size of precision array.
1351
1352 * dispnew.c (update_window): Only set changed_p if
1353 scrolling_window actually did scroll.
1354 (scrolling_window): Only return 1 if we actually did scroll.
1355
1356 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
1357 height to glyph height when cursor row is not fully visible.
1358 (make_cursor_line_fully_visible): Add FORCE_P arg to return
1359 failure in case row is higher than window. Callers changed.
1360 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
1361 Try to scroll partially visible, higher-than-window cursor row.
1362 (redisplay_window): Always try to scroll partially visible,
1363 higher-than-window cursor row - both initially and again with
1364 centering_position = 0.
1365 Clear desired matrix before retrying with centering_position = 0.
1366
1367 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
1368
1369 * syntax.c (scan_lists): Simplify backward string scan.
1370 Fix off-by-one boundary check for string and comment fences.
1371
1372 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
1373
1374 * sheap.c, unexcw.c: New files.
1375
1376 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
1377
1378 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
1379 base buffer has been killed. Correct the error message if the
1380 base buffer does not exist.
1381
1382 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
1383
1384 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
1385 Cygwin itself. Add support for Xaw3d scrollbars.
1386
1387 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
1388
1389 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
1390
1391 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
1392 before Cygwin unexec.
1393
1394 * Makefile.in: Link changes for Cygwin unexec() support.
1395
1396 2004-04-12 Andreas Schwab <schwab@suse.de>
1397
1398 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
1399
1400 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
1401
1402 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
1403 IGNORE argument equals NAME. Doc fix.
1404
1405 2004-04-11 Masatake YAMATO <jet@gyve.org>
1406
1407 * buffer.c (fix_start_end_in_overlays): Make overlays
1408 empty if they are backwards.
1409
1410 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
1411
1412 * xfaces.c (face_color_supported_p): Fix compilation without X11.
1413
1414 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
1415
1416 * doc.c (Fsnarf_documentation): Ignore new file name entries.
1417
1418 2004-04-06 Kim F. Storm <storm@cua.dk>
1419
1420 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
1421 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
1422
1423 * w32term.c (w32_read_socket): Set mouse_face_hidden after
1424 clearing highlight.
1425
1426 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
1427
1428 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
1429 clearing highlight.
1430
1431 * indent.c (vmotion): Do not reserve one column for continuation
1432 marks on window frames.
1433
1434 2004-04-04 Eli Zaretskii <eliz@gnu.org>
1435
1436 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
1437 from GCC.
1438
1439 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
1440
1441 * .gdbinit-union: Remove.
1442
1443 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
1444 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
1445 ($nonvalbits): Remove.
1446 ($valmask): Set it by calling xreload to avoid redundancy.
1447
1448 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
1449 (gdb_emacs_intbits): Remove.
1450
1451 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1452
1453 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
1454
1455 2004-03-30 Kenichi Handa <handa@m17n.org>
1456
1457 * editfns.c (Fformat): Fix initialization of the array info.
1458
1459 2004-03-30 Kim F. Storm <storm@cua.dk>
1460
1461 * xterm.c (x_mouse_click_focus_ignore_position): New var.
1462 (syms_of_xterm): DEFVAR_BOOL it.
1463 (ignore_next_mouse_click_timeout): New var.
1464 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
1465 Use it to filter mouse clicks following focus event.
1466
1467 2004-03-29 David Ponce <david@dponce.com>
1468
1469 * callint.c (Fcall_interactively): Fix last change.
1470
1471 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
1472
1473 * eval.c (Fcommandp): Simplify.
1474
1475 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
1476 Extend to handle all kinds of functions.
1477
1478 * lisp.h (Finteractive_form): Declare.
1479
1480 * callint.c (Fcall_interactively): Use it.
1481
1482 2004-03-26 Kim F. Storm <storm@cua.dk>
1483
1484 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
1485 to catch errors in calc_pixel_width_or_height during redisplay.
1486
1487 2004-03-26 Masatake YAMATO <jet@gyve.org>
1488
1489 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
1490
1491 * lisp.h (fix_start_end_in_overlays): Likewise.
1492
1493 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
1494
1495 * editfns.c (Ftranspose_regions): Likewise.
1496
1497 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1498
1499 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
1500
1501 2004-03-19 Richard M. Stallman <rms@gnu.org>
1502
1503 * s/sol2-6.h: Delete previous change.
1504
1505 2004-03-19 Kim F. Storm <storm@cua.dk>
1506
1507 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
1508 to_charpos corresponds to newline in right fringe. Use local
1509 BUFFER_POS_REACHED_P macro.
1510
1511 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1512
1513 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
1514 to compile on non-window system.
1515
1516 2004-03-19 Kim F. Storm <storm@cua.dk>
1517
1518 * dispextern.h (calc_pixel_width_or_height): Add prototype.
1519
1520 * image.c (Qcenter): Move to xdisp.c.
1521
1522 * xdisp.c (Qcenter): Declare here.
1523 (syms_of_xdisp): Intern and staticpro it.
1524 (handle_single_display_prop): Allow space display property on all
1525 platforms.
1526 (display_mode_line): Set mode_line_p before displaying line.
1527 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
1528 handling. Remove complex cases for fringes and scroll-bars.
1529 Add left, right, and center alignment positions. Add text (area)
1530 width/height. Return width or height for image specs.
1531 (produce_stretch_glyph): Improve handling of :align-to. Is now
1532 relative to left of text area by default, but other base offsets
1533 can be specified -- also for text lines.
1534
1535 * term.c (produce_glyphs): Handle IT_STRETCH.
1536 (produce_stretch_glyph): New function to handle space width and
1537 align-to display properties on non-window systems.
1538
1539 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
1540
1541 * fileio.c (Fread_file_name): Set completion-ignore-case for
1542 case-insensitive systems.
1543
1544 2004-03-14 Masatake YAMATO <jet@gyve.org>
1545
1546 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
1547 when keymap and cursor are setup.
1548
1549 2004-03-14 Steven Tamm <steventamm@mac.com>
1550
1551 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
1552
1553 2004-03-14 Kim F. Storm <storm@cua.dk>
1554
1555 * dispextern.h (x_find_image_file): Add prototype.
1556
1557 * image.c (x_find_image_file): Make extern.
1558
1559 * xfns.c (x_find_image_file): Remove prototype.
1560
1561 2004-03-13 Eli Zaretskii <eliz@gnu.org>
1562
1563 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
1564
1565 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
1566
1567 2004-03-12 Richard M. Stallman <rms@gnu.org>
1568
1569 * fns.c (internal_equal): New arg PROPS controls comparing
1570 text properties. All callers changed.
1571 (Fequal_including_properties): New function.
1572 (syms_of_fns): defsubr it.
1573
1574 2004-03-12 Kim F. Storm <storm@cua.dk>
1575
1576 Fix image support on MAC. From YAMAMOTO Mitsuharu.
1577
1578 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
1579 (image_background, image_background_transparent): Fix prototypes.
1580
1581 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
1582
1583 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
1584 (x_query_font, x_find_ccl_program, x_set_window_size)
1585 (x_make_frame_visible, mac_initialize, XCreatePixmap)
1586 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
1587 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
1588
1589 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
1590 (x_query_font, x_find_ccl_program, x_set_window_size)
1591 (x_make_frame_visible, mac_initialize, XCreatePixmap)
1592 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
1593 (mac_draw_line_to_pixmap): Add prototypes.
1594
1595 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1596
1597 * macterm.c (XTread_socket): Fix mouse click on tool bar.
1598
1599 2004-03-11 Kim F. Storm <storm@cua.dk>
1600
1601 * dispextern.h: Move image related prototypes from xfns.c section
1602 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
1603 HAVE_X_WINDOWS.
1604
1605 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
1606 Move gtkutil.o to new GTK_OBJ list.
1607 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
1608 (GTK_OBJ) [USE_GTK]: New declaration.
1609 (obj): Add $(GTK_OBJ) to list.
1610
1611 2004-03-11 Steven Tamm <steventamm@mac.com>
1612
1613 * image.c [MAC_OSX]: Include sys/stat.h
1614
1615 * macfns.c (syms_of_macfns): Remove definitions of things now
1616 defined in image.c
1617
1618 2004-03-11 Kim F. Storm <storm@cua.dk>
1619
1620 The following changes consolidates the identical/similar image
1621 support code previously found in xfns.c, w32fns.c, and macfns.c
1622 into a new file image.c.
1623
1624 * makefile.w32-in (OBJ1): Add image.o.
1625 ($(BLD)/image.$(O)): Add dependencies.
1626
1627 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
1628 (image.o): Add dependencies.
1629
1630 * image.c: New file with consolidated image support code.
1631 (COLOR_TABLE_SUPPORT): New define to control whether
1632 color table support is available (X only).
1633 (Bitmap_Record): Common name for x_bitmap_record,
1634 w32_bitmap_record, and mac_bitmap_record.
1635 (XImagePtr): Common name for pointer to XImage or equivalent.
1636 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
1637 to XImagePtr on X+MAC, and to HDC on W32.
1638 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
1639 (NO_PIXMAP): Common name for "None" or equivalent.
1640 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
1641 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
1642 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
1643 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
1644 Define with suitable equivalents on W32 and MAC for code sharing.
1645 (XDrawLine): Define on MAC for code sharing.
1646 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
1647 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
1648 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1649 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1650 (x_reference_bitmap, x_create_bitmap_from_data)
1651 (x_create_bitmap_from_file, x_destroy_bitmap)
1652 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1653 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1654 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1655 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1656 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1657 (define_image_type, lookup_image_type, valid_image_p)
1658 (image_error, enum image_value_type, struct image_keyword)
1659 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1660 (make_image, free_image, prepare_image_for_display, image_ascent)
1661 (four_corners_best, image_background, image_background_transparent)
1662 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1663 (make_image_cache, free_image_cache, clear_image_cache)
1664 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1665 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1666 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1667 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
1668 (init_image_func_pointer, image_load_quartz2d)
1669 (struct ct_color, init_color_table, free_color_table)
1670 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1671 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1672 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1673 (x_disable_image, x_build_heuristic_mask)
1674 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1675 (TIFF support, GIF support, Ghostscript support): Consolidate image
1676 code from xfns.c, w32fns.c, and macfns.c.
1677 (syms_of_image): Consolidate image related symbol setup here.
1678 (init_image): Consolidate image related initializations here.
1679
1680 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
1681 and init_image. Remove call to init_xfns.
1682
1683 * macterm.h (struct mac_bitmap_record): Add file member.
1684 Not currently used, but simplifies code sharing.
1685
1686 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1687 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1688 (x_reference_bitmap, x_create_bitmap_from_data)
1689 (x_create_bitmap_from_file, x_destroy_bitmap)
1690 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1691 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
1692 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1693 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1694 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1695 (define_image_type, lookup_image_type, valid_image_p)
1696 (image_error, enum image_value_type, struct image_keyword)
1697 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1698 (make_image, free_image, prepare_image_for_display, image_ascent)
1699 (four_corners_best, image_background, image_background_transparent)
1700 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1701 (make_image_cache, free_image_cache, clear_image_cache)
1702 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1703 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1704 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1705 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
1706 (init_image_func_pointer, image_load_quartz2d)
1707 (struct ct_color, init_color_table, free_color_table)
1708 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1709 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1710 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1711 (x_disable_image, x_build_heuristic_mask)
1712 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1713 (TIFF support, GIF support, Ghostscript support): Merge with image
1714 code from xfns.c and macfns.c into image.c.
1715 (syms_of_xfns): Move image related symbols to image.c.
1716 (init_external_image_libraries, init_xfns): Remove; initialization
1717 moved to init_image in image.c.
1718
1719 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1720 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1721 (x_reference_bitmap, x_create_bitmap_from_data)
1722 (x_create_bitmap_from_file, x_destroy_bitmap)
1723 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1724 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1725 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1726 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1727 (define_image_type, lookup_image_type, valid_image_p)
1728 (image_error, enum image_value_type, struct image_keyword)
1729 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1730 (make_image, free_image, prepare_image_for_display, image_ascent)
1731 (four_corners_best, image_background, image_background_transparent)
1732 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1733 (make_image_cache, free_image_cache, clear_image_cache)
1734 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1735 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1736 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1737 (struct ct_color, init_color_table, free_color_table)
1738 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1739 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1740 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1741 (x_disable_image, x_build_heuristic_mask)
1742 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1743 (TIFF support, GIF support, Ghostscript support): Merge with image
1744 code from xfns.c and macfns.c into image.c.
1745 (syms_of_xfns): Move image related symbols to image.c.
1746 (init_external_image_libraries, init_xfns): Remove; initialization
1747 moved to init_image in image.c.
1748
1749 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
1750 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1751 (x_reference_bitmap, x_create_bitmap_from_data)
1752 (x_create_bitmap_from_file, x_destroy_bitmap)
1753 (x_destroy_all_bitmaps, x_create_bitmap_mask)
1754 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
1755 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
1756 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
1757 (define_image_type, lookup_image_type, valid_image_p)
1758 (image_error, enum image_value_type, struct image_keyword)
1759 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
1760 (make_image, free_image, prepare_image_for_display, image_ascent)
1761 (four_corners_best, image_background, image_background_transparent)
1762 (x_clear_image_1, x_clear_image, x_alloc_image_color)
1763 (make_image_cache, free_image_cache, clear_image_cache)
1764 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
1765 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
1766 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
1767 (struct ct_color, init_color_table, free_color_table)
1768 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
1769 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
1770 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
1771 (x_disable_image, x_build_heuristic_mask)
1772 (XBM support, XPM support, PBM support, PNG support, JPEG support)
1773 (TIFF support, GIF support, Ghostscript support): Merge with
1774 w32fns.c and macfns.c image code into image.c.
1775 (syms_of_xfns): Move image related symbols to image.c.
1776 (init_xfns): Remove; initialization moved to init_image in image.c.
1777
1778 * lisp.h (syms_of_image, init_image): Add protoypes.
1779 (init_xfns): Remove prototype.
1780
1781 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1782 (x_reference_bitmap, x_create_bitmap_from_data)
1783 (x_create_bitmap_from_file, x_destroy_bitmap)
1784 (x_create_bitmap_mask): Move prototypes from dispextern.h.
1785 (gamma_correct) [MAC_OS]: Add prototype.
1786
1787 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
1788 (x_reference_bitmap, x_create_bitmap_from_data)
1789 (x_create_bitmap_from_file, x_destroy_bitmap)
1790 (x_create_bitmap_mask): Move prototypes to dispextern.h.
1791
1792 2004-03-09 Kenichi Handa <handa@etlken2>
1793
1794 * coding.c (decode_coding_emacs_mule): Handle insufficent source
1795 correctly.
1796
1797 2004-03-04 Richard M. Stallman <rms@gnu.org>
1798
1799 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
1800
1801 * window.c (Fdisplay_buffer): Doc fix.
1802
1803 * buffer.c (Fpop_to_buffer): Doc fix.
1804
1805 2004-03-03 Kim F. Storm <storm@cua.dk>
1806
1807 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
1808
1809 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
1810
1811 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
1812
1813 2004-03-02 Richard M. Stallman <rms@gnu.org>
1814
1815 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
1816
1817 2004-03-02 Kenichi Handa <handa@m17n.org>
1818
1819 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
1820
1821 2004-03-02 Kim F. Storm <storm@cua.dk>
1822
1823 * window.h (struct window): New member overlay_arrow_bitmap.
1824
1825 * window.c (make_window): Initialize overlay_arrow_bitmap.
1826
1827 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
1828 implement and integrate multiple overlay arrows with redisplay.
1829 (syms_of_xdisp): DEFVAR_LISP and initialize it.
1830 (last_arrow_position, last_arrow_string): Replace by properties.
1831 (Qlast_arrow_position, Qlast_arrow_string)
1832 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
1833 (syms_of_xdisp): Intern and staticpro them.
1834 (overlay_arrow_string_or_property, update_overlay_arrows)
1835 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
1836 (overlay_arrow_at_row): New functions for multiple overlay arrows.
1837 (redisplay_internal): Use them instead of directly accessing
1838 Voverlay_arrow_position etc. for multiple overlay arrows.
1839 (mark_window_display_accurate): Use update_overlay_arrows.
1840 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
1841 (try_window_id): Use overlay_arrows_changed_p.
1842 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
1843 (display_line): Use overlay_arrow_at_row to check multiple
1844 overlay arrows, and get relevant overlay-arrow-string and
1845 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
1846 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
1847 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
1848
1849 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
1850 (update_window_fringes): Remove unused code.
1851
1852 2004-03-01 Jason Rumney <jasonr@gnu.org>
1853
1854 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
1855
1856 2004-03-01 Juanma Barranquero <lektu@terra.es>
1857
1858 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
1859
1860 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
1861
1862 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1863
1864 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
1865 how many colors can be displayed.
1866
1867 2004-03-01 Kenichi Handa <handa@m17n.org>
1868
1869 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
1870 correctly.
1871
1872 2004-02-28 Kim F. Storm <storm@cua.dk>
1873
1874 * dispnew.c (update_window): Update header line also if there are
1875 no other changes in window (move code after set_cursor label).
1876
1877 * lisp.h (mark_window_display_accurate): Remove prototype.
1878
1879 * window.c (window_loop, Fforce_window_update): Force mode line
1880 updates by setting prevent_redisplay_optimizations_p and
1881 update_mode_lines.
1882
1883 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1884
1885 * xfns.c (x_window): Fix indentation.
1886
1887 * xterm.c (x_calc_absolute_position): Call x_real_positions
1888 to get WM window sizes and use those to calculate position.
1889 (x_set_offset): Remove code commented out.
1890
1891 2004-02-28 Miles Bader <miles@gnu.org>
1892
1893 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
1894
1895 2004-02-28 Kim F. Storm <storm@cua.dk>
1896
1897 * keyboard.c (kbd_buffer_store_event_hold): New function to store
1898 an event into kbd fifo, but with special handling of quit event;
1899 a quit event is saved for later, and further events are discarded
1900 until the saved quit event has been processed.
1901 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
1902 (gen_help_event): Store help event in kbd fifo.
1903 (NREAD_INPUT_EVENTS): Remove.
1904 (read_avail_input): Adapt to new read_socket_hook interface.
1905 Remove allocation and initialization of local input_event buffer,
1906 as read_socket_hook stores events directly in fifo. Allocate and
1907 initialize local hold_quit event to handle postponed quit event
1908 (and store it if set by kbd_buffer_store_event_hold).
1909
1910 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
1911 (gen_help_event): Fix prototype.
1912
1913 * macterm.c (XTread_socket): Remove bufp_r and
1914 numcharsp args. Add hold_quit arg.
1915 Rework to use just one, local, inev input_event. Store inev
1916 directly in fifo using kbd_buffer_store_event_hold.
1917
1918 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
1919 (read_input_waiting): Adapt to new read_socket_hook interface.
1920 Remove allocation and initialization of local input_event buffer,
1921 as read_socket_hook stores events directly in fifo. Allocate and
1922 initialize local hold_quit event to handle postponed quit event
1923 (and store it if set by kbd_buffer_store_event_hold).
1924
1925 * term.c (read_socket_hook): Fix arg list.
1926
1927 * termhooks.h (read_socket_hook): Fix prototype.
1928
1929 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
1930 numcharsp args. Add hold_quit arg.
1931 Rework to use just one, local, inev input_event. Store inev
1932 directly in fifo using kbd_buffer_store_event_hold.
1933
1934 * w32inevt.h (w32_console_mouse_position): Fix prototype.
1935
1936 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
1937 Add hold_quit arg. Rework to use just one, local, inev
1938 input_event. Store inev directly in fifo using
1939 kbd_buffer_store_event_hold. Update count in one place.
1940 Postpone call to gen_help_event until inev is stored; use new
1941 local do_help for this.
1942 Remove local emacs_event in handing of ButtonPress event; just use
1943 inev instead (so no reason to copy it later).
1944
1945 * xsmfns.c (x_session_check_input): Remove numchars arg.
1946
1947 * xterm.c (x_focus_changed, x_detect_focus_change):
1948 Remove numchars arg. Always store event into bufp arg.
1949 Return nothing. Callers changed accordingly.
1950 (glyph_rect): Simplify.
1951 (STORE_KEYSYM_FOR_DEBUG): New macro.
1952 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
1953 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
1954 (current_hold_quit) [USE_GTK]: Add.
1955 (event_handler_gdk): Adapt to new handle_one_xevent.
1956 (handle_one_xevent): Remove bufp_r and numcharsp args.
1957 Add hold_quit arg. Rework to use just one, local, inev
1958 input_event. Store inev directly in fifo using
1959 kbd_buffer_store_event_hold. Update count in one place.
1960 Postpone call to gen_help_event until inev is stored; use new
1961 local do_help for this.
1962 Simplify handling of keysyms (consolidate common code). Fix bug
1963 where count was updated with nchars instead of nbytes.
1964 Remove local emacs_event in handing of ButtonPress event; just use
1965 inev instead (so no reason to copy it later).
1966 Remove `out' label. Rename label `ret' to `done'; add various
1967 `goto done' to clarify code flow in deeply nested blocks.
1968 (x_dispatch_event): Simplify as handle_one_xevent now calls
1969 kbd_buffer_store_event itself.
1970 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
1971 arg. Call handle_one_xevent with new arglist. Store event from
1972 x_session_check_input in fifo.
1973 [USE_GTK]: Setup current_hold_quit.
1974 Decrement handling_signal before unblocking input.
1975 (x_initialize) [USE_GTK]: Initialize current_count.
1976
1977 * xterm.h (x_session_check_input): Fix prototype.
1978
1979 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1980
1981 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
1982
1983 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
1984 macgui.h).
1985
1986 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
1987
1988 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
1989 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
1990 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
1991 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
1992 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
1993 (Bitmap): Remove typedef.
1994 (Pixmap): Change int to GWorldPtr.
1995
1996 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
1997
1998 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
1999 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
2000 New #define to extract 16-bit depth color components from unsigned
2001 long representation.
2002 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
2003 colors used for masks.
2004 (struct mac_display_info): Add color_p. Remove n_cbits.
2005
2006 * macfns.c: Include sys/types.h and sys/stat.h.
2007 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
2008 Include QuickTime/QuickTime.h.
2009 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
2010 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
2011 functions defined in macterm.c.
2012 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
2013 (ZPixmap): New #define for compatibility with xfns.c.
2014 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
2015 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
2016 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
2017 New functions.
2018 (four_corners_best, x_create_x_image_and_pixmap)
2019 (x_destroy_x_image, unwind_create_frame, x_disable_image)
2020 (x_edge_detection, init_color_table, colors_in_color_table)
2021 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
2022 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
2023 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
2024 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
2025 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
2026 long mixup.
2027 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
2028 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
2029 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
2030 (x_set_cursor_type, Fxw_color_values, valid_image_p)
2031 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
2032 (x_alloc_image_color, clear_image_cache, lookup_image)
2033 (x_find_image_file, xbm_read_bitmap_file_data)
2034 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
2035 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
2036 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
2037 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
2038 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
2039 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
2040 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
2041 #if 0.
2042 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
2043 #if 0. Free white_relief.gc and black_relief.gc.
2044 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
2045 New functions (from xfns.c).
2046 (Fx_create_frame): Record unwind_create_frame.
2047 (Fxw_display_color_p): Use dpyinfo->color_p.
2048 (Fx_display_grayscale_p, Fx_display_planes): Don't use
2049 dpyinfo->n_cbits.
2050 (Fx_display_color_cells): Use dpyinfo->n_planes;
2051 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
2052 (Qheuristic, cross_disabled_images, emboss_matrix)
2053 (laplace_matrix): New variables (from xfns.c).
2054 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
2055 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
2056 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
2057 (image_background_transparent): New function (from xfns.c).
2058 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
2059 (image_load_quicktime): Add declaration.
2060 [MAC_OSX] (image_load_quartz2d): Likewise.
2061 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
2062 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
2063 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
2064 (xbm_load_image_from_file, x_laplace_read_row)
2065 (x_laplace_write_row, pbm_read_file): Remove functions.
2066 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
2067 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
2068 (colors_in_color_table): Sync with xfns.c (although not used).
2069 (lookup_rgb_color): Don't lookup color table. Just do gamma
2070 correction.
2071 (COLOR_INTENSITY): New #define (from xfns.c).
2072 (x_disable_image): New function (from xfns.c).
2073 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
2074 (x_build_heuristic_mask): Sync with xfns.c.
2075 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
2076 (HAVE_PBM): Remove #ifdef.
2077 (pbm_load): Sync with xfns.c. Set img->width and img->height
2078 before IMAGE_BACKGROUND.
2079 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
2080 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
2081 Don't enclose with #if HAVE_PNG.
2082 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
2083 symbol _CGImageCreateWithPNGDataProvider is defined.
2084 Otherwise use image_load_quicktime.
2085 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
2086 [HAVE_PNG] (png_load): Sync with xfns.c.
2087 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
2088 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
2089 HAVE_JPEG.
2090 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
2091 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
2092 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
2093 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
2094 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
2095 (tiff_image_p, tiff_load): Don't enclose declarations with #if
2096 HAVE_TIFF.
2097 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
2098 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
2099 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
2100 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
2101 New functions (from xfns.c).
2102 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
2103 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
2104 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
2105 Don't enclose with #if HAVE_GIF.
2106 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
2107 animated gif. Otherwise use image_load_quicktime.
2108 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
2109 gif_DrawText to avoid conflict with QuickdrawText.h.
2110 [HAVE_GIF] (gif_load): Sync with xfns.c.
2111 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
2112 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
2113 Ghostscript is not supported yet).
2114 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
2115 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
2116 cross_disabled_images (from xfns.c). Remove #if 0 for supported
2117 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
2118 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
2119 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
2120 HAVE_PNG. Call EnterMovies to support animated gifs.
2121 Call init_image_func_pointer to bind a symbol
2122 _CGImageCreateWithPNGDataProvider if it is defined.
2123
2124 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
2125 (x_draw_bar_cursor): Sync declaration with xterm.c.
2126 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
2127 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
2128 graphics).
2129 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
2130 (mac_draw_line_to_pixmap, XCreatePixmap)
2131 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
2132 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
2133 New functions.
2134 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
2135 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
2136 Cast bits to char *.
2137 (reflect_byte): New function (from w32fns.c).
2138 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
2139 due to byte alignment.
2140 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
2141 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
2142 (XSetForeground): Remove static (now used in macfns.c).
2143 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
2144 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
2145 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
2146 (x_draw_glyph_string_box, x_draw_image_foreground)
2147 (x_draw_image_foreground_1, x_draw_image_glyph_string)
2148 (x_draw_stretch_glyph_string, x_draw_glyph_string)
2149 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
2150 Sync with xterm.c.
2151 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
2152 than the xterm.c version when a strictly horizontal or vertical
2153 line is drawn.
2154 (XTset_terminal_window): Add static.
2155 (x_make_frame_visible): Add UNBLOCK_INPUT.
2156 (x_free_frame_resources): New funcion (from xterm.c).
2157 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
2158 occurs in tool bar area.
2159 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
2160 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
2161 Initialize image cache.
2162 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
2163 Enclose unused functions with #if 0.
2164 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
2165 (decode_mac_font_name): New function to apply code conversions
2166 from a mac font name to an XLFD font name according to its script code.
2167 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
2168 font name to a mac font name according to REGISTRY and ENCODING fields.
2169 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
2170 whose name starts with `.'.
2171 (init_font_name_table): Use decode_mac_font_name. Add both
2172 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
2173 of a font is smJapanese.
2174 (mac_do_list_fonts): New function to list fonts that match a given
2175 pattern.
2176 (x_list_fonts, XLoadQueryFont): Use it.
2177 (XLoadQueryFont): Set rbearing field for each variable width
2178 character to avoid needless redraw.
2179 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
2180
2181 2004-02-26 Kim F. Storm <storm@cua.dk>
2182
2183 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
2184 as read_socket_hook handler on X aborts if buffer is too small
2185 and W32 handler doesn't always check buffer limit.
2186
2187 * xdisp.c (handle_single_display_prop): Handle left-fringe and
2188 right-fringe similar to a display margin image. Specifically,
2189 the characters having the fringe prop are no longer shown, and
2190 we use IT_IMAGE/next_element_from_image with image_id = -1 to
2191 do this. Set fringe bitmap face_id in it->face_id.
2192 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
2193 still realize it->face (i.e. the fringe bitmap face).
2194
2195 2004-02-25 Miles Bader <miles@gnu.org>
2196
2197 * xdisp.c (check_it): Check string/string_pos consistency.
2198 (init_iterator): Initialize string-related fields properly.
2199
2200 2004-02-11 Miles Bader <miles@gnu.org>
2201
2202 * xdisp.c (produce_image_glyph): Force negative descents to zero.
2203
2204 2004-02-10 Miles Bader <miles@gnu.org>
2205
2206 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
2207 BLOCK_INPUT can be nested, so it doesn't make much sense.
2208
2209 2004-02-24 Michael Mauger <mmaug@yahoo.com>
2210
2211 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
2212 (xbm_read_bitmap_data): Use unsigned char for image data.
2213
2214 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
2215
2216 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
2217
2218 2004-02-22 Jason Rumney <jasonr@gnu.org>
2219
2220 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
2221 correctly over other bitmaps.
2222
2223 2004-02-21 Eli Zaretskii <eliz@gnu.org>
2224
2225 * emacs.c (USAGE1): Split into two halves.
2226 (USAGE2): Second half of the old USAGE1.
2227 (USAGE3): Rename from USAGE2.
2228 (USAGE4): Rename from USAGE3.
2229
2230 2004-02-21 Juri Linkov <juri@jurta.org>
2231
2232 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
2233 Fix --multibyte. Move --help, --version to USAGE2. Add alias
2234 --file. Fix -f, -l. Sort options. Untabify.
2235 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
2236
2237 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
2238
2239 * category.c (Fdefine_category, Fcategory_docstring)
2240 (Fget_unused_category, Fset_category_table)
2241 (Fcategory_set_mnemonics): Doc fixes.
2242
2243 2004-02-20 Kim F. Storm <storm@cua.dk>
2244
2245 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
2246 The following changes are relative to the 2004-01-21 revision.
2247 (NREAD_INPUT_EVENTS): Define as max number of input events to read
2248 in one call to read_socket_hook. Value is 8.
2249 (read_avail_input): Separate and rework handling of read_socket_hook
2250 and non-read_socket_hook cases. Use smaller input_event buffer
2251 in read_socket_hook case, and repeat if full buffer is read.
2252 Use new local variable 'discard' to skip input after C-g.
2253 In non-read_socket_hook case, just use a single input_event, and
2254 call kbd_buffer_store_event on the fly for each character.
2255
2256 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
2257
2258 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
2259 Remove unused `gu' alternative.
2260
2261 2004-02-19 Andreas Schwab <schwab@suse.de>
2262
2263 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
2264 warning.
2265
2266 2004-02-18 Kim F. Storm <storm@cua.dk>
2267
2268 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
2269 Fix last change.
2270
2271 2004-02-17 Kim F. Storm <storm@cua.dk>
2272
2273 * xdisp.c (fast_find_position): Fix return value of new version;
2274 it was inverted compared to the 21.1 version.
2275 (get_window_cursor_type): Don't look at glyph if NULL.
2276 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
2277
2278 * keyboard.c: Rework previous change; it didn't consider that the
2279 buf array was allocated on the stack.
2280 (prev_read): Remove variable.
2281 (read_avail_input_buf): New static event buffer array.
2282 (in_read_avail_input): New static variable to handle re-entrancy.
2283 (read_avail_input): Change buf to pinter to read_avail_input_buf.
2284 Use in_read_avail_input to handle re-entrance; when re-entered,
2285 fully initialize and use tmp_buf array instead of read_avail_input_buf.
2286 Do not initialize read_avail_input_buf in full here; instead assume it
2287 is always cleared on entry. To ensure that, we clear (just) the
2288 entries that were used before we return.
2289 (init_keyboard): Initialize read_avail_input_buf here.
2290
2291 2004-02-16 Jesper Harder <harder@ifa.au.dk> (tiny change)
2292
2293 * cmds.c (Fend_of_line): Doc fix.
2294
2295 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
2296
2297 * keyboard.c (prev_read): New static variable.
2298 (read_avail_input): Use it to zero out only those slots in buf[]
2299 that were used last time we were called.
2300
2301 2004-02-16 Eli Zaretskii <eliz@gnu.org>
2302
2303 * Makefile.in (obj): Move fringe.o from here...
2304 (XOBJ, MAC_OBJ): ...to here.
2305
2306 2004-02-16 Stephen Eglen <stephen@gnu.org>
2307
2308 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
2309
2310 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
2311
2312 * data.c (Fbyteorder):
2313 * fringe.c (Fdefine_fringe_bitmap):
2314 * xdisp.c (handle_single_display_prop):
2315 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
2316
2317 2004-02-16 Jason Rumney <jasonr@gnu.org>
2318
2319 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
2320
2321 2004-02-15 Steven Tamm <steventamm@mac.com>
2322
2323 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
2324 controlling emulation of a three button mouse with option and
2325 command keys.
2326 (Qreverse, mac_get_enumlated_btn): Handle the emulation
2327 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
2328
2329 2004-02-15 Kim F. Storm <storm@cua.dk>
2330
2331 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
2332
2333 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
2334 Perform byte-swapping.
2335
2336 2004-02-14 Kim F. Storm <storm@cua.dk>
2337
2338 * dispextern.h (struct draw_fringe_bitmap_params): Change member
2339 bits from char to short to facilitate wider bitmaps.
2340 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
2341 member.
2342
2343 * fringe.c (struct fringe_bitmap): Change member bits from char to
2344 short to facilitate 16 bits wide bitmaps. Modify all standard
2345 bitmaps accordingly.
2346 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
2347 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
2348 (draw_fringe_bitmap): Ditto.
2349 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
2350 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
2351 handle up to 16 bits wide bitmaps.
2352 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
2353 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
2354
2355 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
2356 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
2357 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
2358
2359 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
2360 so it is no longer necessary to expand them here.
2361
2362 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
2363
2364 2004-02-12 Kim F. Storm <storm@cua.dk>
2365
2366 * window.c (Fwindow_fringes): Doc fix.
2367
2368 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2369
2370 * xselect.c (x_get_foreign_selection): Add new optional parameter
2371 time_stamp.
2372 (Fx_get_selection_internal): Ditto, pass time_stamp to
2373 x_get_foreign_selection.
2374
2375 * data.c (Fbyteorder): New function.
2376
2377 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2378
2379 * atimer.c: Move include stdio.h to same place as in other files.
2380
2381 * region-cache.c: Ditto.
2382
2383 * sysdep.c: Ditto.
2384
2385 * xfaces.c: Ditto.
2386
2387 2004-02-09 Sam Steingold <sds@gnu.org>
2388
2389 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
2390
2391 2004-02-09 Kim F. Storm <storm@cua.dk>
2392
2393 * fringe.c: New file. Move original fringe related declarations
2394 and code from dispextern.h and xdisp.c here.
2395 Rework code to support user defined fringe bitmaps, redefining
2396 standard bitmaps, ability to overlay user defined bitmap with
2397 overlay arrow bitmap, and add faces to bitmaps.
2398 (Voverflow_newline_into_fringe): Declare here.
2399 (enum fringe_bitmap_align): New enum.
2400 (..._bits): All bitmaps are now defined without bitswapping; that
2401 is now done in init_fringe_once (if necessary).
2402 (standard_bitmaps): New array with specifications for the
2403 standard fringe bitmaps.
2404 (fringe_faces): New array.
2405 (valid_fringe_bitmap_id_p): New function.
2406 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
2407 (draw_fringe_bitmap): New function which draws fringe bitmap,
2408 possibly overlaying bitmap with cursor in right fringe or the
2409 overlay arrow in the left fringe.
2410 (update_window_fringes): Do not handle overlay arrow here.
2411 Compare and copy fringe bitmap faces.
2412 (init_fringe_bitmap): New function.
2413 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
2414 define and destroy user defined fringe bitmaps.
2415 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
2416 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
2417 (syms_of_fringe): New function. Defsubr new DEFUNs.
2418 DEFVAR_LISP Voverflow_newline_into_fringe.
2419 (init_fringe_once, init_fringe): New functions.
2420 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
2421
2422 * Makefile.in (obj): Add fringe.o.
2423 (fringe.o): New dependencies.
2424
2425 * dispextern.h (FRINGE_ID_BITS): New definition for number of
2426 bits allocated to hold a fringe number. Increase number of bits
2427 from 4 to 8 to allow user defined fringe bitmaps.
2428 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
2429 left_user_fringe_face_id, right_user_fringe_bitmap,
2430 right_user_fringe_face_id.
2431 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
2432 Move to new file fringe.c.
2433 (MAX_FRINGE_BITMAPS): Define here.
2434 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
2435 and overlay_p. Change member which to int.
2436 (struct redisplay_interface): New members define_fringe_bitmap
2437 and destroy_fringe_bitmap.
2438 (valid_fringe_bitmap_id_p): Add prototype.
2439 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
2440
2441 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
2442 arrows.
2443 (update_frame): Do flush_display if force_flush_display_p to
2444 ensure display (specifically fringes) are updated in a timely
2445 manner when resizing the frame by dragging the mouse.
2446 (update_window_line): Update row if overlay arrow changed.
2447 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
2448 or overlay arrow changed.
2449
2450 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
2451 syms_of_fringe, and init_fringe.
2452
2453 * frame.h (struct frame): New member force_flush_display_p.
2454
2455 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
2456 Add prototypes.
2457
2458 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
2459 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
2460 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
2461 Use cursor color for displaying cursor in fringe.
2462 (x_redisplay_interface): Add null handlers for
2463 define_fringe_bitmap and destroy_fringe_bitmap functions.
2464
2465 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
2466 xterm.c to handle overlayed fringe bitmaps and to use cursor color
2467 for displaying cursor in fringe.
2468 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
2469 specific functions to define and destroy fringe bitmaps in fringe_bmp.
2470 (w32_redisplay_interface): Add them to redisplay_interface.
2471 (w32_term_init): Call w32_init_fringe instead of explicitly
2472 defining fringe bitmaps in fringe_bmp array.
2473 (x_delete_display): Call w32_reset_fringes instead of explicitly
2474 destroying fringe bitmaps in fringe_bmp array.
2475
2476 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
2477 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
2478 (continued_bits, continuation_bits, ov_bits, first_line_bits)
2479 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
2480 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
2481 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
2482 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
2483 Move fringe handling vars and code to new file fringe.c.
2484 (handle_display_prop): Handle left-fringe and right-fringe
2485 display properties; store user fringe bitmaps in iterator.
2486 (move_it_in_display_line_to): Handle cursor in fringe at eob.
2487 (clear_garbaged_frames): Set force_flush_display_p if resized.
2488 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
2489 (display_line): Handle cursor in fringe at eob.
2490 (display_line): Set row user fringe bitmaps from iterator.
2491
2492 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
2493 Use cursor color for displaying cursor in fringe.
2494 (x_redisplay_interface): Add null handlers for
2495 define_fringe_bitmap and destroy_fringe_bitmap functions.
2496
2497 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2498
2499 * macfns.c (Fx_change_window_property): Make doc string and
2500 parameters same as for X version.
2501
2502 * w32fns.c (Fx_change_window_property): Ditto.
2503
2504 2004-02-07 Kim F. Storm <storm@cua.dk>
2505
2506 * xdisp.c (hscroll_window_tree): Position cursor near to right
2507 margin in hscrolled window when jumping to end of line (rather
2508 than centering cursor).
2509
2510 * process.c (wait_reading_process_input): Don't do adaptive read
2511 buffering if waiting for a specific process.
2512
2513 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
2514
2515 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
2516 (Fread_minibuffer, Feval_minibuffer)
2517 (Fread_string, Fread_no_blanks_input)
2518 (Fcompleting_read): Doc fixes.
2519 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
2520 completion-regexp-list. Define Qcase_fold_search and staticpro it.
2521 (read_minibuf): Fix initial comment.
2522 (Ftry_completion, Fall_completions, Ftest_completion): Bind
2523 case-fold-search to the value of completion-ignore-case when
2524 checking completion-regexp-list.
2525 (Fdisplay_completion_list): Make it handle arguments that are
2526 symbols. Doc fix.
2527
2528 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2529
2530 * xterm.h: Add declaration of free_frame_menubar.
2531
2532 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
2533 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
2534 (Fx_change_window_property): Add declaration of parameters type and
2535 format. Remove unused variable cons.
2536
2537 * xselect.c: Include stdio,h.
2538
2539 2004-02-05 Kenichi Handa <handa@m17n.org>
2540
2541 * fns.c (Fset_char_table_range): Fix previous change.
2542
2543 * buffer.c (Fset_buffer_multibyte): Fix docstring.
2544
2545 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
2546
2547 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
2548
2549 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
2550
2551 * keymap.c (Vmouse_events): Rename from Vmenu_events.
2552 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
2553
2554 2004-02-04 Kenichi Handa <handa@m17n.org>
2555
2556 * fns.c (Fset_char_table_range): Handle charsets ascii,
2557 eight-bit-control, and eight-bit-graphic correctly.
2558
2559 2004-02-03 Jason Rumney <jasonr@gnu.org>
2560
2561 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
2562
2563 * w32fns.c (x_to_w32_font): Likewise.
2564
2565 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2566
2567 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
2568 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
2569
2570 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
2571 ClientMessages.
2572
2573 * xselect.c: Include termhooks.h and X11/Xproto.h
2574 (x_check_property_data, x_fill_property_data)
2575 (x_property_data_to_lisp, mouse_position_for_drop)
2576 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
2577 (Fx_send_client_event): Move here from xfns.c.
2578 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
2579
2580 * xfns.c (x-send-client-message): Move to xselect.c
2581 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
2582 OUTER_P.
2583 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
2584 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
2585 if vector_ret_p is true.
2586 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
2587
2588 2004-02-02 Eli Zaretskii <eliz@gnu.org>
2589
2590 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
2591 basename of FILE relative to it, not FILE itself.
2592
2593 2004-02-02 Kenichi Handa <handa@m17n.org>
2594
2595 * coding.c (coding_restore_composition): Check invalid
2596 composition data more rigidly.
2597
2598 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
2599
2600 * fileio.c (Fread_file_name_internal): Correctly handle the case
2601 where insert-default-directory is nil.
2602 (Fread_file_name): Always return an empty string if the user exits
2603 with an empty minibuffer. Adapt the docstring accordingly.
2604 (syms_of_fileio): Adapt the docstring of insert-default-directory
2605 to the change in Fread_file_name.
2606
2607 2004-01-29 Eli Zaretskii <eliz@gnu.org>
2608
2609 * alloca.c [!alloca]: Fix the prototype for xfree.
2610
2611 2004-01-29 Kenichi Handa <handa@m17n.org>
2612
2613 * fns.c (string_char_to_byte): Optimize for ASCII only string.
2614 (string_byte_to_char): Likewise.
2615
2616 2004-01-28 Peter Runestig <peter@runestig.com>
2617
2618 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
2619
2620 2004-01-27 Steven Tamm <steventamm@mac.com>
2621
2622 * unexmacosx.c (unexec_copy): Do not copy more than was
2623 requested to prevent overwriting during unexec.
2624
2625 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2626
2627 * process.c (sigchld_handler): Add comment about not calling malloc.
2628
2629 * process.h: Add extern to synch_process_termsig.
2630
2631 2004-01-27 Steven Tamm <steventamm@mac.com>
2632
2633 * macterm.c (make_mac_frame, make_mac_terminal_frame):
2634 Move setting of scroll bars from make_mac_frame to
2635 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
2636
2637 2004-01-26 Richard M. Stallman <rms@gnu.org>
2638
2639 * search.c (Freplace_match): Handle nonexistent
2640 back-references properly.
2641
2642 2004-01-03 Richard M. Stallman <rms@gnu.org>
2643
2644 * window.c (decode_any_window): New function.
2645 (Fwindow_height, Fwindow_width, Fwindow_edges)
2646 (Fwindow_pixel_edges, Fwindow_inside_edges)
2647 (Fwindow_inside_pixel_edges): Use decode_any_window.
2648
2649 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2650
2651 * process.h: synch_process_termsig new variable.
2652
2653 * callproc.c: Define synch_process_termsig.
2654 (Fcall_process): Initiate synch_process_termsig to zero and
2655 check if non-zero and get signal name after subprocess has ended.
2656
2657 * process.c (sigchld_handler): Set synch_process_termsig
2658 if terminated by a signal. synch_process_death setting removed.
2659
2660 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
2661
2662 2004-01-26 Andreas Schwab <schwab@suse.de>
2663
2664 * print.c (print_preprocess): Declare size as EMACS_INT to not
2665 lose bits.
2666 (print_object): Likewise.
2667 * alloc.c (Fpurecopy): Likewise.
2668
2669 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
2670
2671 * window.c (Fwindow_minibuffer_p): Doc fix.
2672
2673 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
2674
2675 * editfns.c (Fformat): Make both passes accept the same set of flags.
2676
2677 2004-01-23 Kenichi Handa <handa@m17n.org>
2678
2679 * fns.c (Fmd5): If OBJECT is a buffer different from the current
2680 one, set buffer to OBJECT temporarily.
2681
2682 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
2683
2684 * keyboard.c (kbd_buffer_gcpro): Remove.
2685 (kbd_buffer_store_event, clear_event, Fdiscard_input)
2686 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
2687 Don't initialize and/or maintain the variable any more. It was made
2688 redundant by my commit of 2003-06-15.
2689
2690 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
2691
2692 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2693
2694 * lisp.h: Add undef DECL_ALIGN.
2695
2696 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
2697
2698 * process.c (wait_reading_process_input) [SYNC_INPUT]:
2699 Check interrupt_input_pending explicitly.
2700
2701 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
2702
2703 * keyboard.c (handle_async_input): New fun,
2704 extracted from input_available_signal.
2705 (input_available_signal, reinvoke_input_signal): Use it.
2706
2707 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
2708
2709 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
2710
2711 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
2712 manipulation macros for when tags are in the lower bits.
2713 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
2714 (DECL_ALIGN): New macro.
2715 (DEFUN): Use it.
2716
2717 * lisp.h [ENABLE_CHECKING]: Don't force union type.
2718
2719 * s/darwin.h (__attribute__): Remove outdated workaround.
2720
2721 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
2722
2723 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
2724 Don't check range of malloc address.
2725 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
2726
2727 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
2728
2729 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
2730
2731 2004-01-19 Kenichi Handa <handa@m17n.org>
2732
2733 * fontset.c (fontset_font_pattern): Fix previous change.
2734
2735 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
2736
2737 * xdisp.c (Voverflow_newline_into_fringe)
2738 (move_it_in_display_line_to, redisplay_internal)
2739 (update_window_fringes, redisplay_window, display_line, window):
2740 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
2741 that it compiles without a window-system.
2742 * dispnew.c (direct_output_for_insert, update_window): Likewise.
2743
2744 2004-01-16 Kim F. Storm <storm@cua.dk>
2745
2746 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
2747
2748 * buffer.c (init_buffer_once): Set buffer_defaults and
2749 buffer_local_flags for indicate_buffer_boundaries.
2750 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
2751 default- variable for it.
2752
2753 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
2754 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
2755 New members exact_window_width_line_p and cursor_in_fringe_p for
2756 overflowing newlines into right fringe.
2757 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
2758 and indicate_bottom_line_p for buffer boundaries and scrolling.
2759 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
2760 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
2761 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
2762 and HOLLOW_SQUARE_BITMAP.
2763 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
2764 Add prototypes.
2765
2766 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
2767 instead of related indicator fields.
2768 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
2769 (direct_output_for_insert): Handle exact width lines like
2770 contined lines. Call update_window_fringes.
2771 (update_window): Call update_window_fringes.
2772 (scrolling_window): Don't skip desired rows with changed bitmaps.
2773 Check if fringe bitmaps changes when assigning scrolled rows.
2774
2775 * xdisp.c (Voverflow_newline_into_fringe): New variable.
2776 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
2777 (move_it_in_display_line_to): Overflow newline into fringe for
2778 rows that are exactly as wide as the window.
2779 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
2780 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
2781 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
2782 (fringe_bitmaps): Add new bitmaps.
2783 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
2784 Select proper bitmap for cursor in fringe when appropriate.
2785 Handle alignment of bitmap to top or bottom of row.
2786 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
2787 done by update_window_fringes.
2788 (update_window_fringes, draw_window_fringes): New functions.
2789 (redisplay_internal): Call update_window_fringes in case only
2790 cursor row is updated.
2791 (redisplay_window): Call update_window_fringes.
2792 Explicitly call draw_window_fringes if redisplay was done using
2793 the current matrix or the overlay arrow is in the window.
2794 (try_window_reusing_current_matrix): Mark scrolled rows for
2795 fringe update (to update buffer-boundaries / scrolling icons).
2796 (find_last_unchanged_at_beg_row): Handle exact width lines line
2797 continued lines.
2798 (display_line): Overflow newline into fringe for rows that are
2799 exactly as wide as the window. Don't append space for newline
2800 in this case.
2801 (notice_overwritten_cursor): Explicitly clear cursor bitmap
2802 in fringe as if it had been overwritten.
2803 (erase_phys_cursor): Erase cursor bitmap in fringe.
2804 (syms_of_xdisp): Mark show-trailing-whitespace and
2805 void-text-area-pointer as user options.
2806 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
2807
2808 * xterm.c (x_update_window_end): Call draw_window_fringes.
2809 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
2810 in row instead of actually drawing fringe bitmaps.
2811 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
2812 (x_draw_window_cursor): Draw cursor in fringe.
2813
2814 * w32term.c (x_update_window_end): Call draw_window_fringes.
2815 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
2816 in row instead of actually drawing fringe bitmaps.
2817 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
2818 (w32_draw_window_cursor): Draw cursor in fringe.
2819
2820 * macterm.c (x_update_window_end): Call draw_window_fringes.
2821 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
2822 in row instead of actually drawing fringe bitmaps.
2823 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
2824 (mac_draw_window_cursor): Draw cursor in fringe.
2825
2826 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2827
2828 * xterm.c (handle_one_xevent): Don't handle characters that are part
2829 of an old style (XLookupString) compose sequence.
2830
2831 2004-01-15 Kenichi Handa <handa@m17n.org>
2832
2833 * search.c (Freplace_match): Use make_multibyte_string or
2834 make_unibyte_string according to the buffer multibyteness.
2835
2836 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
2837
2838 * alloc.c (struct interval_block, struct string_block)
2839 (struct symbol_block, struct marker_block, live_string_p)
2840 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
2841 Better preserve alignment for objects in blocks.
2842 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
2843
2844 * lread.c (defvar_per_buffer): Remove dead declaration.
2845
2846 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
2847 space size.
2848
2849 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2850
2851 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
2852 if a key press should pop down. Only pop down if a key is pressed
2853 outside the menu/dialog.
2854 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
2855 popup_get_selection.
2856 (create_and_show_dialog): Pass 1 for down_on_keypress to
2857 popup_get_selection.
2858
2859 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2860
2861 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
2862 BLOCK/UNBLOCK_INPUT.
2863
2864 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2865
2866 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
2867 specified.
2868
2869 2004-01-08 Kenichi Handa <handa@m17n.org>
2870
2871 * editfns.c (Fformat): Fix '&' to '&&'.
2872
2873 2004-01-08 Andreas Schwab <schwab@suse.de>
2874
2875 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
2876 size if PSEUDOVECTOR_FLAG is set.
2877
2878 2004-01-07 Kenichi Handa <handa@m17n.org>
2879
2880 * charset.c (Fdeclare_equiv_charset): Fix docstring.
2881
2882 * fontset.c (fontset_ref_via_base): Fix previous change.
2883
2884 2004-01-07 Kim F. Storm <storm@cua.dk>
2885
2886 * process.c (read_process_output): Only activate adaptive
2887 buffering if we read less than 256 bytes at a time.
2888
2889 2004-01-06 Kim F. Storm <storm@cua.dk>
2890
2891 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
2892 object and image object. Return glyph width and height.
2893 (mode_line_string, marginal_area_string): Ditto.
2894
2895 * dispextern.h (buffer_posn_from_coords, mode_line_string)
2896 (marginal_area_string): Fix prototypes.
2897
2898 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
2899 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
2900 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
2901
2902 * keyboard.c (make_lispy_position): Use modified mode_line_string,
2903 buffer_posn_from_coords, and marginal_area_string functions to
2904 include both string object and image object in the lispy position.
2905 Also add actual glyph width and height to position.
2906 (read_key_sequence): Use real buffer position from mouse
2907 event to find keymap property even when click is in marginal area.
2908
2909 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
2910 mode_line_string and marginal_area_string functions to handle
2911 both string object and image object properties.
2912
2913 2004-01-06 Andreas Schwab <schwab@suse.de>
2914
2915 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
2916 character.
2917
2918 2004-01-02 Andreas Schwab <schwab@suse.de>
2919
2920 * macterm.c (emacs_options, x_initialized, same_x_server):
2921 Remove unused (and duplicated) definitions.
2922
2923 2004-01-02 Kim F. Storm <storm@cua.dk>
2924
2925 * process.h (struct Lisp_Process): New members for adaptive read
2926 buffering: adaptive_read_buffering, read_output_delay, and
2927 read_output_skip.
2928
2929 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
2930 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
2931 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
2932 (process_output_delay_count, process_output_skip): New vars.
2933 (Vprocess_adaptive_read_buffering): New variable.
2934 (make_process): Initialize adaptive read buffering members.
2935 (Fstart_process): Set adaptive_read_buffering member.
2936 (deactivate_process): Cleanup adaptive read buffering.
2937 (wait_reading_process_input): Temporarily omit delayed
2938 subprocesses from the set of file descriptors to read from;
2939 adjust the select timeout if we skipped any subprocesses.
2940 (read_process_output): Increase adaptive read buffering delay if
2941 we read less than a full buffer; reduce delay when we read a
2942 full buffer.
2943 (send_process): Simplify using local Lisp_Process var.
2944 Reset adaptive read buffering delay after write.
2945 (init_process): Initialize process_output_delay_count and
2946 process_output_skip.
2947 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
2948
2949 2004-01-01 Jason Rumney <jasonr@gnu.org>
2950
2951 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
2952
2953 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
2954
2955 * print.c (Ferror_message_string): Add hyperlink in the docstring
2956 to the definition of `signal' in the Elisp manual.
2957 * eval.c (Fsignal): Ditto.
2958
2959 2003-12-29 James Clark <jjc@jclark.com> (tiny change)
2960
2961 * fns.c (internal_equal): Return t for two NaN arguments.
2962
2963 2003-12-29 Richard M. Stallman <rms@gnu.org>
2964
2965 * data.c (store_symval_forwarding): Handle setting
2966 default-fill-column, etc., by changing the value in
2967 buffers that use the default.
2968
2969 * minibuf.c (Fset_minibuffer_window): Doc fix.
2970
2971 * fileio.c (choose_write_coding_system): Ignore auto_saving
2972 if using the visited file for auto saves.
2973 (Fwrite_region): Don't update SAVE_MODIFF
2974 if auto-saving in visited file.
2975
2976 2003-12-29 Kenichi Handa <handa@m17n.org>
2977
2978 * dispextern.h (face_font_available_p): Extern it.
2979
2980 * fontset.c (Voverriding_fontspec_alist): New variable.
2981 (lookup_overriding_fontspec): New function.
2982 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
2983 (fontset_font_pattern): Likewise.
2984 (regulalize_fontname): New function.
2985 (Fset_fontset_font): Call regulalize_fontname.
2986 (Fset_overriding_fontspec_internal): New function.
2987 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
2988 Defsubr Sset_overriding_fontspec_internal.
2989
2990 * xfaces.c (face_font_available_p): New function.
2991
2992 2003-12-28 Richard M. Stallman <rms@gnu.org>
2993
2994 * buffer.c (Fother_buffer): Don't crash if BUF is nil
2995 or if its name is nil.
2996
2997 * buffer.c (Fkill_buffer): Don't delete auto-save file
2998 if it's the same as the visited file.
2999
3000 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
3001
3002 * coding.c (Fcheck_coding_system): Doc fix.
3003
3004 2003-12-28 Kim F. Storm <storm@cua.dk>
3005
3006 * Makefile.in (eval.o): Depend on dispextern.h.
3007
3008 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
3009 image glyph using image's ascent.
3010 (mode_line_string): Return image glyph as object clicked on.
3011 Adjust y0 for image glyph using image's ascent.
3012
3013 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
3014 (struct glyph): New members, ascent and descent. Used to save
3015 this glyph's ascent and descent, instead of having.
3016 (struct glyph): Declare member face_id using FACE_ID_BITS.
3017 (find_hot_spot): Add prototype.
3018
3019 * keyboard.c (Qimage): Remove extern (now in lisp.h).
3020 (QCmap): Declare extern.
3021 (make_lispy_position): When position is inside image hot-spot,
3022 use hot-spot element's id as posn element.
3023
3024 * lisp.h (IMAGEP): New macro to test for image object type.
3025 (Qimage): Declare extern.
3026
3027 * macfns.c (Qimage): Remove extern (now in lisp.h).
3028 (valid_image_p, parse_image_spec): Use IMAGEP macro.
3029
3030 * macterm.c (Qface, Qmouse_face): Remove unused externs.
3031
3032 * w32fns.c (Qimage): Remove extern (now in lisp.h).
3033 (valid_image_p, parse_image_spec): Use IMAGEP macro.
3034
3035 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
3036
3037 * w32term.c (Qface, Qmouse_face): Remove unused externs.
3038
3039 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
3040 pointer types.
3041 (Qrelative_width, Qalign_to): Remove unused variables.
3042 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
3043 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
3044 image maps.
3045 (x_y_to_hpos_vpos): Return glyph relative coordinates through
3046 new dx and dy args.
3047 Remove buffer_only_p arg (always 0). Simplify code accordingly.
3048 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
3049 than row's ascent and height, to get sensible height on tall rows.
3050 (build_desired_tool_bar_string): Remove Qimage extern.
3051 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
3052 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
3053 image glyph is alone on the last line.
3054 (append_glyph, append_composite_glyph, produce_image_glyph)
3055 (append_stretch_glyph): Set glyph's ascent and descent.
3056 (on_hot_spot_p): New function to check if position is inside an
3057 rectangular, circular, or polygon-shaped image hot-spot,
3058 (find_hot_spot): New function to search for image hot-spot.
3059 (Flookup_image_map): New defun to search for image hot-spot.
3060 (define_frame_cursor1): New aux function to determine frame pointer.
3061 (note_mode_line_or_margin_highlight, note_mouse_highlight):
3062 Handle `pointer' text property and :pointer image property to
3063 control frame pointer shape. Detect image hot-spots for pointer
3064 and help_echo properties. Use define_frame_cursor1.
3065 (note_mouse_highlight): Use Vvoid_text_area_pointer.
3066 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
3067 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
3068
3069 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
3070
3071 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
3072 (Qimage): Remove extern (now in lisp.h).
3073 (valid_image_p, parse_image_spec): Use IMAGEP macro.
3074
3075 * xmenu.c (show_help_event): Remove unused code.
3076
3077 * xterm.c (Qface, Qmouse_face): Remove unused externs.
3078 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
3079 row's ascent and descent, to get a sensible height on tall rows.
3080
3081 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
3082
3083 * minibuf.c (Fcompleting_read): Undo previous change.
3084
3085 2003-12-25 Lars Hansen <larsh@math.ku.dk>
3086
3087 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
3088 Arguments GCPRO'ed in call to file name handler.
3089
3090 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
3091
3092 * termcap.c (tgetst1): Scan for "%pN"; if all
3093 N are continuous in [1,9], remove all "%pN".
3094
3095 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3096
3097 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
3098
3099 * xfaces.c (lface_fully_specified_p): Take into account that
3100 MAC OS always have unspecified stipple.
3101
3102 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
3103
3104 * tparam.c (tparam1): Add handling for `%pN', which
3105 means use param N for the next substitution.
3106
3107 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
3108
3109 * xfaces.c (Fcolor_gray_p): Fix omission bug:
3110 In case `frame' is nil, consult the selected frame.
3111 (Fcolor_supported_p): Likewise.
3112
3113 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
3114
3115 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
3116 Doc fixes.
3117
3118 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
3119 and an integer. Adapt the introductory comment accordingly.
3120 (Fread_from_minibuffer): Delete code moved into read_minibuf.
3121 Doc fix.
3122 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
3123 read_minibuf.
3124 (Fcompleting_read): Delete code moved into read_minibuf.
3125 (Ftest_completion): Make it handle obarrays and hash tables correctly.
3126
3127 2003-12-03 Kenichi Handa <handa@m17n.org>
3128
3129 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
3130 encoding sequence.
3131
3132 2003-12-01 Kenichi Handa <handa@m17n.org>
3133
3134 * composite.c (syms_of_composite): Don't make the compostion hash
3135 table week.
3136
3137 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
3138
3139 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
3140 * textprop.c (Fget_char_property_and_overlay): New function.
3141 (syms_of_textprop): Defsubr it.
3142
3143 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3144
3145 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
3146 to compile on terminal configuration.
3147
3148 * fileio.c (Fread_file_name): Check use_file_dialog also before
3149 calling Fx_file_dialog.
3150
3151 * fns.c: use_file_dialog: New variable.
3152 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
3153
3154 2003-11-29 Kim F. Storm <storm@cua.dk>
3155
3156 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
3157 (syms_of_msdos): Don't intern and staticpro them.
3158
3159 2003-11-27 Kim F. Storm <storm@cua.dk>
3160
3161 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
3162 coordinates relative to glyph at posn. If glyph is an image,
3163 return that as object at posn. Callers changed.
3164 (mode_line_string, marginal_area_string): Calculate and return
3165 pixel coordinates relative to glyph. Callers changed.
3166
3167 * dispextern.h (buffer_posn_from_coords, mode_line_string)
3168 (marginal_area_string): Fix prototypes.
3169 (window_box_left_offset, window_box_right_offset): Add prototypes.
3170
3171 * frame.h (get_specified_cursor_type, get_window_cursor_type):
3172 Remove prototypes.
3173
3174 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
3175
3176 * keyboard.c (make_lispy_position): Add x and y coordinates
3177 relative to the current glyph as 7th element of position.
3178 If glyph is an image, return it in the object element.
3179 (read_key_sequence): Skip checks for keymap property in cases
3180 where POSN_STRING is not a string (e.g. an image).
3181
3182 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
3183 (Vshow_text_cursor_in_void): New variable.
3184 (glyph_to_pixel_coords): Don't use negative hpos.
3185 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
3186 (append_stretch_glyph): Change ascent arg to be actual value
3187 in pixels rather than ratio to height. Callers changed.
3188 (calc_pixel_width_or_height): New aux function, implementing
3189 pixel based artihmetic for glyph widths and heights.
3190 (produce_stretch_glyph): Use calc_pixel_width_or_height for
3191 :width, :height, :align-to, and :ascent, thus allowing these to
3192 be specified in pixels as well as multiples of characters.
3193 Don't produce stretch glyphs with zero width or height.
3194 (get_specified_cursor_type): Declare static.
3195 (get_window_cursor_type): Declare static. Add glyph arg to be
3196 able to know when cursor is on an image; always substitute
3197 hollow-box cursor for filled-box cursor on images, to avoid
3198 negative images and flicker when blinking the cursor.
3199 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
3200 (note_mode_line_or_margin_highlight): Use non-text cursor rather
3201 than vertical scroll-bar cursor in display margins.
3202 (note_mouse_highlight): Use non-text cursor rather than text
3203 cursor in fringes and over images in the text area.
3204 Use non-text cursor when mouse pointer is outside editable text,
3205 i.e. in the void after end-of-line or end-of-buffer; this was
3206 already done for W32, but is now standard for all systems --
3207 user can toggle show-text-cursor-in-void to get old behaviour.
3208 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
3209 Vdisplay_pixels_per_inch.
3210
3211 2003-11-25 Andreas Schwab <schwab@suse.de>
3212
3213 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
3214 EMACS_INT to not lose bits.
3215 (Ffillarray): Don't set bits beyond the size of a bool vector.
3216
3217 2003-11-25 Kim F. Storm <storm@cua.dk>
3218
3219 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
3220 define this defun on systems that cannot use stderr as lvalue.
3221
3222 2003-11-24 Gerd Moellmann <gerd@gnu.org>
3223
3224 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
3225 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
3226 ld's default is incompatible with unexec.
3227
3228 2003-11-23 Kim F. Storm <storm@cua.dk>
3229
3230 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
3231 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
3232 (Fforce_window_update): New defun.
3233 (syms_of_window): Defsubr it.
3234 (Fset_window_margins, Fset_window_fringes): Doc fix.
3235
3236 * print.c (Fredirect_debugging_output): New defun.
3237 (syms_of_print): Defsubr it.
3238
3239 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
3240
3241 * fns.c (Fset_char_table_parent): Doc fix.
3242
3243 2003-11-22 Kim F. Storm <storm@cua.dk>
3244
3245 * dispnew.c (buffer_posn_from_coords): Return actual row/column
3246 for glyph clicked on, rather than (unused) pixel positions.
3247 (mode_line_string, marginal_area_string): Change X and Y args to
3248 pointers for returning actual row/column for glyph clicked on.
3249 Simplify and optimize loops.
3250
3251 * dispextern.h (mode_line_string, marginal_area_string):
3252 Update prototypes.
3253
3254 * keyboard.c (make_lispy_position): New function for generating
3255 mouse click positions from frame and pixel coordinates.
3256 Enhanced to return buffer position and actual row/column for
3257 events outside the text area using updated mode_line_string and
3258 marginal_area_string functions.
3259 Return left-fringe and right-fringe clicks as such, rather than
3260 clicks in text area.
3261 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
3262 pixel_to_glyph_coords, as we never use the results.
3263 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
3264 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
3265 Eliminate unused code in WHEEL_EVENT handling.
3266 (make_lispy_movement): Use make_lispy_position.
3267
3268 * window.c (coordinates_in_window): Remove redundant tests.
3269 Fix returned X pixel value for left-margin.
3270
3271 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
3272 mode_line_string and marginal_area_string parameters.
3273
3274 2003-11-22 Lars Hansen <larsh@math.ku.dk>
3275
3276 * w32.c (struct the_group, getgrgid): Add.
3277 * mac.c (struct my_group, getgrgid): Add.
3278
3279 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
3280
3281 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
3282
3283 2003-11-21 Lars Hansen <larsh@math.ku.dk>
3284
3285 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
3286 include in call to file name handler. Optionally translate numeric
3287 UID and GID to strings. Update docstring.
3288 (directory_files_internal): Add parameter ID-FORMAT.
3289 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
3290 include in call to file name handler and call to
3291 directory_files_internal. Update Docstring.
3292 (Fdirectory_files): Add dummy parameter in call to
3293 directory_files_internal.
3294 * lisp.h (Qinteger): Add.
3295 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
3296 (Ffile_attributes): Add parameter.
3297 * data.c (Qinteger): Export.
3298
3299 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
3300
3301 * fns.c (Freverse, Fnreverse): Doc fixes.
3302
3303 2003-11-19 Kim F. Storm <storm@cua.dk>
3304
3305 * xdisp.c (init_iterator): Initialize it->start to position
3306 before reseating (in case start position is invisible).
3307 (init_to_row_start): Set it->start to row-start.
3308 (redisplay_window): Accept optional_new_start if start position
3309 is invisible (in which case IT_CHARPOS overshoots PT).
3310 (display_line): Setup row->start from it->start (rather than
3311 it->current which is wrong if first char on line is invisible).
3312 When done, reseat it->start to it->current (= start of next row).
3313 (expose_area): Fix exposure of text area when first char (e.g. TAB)
3314 is only partially visible.
3315
3316 * dispextern.h (struct it): New member start.
3317
3318 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
3319
3320 * alloc.c (make_float, Fcons): Clear the markbit at init time.
3321 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
3322 of block_index outside of the macro call.
3323 (Fgarbage_collect): Remove null code.
3324
3325 * m/amdx86-64.h: Don't redefine XPNTR.
3326
3327 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
3328 of VALMASK.
3329
3330 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
3331 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
3332 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
3333
3334 * lisp.h (VALMASK): Only define for non-union type.
3335 (MARKBIT): Remove.
3336 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
3337 (XTYPE): Define unconditionally.
3338 (XSETTYPE): Remove one more remnant.
3339 (EQ): Define differently for the union and non-union cases.
3340 (INTMASK): New bit mask.
3341 (struct Lisp_Marker): Move down to prepare for upcoming patch.
3342 (GC_EQ): Delegate to EQ.
3343
3344 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
3345
3346 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3347
3348 * xterm.c (x_window_to_scroll_bar): Move check of display to
3349 where window_id is compared.
3350
3351 2003-11-17 Kim F. Storm <storm@cua.dk>
3352
3353 * dispextern.h (struct it): New member first_vpos.
3354
3355 * xdisp.c (start_display): Set it->first_vpos.
3356 (try_window_id): Use first_vpos to start display in first _text_
3357 line if no reusable lines at start of window with header line.
3358
3359 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3360
3361 * w32fns.c (XPutPixel):
3362 * w32bdf.c (w32_init_bdf_font):
3363 * sunfns.c (sel_read):
3364 * process.c (Fmake_network_process):
3365 * frame.c (store_frame_param):
3366 * fontset.c (Fset_fontset_font):
3367 * emacs.c (shut_down_emacs):
3368 * ccl.c (ccl_driver): Remove period at end of error message.
3369
3370 * config.in: Regenerate.
3371
3372 * xfns.c (x_window_to_frame, x_any_window_to_frame)
3373 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
3374 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
3375 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
3376 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
3377
3378 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
3379
3380 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
3381 (XTmouse_position, handle_one_xevent): Pass Display* to
3382 x_window_to_scroll_bar.
3383 (x_window_to_scroll_bar): Take a Display* argument.
3384 Check that display for frame is equal to Display* argument.
3385 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
3386 x_display_info_for_display instead. Use Display in xev instead
3387 of GDK_DISPLAY.
3388 (x_dispatch_event): Call x_display_info_for_display.
3389 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
3390 (x_connection_closed): Call xg_display_close for GTK.
3391 (x_term_init): Call xg_display_open for additional displays.
3392 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
3393 for GTK.
3394
3395 * xmenu.c (single_menu_item, mouse_position_for_popup)
3396 (x_activate_menubar): Formatting adjustments.
3397
3398 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
3399 adjustments.
3400
3401 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
3402 (xg_display_close, xg_create_default_cursor)
3403 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
3404 handling.
3405 (xg_left_ptr_cursor): Remove.
3406 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
3407 cursor here.
3408 (xg_win_to_widget): Take Display* argument, call
3409 gdk_xid_table_lookup_for_display.
3410 (xg_create_frame_widgets, xg_get_file_name, create_menus)
3411 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
3412 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
3413 in FRAME_X_DISPLAY_INFO.
3414 (xg_get_scroll_id_for_window): Take Display* argument.
3415 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
3416 (xg_initialize): Remove xg_left_ptr_cursor.
3417
3418 * gtkutil.h: xg_get_scroll_id_for_window, xg_win_to_widget takes
3419 Display* argument also. Declare xg_display_open,
3420 xg_display_close, xg_create_default_cursor.
3421
3422 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3423
3424 * xterm.c (x_detect_focus_change): Do not change focus frame for
3425 Enter/LeaveNotify if the current focus frame has explicit focus.
3426
3427 2003-11-14 Kim F. Storm <storm@cua.dk>
3428
3429 * dispnew.c (update_text_area): Fix redisplay error when hscroll
3430 is active and first glyph is only partially visible.
3431
3432 2003-11-13 Kenichi Handa <handa@m17n.org>
3433
3434 * xdisp.c (select_frame_for_redisplay): New function.
3435 (redisplay_internal): Record also selected_frame for
3436 unwind_redisplay. Call select_frame_for_redisplay before
3437 redrawing each frame.
3438 (unwind_redisplay): Argument changed to a cons.
3439
3440 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
3441
3442 * fns.c (Fstring_to_multibyte): Doc fix.
3443
3444 2003-11-11 Kenichi Handa <handa@m17n.org>
3445
3446 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
3447
3448 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3449
3450 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
3451 program specified positions.
3452
3453 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3454
3455 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
3456
3457 2003-11-08 Kenichi Handa <handa@m17n.org>
3458
3459 * Makefile.in (lisp): Add kannada.el.
3460 (shortlisp): Likewise.
3461
3462 2003-11-07 Kenichi Handa <handa@m17n.org>
3463
3464 * coding.c (coding_allocate_composition_data):
3465 Reset coding->composing to COMPOSITION_NO.
3466 (coding_restore_composition): Detect invalid composition data.
3467 Give Fstring and Fvector a Lispy integer, not C int.
3468
3469 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
3470
3471 * floatfns.c (Flogb): Don't use VALMASK.
3472
3473 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
3474 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
3475
3476 * lisp.h (XINT): Move the cast to clarify what is going on.
3477 (GCTYPEMASK, XSETTYPE): Remove.
3478 (XGCTYPE): Make it an alias of XTYPE.
3479
3480 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3481
3482 * xterm.c (x_term_init): Fix formatting.
3483
3484 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3485
3486 * gtkutil.h: Declare xg_have_tear_offs, remove xg_keep_popup
3487 and xg_did_tearoff.
3488
3489 * gtkutil.c: Remove variable xg_did_tearoff.
3490 (xg_have_tear_offs): New function.
3491 (tearoff_remove): Just decrease xg_detached_menus.
3492 (tearoff_activate): Increase xg_detached_menus and call
3493 tearoff_remove when tearoff is removed.
3494 (xg_keep_popup): Remove function.
3495 (create_menus): Give add_tearoff_p as argument to recursive
3496 call to create_menus.
3497 (xg_create_widget): Use variables instead of multiple
3498 strcmp. Tell create_menus to create tear off only for
3499 menu bar menus.
3500 (xg_update_menubar): Change title for a detached menu also.
3501 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
3502 of deep_p.
3503 (xg_initialize): Initialize xg_detached_menus, remove
3504 initialization of xg_did_tearoff.
3505
3506 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
3507 xg_have_tear_offs returns non-zero.
3508 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
3509 call to xg_keep_popup.
3510
3511 2003-11-01 Andrew Choi <akochoi@shaw.ca>
3512
3513 * macterm.c (XTread_socket): Handle menubar selection and grow
3514 window only for mouseDown events.
3515
3516 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3517
3518 * xterm.c (x_term_init): For GTK part, increase x_initialized
3519 to check for more than one display. Use error instead of return 0.
3520
3521 2003-10-31 Andrew Choi <akochoi@shaw.ca>
3522
3523 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
3524 (copy_dysymtab): Call it.
3525
3526 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
3527
3528 * eval.c (Fdefvaralias): Doc fix.
3529
3530 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
3531
3532 * data.c (Fsetplist): Doc fix.
3533
3534 2003-10-14 Lute Kamstra <lute@gnu.org>
3535
3536 * window.c (Fset_window_fringes): Clarify docstring.
3537
3538 2003-10-14 Kim F. Storm <storm@cua.dk>
3539
3540 * window.c (Fset_window_margins): Simplify arg checking.
3541
3542 2003-10-13 Richard M. Stallman <rms@gnu.org>
3543
3544 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
3545 (print_partial_compiled_pattern): Replace assert with a printout.
3546 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
3547
3548 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
3549
3550 * window.c (Fset_window_margins): Allow only integers as args.
3551 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
3552 Doc fixes.
3553
3554 2003-10-13 Lute Kamstra <lute@gnu.org>
3555
3556 * window.c (Fset_window_fringes): Elaborate docstring.
3557
3558 2003-10-12 Andrew Choi <akochoi@shaw.ca>
3559
3560 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
3561
3562 * s/darwin.h (GC_MARK_STACK): Define.
3563
3564 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3565
3566 * window.c (shrink_windows): New function.
3567 (size_window): Call shrink_windows to calculate window sizes when
3568 shrinking frame with more than one window.
3569
3570 2003-10-12 Kim F. Storm <storm@cua.dk>
3571
3572 * xdisp.c (compute_fringe_widths): Doc fix.
3573
3574 2003-10-08 Kenichi Handa <handa@m17n.org>
3575
3576 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
3577
3578 2003-10-07 Kenichi Handa <handa@m17n.org>
3579
3580 * coding.c (Qcoding_system_define_form): New variable.
3581 (syms_of_coding): Intern and staticpro it.
3582 (Fcheck_coding_system): Try to autoload the definition of
3583 CODING-SYSTEM.
3584
3585 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
3586
3587 * fns.c (Frequire): Doc fix.
3588
3589 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3590
3591 * xfns.c (Fx_send_client_event): New function as a base for
3592 manipulating extended window manager hints.
3593 (Fx_send_client_event): Remove unused variable s.
3594
3595 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
3596 that function is removed.
3597
3598 * xterm.c (x_set_offset): Use move_offset_left/top instead of
3599 x/y_pixels_outer_diff.
3600 (x_check_expected_move): Calculate move_offset_left/top.
3601
3602 * xterm.h (struct x_output): New members: move_offset_top/left.
3603
3604 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
3605 call x_set_offset directly.
3606
3607 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
3608
3609 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
3610
3611 * xterm.c (x_delete_display): Free font names and font_encoder
3612 in dpyinfo->font_table.
3613
3614 * xfns.c (Fx_close_connection): Only call XFreeFont here.
3615 Move xfree of font names to x_delete_display.
3616
3617 * xterm.h (struct x_display_info): New member, wm_type.
3618 (struct x_output): New members, expected_top/left and
3619 check_expected_move.
3620
3621 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
3622 is received.
3623 (handle_one_xevent): Rename x_check_expected_move from
3624 x_check_fullscreen_move.
3625 (x_set_offset): Only add WM decoration sizes to modified_top/left
3626 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
3627 (x_check_expected_move): Rename from x_check_fullscreen_move.
3628 Removed fullscreen specific code. Use check_expected_move,
3629 expected_left/top instead. Also, set wm_type.
3630 (x_term_init): Initialize wm_type to unknown.
3631
3632 * frame.c (x_fullscreen_move): Remove addition of WM decoration
3633 sizes to move_x/y.
3634
3635 2003-10-03 Kenichi Handa <handa@m17n.org>
3636
3637 * macterm.c (x_load_font): Clear all members of FONTP before start
3638 filling them.
3639
3640 2003-10-02 Kenichi Handa <handa@m17n.org>
3641
3642 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
3643 before calling find_ccl_program_func. Call find_ccl_program_func
3644 only when fontp->font_encoder is not NULL.
3645
3646 * xterm.c (x_load_font): Clear all members of FONTP before start
3647 filling them.
3648
3649 2003-10-03 John Paul Wallington <jpw@gnu.org>
3650
3651 * keymap.c (map_keymap): Don't abort when binding is a vector.
3652
3653 2003-10-02 Jason Rumney <jasonr@gnu.org>
3654
3655 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
3656 Sync dependencies with Makefile.in.
3657 (alloca.o): Remove.
3658
3659 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
3660 filling them.
3661
3662 * w32bdf.c (w32_load_bdf_font): Likewise.
3663
3664 2003-09-30 Richard M. Stallman <rms@gnu.org>
3665
3666 * term.c (set_tty_color_mode): Calculate current_mode_spec
3667 regardless of value of VAL.
3668
3669 * intervals.c (graft_intervals_into_buffer):
3670 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
3671 Handle over_used when splitting UNDER.
3672
3673 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3674
3675 * regex.c (regex_compile): Free the stack when returning from function.
3676
3677 2003-09-28 Kenichi Handa <handa@m17n.org>
3678
3679 * fontset.c (Finternal_char_font): Change return value to
3680 cons (FONT-NAME . GLYPH-CODE).
3681
3682 2003-09-28 Eli Zaretskii <eliz@gnu.org>
3683
3684 * term.c (tty_setup_colors): Treat any negative argument as -1.
3685
3686 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
3687
3688 * process.c (send_process): Delete unused temp_buf.
3689
3690 2003-09-26 Dave Love <fx@gnu.org>
3691
3692 * xterm.c (x_bitmap_mask): Declare.
3693
3694 2003-09-25 Dave Love <fx@gnu.org>
3695
3696 * Makefile.in (fns.o): Depend on md5.h.
3697
3698 2003-09-25 Kim F. Storm <storm@cua.dk>
3699
3700 * window.c (set_window_buffer): Fix redisplay problems when
3701 switching between buffers with different display margin widths.
3702
3703 2003-09-23 Kim F. Storm <storm@cua.dk>
3704
3705 * process.c (set_socket_option): Fix :bindtodevice option.
3706 (Fset_network_process_option): Update process contact list when
3707 setting option succeeds.
3708 (Fmake_network_process): Doc fix.
3709
3710 2003-09-23 Dave Love <fx@gnu.org>
3711
3712 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
3713
3714 2003-09-22 Eli Zaretskii <eliz@gnu.org>
3715
3716 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
3717 color mode is an integer number (it could be -1).
3718
3719 2003-09-22 Richard M. Stallman <rms@gnu.org>
3720
3721 * intervals.c (graft_intervals_into_buffer): Correct the main loop
3722 in the case where OVER is longer than UNDER.
3723
3724 2003-09-22 Masatake YAMATO <jet@gyve.org>
3725
3726 * window.c (Fset_window_scroll_bars): Validate the value of
3727 `vertical_type'.
3728
3729 2003-09-21 Kim F. Storm <storm@cua.dk>
3730
3731 * frame.c (Vdefault_frame_scroll_bars): New variable.
3732 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
3733 (syms_of_frame): DEFVAR_LISP it, and initialize according to
3734 window-system default scroll bar position.
3735
3736 * window.c (Fwindow_scroll_bars): Doc fix.
3737
3738 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3739
3740 * xterm.c (x_set_offset): Take window manager decorations into account.
3741
3742 2003-09-19 Richard M. Stallman <rms@gnu.org>
3743
3744 * atimer.h: Don't include lisp.h.
3745 (P_): Define it here (as well as elsewhere).
3746
3747 * print.c (Fprin1_to_string): Move the PRINTPREPARE
3748 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
3749
3750 * data.c (Fvariable_binding_locus): New function.
3751 (syms_of_data): defsubr it.
3752 (Flocal_variable_p): Delete duplicate call to indirect_variable.
3753
3754 2003-09-18 Dave Love <fx@gnu.org>
3755
3756 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
3757
3758 * process.c (Fnetwork_interface_info): Fix type error.
3759 (Fnetwork_interface_list): Doc fix.
3760 (read_process_output, read_process_output): Delete unused var.
3761
3762 2003-09-17 Kim F. Storm <storm@cua.dk>
3763
3764 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
3765 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
3766 (Fnetwork_interface_info): Check that ifreq struct has required
3767 fields before accessing them; this requires that those fields are
3768 defined as macros, which may be too restrictive on some platforms,
3769 but it is better than failing on other platforms.
3770 (syms_of_process): Only defsubr above fns when included.
3771
3772 2003-09-17 Dave Love <fx@gnu.org>
3773
3774 * unexalpha.c: Don't include varargs.h.
3775
3776 2003-09-17 Kim F. Storm <storm@cua.dk>
3777
3778 * process.c (Fset_process_sentinel): Add sentinel to childp plist
3779 for network process.
3780 (socket_options): Add `:' prefix to option names. Add optbit field.
3781 (set_socket_option): Remove no_error arg and special handling of s < 0.
3782 Return 1<<optbit for known option, 0 for unknown.
3783 Do not interpret 0 as false for boolean option (only nil).
3784 Pass failed option and value to report_file_error.
3785 (Fset_network_process_options): Replace by Fset_network_process_option.
3786 (Fset_network_process_option): New function to set just one option.
3787 (Fmake_network_process): Allow :coding arg to be a cons.
3788 Allow :server arg to be an integer specifying backlog size.
3789 Remove :options arg, and allow options to be specified directly
3790 as :KEY, VALUE pairs. Parse these options before binding socket.
3791 As before, :reuseaddr t is default for a server process, but this
3792 can now be disabled by specifying :reuseaddr nil.
3793 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
3794 (init_process): Availability of network options is now checked with
3795 simpler syntax (featurep 'make-network-process :OPTION); use loop to
3796 setup features.
3797 (syms_of_process): Fix defsubr's for the replaced functions.
3798
3799 2003-09-16 Dave Love <fx@gnu.org>
3800
3801 * Makefile.in: Depend on coding.h.
3802
3803 2003-09-14 Kim F. Storm <storm@cua.dk>
3804
3805 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
3806 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
3807 (syms_of_process): Defsubr them.
3808
3809 * config.in: Regenerate.
3810
3811 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
3812
3813 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
3814 * m/news-r6.h (XUNMARK): Remove.
3815 * m/mips.h (XUNMARK): Remove.
3816 * m/mips-siemens.h (XUNMARK): Remove.
3817 * m/iris4d.h (XUNMARK): Remove.
3818 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
3819
3820 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
3821
3822 * lisp.h (VALBITS): Don't remove 1 for the markbit.
3823 (union Lisp_Object): Use unsigned int for types. Remove markbit.
3824 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
3825 (XTYPE): Use unsigned right-shift.
3826 (XMARKBIT, XMARK, XUNMARK): Remove.
3827
3828 * alloc.c (init_intervals, init_symbol, init_marker):
3829 Don't preallocate anything.
3830 (Fgarbage_collect, mark_object): Ignore the markbit.
3831
3832 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
3833
3834 2003-09-08 Lute Kamstra <lute@gnu.org>
3835
3836 * xdisp.c (pint2hrstr): New function.
3837 (decode_mode_spec): Add `%i' and `%I' specs.
3838 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
3839 for `mode-line-format'.
3840
3841 2003-09-07 Andreas Schwab <schwab@suse.de>
3842
3843 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
3844 avoid warning.
3845
3846 2003-09-07 Eli Zaretskii <eliz@gnu.org>
3847
3848 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
3849
3850 2003-09-03 Kim F. Storm <storm@cua.dk>
3851
3852 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
3853 change (superseded by 2002-08-30 change); the default blink-off
3854 cursor is now again "no cursor".
3855
3856 2003-09-01 Jason Rumney <jasonr@gnu.org>
3857
3858 * makefile.w32-in (alloca.o): Remove.
3859 (coding.o): Depend on intervals.h
3860 (emacs.o, bytecode.o): Depend on window.h
3861
3862 2003-09-01 Dave Love <fx@gnu.org>
3863
3864 * Makefile.in (alloca.o): Remove commands.
3865 (coding.o): Depend on intervals.h composite.h window.h.
3866 (emacs.o): Depend on window.h keyboard.h keymap.h.
3867 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
3868 (bytecode.o): Depend on window.h.
3869
3870 2003-08-31 Jason Rumney <jasonr@gnu.org>
3871
3872 * w32term.c (w32_per_char_metric): Allow cached metrics to be
3873 returned even when font_type is unknown.
3874
3875 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
3876
3877 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3878
3879 * xterm.c (x_term_init): Initialize new fields in x_display_info.
3880
3881 * xterm.h (struct x_display_info): Add red/green/blue_bits and
3882 *_offset.
3883
3884 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
3885 calculate pixel value.
3886
3887 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
3888
3889 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
3890 Don't tell redisplay display is accurate when it's actually been
3891 paused for pending input.
3892
3893 2003-08-29 Richard M. Stallman <rms@gnu.org>
3894
3895 * dispnew.c (adjust_glyph_matrix): Call window_box
3896 whenever W is nonzero.
3897
3898 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
3899 (Fkill_local_variable, Fmake_variable_frame_local)
3900 (Flocal_variable_p, Flocal_variable_if_set_p):
3901 Use indirect_variable to trace thru variable aliases.
3902
3903 * config.in: Updated.
3904
3905 * callint.c (Fcall_interactively): Save and restore
3906 Vthis_command, Vthis_original_command, real_this_command,
3907 and current_kboard->Vlast_command.
3908
3909 * abbrev.c (Fexpand_abbrev): Insert before deleting.
3910
3911 2003-08-29 Gerd Moellmann <gerd@gnu.org>
3912
3913 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
3914
3915 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
3916
3917 * coding.c (decode_coding_iso2022): Initialize local variable c2.
3918 (decode_coding_sjis_big5): Likewise.
3919
3920 2003-08-27 Jason Rumney <jasonr@gnu.org>
3921
3922 * w32.c (sys_pipe): Protect against file descriptor overflow.
3923
3924 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
3925
3926 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
3927
3928 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
3929
3930 * xfns.c (Vgtk_version_string): New variable.
3931 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
3932
3933 2003-08-24 Eli Zaretskii <eliz@gnu.org>
3934
3935 * term.c (term_init): Remove `const' from buffer_size's declaration.
3936
3937 * Makefile.in (msdos.o): Depend on intervals.h.
3938
3939 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
3940
3941 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3942
3943 * xterm.h (struct x_display_info): New fields: client_leader_window
3944 and Xatom_wm_client_leader.
3945
3946 * xterm.c (x_initialize): Move call to x_session_initialize to ...
3947 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
3948
3949 * xsmfns.c (create_client_leader_window): New function.
3950 (x_session_initialize): Call create_client_leader_window, take
3951 dpyinfo as argument.
3952
3953 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
3954
3955 * Makefile.in (xsmfns.o): Add more depenedencies.
3956
3957 2003-08-21 Dave Love <fx@gnu.org>
3958
3959 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
3960
3961 2003-08-21 Kenichi Handa <handa@m17n.org>
3962
3963 * term.c (term_init): Fix previous change; don't rely on the
3964 length of `buffer' if TERMINFO is defined.
3965
3966 2003-08-20 Dave Love <fx@gnu.org>
3967
3968 * atimer.h: Include lisp.h.
3969
3970 * lisp.h (EMACS_LISP_H): New.
3971 (popup_activated_flag): Don't declare.
3972
3973 * alloca.c: Some merging with gnulib. Change logic and doc
3974 concerning (x)malloc/(x)free -- no longer Emacs-specific.
3975 [DO_BLOCK_INPUT]: Don't include lisp.h.
3976 (xmalloc, xfree): Declare.
3977 (malloc): Don't declare.
3978
3979 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
3980 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
3981 atimer.h, blockinput.h.
3982
3983 * alloc.c (lisp_align_malloc): Change type of `aligned'.
3984
3985 * alloca.s: Removed.
3986
3987 2003-08-19 Gerd Moellmann <gerd@gnu.org>
3988
3989 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
3990 use -lncurses.
3991
3992 * term.c (term_init): Use a buffer of size 4096 for tgetent since
3993 FreeBSD returns something longer than 2044. Abort if the end of
3994 the buffer is overwritten.
3995
3996 2003-08-19 Miles Bader <miles@gnu.org>
3997
3998 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
3999
4000 2003-08-19 Gerd Moellmann <gerd@gnu.org>
4001
4002 * alloc.c (lisp_align_malloc): Check for memory full when
4003 allocating ablocks, which also avoids freeing a pointer into an
4004 ablocks structure.
4005
4006 * puresize.h (BASE_PURESIZE): Increase to 1100000.
4007
4008 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
4009
4010 2003-08-16 Richard M. Stallman <rms@gnu.org>
4011
4012 * editfns.c (Fencode_time): Doc fix.
4013
4014 2003-08-16 David Ponce <david@dponce.com>
4015
4016 * fileio.c (Fwrite_region): Fix conditional expression to issue
4017 the right message.
4018
4019 2003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
4020
4021 * syntax.c (Fforward_word): Argument changed to optional.
4022 Set default value to 1.
4023
4024 2003-08-15 Kenichi Handa <handa@m17n.org>
4025
4026 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
4027 what autoscaled.
4028 (best_matching_font): Once we find a better scalable font, set
4029 non_scalable_has_exact_height_p to 1.
4030 (try_font_list): Call try_alternative_families to try any family
4031 with the given registry.
4032
4033 2003-08-09 Andreas Schwab <schwab@suse.de>
4034
4035 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
4036
4037 * print.c (print_string): Fix printing of multibyte string with
4038 nontrivial printcharfun.
4039
4040 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4041
4042 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
4043
4044 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
4045
4046 2003-07-31 Kenichi Handa <handa@m17n.org>
4047
4048 * process.c (read_process_output): Return the actually read bytes
4049 instead of the result of decoding.
4050
4051 2003-07-31 Kenichi Handa <handa@m17n.org>
4052
4053 * xterm.h (struct x_bitmap_record): New member have_mask.
4054
4055 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
4056 to 0.
4057 (x_create_bitmap_from_file): Likewise.
4058 (x_destroy_bitmap): Check have_mask member before freeing a mask.
4059 (x_destroy_all_bitmaps): Likewise.
4060 (x_create_bitmap_mask): Set have_mask member to 1.
4061
4062 2003-07-30 Richard M. Stallman <rms@gnu.org>
4063
4064 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
4065
4066 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4067
4068 * gtkutil.c (xg_mark_data): Update calls to mark_object.
4069
4070 2003-07-29 Richard M. Stallman <rms@gnu.org>
4071
4072 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
4073 Conditionalize XIM code on HAVE_XIM.
4074
4075 * fns.c (Fclear_string): New function.
4076 (syms_of_fns): defsubr it.
4077
4078 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
4079
4080 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
4081
4082 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
4083
4084 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
4085
4086 * buffer.c (delete_all_overlays): New function.
4087 * buffer.h (delete_all_overlays): Declare.
4088 * coding.c (run_pre_post_conversion_on_str):
4089 * print.c (temp_output_buffer_setup):
4090 * fileio.c (Finsert_file_contents):
4091 * minibuf.c (get_minibuffer): Use it.
4092
4093 2003-07-22 Andrew Choi <akochoi@shaw.ca>
4094
4095 * unexmacosx.c (unexec_regions_sort_compare):
4096 (unexec_regions_merge): New functions. Sort and merge unexec
4097 regions before dumping them.
4098
4099 2003-07-22 Dave Love <fx@gnu.org>
4100
4101 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
4102
4103 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
4104
4105 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
4106 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
4107 MARKBIT as the gcmarkbit for strings.
4108
4109 2003-07-21 Richard M. Stallman <rms@gnu.org>
4110
4111 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
4112
4113 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
4114 (syms_of_fns): Corresponding change.
4115
4116 * alloc.c (syms_of_alloc): Doc fixes.
4117
4118 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
4119
4120 * s/netbsd.h: Use -Wl syntax.
4121
4122 2003-07-17 Richard M. Stallman <rms@gnu.org>
4123
4124 * xterm.c (xim_initialize): Redo 6/24 change.
4125
4126 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
4127
4128 * buffer.c (copy_overlays): Use EMACS_INT for positions.
4129 (Fswitch_to_buffer): Don't signal an error when switching to the same
4130 buffer in a dedicated window.
4131
4132 * alloc.c: Use bitmaps for cons, as was done for floats.
4133 (init_float, init_cons): Let the normal code allocate the first block.
4134 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
4135 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
4136 New macros.
4137 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
4138 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
4139 (live_cons_p): Check the pointer is not past the `conses' array.
4140 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
4141 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
4142 (survives_gc_p): Use CONS_MARKED_P and simplify.
4143 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
4144
4145 2003-07-13 Paul Eggert <eggert@twinsun.com>
4146
4147 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
4148 puts it into BSS instead, at least on Solaris 8 and 9.
4149 This is a valid optimization, and it may occur on other platforms,
4150 so Emacs should not assume that initializing a static variable to
4151 zero puts it into data.
4152 * alloc.c (pure, staticvec):
4153 Initialize these arrays to nonzero, so that they're not
4154 put into BSS by that optimization.
4155
4156 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
4157
4158 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
4159 (lisp_align_malloc): Use posix_memalign is available.
4160 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
4161 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
4162 for consistency. Update users.
4163
4164 2003-07-13 Richard M. Stallman <rms@gnu.org>
4165
4166 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
4167
4168 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
4169
4170 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
4171 and use the Gtk+ function gtk_window_icon_from_file if available.
4172
4173 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
4174 handle mask of bitmaps.
4175 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
4176 mask property.
4177 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
4178
4179 * xterm.h (xg_set_icon): New function.
4180
4181 2003-07-12 Paul Eggert <eggert@twinsun.com>
4182
4183 * unexelf.c (unexec): Consider a section to precede the .bss
4184 section if its addresses overlap that of .bss.
4185
4186 2003-07-12 Richard M. Stallman <rms@gnu.org>
4187
4188 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
4189
4190 * config.in (HAVE_CRTIN): Add #undef.
4191 (INLINE): Really inline only if OPTIMIZE is defined.
4192
4193 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
4194 END_FILES_1.
4195 (START_FILES_1, END_FILES_1): New macros (conditional).
4196 (LD_SWITCH_SYSTEM_TEMACS): Define.
4197
4198 * s/openbsd.h: Don't include bsd4-3.h.
4199 (TERMINFO): Define.
4200 (LIBS_TERMCAP): Define.
4201 (LD_SWITCH_SYSTEM): Define (two definitions).
4202
4203 * xfns.c: Include libpng/png.h instead of png.h.
4204
4205 2003-07-11 Andreas Schwab <schwab@suse.de>
4206
4207 * buffer.c (modify_overlay): Update prototype.
4208 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
4209 Likewise.
4210
4211 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
4212
4213 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
4214 (struct interval): Move to intervals.h.
4215 (struct Lisp_Marker): Use EMACS_INT for position info.
4216 (forward_point): Remove prototype of defunct function.
4217 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
4218 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
4219 (syms_of_textprop, set_text_properties): Remove prototypes that are
4220 already in intervals.h.
4221
4222 * intervals.h (struct interval): Move from lisp.h.
4223 Use EMACS_INT for position and size info.
4224
4225 * coding.c: Include intervals.h for Fset_text_properties.
4226
4227 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
4228 position and length information.
4229
4230 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
4231
4232 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
4233 position and length information.
4234
4235 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
4236
4237 Change overlays_after and overlays_before so the overlays themselves
4238 are linked into lists, rather than using cons cells. After all each
4239 Lisp_Misc already occupies 5 words, so we can add a `next' field to
4240 Lisp_Overlay for free and save up one cons cell per overlay (not
4241 to mention one indirection when traversing the list of overlay).
4242
4243 * lisp.h (struct Lisp_Overlay): New field `next'.
4244
4245 * buffer.h (struct buffer): Change overlays_before and overlays_after
4246 from Lisp lists of overlays to pointers to overlays.
4247
4248 * buffer.c (overlay_strings, recenter_overlay_lists):
4249 Fix typo in eassert in last commit.
4250 (unchain_overlay): New function.
4251 (add_overlay_mod_hooklist): Use AREF.
4252 (copy_overlays, reset_buffer, overlays_at, overlays_in)
4253 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
4254 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
4255 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
4256 (report_overlay_modification, evaporate_overlays, init_buffer_once):
4257 Adjust to new type of overlays_(before|after).
4258
4259 * alloc.c (mark_object): Mark the new `next' field of overlays.
4260 (mark_buffer): Manually mark the overlays_(after|before) fields.
4261
4262 * coding.c (run_pre_post_conversion_on_str):
4263 * editfns.c (overlays_around):
4264 * xdisp.c (load_overlay_strings):
4265 * fileio.c (Finsert_file_contents):
4266 * indent.c (current_column):
4267 * insdel.c (signal_before_change, signal_after_change):
4268 * intervals.c (set_point_both):
4269 * print.c (temp_output_buffer_setup): Use new type for
4270 overlays_(before|after).
4271
4272 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
4273
4274 * buffer.c (report_overlay_modification): Don't run hooks while
4275 traversing the list of overlays.
4276
4277 * buffer.h (struct buffer): Use an int for overlay_center.
4278 (overlays_at, evaporate_overlays, recenter_overlay_lists)
4279 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
4280
4281 * buffer.c (reset_buffer, recenter_overlay_lists)
4282 (adjust_overlays_for_insert, adjust_overlays_for_delete)
4283 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
4284 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
4285 (overlays_at, evaporate_overlays, recenter_overlay_lists)
4286 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
4287
4288 * xdisp.c (fast_find_position): Remove unused var.
4289
4290 * cmds.c (Qexpand_abbrev): New sym.
4291 (syms_of_cmds): Initialize it.
4292 (internal_self_insert): Use it to call expand-abbrev.
4293
4294 2003-07-09 Kim F. Storm <storm@cua.dk>
4295
4296 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
4297 was configured with --without-xim.
4298 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
4299
4300 2003-07-07 Richard M. Stallman <rms@gnu.org>
4301
4302 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
4303
4304 * alloc.c (Fgarbage_collect): Doc fix.
4305
4306 2003-07-07 Nozomu Ando <nand@mac.com> (tiny change)
4307
4308 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
4309
4310 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
4311
4312 * minibuf.c (read_minibuf): UNGCPRO before returning.
4313 (Ftry_completion, Fall_completions): Doc fix.
4314
4315 * alloc.c (live_float_p): Check that p is not past the `floats' array,
4316 now that `floats' is not the last element of the struct any more.
4317
4318 2003-07-06 Jason Rumney <jasonr@gnu.org>
4319
4320 * w32term.h (ClipboardSequence_Proc): New type.
4321
4322 * w32fns.c (clipboard_sequence_fn): New variable.
4323 (globals_of_w32fns): Initialize it.
4324
4325 * w32select.c (last_clipboard_sequence_number): New variable.
4326 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
4327 number if possible.
4328
4329 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
4330
4331 * m/amdx86-64.h (MARKBIT):
4332 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
4333 MARKBIT and ARRAY_MARK_FLAG any more.
4334
4335 * m/hp800.h (XSETMARKBIT):
4336 * m/sr2k.h (XSETMARKBIT):
4337 * lisp.h (XSETMARKBIT): Remove unused macro.
4338
4339 * lisp.h (mark_object): Change prototype.
4340
4341 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
4342 (last_marked): Change accordingly.
4343 (mark_interval, mark_maybe_object, mark_maybe_pointer)
4344 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
4345 (mark_buffer): Update calls to mark_object.
4346
4347 * bytecode.c (mark_byte_stack):
4348 * fns.c (sweep_weak_table):
4349 * keyboard.c (mark_kboards): Update calls to mark_object.
4350
4351 2003-07-06 Jason Rumney <jasonr@gnu.org>
4352
4353 * alloc.c (struct ablock): Only include padding when there is some.
4354
4355 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
4356
4357 * alloc.c (ALIGN): Add casts to simplify usage.
4358 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
4359 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
4360 (struct ablock, struct ablocks): New types.
4361 (free_ablock): New global var.
4362 (lisp_align_malloc, lisp_align_free): New functions.
4363 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
4364 (struct float_block): Reorder and add gcmarkbits.
4365 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
4366 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
4367 (init_float, make_float): Use lisp_align_malloc.
4368 (free_float, live_float_p): Don't use `type' any more.
4369 (make_float): Use FLOAT_UNMARK to access to mark bit.
4370 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
4371 Use FLOAT_MARKED_P to access the mark bit.
4372 (pure_alloc): Simplify use of ALIGN.
4373 (mark_object): Use FLOAT_MARK to access the mark bit.
4374 (gc_sweep): Use new macros to access the float's mark bit.
4375 (init_alloc_once): Init free_ablock.
4376
4377 * lisp.h (struct Lisp_Float): Remove unused field `type'.
4378
4379 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
4380
4381 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
4382 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
4383 (allocate_buffer): Move.
4384 (string_bytes): Don't mask markbit of `size_byte'.
4385 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
4386 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
4387 Use the `size' field of buffers (rather than the `name' field) for
4388 the mark bit, as is done for all other vectorlike objects.
4389 Use the new macros to access the mark bit of vectorlike objects.
4390
4391 2003-06-26 Richard M. Stallman <rms@gnu.org>
4392
4393 * puresize.h (BASE_PURESIZE): Increment base size.
4394
4395 * xdisp.c (fast_find_position): Enable Gerd's new definition.
4396
4397 * xterm.c (xim_initialize): Undo previous change.
4398
4399 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
4400
4401 * alloc.c (survives_gc_p): Simplify.
4402
4403 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
4404
4405 * window.c (Fset_window_dedicated_p): Simplify.
4406 (display_buffer_1): Don't raise the win from which minibuf was entered.
4407 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
4408 (Fminibuffer_selected_window): Simplify.
4409
4410 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
4411
4412 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
4413 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
4414
4415 * insdel.c (check_markers, adjust_markers_for_delete)
4416 (adjust_markers_for_insert, adjust_markers_for_replace)
4417 (prepare_to_modify_buffer, RESTORE_VALUE):
4418 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
4419 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
4420 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
4421 * alloc.c (Fmake_marker, free_marker, gc_sweep):
4422 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
4423 * editfns.c (save_excursion_restore, transpose_markers):
4424 * window.c (delete_window):
4425 * xdisp.c (message_dolog): Update for new types.
4426
4427 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4428
4429 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
4430 (realize_default_face): Use default_face_done_p for the force_p
4431 argument to set_lface_from_font_name. Set default_face_done_p to one.
4432
4433 * frame.c (make_frame): Initialize default_face_done_p.
4434
4435 * frame.h (struct frame): Add default_face_done_p.
4436
4437 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
4438 will be defined.
4439
4440 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
4441
4442 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
4443 Initialize the new field `gcmarkbit'.
4444 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
4445 (mark_interval_tree): Don't mark the tree separately from the nodes.
4446 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
4447 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
4448 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
4449
4450 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
4451 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
4452 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
4453 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
4454 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
4455
4456 2003-06-24 Dave Love <fx@gnu.org>
4457
4458 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
4459
4460 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
4461 from gnulib.
4462
4463 2003-06-21 Richard M. Stallman <rms@gnu.org>
4464
4465 * fileio.c (Fwrite_region): Alternate messages
4466 for append and partial write.
4467
4468 * keyboard.c (read_key_sequence): When converting upcase fn key to
4469 downcase, update fkey and keytran so `backspace' gets translated.
4470
4471 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
4472
4473 * process.c (wait_reading_process_input): Don't signal SIGIO
4474 in batch mode.
4475
4476 2003-06-17 Kenichi Handa <handa@m17n.org>
4477
4478 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
4479 composite.h.
4480
4481 * xselect.c: Don't include charset.h, coding.h, composite.h.
4482 (Qforeign_selection): New variable.
4483 (syms_of_xselect): Intern and static it.
4484 (selection_data_to_lisp_data): Return a unibyte string made from
4485 data with `foreign-selection' text property.
4486
4487 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
4488
4489 * termhooks.h (EVENT_INIT): New macro.
4490
4491 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
4492
4493 * alloc.c (mark_kboards): Move to keyboard.c.
4494
4495 * keyboard.c (record_asynch_buffer_change, read_avail_input):
4496 * xterm.c (x_dispatch_event):
4497 * xmenu.c (find_and_call_menu_selection):
4498 * xdisp.c (handle_tool_bar_click):
4499 * w32menu.c (menubar_selection_callback):
4500 * sysdep.c (kbd_input_ast, read_input_waiting):
4501 * msdos.c (dos_rawgetc):
4502 * macterm.c (mac_check_for_quit_char):
4503 * macmenu.c (menubar_selection_callback):
4504 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
4505 data to kbd_buffer_store_event.
4506
4507 2003-06-15 Kim F. Storm <storm@cua.dk>
4508
4509 * xdisp.c (x_fix_overlapping_area): Always use area relative X
4510 to fix redisplay problem with tall characters (such as \e,AC\e(B).
4511
4512 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
4513
4514 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
4515
4516 2003-06-12 Kenichi Handa <handa@m17n.org>
4517
4518 * fileio.c (Fwrite_region): Save and restore restriction.
4519
4520 2003-06-12 Dave Love <fx@gnu.org>
4521
4522 * alloca.c (alloca): Declare arg as size_t.
4523
4524 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
4525 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
4526
4527 2003-06-11 Dave Love <fx@gnu.org>
4528
4529 * search.c (shrink_regexp_cache): Use xrealloc.
4530 (syms_of_search): Use xmalloc.
4531
4532 2003-06-10 Kim F. Storm <storm@cua.dk>
4533
4534 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
4535 Adjust phys_cursor.x to be relative to window box, rather than
4536 text area before checking -- to ensure cursor is redrawn when
4537 exposing window.
4538 Note: This also fixes a similar (older) bug if display margins
4539 are present.
4540
4541 2003-06-06 Kenichi Handa <handa@m17n.org>
4542
4543 * coding.c (encoding_buffer_size): If coding->type is
4544 coding_type_ccl, double magnification on CRLF encoding.
4545
4546 2003-06-06 Jason Rumney <jasonr@gnu.org>
4547
4548 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
4549 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
4550
4551 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
4552 Mac too.
4553
4554 2003-06-05 Dave Love <fx@gnu.org>
4555
4556 * strftime.c: Merge changes from gnulib.
4557
4558 * mktime.c (__mktime_internal): Merge changes from gnulib
4559 involving year 69 and dst2.
4560
4561 Changes to merge with gnulib version and be consistent with the
4562 autoconf test:
4563
4564 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
4565 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
4566 [HAVE_LOCALE_H]: Include locale.h.
4567 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
4568
4569 2003-06-05 Kim F. Storm <storm@cua.dk>
4570
4571 * window.c (coordinates_in_window): Convert X and Y to window
4572 relative coordinates inside mode-line and header-line parts.
4573 Convert X and Y to margin area relative coordinates inside left
4574 and right display margin parts.
4575
4576 2003-06-05 Jason Rumney <jasonr@gnu.org>
4577
4578 * w32fns.c (add_system_logical_colors_to_map): New function.
4579 (Fx_open_connection): Use it.
4580
4581 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
4582
4583 * process.c (allocate_pty): Revert part of the previous patch.
4584 (Faccept_process_output): Simplify.
4585
4586 2003-06-04 Jason Rumney <jasonr@gnu.org>
4587
4588 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
4589
4590 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
4591 (lispy_mouse_wheel_names): Remove.
4592 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
4593 Always define drag_and_drop_syms.
4594
4595 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
4596 WHEEL_EVENT events.
4597
4598 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
4599
4600 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
4601
4602 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
4603
4604 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4605
4606 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
4607 menu item label.
4608
4609 2003-06-03 Richard M. Stallman <rms@gnu.org>
4610
4611 * window.c (Fwindow_edges): Doc fix.
4612 (Fwindow_pixel_edges, Fwindow_inside_edges)
4613 (Fwindow_inside_pixel_edges): New functions.
4614 (syms_of_window): defsubr them.
4615
4616 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
4617 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
4618
4619 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
4620
4621 * dispnew.c (Fsit_for): Don't lie about the number of args.
4622
4623 2003-06-02 Dave Love <fx@gnu.org>
4624
4625 * callproc.c: Use HAVE_FCNTL_H, not USG5.
4626 (syms_of_callproc) <process-environment>: Doc fix.
4627
4628 * doc.c: Use HAVE_FCNTL_H, not USG5.
4629
4630 * xfaces.c (font_rescale_ratio): Fix for K&R.
4631
4632 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
4633
4634 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
4635
4636 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
4637
4638 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
4639 (xg_create_frame_widgets): Use ENCODE_UTF_8.
4640
4641 * xterm.c (Qutf_8): Move to coding.c
4642
4643 * xmenu.c (ENCODE_MENU_STRING): New.
4644 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
4645 Use it.
4646
4647 * coding.h (ENCODE_UTF_8): New.
4648 (Qutf_8): Declare.
4649
4650 * coding.c (Qutf_8): New.
4651 (syms_of_coding): Intern it.
4652
4653 * fns.c: Doc fixes.
4654
4655 2003-06-02 Kenichi Handa <handa@m17n.org>
4656
4657 * buffer.c (Fset_buffer_multibyte): Fix previous change.
4658
4659 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
4660
4661 * lread.c (openp): Make sure STR is a string.
4662
4663 2003-06-01 David Ponce <david@dponce.com>
4664
4665 * termhooks.h (enum event_kind): Added new WHEEL_EVENT event.
4666 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
4667
4668 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
4669 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
4670 (discard_mouse_events): Discard WHEEL_EVENT events too.
4671 (lispy_wheel_names, wheel_syms): New.
4672 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
4673 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX
4674 defined.
4675 (make_lispy_event): Add WHEEL_EVENT handler.
4676
4677 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
4678 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
4679 WHEEL_EVENT events.
4680
4681 2003-05-31 John Paul Wallington <jpw@gnu.org>
4682
4683 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
4684 timer are in lisp/emacs-lisp.
4685
4686 2003-05-31 Kenichi Handa <handa@m17n.org>
4687
4688 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
4689 region when a buffer is changed to unibyte.
4690
4691 * charset.h (VALID_LEADING_CODE_P): New macro.
4692 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
4693
4694 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
4695 is nonzero, accept multibyte form of eight-bit-control chars.
4696 (decode_composition_emacs_mule): Likewise.
4697 (decode_coding_emacs_mule): Likewise.
4698 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
4699 multibyte form of eight-bit-control chars.
4700
4701 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
4702 (Finsert_file_contents): If coding-system-for-read is bound to
4703 Qauto_save_coding, use the coding system emacs-mule with special
4704 setting for recovering a file.
4705 (choose_write_coding_system): On auto saving, use the coding
4706 system emacs-mule with special setting for auto saving.
4707 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
4708
4709 2003-05-30 Kenichi Handa <handa@m17n.org>
4710
4711 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
4712 properly before calling ccl_driver.
4713
4714 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
4715
4716 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is
4717 nonzero.
4718 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
4719 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
4720
4721 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
4722
4723 * xfaces.c (realize_default_face): Do not abort if lface is
4724 non-existent - reverts change from 2003-05-19.
4725
4726 2003-05-29 Kenichi Handa <handa@m17n.org>
4727
4728 * coding.c (decode_coding_iso2022): Pay attention to the byte
4729 sequence of CTEXT extended segment, and retain those bytes as is.
4730
4731 2003-05-28 Kenichi Handa <handa@m17n.org>
4732
4733 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjusted for the name change
4734 of CODING_REPLACEMENT_CHARACTER.
4735 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
4736 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
4737 check this flag on encoding.
4738 (encode_coding_sjis_big5): Check
4739 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
4740 (Fset_terminal_coding_system_internal): Set
4741 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
4742 instead of setting CODING_FLAG_ISO_SAFE flag in
4743 terminal_coding.flags.
4744
4745 * coding.h (CODING_REPLACEMENT_CHARACTER): Renamed from
4746 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
4747 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
4748
4749 2003-05-28 Richard M. Stallman <rms@gnu.org>
4750
4751 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
4752
4753 * eval.c (unbind_to): Move init of this_binding to separate statement.
4754
4755 2003-05-28 Kim F. Storm <storm@cua.dk>
4756
4757 * xdisp.c (expose_window): Fix error in calculation of
4758 window relative coordinates of area to redisplay.
4759
4760 2003-05-27 Jason Rumney <jasonr@gnu.org>
4761
4762 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
4763
4764 2003-05-27 David Ponce <david@dponce.com>
4765
4766 Handle W32 mouse wheel events as mouse click events, like in X.
4767
4768 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
4769 MOUSE_WHEEL_EVENT anymore.
4770
4771 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
4772 Scrolling down/up the mouse wheel is respectively mapped to mouse
4773 button 4 and 5.
4774 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
4775 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
4776 WM_MOUSEWHEEL events.
4777
4778 2003-05-27 Andreas Schwab <schwab@suse.de>
4779
4780 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
4781
4782 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
4783 partially visible line.
4784
4785 * alloc.c (Fgarbage_collect): Fix last change.
4786
4787 2003-05-26 John Paul Wallington <jpw@gnu.org>
4788
4789 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
4790
4791 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
4792
4793 * window.c (Fset_window_buffer): Add type of `keep_margins'.
4794 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
4795
4796 * window.h (window_box_text_cols): Declare.
4797
4798 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
4799 (x_draw_vertical_border): Remove unused var `f'.
4800
4801 * xfaces.c (build_scalable_font_name): Remove `unused var
4802 pixel_size' warning.
4803
4804 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
4805
4806 * unexelf.c (unexec): Remove `unused var n' warning.
4807
4808 * strftime.c (my_strftime_localtime_r): Remove `defined but
4809 unused' warning.
4810
4811 * process.c (allocate_pty): Remove `unused var stb' and
4812 `cp might be used uninitialized' warnings.
4813
4814 * dispnew.c (mode_line_string): Remove unused var `f'.
4815
4816 * coding.c (find_safe_codings): Remove unused var `i'.
4817
4818 * bytecode.c (Fbyte_code): Remove `unused val' warning.
4819
4820 * buffer.c (Fkill_buffer): Remove unused var `list'.
4821
4822 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
4823
4824 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4825
4826 * frame.c (make_frame): Condition want_fullscreen with
4827 HAVE_WINDOW_SYSTEM.
4828
4829 2003-05-25 Juanma Barranquero <lektu@terra.es>
4830
4831 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
4832 (Fwindow_scroll_bars): Fix typo in docstring.
4833
4834 2003-05-24 Kim F. Storm <storm@cua.dk>
4835
4836 The following changes serve several purposes:
4837
4838 1) Swap the position of fringes and display margins in windows, i.e.
4839 the fringes are now displayed between the margins and the text area
4840 (by default).
4841
4842 2) Allow fringe and scroll bar parameters to be set per-buffer and
4843 per-window (like display margins). Such settings are now stored
4844 in window configurations, preserved when frames are resized, and
4845 copied when windows are split vertically or horizontally.
4846 Several bugs related to display margins have been fixed.
4847
4848 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
4849
4850 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
4851 rather than FRAME_WIDTH (FRAME_FONT (f)).
4852
4853 5) Introduce a consistent naming of variables, members and macros
4854 depending on whether their value is measured in pixels or in
4855 canonical columns/lines. Pixel dimensions are named *_width and
4856 *_height, while canonical columns/lines are named *_cols and
4857 *_lines. Pixel positions are named *_x and *_y, while column/line
4858 positions are named *_col and *_line.
4859
4860 6) Consolidate more of the X, W32, and MAC gui code by moving
4861 common data into struct frame, and generalize it for the non-gui
4862 case by using suitable defaults.
4863
4864 7) Cleanup and consolidate the macros controlling frame and window
4865 layout into frame.h and window.h, and generalize the use of the
4866 various window_box_* functions (enhanced to handle the new fringe
4867 position and the per-window fringe and scroll bar settings).
4868
4869 * frame.h (struct frame): Rename members height to text_lines,
4870 width to text_cols, window_height to total_lines, window_width to
4871 total_cols, new_height to new_text_lines, new_width to
4872 new_text_cols. All uses changed.
4873 (struct frame): New members which consolidate common members of
4874 x_output, w32_output, and mac_output structures: left_pos,
4875 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
4876 win_gravity, size_hint_flags, border_width, internal_border_width,
4877 line_height, fringe_cols, left_fringe_width, right_fringe_width,
4878 want_fullscreen. All uses changed.
4879 (struct frame): New member column_width contaning the canonical
4880 column width, analogue to line_height. All uses changed.
4881 (struct frame): Rename members scroll_bar_pixel_width to
4882 config_scroll_bar_width, and scroll_bar_cols to
4883 config_scroll_bar_cols. All uses changed.
4884 (struct frame): New member scroll_bar_actual_width which
4885 consolidates and renames the vertical_scroll_bar_extra member of
4886 x_output, w32_output, and mac_output structures. All uses changed.
4887 (FRAME_PIXEL_HEIGHT): Renamed from PIXEL_HEIGHT and moved
4888 from x/w32/macterm.h files. All uses changed. Also change code
4889 which referred to f->output_data...->pixel_height.
4890 (FRAME_PIXEL_WIDTH): Renamed from PIXEL_WIDTH and moved
4891 from x/w32/macterm.h files. All uses changed. Also change code
4892 which referred to f->output_data...->pixel_width.
4893 (FRAME_LINES): Renamed from FRAME_HEIGHT. All uses changed.
4894 Also change code which referred to f->height.
4895 (FRAME_COLS): Renamed from FRAME_WIDTH. All uses changed.
4896 Also change code which referred to f->width.
4897 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
4898 to update new_text_lines and new_text_cols members directly.
4899 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Renamed from
4900 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
4901 (FRAME_CONFIG_SCROLL_BAR_COLS): Renamed from
4902 FRAME_SCROLL_BAR_COLS. All uses changed.
4903 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
4904 Renamed from FRAME_LEFT_SCROLL_BAR_WIDTH and
4905 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
4906 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
4907 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
4908 (FRAME_TOTAL_COLS): Renamed from FRAME_WINDOW_WIDTH.
4909 (SET_FRAME_COLS): Renamed from SET_FRAME_WIDTH.
4910 (FRAME_TOTAL_COLS_ARG): Renamed from FRAME_WINDOW_WIDTH_ARG.
4911 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
4912 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
4913 (FRAME_LINE_HEIGHT): Renamed from CANON_Y_UNIT. Unconditionally
4914 return line_height member (it now has proper value also for
4915 non-window frames).
4916 (FRAME_COLUMN_WIDTH): Renamed from CANON_X_UNIT. Unconditionally
4917 return new column_width member (rather than the default font width).
4918 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
4919 (FRAME_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_... and moved
4920 from x/w32/macterm.h files. Unconditionally return corresponding
4921 member of frame structure (they now have proper values also for
4922 non-window frames).
4923 (FRAME_TOTAL_FRINGE_WIDTH): Renamed from FRAME_FRINGE_WIDTH.
4924 Calculate return value from left and right widths.
4925 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
4926 internal_border_width member (has proper value for non-window frame).
4927 (FRAME_PIXEL_X_FROM_CANON_X): Renamed from PIXEL_X_FROM_CANON_X.
4928 (FRAME_PIXEL_Y_FROM_CANON_Y): Renamed from PIXEL_Y_FROM_CANON_Y.
4929 (FRAME_CANON_X_FROM_PIXEL_X): Renamed from CANON_X_FROM_PIXEL_X.
4930 (FRAME_CANON_Y_FROM_PIXEL_Y): Renamed from CANON_Y_FROM_PIXEL_Y.
4931 (FRAME_LINE_TO_PIXEL_Y): Renamed from CHAR_TO_PIXEL_ROW,
4932 consolidated from xterm.h, macterm.h, and w32term.h.
4933 (FRAME_COL_TO_PIXEL_X): Renamed from CHAR_TO_PIXEL_COL,
4934 consolidated from xterm.h, macterm.h, and w32term.h.
4935 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Renamed from
4936 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
4937 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Renamed from
4938 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
4939 (FRAME_PIXEL_Y_TO_LINE): Renamed from PIXEL_TO_CHAR_ROW
4940 consolidated from x/mac/w32term.h.
4941 (FRAME_PIXEL_X_TO_COL): Renamed from PIXEL_TO_CHAR_COL
4942 consolidated from x/mac/w32term.h.
4943 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Renamed from
4944 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
4945 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Renamed from
4946 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
4947
4948 * window.h (struct window): Rename members left to left_col,
4949 top to top_line, height to total_lines, width to total_cols,
4950 left_margin_width to left_margin_cols, right_margin_width to
4951 right_margin_cols, orig_height to orig_total_lines, orig_top to
4952 orig_top_line. All uses changed.
4953 (struct window): New members left_fringe_width, right_fringe_width,
4954 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
4955 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
4956 New macros primarily used to simplify other macros.
4957 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
4958 referred to XINT (w->width).
4959 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
4960 referred to XINT (w->height).
4961 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
4962 referred to XINT (w->width) * canon_x_unit.
4963 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
4964 referred to XINT (w->height) * canon_y_unit.
4965 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
4966 referred to XINT (w->left).
4967 (WINDOW_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_EDGE. Change
4968 all uses and code that referred to XINT (w->left) + XINT (w->width).
4969 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
4970 referred to XINT (w->top).
4971 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
4972 referred to XINT (w->top) + XINT (w->height).
4973 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
4974 referred to XINT (w->left) * canon_x_unit.
4975 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
4976 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
4977 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
4978 referred to XINT (w->top) * canon_y_unit.
4979 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
4980 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
4981 (WINDOW_LEFTMOST_P): New macro.
4982 (WINDOW_BOX_LEFT_EDGE_COL): Renamed from WINDOW_LEFT_MARGIN.
4983 All uses changed.
4984 (WINDOW_BOX_RIGHT_EDGE_COL): Renamed from WINDOW_RIGHT_MARGIN.
4985 All uses changed.
4986 (WINDOW_BOX_LEFT_EDGE_X): Renamed from
4987 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
4988 Do not exclude left fringe width.
4989 (WINDOW_BOX_RIGHT_EDGE_X): Renamed from
4990 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
4991 Do not exclude fringe widths.
4992 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
4993 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
4994 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
4995 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
4996 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
4997 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
4998 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
4999 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
5000 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
5001 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
5002 New macros. Change code which referenced corresponding
5003 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
5004 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
5005 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
5006 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
5007 allow per-window scroll-bar settings.
5008 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
5009 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
5010 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
5011 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
5012 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
5013 FRAME_SCROLL_BAR_WIDTH.
5014 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
5015 (WINDOW_SCROLL_BAR_AREA_X): New macros.
5016 (WINDOW_HEADER_LINE_HEIGHT): Renamed from
5017 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
5018 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Renamed from
5019 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
5020 (WINDOW_BOX_TEXT_HEIGHT): Renamed from
5021 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
5022 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
5023 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
5024 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Moved here from dispextern.h.
5025 (WINDOW_LEFT_MARGIN_WIDTH): Renamed from
5026 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
5027 (WINDOW_RIGHT_MARGIN_WIDTH): Renamed from
5028 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
5029 (window_from_coordinates): Update prototype.
5030 (Fset_window_buffer): Update EXFUN.
5031 (set_window_buffer): Update prototype.
5032
5033 * dispextern.h (struct glyph_matrix): Rename members window_left_x
5034 to window_left_col, window_top_y to window_top_line. All uses
5035 changed.
5036 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
5037 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
5038 internal_border_width is now set to 0 for non-window frames.
5039 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
5040 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
5041 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
5042 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
5043 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
5044 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
5045 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
5046 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
5047 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
5048 Move to window.h and renamed [see window.h changes].
5049 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
5050 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
5051 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
5052 Use WINDOW_TOTAL_LINES.
5053 (frame_update_line_height): Remove prototype.
5054
5055 * buffer.h (struct buffer): Rename members measured in columns:
5056 left_margin_width to left_margin_cols, right_margin_width to
5057 right_margin_cols. All uses changed.
5058 New members left_fringe_width, right_fringe_width,
5059 fringes_outside_margins for per-buffer fringe settings.
5060 New members scroll_bar_width and vertical_scroll_bar_type for
5061 per-buffer scroll bar settings.
5062
5063 * buffer.c (init_buffer_once): Set buffer_defaults and
5064 buffer_local_flags for new buffer-local variables
5065 left_fringe_width, right_fringe_width, fringes_outside_margins,
5066 scroll_bar_width, and vertical_scroll_bar_type.
5067 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
5068 default-* variables for them.
5069
5070 * dispnew.c: Make (many) trivial substitutions for renamed and
5071 new macros in dispextern.h, frame.h and window.h.
5072 (mode_line_string): No need to adjust width for mode lines, as it
5073 is already adjusted by the caller.
5074 (marginal_area_string): Handle fringes inside/outside margins.
5075
5076 * frame.c: Make (many) trivial substitutions for renamed and
5077 new macros in dispextern.h, frame.h and window.h.
5078 (make_frame): Initialize left_fringe_width, right_fringe_width,
5079 fringe_cols, scroll_bar_actual_width, border_width,
5080 internal_border_width, column_width, line_height, x_pixels_diff,
5081 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
5082 members with values suitable for a non-window frames.
5083
5084 * gtkutil.c: Make (many) trivial substitutions for renamed and
5085 new macros in dispextern.h, frame.h and window.h.
5086
5087 * indent.c: Make (few) trivial substitutions for renamed and
5088 new macros in dispextern.h, frame.h and window.h.
5089
5090 * keyboard.c: Make (many) trivial substitutions for renamed and
5091 new macros in dispextern.h, frame.h and window.h.
5092 (make_lispy_event): Use window positions returned from
5093 window_from_coordinates when constructing the lisp event for
5094 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
5095 (incorrect) values locally.
5096 (make_lispy_movement): Use window positions returned from
5097 window_from_coordinates when constructing the lisp event, rather
5098 than calculating (incorrect) values locally.
5099
5100 * scroll.c: Make (some) trivial substitutions for renamed and
5101 new macros in dispextern.h, frame.h and window.h.
5102
5103 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
5104 scroll-bars.
5105
5106 * sysdep.c: Make (few) trivial substitutions for renamed and
5107 new macros in dispextern.h, frame.h and window.h.
5108
5109 * term.c: Make (some) trivial substitutions for renamed and
5110 new macros in dispextern.h, frame.h and window.h.
5111
5112 * widget.c: Make (few) trivial substitutions for renamed and
5113 new macros in dispextern.h, frame.h and window.h.
5114
5115 * window.c: Make (many) trivial substitutions for renamed and
5116 new macros in dispextern.h, frame.h and window.h.
5117 (make_window): Initialize new members
5118 left_margin_cols, right_margin_cols, left_fringe_width,
5119 right_fringe_width, fringes_outside_margins, scroll_bar_width,
5120 and vertical_scroll_bar_type.
5121 (coordinates_in_window): Adapted to new fringe/margin positions
5122 and per-window fringes and scroll-bars.
5123 Fix bug related to incorrectly adjusting coordinates by
5124 frame's internal_border_width (the effect normally negible since
5125 the internal_border_width is typically 0 or 1 pixel, but very
5126 noticeable for an internal_border_width of e.g. 25 pixels).
5127 Upon successful return (other than ON_NOTHING), the coordinates
5128 are now always properly converted to window relative for the
5129 given display element.
5130 (window_from_coordinates): Add new parameters wx and wy to
5131 return the window relative x and y position in the returned
5132 window and part. A null arg means, don't return the position.
5133 All callers changed.
5134 (adjust_window_margins): New function which may reduce the width
5135 of the display margins if a window's text area is too small after
5136 resizing or splitting windows.
5137 (size_window): Fix bug that did not account for display margin
5138 widths when checking the minimum width of a window; use
5139 adjust_window_margins.
5140 (set_window_buffer): Call Fset_window_fringes and
5141 Fset_window_scroll_bars to setup per-window elements.
5142 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
5143 existing display margin, fringe widths, and scroll bar settings
5144 (e.g. after splitting a window or resizing the frame).
5145 All callers changed.
5146 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
5147 (Fsplit_window): Duplicate original window's display margin,
5148 fringe, and scroll-bar settings; then call Fset_window_buffer with
5149 KEEP_MARGINS non-nil. This fixes a bug which caused a split
5150 window to only preserve the display margins in one of the windows.
5151 When splitting horizontally, call adjust_window_margins on both
5152 windows to ensure that the text area of the new windows is non too
5153 narrow. This fixes a bug which could cause Emacs to trap if the
5154 width of the split window was less than the width of the display
5155 margins.
5156 (window_box_text_cols): Renamed from window_internal_width.
5157 All uses changed. Adapt to per-window fringes and scroll bars.
5158 Fix bug that caused vertical separator to be subtracted also on
5159 window frames. Fix another bug that did not reduce the returned
5160 value by the columns used for display margins.
5161 (window_scroll_line_based): Fix bug related to scrolling too much
5162 when display margins are present (implicitly fixed by the fix to
5163 window_box_text_cols).
5164 (scroll_left, scroll_right): Fix bug related to scrolling too far
5165 by default when display margins are present (implicitly fixed by
5166 the fix to window_box_text_cols).
5167 (struct saved_window): Rename members left to left_col, top to
5168 top_line, width to total_cols, height to total_lines, orig_top to
5169 orig_top_line, orig_height to orig_total_lines. All uses changed.
5170 New members left_margin_cols, right_margin_cols,
5171 left_fringe_width, right_fringe_width, fringes_outside_margins,
5172 scroll_bar_width, and vertical_scroll_bar_type for saving
5173 per-window display elements.
5174 (Fset_window_configuration): Restore display margins, fringes,
5175 and scroll bar settings. This fixes a bug which caused display
5176 margins to be discarded when saving and restoring a window
5177 configuration.
5178 (save_window_save): Save display margins, fringes, and scroll bar
5179 settings. This fixes a bug which caused display margins to be
5180 discarded when saving and restoring a window configuration.
5181 (Fset_window_margins): Do nothing if display margins are not
5182 really changed. Otherwise, call adjust_window_margins to ensure
5183 the text area doesn't get too narrow. This fixes a bug which
5184 could cause Emacs to trap if setting display margins wider than
5185 the width of the window.
5186 (Fset_window_fringes): New defun to allow user to specifically set
5187 this window's fringe widths and position vs. display margins.
5188 (Fwindow_fringes): New defun to return window's actual fringe
5189 settings.
5190 (Fset_window_scroll_bars): New defun to allow user to specifically
5191 set this window's scroll bar width and position.
5192 (Fwindow_scroll_bars): New defun to return window's actual scroll
5193 bar settings.
5194 (compare_window_configurations): Also compare display margins,
5195 fringes, and scroll bar settings.
5196 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
5197
5198 * xdisp.c: Make (many) trivial substitutions for renamed and
5199 new macros in dispextern.h, frame.h and window.h.
5200 (window_box_width): Adapt to per-window fringes and scroll bars,
5201 and new fringe vs. display margin position. Note that returned
5202 value is no longer guaranteed to be a whole multiple of the frame
5203 column width, since per-window fringes may now be any width.
5204 (window_box_left_offset): New function like window_box_left, but
5205 value is relative to left border of window (rather than frame).
5206 (window_box_right_offset): New function like window_box_right,
5207 but value is relative to left border of window.
5208 (window_box_left): Adapt to per-window fringes and scroll bars,
5209 and new fringe vs. display margin position. Simplify by using
5210 WINDOW_LEFT_EDGE_X and window_box_left_offset.
5211 (window_box): Allow null args for unnecessary return values;
5212 change/simplify relevant callers.
5213 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
5214 and new fringe vs. display margin position.
5215 Use window_box_left_offset and window_box_right_offset
5216 (get_glyph_string_clip_rect): Adapt to per-window fringes and
5217 scroll bars, and new fringe vs. display margin position.
5218 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
5219 (draw_fringe_bitmap): Rework to handle per-window fringes and new
5220 fringe vs. display margin position.
5221 (hscroll_window_tree): Use window_box_width instead of window_box.
5222 (redisplay_window): Adapt to per-window scroll bars.
5223 (draw_glyphs): Rework to handle per-window fringes and scroll
5224 bars, and new fringe vs. display margin position.
5225 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
5226 (x_clear_end_of_line): Adapt to per-window fringes and scroll
5227 bars, and new fringe vs. display margin position. Fix bug which
5228 increased total width of full_width rows by width of scroll bars
5229 although window's total width already includes that.
5230 (x_fix_overlapping_area): Simplify using window_box_left_offset.
5231 (expose_area): Simplify using window_box_left_offset.
5232 (x_draw_vertical_border): Handle per-window scroll bar settings,
5233 mixing windows with left, right and no scroll bars.
5234
5235 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
5236 where it's used in x_list_fonts (for clarity).
5237 (frame_update_line_height): Remove unused function; functionality
5238 is now done directly when setting the default font in x_set_font.
5239
5240 * xfns.c: Make (many) trivial substitutions for renamed and
5241 new macros in dispextern.h, frame.h and window.h.
5242
5243 * xmenu.c: Make (some) trivial substitutions for renamed and
5244 new macros in dispextern.h, frame.h and window.h.
5245
5246 * xterm.h (struct x_output): Move members left_pos, top_pos,
5247 border_width, pixel_height, pixel_width, line_height,
5248 internal_border_width, vertical_scroll_bar_extra,
5249 left_fringe_width, right_fringe_width, fringe_cols,
5250 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
5251 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
5252 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
5253 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
5254 (PIXEL_WIDTH, PIXEL_HEIGHT)
5255 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
5256 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
5257 frame.h and renamed [see frame.h changes].
5258 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
5259 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
5260 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
5261 and renamed [see frame.h changes].
5262
5263 * xterm.c: Make (several) trivial substitutions for renamed and
5264 new macros in dispextern.h, frame.h and window.h.
5265 (x_draw_glyph_string_box): Adapt to per-window fringes and
5266 scroll-bars.
5267 (scroll_run): Adapt to new fringe position.
5268 (glyph_rect): Use window coordinates returned from
5269 window_from_coordinates rather than frame_to_window_pixel_xy.
5270 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
5271 scroll-bars.
5272 (handle_one_xevent): Simplify a USE_GTK conditional.
5273 (x_clip_to_row): Remove superfluous whole_line_p arg and code
5274 (fringes are now inside margins, i.e. always in the clipping area).
5275 All callers changed.
5276 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
5277 directly, then call compute_fringe_widths. Don't call
5278 frame_update_line_height.
5279
5280 * w32term.h (struct w32_output): Move members left_pos, top_pos,
5281 border_width, pixel_height, pixel_width, line_height,
5282 internal_border_width, vertical_scroll_bar_extra,
5283 left_fringe_width, right_fringe_width, fringe_cols,
5284 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
5285 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
5286 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
5287 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
5288 (PIXEL_WIDTH, PIXEL_HEIGHT)
5289 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
5290 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
5291 frame.h and renamed [see frame.h changes].
5292 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
5293 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
5294 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
5295 and renamed [see frame.h changes].
5296
5297 * w32term.c: Make (several) trivial substitutions for renamed and
5298 new macros in dispextern.h, frame.h and window.h.
5299 (x_draw_glyph_string_box): Adapt to per-window fringes and
5300 scroll-bars.
5301 (glyph_rect): Use window coordinates returned from
5302 window_from_coordinates rather than frame_to_window_pixel_xy.
5303 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
5304 scroll-bars.
5305 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
5306 (fringes are now inside margins, i.e. always in the clipping area).
5307 All callers changed.
5308 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
5309 directly, then call compute_fringe_widths. Don't call
5310 frame_update_line_height.
5311
5312 * w32console.c: Make (few) trivial substitutions for renamed and
5313 new macros in dispextern.h, frame.h and window.h.
5314
5315 * w32fns.c: Make (many) trivial substitutions for renamed and
5316 new macros in dispextern.h, frame.h and window.h.
5317
5318 * w32menu.c: Make (few) trivial substitutions for renamed and
5319 new macros in dispextern.h, frame.h and window.h.
5320
5321 * macterm.h (struct mac_output): Move members left_pos, top_pos,
5322 border_width, pixel_height, pixel_width, line_height,
5323 internal_border_width, vertical_scroll_bar_extra,
5324 left_fringe_width, right_fringe_width, fringe_cols,
5325 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
5326 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
5327 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
5328 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
5329 (PIXEL_WIDTH, PIXEL_HEIGHT)
5330 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
5331 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Moved to
5332 frame.h and renamed [see frame.h changes].
5333 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
5334 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
5335 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Moved to frame.h
5336 and renamed [see frame.h changes].
5337
5338 * macterm.c: Make (several) trivial substitutions for renamed and
5339 new macros in dispextern.h, frame.h and window.h.
5340 (x_draw_glyph_string_box): Adapt to per-window fringes and
5341 scroll-bars.
5342 (glyph_rect): Use window coordinates returned from
5343 window_from_coordinates rather than frame_to_window_pixel_xy.
5344 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
5345 scroll-bars.
5346 (x_clip_to_row): Remove superfluous whole_line_p arg and code
5347 (fringes are now inside margins, i.e. always in the clipping area).
5348 All callers changed.
5349 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
5350 directly, then call compute_fringe_widths. Don't call
5351 frame_update_line_height.
5352
5353 * macfns.c: Make (several) trivial substitutions for renamed and
5354 new macros in dispextern.h, frame.h and window.h.
5355 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
5356
5357 * macmenu.c: Make (few) trivial substitutions for renamed and
5358 new macros in dispextern.h, frame.h and window.h.
5359
5360 * msdos.h (struct x_output): Remove members left_pos, top_pos,
5361 and line_height, and use corresponding new members in struct
5362 frame. All uses changed.
5363 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
5364 superseeded by corresponding macros in frame.h.
5365
5366 * msdos.c: Make (several) trivial substitutions for renamed and
5367 new macros in dispextern.h, frame.h and window.h.
5368 (IT_note_mouse_highlight): Use updated window coordinates returned
5369 by window_from_coordinates, rather than adjusting them locally.
5370 (internal_terminal_init): No need to initialize line_height here;
5371 it now defaults to 1.
5372
5373 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
5374
5375 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
5376 dropping `down' events.
5377
5378 2003-05-24 Andreas Schwab <schwab@suse.de>
5379
5380 * coding.c (find_safe_codings): Fix last change.
5381
5382 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
5383
5384 * xfns.c (x_window): Fix typo from 2003-05-21 change.
5385
5386 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
5387
5388 * xdisp.c (display_mode_element): Increase max depth.
5389 Simplify the error handling code. Use a different error string
5390 for the case where we hit the depth limit.
5391
5392 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
5393
5394 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
5395
5396 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
5397
5398 * intervals.c (get_local_map): Don't get char-property of previous
5399 point any more: get_pos_property already does it and better.
5400
5401 2003-05-21 Dave Love <fx@gnu.org>
5402
5403 [Merged from unicode branch.]
5404
5405 * xfns.c (x_window, x_window): Use use_xim.
5406
5407 * xterm.c (use_xim): Initialize.
5408 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
5409 (x_term_init): Maybe set use_xim.
5410
5411 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
5412
5413 2003-05-21 Jason Rumney <jasonr@gnu.org>
5414
5415 * unexw32.c (_start): Remove _fmode initialization.
5416
5417 * emacs.c (main) [WINDOWSNT]: Move it here.
5418
5419 2003-05-20 Dave Love <fx@gnu.org>
5420
5421 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
5422
5423 2003-05-19 Richard M. Stallman <rms@gnu.org>
5424
5425 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
5426 as value for QCfont attribute.
5427 (realize_default_face): lface should already exist; crash if not.
5428 Specify 0 for FORCE_P when calling set_lface_from_font_name.
5429
5430 * frame.c (Fignore_event): Doc fix.
5431
5432 2003-05-19 Kenichi Handa <handa@m17n.org>
5433
5434 * coding.c (decode_coding_string): Handle post-read-conversion
5435 even if the coding doesn't require decoding.
5436
5437 2003-05-18 Richard M. Stallman <rms@gnu.org>
5438
5439 * callproc.c (Fcall_process_region): Doc fix.
5440
5441 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
5442
5443 * lread.c (Fload): Print a message if package is obsolete.
5444
5445 * window.c (Fselect_window): Add optional `norecord' arg.
5446 (select_window_1): Fold into Fselect_window.
5447 (select_window_norecord): New function.
5448 (temp_output_buffer_show): Use it. Preserve current buffer.
5449
5450 * window.h (Fselect_window): Update declaration.
5451
5452 * window.c (delete_window, Fother_window, Fset_window_configuration):
5453 * minibuf.c (read_minibuf):
5454 * macterm.c (x_new_focus_frame):
5455 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
5456 * callint.c (Fcall_interactively):
5457 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
5458
5459 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
5460
5461 2003-05-17 David Kastrup <dak@gnu.org>
5462
5463 * process.c (read_process_output): Back out change from 2003-03-09.
5464
5465 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
5466
5467 * editfns.c (get_pos_property): Don't assume that `object' = nil.
5468
5469 * textprop.c (text_property_stickiness): New arg `buffer'.
5470
5471 * intervals.h (text_property_stickiness): New arg `buffer'.
5472 (get_pos_property): Declare.
5473
5474 * intervals.c (get_local_map): Use get_pos_property, to obey
5475 stickiness and empty overlays.
5476 (create_root_interval, graft_intervals_into_buffer): Use BEG.
5477 (merge_properties, intervals_equal, merge_properties_sticky):
5478 Use XCAR, XCDR.
5479 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
5480
5481 2003-05-17 Richard M. Stallman <rms@gnu.org>
5482
5483 * minibuf.c (read_minibuf): If buffer is empty, record the default
5484 in the history.
5485 (Fminibuffer_complete_word): When deleting the overlap, take account
5486 of its real position.
5487
5488 * fns.c (map_char_table): Fix previous change.
5489
5490 * syntax.c (find_defun_start):
5491 When open_paren_in_column_0_is_defun_start,
5492 return beginning of buffer.
5493
5494 * lisp.h (map_char_table): Declare added arg.
5495
5496 * fns.c (map_char_table): New arg TABLE gets the master table.
5497 All calls changed.
5498 Process default and inheritance, resorting to Faref if necessary.
5499
5500 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
5501 (Faccessible_keymaps): Pass new arg to map_char_table.
5502
5503 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
5504
5505 * casetab.c (set_case_table): Pass new arg to map_char_table.
5506
5507 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
5508
5509 * lisp.h (specbinding_func): New typedef.
5510 (struct specbinding): Use specbinding_func, to put the `volatile'
5511 in the right place.
5512
5513 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
5514 to avoid GCC warning.
5515
5516 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org> (tiny change)
5517
5518 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
5519
5520 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
5521
5522 * keyboard.c (apply_modifiers): Don't fill the other cache.
5523
5524 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
5525
5526 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
5527
5528 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
5529 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
5530 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
5531 (Fset_window_configuration, Fcurrent_window_configuration)
5532 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
5533 (Fpos_visible_in_window_p, mark_window_cursors_off)
5534 (window_internal_height, window_internal_width, Frecenter)
5535 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
5536 (replace_buffer_in_all_windows, init_window_once, init_window)
5537 (syms_of_window, keys_of_window): Move from lisp.h.
5538 * lisp.h: Move window.c declarations to window.h.
5539
5540 * bytecode.c: Include window.h.
5541 * emacs.c: Include window.h.
5542
5543 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
5544 (keyremap): Add `parent' field.
5545 (keyremap_step): Use it. Remove `parent' argument.
5546 (read_key_sequence): Setup and use the new `parent' field.
5547
5548 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
5549
5550 * keyboard.c (adjust_point_for_property): Ensure termination.
5551
5552 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
5553
5554 * keyboard.c (follow_key): Remove dead variable `did_meta'.
5555 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
5556 duplicated handling of function-key-map and key-translation-map
5557 in read_key_sequence.
5558 (read_key_sequence): Use them.
5559
5560 * keyboard.c (adjust_point_for_property): Try harder to move point
5561 to the non-sticky end of an invisible property.
5562
5563 * xdisp.c (single_display_prop_intangible_p): Make `space' display
5564 property intangible as well.
5565
5566 2003-05-10 Andreas Schwab <schwab@suse.de>
5567
5568 * xmenu.c (single_menu_item): Change last parameter to void* to
5569 avoid warning.
5570
5571 2003-05-09 Richard M. Stallman <rms@gnu.org>
5572
5573 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
5574 Bind Qinhibit_modification_hooks to t so there will be no GC.
5575 Rename local `tem' to `save_deactivate_mark'.
5576
5577 * eval.c (specpdl_ptr): Declare volatile.
5578 (unbind_to): Copy the whole binding and decrement specpdl_ptr
5579 before doing the work of unbinding it.
5580
5581 * lisp.h (struct specbinding): Declare elements volatile.
5582 (specpdl_ptr): Declare volatile.
5583
5584 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
5585
5586 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
5587 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
5588
5589 2003-05-08 Dave Love <fx@gnu.org>
5590
5591 * coding.c (Vlast_coding_system_used): Doc fix.
5592
5593 2003-05-07 Jason Rumney <jasonr@gnu.org>
5594
5595 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
5596 when system does not support them.
5597
5598 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
5599
5600 * fileio.c (Qwrite_region_annotate_functions): New var.
5601 (build_annotations): Use it to process the global part of the hook.
5602 (syms_of_fileio): Init and staticpro it.
5603
5604 * keyboard.c (safe_run_hooks_error): Display a message instead of
5605 silently ignoring the error.
5606
5607 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
5608
5609 * keyboard.c (input_available_signal): Mark static.
5610 (menu_bar_items): Use map_keymap.
5611 (menu_bar_one_keymap): Remove.
5612 (menu_bar_item): Adjust arglist (for use in map_keymap).
5613 Properly hide a second binding when not both are keymaps.
5614
5615 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
5616 (single_keymap_panes): Use it and map_keymap.
5617 (single_menu_item): Use skp as well.
5618
5619 * keymap.h (map_keymap_function_t): New type.
5620 (map_keymap): Declare.
5621
5622 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
5623 (map_keymap_call, Fmap_keymap): New functions.
5624 (syms_of_keymap): Defsubr map-keymap.
5625
5626 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5627
5628 * gtkutil.c (create_dialog, make_widget_for_menu_item)
5629 (make_menu_item, create_menus, xg_update_menu_item): Don't call
5630 ..._with_mnemonic functions for menu items.
5631
5632 2003-05-01 Kenichi Handa <handa@m17n.org>
5633
5634 * coding.c (coding_system_accept_latin_extra_p): Delete this
5635 function.
5636 (find_safe_codings): Pay attention to
5637 the property tranlsation-table-for-encode of each codings.
5638 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
5639
5640 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
5641
5642 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
5643
5644 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
5645
5646 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
5647
5648 * lisp.h (CHECK): Wrap args in parenthesis.
5649 (specbind): Fix doc: symbol = Qnil is not supported any more.
5650
5651 * bytecode.c (Fbyte_code) <unwind-protect>:
5652 Use Fprogn rather than 0 and Qnil.
5653
5654 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
5655 `double', and `triple' modifiers as well.
5656
5657 2003-04-30 Richard M. Stallman <rms@gnu.org>
5658
5659 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
5660
5661 * alloc.c (abort_on_gc): New variable.
5662 (Fgarbage_collect): Abort if abort_on_gc is set.
5663
5664 * lisp.h (abort_on_gc): Add decl.
5665
5666 * eval.c (Fsignal): Clear abort_on_gc.
5667
5668 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
5669 Reinit FORMAT_START and END before second scan.
5670
5671 * xdisp.c (move_it_vertically_backward): Do the final big else
5672 even if nlines is 0.
5673
5674 * xdisp.c (redisplay_internal): Finish the per-frame loop
5675 even if redisplay is suspended by input.
5676
5677 2003-04-24 Andrew Choi <akochoi@shaw.ca>
5678
5679 * macterm.c (x_list_fonts): Return all fonts that match if
5680 maxnames = -1.
5681
5682 2003-04-25 Kenichi Handa <handa@m17n.org>
5683
5684 * syntax.c (skip_chars): Fix previous change.
5685
5686 2003-04-24 Kenichi Handa <handa@m17n.org>
5687
5688 * syntax.c (skip_chars): Make the code faster by using the common
5689 technique of *p, *stop, and *endp.
5690
5691 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5692
5693 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
5694 tool_bar_items so GTK tool bar expose callback does not access items
5695 being updated.
5696
5697 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
5698
5699 * eval.c (Fapply): Undo last change and add a comment about why.
5700
5701 2003-04-18 Miles Bader <miles@gnu.org>
5702
5703 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
5704 pickier PARSE_MULTIBYTE_SEQ.
5705
5706 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
5707
5708 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
5709 Use XCDR, XCAR, CONSP.
5710 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
5711 (Fapply): Remove unnecessary GCPRO.
5712
5713 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
5714
5715 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
5716
5717 * buffer.h: Don't hardcode BEG==1.
5718
5719 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
5720
5721 2003-04-16 Richard M. Stallman <rms@gnu.org>
5722
5723 * xdisp.c (try_window, try_window_reusing_current_matrix):
5724 When at end of window, set window_end_pos to Z-ZV.
5725
5726 * buffer.c (Foverlay_recenter): Doc fix.
5727
5728 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
5729
5730 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
5731
5732 2003-04-14 Andrew Choi <akochoi@shaw.ca>
5733
5734 * macterm.c (mac_check_for_quit_char): Don't check more often than
5735 once a second.
5736
5737 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
5738
5739 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
5740 specially, so that they can't hide an implicit switch-frame event.
5741 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
5742 (head_table): Use switch-frame as event_kind for select-window.
5743 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
5744
5745 * editfns.c (Fformat): Lisp_Object/int mixup.
5746 (format2): Remove unused var numargs.
5747
5748 2003-04-11 Kenichi Handa <handa@m17n.org>
5749
5750 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
5751 (Qafter_insert_file_set_coding): New variable.
5752 (syms_of_fileio): Initialize and staticpro it. Delete declaration
5753 for after-insert-file-adjust-coding-function.
5754 (Finsert_file_contents): Call Qafter_insert_file_set_coding
5755 instead of Vafter_insert_file_adjust_coding_function.
5756
5757 2003-04-11 Kenichi Handa <handa@m17n.org>
5758
5759 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
5760
5761 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
5762 string. Callers changed.
5763
5764 2003-04-10 Kenichi Handa <handa@m17n.org>
5765
5766 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
5767 (syms_of_fileio): Declare it as a lisp variable.
5768 (Finsert_file_contents):
5769 Call Vafter_insert_file_adjust_coding_function before calling
5770 decode-format.
5771
5772 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5773
5774 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
5775 get GtkAdjustment as widget now is a GtkRange.
5776
5777 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
5778 GtkRange to avoid memory leak.
5779
5780 2003-04-09 Kenichi Handa <handa@m17n.org>
5781
5782 * xfaces.c (Vface_font_rescale_alist): New variable.
5783 (struct font_name): New member rescale_ratio.
5784 (font_rescale_ratio): New function.
5785 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
5786 (better_font_p): On comparing point sized, pay attention to
5787 recale_ratio member of fonts.
5788 (build_scalable_font_name): Reflect font->rescale_ratio in the
5789 font name.
5790 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
5791
5792 * lread.c (read1): Before calling index, check if the 2nd
5793 arguemnt is in ASCII range.
5794
5795 2003-04-08 Richard M. Stallman <rms@gnu.org>
5796
5797 * fileio.c (Ffile_symlink_p): Doc fix.
5798
5799 * editfns.c (Fformat): Translate positions of text properties
5800 in the format string to apply them to the result.
5801
5802 * fileio.c (Finsert_file_contents): Doc fix.
5803 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
5804
5805 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
5806
5807 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
5808
5809 2003-04-08 Steven Tamm <steventamm@mac.com>
5810
5811 * mac.c (init_mac_osx_environment): Switch libexec and bin so
5812 that self-contained application finds libexec files.
5813
5814 2003-04-08 Kenichi Handa <handa@m17n.org>
5815
5816 * coding.c (code_convert_region_unwind):
5817 Set Vlast_coding_system_used to the argument.
5818 (code_convert_region): If post-read-conversion function changed
5819 the value of last-coding-sytem, keep the new value in
5820 coding->symbol so that it won't be overridden.
5821 (run_pre_post_conversion_on_str): Likewise.
5822 (coding_system_accept_latin_extra_p): New function.
5823 (find_safe_codings): Pay attention to characters registered in
5824 latin-extra-code-table.
5825
5826 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
5827
5828 * Makefile.in (md5.o): Add missing dependency info.
5829
5830 2003-04-06 Richard M. Stallman <rms@gnu.org>
5831
5832 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
5833
5834 * marker.c (verify_bytepos): New function.
5835
5836 * intervals.c (set_intervals_multibyte_1): When becoming
5837 multibyte, adjust right and left child sizes to a whole set of
5838 characters. If an interval gets zero total-length, delete it.
5839 If an interval consists of just its children, delete one of them.
5840
5841 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
5842 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
5843
5844 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
5845 All calls deleted.
5846 (lisp_malloc): Do the work here directly.
5847
5848 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
5849
5850 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
5851 char tables.
5852
5853 2003-04-04 Kenichi Handa <handa@m17n.org>
5854
5855 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
5856 destructively change "%S" to "%s".
5857
5858 2003-04-03 Miles Bader <miles@gnu.org>
5859
5860 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
5861 always set.
5862
5863 2003-04-01 Dave Love <fx@gnu.org>
5864
5865 * xfns.c (xpm_lookup_color): Grok "opaque".
5866
5867 2003-03-31 Andrew Choi <akochoi@shaw.ca>
5868
5869 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
5870 parent window ID.
5871
5872 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
5873
5874 * macterm.h (struct mac_output): Define x_pixels_diff and
5875 y_pixels_diff.
5876
5877 2003-03-31 Juanma Barranquero <lektu@terra.es>
5878
5879 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
5880 blockinput.h and files included from it.
5881
5882 2003-03-31 Kim F. Storm <storm@cua.dk>
5883
5884 The following changes consolidates the common code related to
5885 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
5886 files into frame.c.
5887
5888 * frame.c: Include blockinput.h.
5889 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
5890 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
5891 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
5892 related vars here.
5893 (struct frame_parm_table, frame_parms): New table for describing
5894 frame parameters and their associated Q-variable.
5895 The order of the parameters corresponds to the sequence of the
5896 frame_parm_handlers table in redisplay_interface.
5897 (x_fullscreen_move, x_set_frame_parameters)
5898 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
5899 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
5900 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5901 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
5902 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
5903 Generic functions for processing of frame parameters.
5904 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
5905 (display_x_get_resource, x_get_resource_string): Functions for
5906 generic access to X resources.
5907 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
5908 (x_default_parameter, Fx_parse_geometry): Functions for generic
5909 access to frame parameters.
5910 (x_figure_window_size): Generic calculation of frame size.
5911 Fixed to add space needed for tool bar. Also setup size_hint_flags.
5912 (syms_of_frame): Intern and staticpro frame parameter variables.
5913 Defvar_lisp Vx_resource_class and Vx_resource_name here.
5914 Defsubr Sx_get_resource and Sx_parse_geometry.
5915
5916 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
5917 parameter related vars defined in frame.c.
5918 (EMACS_CLASS): Define here.
5919 (enum FULLSCREEN_*): Define here.
5920 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
5921 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
5922 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
5923 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
5924 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
5925 (x_set_visibility, x_set_autoraise, x_set_autolower)
5926 (x_set_unsplittable, x_set_vertical_scroll_bars)
5927 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
5928 (x_figure_window_size): Add prototypes.
5929
5930 * dispextern.h (frame_parm_handler): New typedef.
5931 (struct redisplay_interface): New member frame_parm_handlers.
5932 (enum resource_types): Move declaration here.
5933 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
5934 (x_default_parameter): Add prototypes.
5935
5936 * window.c: Remove extern decl for frame parameter vars.
5937 (change_window_heights): New generic function;
5938 replaces x_change_window_heights. All users changed.
5939
5940 * window.h (change_window_heights): Add prototype.
5941
5942 * xfaces.c: Remove extern decl for frame parameter vars.
5943
5944 * xterm.h (EMACS_CLASS): Remove. Use generic define.
5945 (struct w32_display_info): Fix type of xrdb member.
5946 (enum FULLSCREEN_*): Remove.
5947 Remove prototypes for generic functions (in frame.h).
5948
5949 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
5950 parameters now defined in frame.h and frame.c.
5951 (Vx_resource_name): Remove. Use generic var.
5952 (enum x_frame_parms): Remove (bogus, unused enum).
5953 (check_x_display_info): Make non-static (for frame.c).
5954 (struct x_frame_parm_table, x_frame_parms): Remove.
5955 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
5956 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
5957 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5958 (x_change_window_heights, x_set_autoraise, x_set_autolower)
5959 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
5960 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
5961 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
5962 Remove. Use generic functions instead.
5963 (enum resource_types): Remove.
5964 (x_set_scroll_bar_default_width): New global function (for frame.c).
5965 (Fx_create_frame): Depend on x_figure_window_size to add space for
5966 toolbar and setup size_hint_flags.
5967 (x_frame_parm_handlers): New table for redisplay_interface.
5968 (syms_of_xfns): Don't intern/staticpro removed vars.
5969
5970 * xterm.c: Remove unnecessary extern declarations.
5971 (x_fullscreen_adjust): Remove. Use generic instead.
5972 (x_redisplay_interface): Add x_frame_parm_handlers member.
5973
5974 * w32gui.h (XrmDatabase): New (dummy) typedef.
5975
5976 * w32term.h (EMACS_CLASS): Remove. Use generic define.
5977 (struct w32_display_info): Fix type of xrdb member.
5978 (enum FULLSCREEN_*): Remove.
5979 (x_fullscreen_adjust): Remove prototype.
5980
5981 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
5982 parameters now defined in frame.h and frame.c.
5983 (Vx_resource_name): Remove. Use generic var.
5984 (enum x_frame_parms): Remove (bogus, unused enum).
5985 (check_x_display_info): Make non-static (for frame.c).
5986 (struct x_frame_parm_table, x_frame_parms): Remove.
5987 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
5988 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
5989 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
5990 (x_change_window_heights, x_set_autoraise, x_set_autolower)
5991 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
5992 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
5993 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
5994 Remove. Use generic functions instead.
5995 (enum resource_types): Remove.
5996 (x_set_scroll_bar_default_width): New global function (for frame.c).
5997 (Fx_create_frame): Depend on x_figure_window_size to add space for
5998 toolbar and setup size_hint_flags.
5999 (w32_frame_parm_handlers): New table for redisplay_interface.
6000 (syms_of_w32fns): Don't intern/staticpro removed vars.
6001
6002 * w32term.c: Remove unnecessary extern declarations.
6003 (x_fullscreen_adjust): Remove. Use generic instead.
6004 (x_redisplay_interface): Add w32_frame_parm_handlers member.
6005
6006 * w32reg.c (x_get_string_resource): Use XrmDatabase.
6007
6008 * macgui.h (XrmDatabase): New (dummy) typedef.
6009
6010 * macterm.h (EMACS_CLASS): Remove.
6011 (struct mac_display_info): Add xrdb member.
6012 (struct mac_output): Add want_fullscreen member.
6013
6014 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
6015 parameters now defined in frame.h and frame.c.
6016 (Vx_resource_name): Remove. Use generic var.
6017 (check_x_display_info): Make non-static (for frame.c).
6018 (struct x_frame_parm_table, x_frame_parms): Remove.
6019 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
6020 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
6021 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
6022 (x_change_window_heights, x_set_autoraise, x_set_autolower)
6023 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
6024 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
6025 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
6026 Remove. Use generic functions instead.
6027 (enum resource_types): Remove.
6028 (x_set_scroll_bar_default_width): New global function (for frame.c).
6029 (mac_frame_parm_handlers): New table for redisplay_interface.
6030 (syms_of_macfns): Don't intern/staticpro removed vars.
6031
6032 * macterm.c: Remove unnecessary extern declarations.
6033 (x_redisplay_interface): Add mac_frame_parm_handlers member.
6034
6035 * Makefile.in (frame.o): Add dependency on blockinput.h and files
6036 included from it (atimer.h and systime.h).
6037
6038 2003-03-30 Andreas Schwab <schwab@suse.de>
6039
6040 * xdisp.c (x_insert_glyphs): Fix swapped width and height
6041 parameters for shift_glyphs_for_insert.
6042
6043 * macterm.c (x_redisplay_interface): Add missing entry for
6044 draw_vertical_window_border.
6045
6046 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
6047
6048 * fileio.c (Fexpand_file_name): In the no-handler case, after
6049 expanding, look again for a handler and invoke it. This is needed
6050 for filenames like "/foo/../user@host:/bar/../baz" -- the first
6051 expansion produces "/user@host:/bar/../baz" which needs to be
6052 expanded again for the finame result "/user@host:/baz".
6053
6054 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6055
6056 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
6057 of area to be redrawn for better performance.
6058
6059 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
6060
6061 * xterm.c (take_vertical_position_into_account): Remove.
6062 (xt_action_hook): Call set_vertical_scroll_bar if needed.
6063 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
6064 (xm_scroll_callback, x_create_toolkit_scroll_bar)
6065 (x_set_toolkit_scroll_bar_thumb): Simplify.
6066 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
6067 (XTread_socket): Remove unused var.
6068 (x_make_frame_invisible): Replace goto with else.
6069
6070 * xdisp.c (set_vertical_scroll_bar): New fun.
6071 (redisplay_window): Use it.
6072
6073 2003-03-26 Richard M. Stallman <rms@gnu.org>
6074
6075 * xdisp.c (update_tool_bar): Recompute tool bar if
6076 update_mode_lines is set. Set w->update_mode_line
6077 only if the tool bar contents actually change.
6078 (update_menu_bar): Undo previous change.
6079
6080 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6081
6082 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
6083 (xg_frame_set_char_size): Calculate scroll bar width before frame
6084 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
6085 (xg_separator_p): Check for all documented separator types.
6086 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
6087 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
6088
6089 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
6090 so tool bar gets updated.
6091
6092 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
6093
6094 * data.c (store_symval_forwarding): Re-instate part of the code
6095 that was deleted with too much enthusiasm.
6096
6097 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
6098
6099 * data.c (store_symval_forwarding): Delete special read-only
6100 hack for type == -1, since we now use ->constant instead.
6101 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
6102
6103 * buffer.c (overlays_in): Declare static.
6104 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
6105 `constant' field rather than the variable's `type' field.
6106
6107 2003-03-24 Andrew Choi <akochoi@shaw.ca>
6108
6109 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
6110
6111 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
6112
6113 * fns.c [MAC_OSX]: Do not redefine vector.
6114
6115 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
6116
6117 * macgui.h: Remove definition of No_Cursor.
6118
6119 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
6120
6121 * xdisp.c: Define No_Cursor.
6122 (x_write_glyphs, notice_overwritten_cursor)
6123 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
6124 (note_mouse_highlight): Remove Mac-specific code.
6125 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
6126
6127 2003-03-24 John Paul Wallington <jpw@gnu.org>
6128
6129 * xdisp.c (redisplay_window): If mini window's buffer is not
6130 empty, then redisplay it like other windows.
6131
6132 2003-03-23 Kim F. Storm <storm@cua.dk>
6133
6134 * w32term.c (w32_draw_window_cursor): Fix last change.
6135
6136 2003-03-23 Kenichi Handa <handa@m17n.org>
6137
6138 * alloc.c (make_string_from_bytes, make_specified_string):
6139 Add `const' for the arg CONTENTS.
6140
6141 * lisp.h (make_string_from_bytes, make_specified_string):
6142 Prototypes adjusted.
6143
6144 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6145
6146 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
6147
6148 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
6149 (XG_SB_RANGE): New define.
6150
6151 * gtkutil.c (xg_fixed_handle_expose): New function.
6152 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
6153 expose events.
6154 (xg_update_scrollbar_pos): Take two more arguments, left and width
6155 of scroll bar including borders.
6156 Clear left and right part outside scroll bar separately as some
6157 themes have bars that are not an even number of pixels.
6158 Don't set reallocate_redraws, don't call
6159 gdk_window_process_all_updates.
6160 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
6161 so no need to change it. Calculate size and value with XG_SB_RANGE.
6162
6163 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
6164 Pass left and width of scroll bar including borders to
6165 xg_update_scrollbar_pos.
6166
6167 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
6168
6169 * Makefile.in: Make sure space precedes end-of-line backslashes.
6170
6171 2003-03-22 Kim F. Storm <storm@cua.dk>
6172
6173 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
6174 Add generic versions here. Remove system specific versions
6175 defined elsewhere.
6176
6177 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
6178 Add prototypes.
6179
6180 * xterm.h (STORE_NATIVE_RECT): New macro.
6181
6182 2003-03-21 Kim F. Storm <storm@cua.dk>
6183
6184 * xdisp.c (get_glyph_string_clip_rect):
6185 Use FRAME_INTERNAL_BORDER_WIDTH.
6186
6187 * dispextern.h (struct redisplay_interface): Add active_p
6188 argument to draw_window_cursor member. All uses changed.
6189
6190 2003-03-21 Kim F. Storm <storm@cua.dk>
6191
6192 The following changes consolidate code related to writing and
6193 inserting glyphs, exposing frame, the tool bar, the mouse face,
6194 the output cursor, and help echo from xterm.c, w32term.c and
6195 macterm.c into xdisp.c. It also generalizes the use of the
6196 window_part enum instead of using numeric values throughout.
6197
6198 * xdisp.c: Consolidate gui-independent code here.
6199 Include keymap.h.
6200 (Qhelp_echo): Import.
6201 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
6202 (help_echo_string, help_echo_window, help_echo_object)
6203 (previous_help_echo_string, help_echo_pos): Declare here.
6204 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
6205 (estimate_mode_line_height): Define here. Handle windowing
6206 systems directly (without using estimate_mode_line_height_hook).
6207 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
6208 (update_window_cursor, update_cursor_in_window_tree)
6209 (fast_find_position, fast_find_string_pos)
6210 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
6211 (expose_area, expose_line, expose_overlaps, expose_window)
6212 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
6213 declared static as they are only used locally in xdisp.c.
6214 (draw_glyphs): Rename from x_draw_glyphs and make static.
6215 (tool_bar_item_info, notice_overwritten_cursor): Make static.
6216 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
6217 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
6218 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
6219 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
6220 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
6221 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
6222 (note_mouse_highlight, x_clear_window_mouse_face)
6223 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
6224 (x_intersect_rectangles): New generic functions for use by xdisp.c
6225 and GUI front-ends.
6226 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
6227 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
6228
6229 * dispextern.h (Display_Info): Generic typedef for *_display_info.
6230 (NativeRectangle): Generic typedef for rectangle type.
6231 (enum window_part): Move here from window.c.
6232 (struct redisplay_interface): New members flush_display_optional,
6233 define_frame_cursor, clear_frame_area, draw_window_cursor,
6234 draw_vertical_window_border, shift_glyphs_for_insert.
6235 Rename member clear_mouse_face to clear_window_mouse_face.
6236 (estimate_mode_line_height_hook): Remove hook.
6237 (auto_raise_tool_bar_buttons_p): Don't declare extern.
6238 (tool_bar_item_info): Remove prototype.
6239 (help_echo_string, help_echo_window, help_echo_object)
6240 (previous_help_echo_string, help_echo_pos)
6241 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
6242 (x_stretch_cursor_p, output_cursor): Declare extern.
6243 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
6244 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
6245 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
6246 (display_and_set_cursor, set_output_cursor, x_cursor_to)
6247 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
6248 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
6249 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
6250 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
6251 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
6252 Add prototypes.
6253 (mode_line_string, marginal_area_string): Fix prototypes.
6254
6255 * window.c (enum window_part): Move to dispextern.h.
6256 (coordinates_in_window): Use enum window_part member names
6257 instead of numbers to describe return value.
6258 (struct check_window_data): Change part member to window_part.
6259 (check_window_containing): Return window_part unaltered.
6260 (window_from_coordinates): Change part arg from int to enum
6261 window_part. Allow part arg to be null. All users changed.
6262
6263 * window.h (window_from_coordinates): Fix prototype.
6264
6265 * term.c (estimate_mode_line_height): Move to xdisp.c.
6266
6267 * keyboard.c (make_lispy_event): Use enum window_part.
6268
6269 * dispnew.c (mode_line_string, marginal_area_string): Use enum
6270 window_part instead of int in arg list. Users changed.
6271
6272 * xterm.h (No_Cursor): Declare as None for X.
6273 (struct mac_output): Replace member cross_cursor by hand_cursor.
6274
6275 * xterm.c: Remove consolidated defines and code.
6276 (BETWEEN): Remove unused macro.
6277 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
6278 (x_define_frame_cursor, x_clear_frame_area)
6279 (x_draw_window_cursor): New X-specific functions for RIF.
6280 (x_redisplay_interface): Add new members.
6281
6282 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
6283
6284 * w32term.h (struct w32_output): Remove cross_cursor member.
6285
6286 * w32term.c: Remove consolidated defines and code.
6287 (BETWEEN): Remove unused macro.
6288 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
6289 (w32_define_frame_cursor, w32_clear_frame_area)
6290 (w32_draw_window_cursor): New W32-specific functions for RIF.
6291 (w32_redisplay_interface): Add new members.
6292
6293 * w32gui.h (No_Cursor): Define as 0 for W32.
6294 (XRectangle): Add X compatible rectangle type.
6295 (NativeRectangle): Declare as RECT for W32.
6296 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
6297
6298 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
6299
6300 * w32console.c: Remove consolidated defines and code.
6301
6302 * msdos.h (Display_Info): Add generic typedef.
6303
6304 * msdos.c: Remove consolidated defines and code.
6305 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
6306
6307 * macterm.h (struct mac_output): Replace member cross_cursor by
6308 hand_cursor.
6309 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
6310
6311 * macterm.c: Remove consolidated defines and code.
6312 (BETWEEN): Remove unused macro.
6313 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
6314 (mac_define_frame_cursor, mac_clear_frame_area)
6315 (mac_draw_window_cursor): New Mac-specific functions for RIF.
6316 (x_redisplay_interface): Add new members.
6317
6318 * macgui.h (No_Cursor): Define as 0 for Mac.
6319 (XRectangle): Add X compatible rectangle type.
6320 (NativeRectangle): Declare as Rect for Mac.
6321 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
6322
6323 * macfns.c (x_set_mouse_color): Setup hand_cursor.
6324 (x_set_cursor_color): Use x_display_and_set_cursor.
6325
6326 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
6327 included from it. Add dependency on keymap.h.
6328
6329 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
6330
6331 2003-03-21 Kenichi Handa <handa@m17n.org>
6332
6333 * fileio.c (Fexpand_file_name): Fix previous change.
6334
6335 2003-03-19 Kenichi Handa <handa@m17n.org>
6336
6337 * fileio.c (Ffile_name_directory): Reconstruct file name by
6338 make_specified_string.
6339 (Ffile_name_nondirectory, Ffile_name_as_directory)
6340 (Fdirectory_file_name, Fexpand_file_name)
6341 (Fsubstitute_in_file_name): Likewise.
6342 (Fread_file_name): Compare decoded homedir with DIR and
6343 DEFAULT_FILENAME.
6344
6345 * alloc.c (make_specified_string): If NCHARS is negative, count
6346 the number of characters.
6347
6348 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6349
6350 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
6351 all widgets.
6352
6353 * gtkutil.h: Removed xg_ignore_next_thumb.
6354
6355 2003-03-18 Kenichi Handa <handa@m17n.org>
6356
6357 * coding.c (Vchar_coding_system_table): Remove this variable.
6358 (Vcoding_system_safe_chars): New variable.
6359 (intersection): Remove this function.
6360 (find_safe_codings): Don't use Vchar_coding_system_table, but try
6361 all codings in SAFE_CODINGS.
6362 (Ffind_coding_systems_region_internal): Adjust for the change of
6363 find_safe_codings. Get generic coding systems from
6364 Vcoding_system_safe_chars.
6365 (Fdefine_coding_system_internal): New function.
6366 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
6367 Initialize and staticpro Vcoding_system_safe_chars.
6368
6369 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6370
6371 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
6372 equal old values before updating.
6373
6374 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
6375
6376 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
6377
6378 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6379
6380 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
6381 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
6382 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
6383 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
6384 (xg_create_scroll_bar): Pass bar to button event callback.
6385 (xg_find_top_left_in_fixed): New function.
6386 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
6387 whole scroll bar area. Get old position with
6388 xg_find_top_left_in_fixed, calculate and only clear needed areas.
6389 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
6390 dragging is in progress. Calculate whole as for Motif.
6391 Remove code that saved last values. Call gtk_range functions to
6392 set scroll bar sizes.
6393
6394 * gtkutil.h: Removed xg_ignore_next_thumb.
6395
6396 2003-03-17 Juanma Barranquero <lektu@terra.es>
6397
6398 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
6399 and files included from it.
6400
6401 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
6402
6403 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
6404 multiple occurrences of the same keymap under different prefixes.
6405 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
6406
6407 2003-03-16 Jason Rumney <jasonr@gnu.org>
6408
6409 * w32gui.h: Use HDC for Display.
6410
6411 * w32term.c (w32_encode_char): Prevent double-byte chars from
6412 crashing Emacs.
6413
6414 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
6415 as binary.
6416
6417 2003-03-16 Juanma Barranquero <lektu@terra.es>
6418
6419 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
6420
6421 2003-03-16 Kim F. Storm <storm@cua.dk>
6422
6423 The following changes consolidate some of the gui-independent
6424 parts of the processing and drawing of "glyph strings" from
6425 xterm.c, w32term.c, and macterm.c into xdisp.c.
6426
6427 * dispextern.h (struct glyph): Reduce face_id member from 22 to
6428 21 bits (this reduces number of faces from 4M to 2M).
6429 Replace W32 specific w32_font_type member (2 bits) by generic
6430 font_type member (3 bits) for portability.
6431 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
6432 (enum draw_glyphs_face): Define here.
6433 (struct glyph_string): Define here. Merge W32 and X versions.
6434 (struct redisplay_interface): New members per_char_metric,
6435 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
6436 (VCENTER_BASELINE_OFFSET): Define here.
6437 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
6438 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
6439
6440 * xdisp.c: Consolidate gui-independent "glyph string" code here.
6441 (dump_glyph_string): Moved here.
6442 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
6443 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
6444 (fill_composite_glyph_string, fill_glyph_string)
6445 (fill_image_glyph_string, fill_stretch_glyph_string)
6446 (left_overwritten, left_overwriting, right_overwritten)
6447 (right_overwriting, get_char_face_and_encoding)
6448 (set_glyph_string_background_width, compute_overhangs_and_x)
6449 (append_glyph, append_composite_glyph, produce_image_glyph)
6450 (take_vertical_position_into_account, append_stretch_glyph)
6451 (produce_stretch_glyph): New generic functions (based on X version).
6452 Call platform specific functions through rif.
6453 (INIT_GLYPH_STRING): New macro, hides W32 details.
6454 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
6455 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
6456 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
6457 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
6458 (notice_overwritten_cursor):
6459 Generic functions exported to platform modules. Users changed.
6460
6461 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
6462 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
6463 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
6464 New macros for consolidated code.
6465
6466 * xterm.c: Remove consolidated defines and code.
6467 (x_per_char_metric, x_encode_char)
6468 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
6469 (x_redisplay_interface): Add new members.
6470
6471 * w32gui.h (Display): Add dummy typedef for consolidation.
6472 (XChar2b): Define alias for wchar_t for consolidation.
6473 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
6474
6475 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
6476 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
6477 New macros for consolidation.
6478
6479 * w32term.c: Remove consolidated defines and code.
6480 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
6481 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
6482 (w32_per_char_metric): Change font_type arg to int for RIF.
6483 (w32_encode_char): Return int according to RIF requirements.
6484 (w32_compute_glyph_string_overhangs): Adapt to RIF.
6485 (w32_get_glyph_overhangs): New function for RIF. Uses generic
6486 x_get_glyph_overhangs.
6487 (w32_redisplay_interface): Add new members.
6488
6489 * macgui.h (XChar2b): Move typedef here for consolidation.
6490 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
6491
6492 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
6493 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
6494 consolidation.
6495
6496 * macterm.c: Remove consolidated defines and code.
6497 (mac_per_char_metric): New function for RIF.
6498 (mac_encode_char): Adapt to new RIF requirements.
6499 (mac_compute_glyph_string_overhangs): Adapt for RIF.
6500 (x_redisplay_interface): Add new members.
6501
6502 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
6503
6504 * keymap.c (Vmenu_events): New var.
6505 (syms_of_keymap): Initialize it.
6506 (where_is_internal): Check more carefully what is a menu event.
6507
6508 2003-03-14 Richard M. Stallman <rms@gnu.org>
6509
6510 * lread.c (read1): After #!, exit loop on eof.
6511
6512 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6513
6514 * gtkutil.h: Add declaration for xg_frame_cleared.
6515
6516 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
6517
6518 * gtkutil.c (struct xg_last_sb_pos): New structure.
6519 (handle_fixed_child): New function.
6520 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
6521 and force a redraw on them.
6522 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
6523 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
6524 so we can avoid unneeded redraws.
6525 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
6526 and force a redraw on the scroll bar.
6527 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
6528 if xg_last_sb_pos shows the positions are up to date.
6529 (xg_frame_cleared): New function.
6530
6531 2003-03-13 Kenichi Handa <handa@m17n.org>
6532
6533 * coding.c (Fdetect_coding_region): Fix docstring.
6534 (Fdetect_coding_string): Fix docstring.
6535
6536 2003-03-13 Andreas Schwab <schwab@suse.de>
6537
6538 * gtkutil.c: Add prototype for create_menus.
6539
6540 * data.c (long_to_cons): Fix type of top.
6541
6542 * xselect.c (selection_data_to_lisp_data): Use int instead of
6543 long for an integer of size 4.
6544
6545 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
6546 (xg_tool_bar_help_callback): Likewise.
6547
6548 2003-03-12 Andreas Schwab <schwab@suse.de>
6549
6550 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
6551
6552 2003-03-12 Kim F. Storm <storm@cua.dk>
6553
6554 The following changes consolidate the fringe handling from
6555 xterm.c, w32term.c, and macterm.c into xdisp.c.
6556
6557 * xdisp.c: Consolidate fringe handling code here.
6558 (left_bits, right_bits, continued_bits, continuation_bits)
6559 (ov_bits, zv_bits): Define fringe bitmaps.
6560 (fringe_bitmaps): New array holding fringe bitmaps.
6561 (draw_fringe_bitmap): Draw a specific bitmap; call display
6562 specific drawing routine via rif->draw_fringe_bitmap.
6563 (draw_row_fringe_bitmaps): Generic replacement for
6564 x_draw_row_fringe_bitmaps; all callers changed.
6565 (compute_fringe_widths): Generic replacement for
6566 x_compute_fringe_widths; all callers changed.
6567
6568 * dispextern.h (enum fringe_bitmap_type): Define here.
6569 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
6570 (fringe_bitmaps): Declare extern.
6571 (struct redisplay_interface): New member draw_fringe_bitmap.
6572 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
6573
6574 * xterm.c: Remove generic fringe code.
6575 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
6576 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
6577
6578 * w32term.c: Remove generic fringe code.
6579 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
6580 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
6581
6582 * macterm.c: Remove generic fringe code.
6583 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
6584 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
6585
6586 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
6587
6588 * print.c (Fprin1_to_string): Return unibyte string if possible.
6589
6590 2003-03-09 David Kastrup <dak@gnu.org>
6591
6592 * process.c (read_process_output): We have allocated enough space
6593 for readmax and carryover, so actually use the alloted space.
6594
6595 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6596
6597 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
6598 toolkit scrollbar click.
6599
6600 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
6601 for USE_GTK.
6602 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
6603 also.
6604 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
6605 scrollbar and control is pressed, call x_scroll_bar_handle_click.
6606
6607 * gtkutil.h: Declare xg_get_scroll_id_for_window.
6608
6609 * gtkutil.c (xg_get_scroll_id_for_window): New function.
6610 (xg_tool_bar_item_expose_callback): New function.
6611 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
6612 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
6613 on the tool bar widget.
6614 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
6615 to expose on the tool bar item widgets.
6616
6617 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6618
6619 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
6620 struct image* when deciding to update (struct image* may have been
6621 deleted from the image cache).
6622
6623 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
6624 the event isn't for a frame (i.e. for dialogs).
6625
6626 2003-03-07 Kenichi Handa <handa@m17n.org>
6627
6628 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
6629 composition components reaches the limit, terminate composing.
6630 (COMPOSITION_OK): New macro.
6631 (detect_coding_iso2022): Use it if an escape sequence for
6632 composition is found.
6633 (coding_restore_composition): Adjust the number of composition
6634 components if it is not sane.
6635
6636 2003-03-06 Juanma Barranquero <lektu@terra.es>
6637
6638 * w32term.h (struct w32_display_info): Add xrdb member to support
6639 passing resources via -xrm on Windows.
6640
6641 * w32term.c (w32_make_rdb): New function.
6642 (w32_term_init): Use it to initialize xrdb member of w32_display_info
6643 struct. Delete leftover code.
6644
6645 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
6646 for resources passed on the command line.
6647
6648 * w32reg.c (w32_get_rdb_resource): New function.
6649 (x_get_string_resource): Use it, so resources passed with -xrm
6650 supercede the ones in the registry.
6651
6652 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6653
6654 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
6655 instead of x_top_window_to_frame.
6656
6657 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6658
6659 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
6660 when restarting Emacs.
6661
6662 2003-03-03 Richard M. Stallman <rms@gnu.org>
6663
6664 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
6665 to run kill-buffer-query-functions.
6666 (Qkill_buffer_query_functions): New var.
6667 (syms_of_buffer): Init and staticpro it.
6668
6669 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6670
6671 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
6672
6673 2003-02-25 Kim F. Storm <storm@cua.dk>
6674
6675 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
6676 If centering point failed to make whole line visible and vscroll
6677 is non-zero, disable vscroll and try centering point again.
6678
6679 * lread.c (read1): Accept `single space' syntax like (? x).
6680
6681 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6682
6683 * keyboard.c (cancel_hourglass_unwind): Surround with
6684 #ifdef HAVE_X_WINDOWS
6685
6686 2003-02-25 Kenichi Handa <handa@m17n.org>
6687
6688 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
6689 process only when "subprocesses" is defined.
6690
6691 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
6692
6693 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
6694
6695 2003-02-24 Juanma Barranquero <lektu@terra.es>
6696
6697 * callint.c (fix_command): Declare as static void and move before
6698 Fcall_interactively.
6699
6700 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
6701 (syms_of_xdisp): Don't initialize Qwhen.
6702
6703 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6704
6705 * keyboard.c (cancel_hourglass_unwind): New function.
6706 (command_loop_1): Cancel hourglass with unwind-protect.
6707
6708 2003-02-23 Richard M. Stallman <rms@gnu.org>
6709
6710 * callint.c (fix_command): New subroutine, from Fcall_interactively.
6711 Detect (when ... (region-beginning)) etc.
6712 (Fcall_interactively): Call fix_command.
6713 (Qif, Qwhen): New variables.
6714 (syms_of_callint): Init and staticpro them.
6715
6716 * regex.c (print_partial_compiled_pattern): Output to stderr.
6717
6718 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
6719
6720 * dired.c (directory_files_internal): Don't expand directory.
6721 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
6722 instead. From Lars Hansen <larsh@math.ku.dk>.
6723
6724 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
6725
6726 * fns.c (string_to_multibyte): Remove unused var i.
6727 (Flanginfo): Fix int/Lisp_Object mixup.
6728 (void_call2): New fun.
6729 (Fmap_char_table): Use it in place of call2.
6730
6731 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
6732
6733 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
6734
6735 * keymap.c (copy_keymap_1): Make it static.
6736
6737 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
6738
6739 2003-02-22 David Ponce <david@dponce.com>
6740
6741 * lread.c (Fload): Don't check STRING_MULTIBYTE.
6742
6743 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6744
6745 * process.h: Removed subtty field from struct Lisp_Process.
6746
6747 * process.c (create_process): Remove setting of subtty.
6748 (emacs_get_tty_pgrp): New function.
6749 (Fprocess_running_child_p, process_send_signal):
6750 Call emacs_get_tty_pgrp instead of ioctl.
6751 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
6752
6753 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
6754
6755 * keymap.c (Fdefine_key): Doc fix.
6756
6757 2003-02-21 Juanma Barranquero <lektu@terra.es>
6758
6759 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
6760
6761 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
6762 POLLING_PROBLEM_IN_SELECT.
6763
6764 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
6765 Delete #undef of POLLING_PROBLEM_IN_SELECT.
6766
6767 * s/hpux10-20.h: New file.
6768
6769 * process.c (wait_reading_process_input):
6770 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
6771
6772 2003-02-20 Kenichi Handa <handa@m17n.org>
6773
6774 * fontset.c (check_fontset_name): If NAME is nil, return the
6775 default fontset.
6776 (override_font_info): New function.
6777 (Fset_fontset_font): Document that NAME nil means the default fontset.
6778 (Ffontset_info): If FONTSET is not the default fontset, merge
6779 FONTSET onto the copy of the default fontset, and work on that
6780 copy. Document that NAME nil means the default fontset.
6781 (Ffontset_font): Document that NAME nil means the default fontset.
6782
6783 * process.c (setup_process_coding_systems): If the process's
6784 in/out descriptor is -1, do nothing.
6785
6786 2003-02-19 Andreas Schwab <schwab@suse.de>
6787
6788 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
6789 Add prototypes.
6790
6791 2003-02-19 Kenichi Handa <handa@m17n.org>
6792
6793 * xfaces.c (try_alternative_families): Try all scalable fonts if
6794 Vscalable_fonts_allowed is not Qt.
6795
6796 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6797
6798 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
6799
6800 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6801
6802 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
6803 names.
6804
6805 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
6806 (sorted_font_list): Move allocation of struct font_name to
6807 x_face_list_fonts.
6808 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
6809 (Fx_list_fonts): Set maxnames to -1 to get all font names.
6810
6811 2003-02-18 Kim F. Storm <storm@cua.dk>
6812
6813 * lread.c (read1): Fix last change.
6814 "`" is not always special. Allow "?" after a character constant.
6815
6816 2003-02-18 Andrew Choi <akochoi@shaw.ca>
6817
6818 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
6819
6820 2003-02-18 Andreas Schwab <schwab@suse.de>
6821
6822 * window.c (window_scroll_pixel_based): Move outside a
6823 multi-glyph character before setting new window start.
6824
6825 * xdisp.c (in_display_vector_p): New function.
6826 * dispextern.h (in_display_vector_p): Declare.
6827
6828 2003-02-18 Kim F. Storm <storm@cua.dk>
6829
6830 * lread.c (read1): Fix and relax read syntax.
6831 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
6832 Only recognize "," after dotted-pair dot if inside backquote.
6833 Never include "`" or "," (inside backquote) in a symbol.
6834 Allow dotted-pair dot after a character constant.
6835 Allow "`" and "," (inside backquote) after a character constant.
6836
6837 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6838
6839 * gtkutil.c (xg_tool_bar_expose_callback): New function.
6840 (xg_create_tool_bar): Force style of tool bar to be horizontal with
6841 icons. Set name of tool bar to emacs-toolbar.
6842 (update_frame_tool_bar): Connect expose event to
6843 xg_tool_bar_expose_callback.
6844
6845 2003-02-17 Richard M. Stallman <rms@gnu.org>
6846
6847 * keyboard.c (this_command_key_count_reset): New variable.
6848 Initiatize to 0 where this_command_key_count is set.
6849 (read_char): Save and restore this_command_key_count_reset
6850 around input method code.
6851 (read_char): If this_command_key_count_reset, echo reread commands.
6852 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
6853
6854 2003-02-17 Kenichi Handa <handa@m17n.org>
6855
6856 * fns.c (string_to_multibyte): Always return a multibyte string.
6857
6858 2003-02-16 Jason Rumney <jasonr@gnu.org>
6859
6860 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
6861 Negative max_fonts parameter means list all.
6862
6863 2003-02-14 Dave Love <fx@gnu.org>
6864
6865 * fns.c (Flanginfo): Doc fix.
6866
6867 2003-02-13 Kim F. Storm <storm@cua.dk>
6868
6869 * lread.c (read_escape): Interpret \s as a SPACE character, except
6870 for \s-X in a character constant which still is the super modifier.
6871 (read1): Signal an `invalid read syntax' error if a character
6872 constant is immediately followed by a digit or symbol character.
6873
6874 * search.c (Fmatch_data): Doc fix. Explicitly state that
6875 match-data is undefined if last search failed.
6876
6877 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
6878 All uses changed.
6879
6880 2003-02-12 Juanma Barranquero <lektu@terra.es>
6881
6882 * eval.c (Fdefmacro): Fix typo.
6883
6884 2003-02-12 Kim F. Storm <storm@cua.dk>
6885
6886 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
6887 macro is a string, convert meta modifiers in string when copying
6888 the string into a vector.
6889
6890 2003-02-11 Kim F. Storm <storm@cua.dk>
6891
6892 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
6893
6894 2003-02-11 Kenichi Handa <handa@m17n.org>
6895
6896 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
6897
6898 2003-02-10 Kim F. Storm <storm@cua.dk>
6899
6900 * process.c: Doc fixes.
6901 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
6902
6903 2003-02-10 Kenichi Handa <handa@m17n.org>
6904
6905 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
6906
6907 * process.c (QCfilter_multibyte): New variable.
6908 (setup_process_coding_systems): New function.
6909 (Fset_process_buffer, Fset_process_filter):
6910 Call setup_process_coding_systems.
6911 (Fstart_process): Initialize the member `filter_multibyte' of
6912 struct Lisp_Process.
6913 (create_process): Call setup_process_coding_systems.
6914 (Fmake_network_process): New keyward `:filter-multibyte'.
6915 Initialize the member `filter_multibyte' of struct Lisp_Process.
6916 Call setup_process_coding_systems.
6917 (server_accept_connection): Call setup_process_coding_systems.
6918 (read_process_output): If the process has a filter, decide the
6919 multibyteness of a string to given to the filter by
6920 `filter_multibyte' member of the process. If the process doesn't
6921 have a filter and the result of conversion is unibyte, use
6922 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
6923 multibyte form.
6924 (Fset_process_coding_system): Call setup_process_coding_systems.
6925 (Fset_process_filter_multibyte): New function.
6926 (Fprocess_filter_multibyte_p): New function.
6927 (syms_of_process): Intern and staticpro QCfilter_multibyte.
6928 Defsubr Sset_process_filter_multibyte and
6929 Sprocess_filter_multibyte_p.
6930
6931 * process.h (struct Lisp_Process): New member filter_multibyte.
6932
6933 * lisp.h (setup_process_coding_systems): Add prototype.
6934
6935 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
6936 process, update coding systems for the process.
6937
6938 2003-02-09 Kenichi Handa <handa@m17n.org>
6939
6940 * fns.c (string_to_multibyte): New function.
6941 (Fstring_to_multibyte): New function.
6942 (syms_of_fns): Defsubr it.
6943
6944 2003-02-08 Andreas Schwab <schwab@suse.de>
6945
6946 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
6947 instead of the substitution.
6948
6949 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6950
6951 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
6952
6953 * xmenu.c (menu_position_func): Adjust menu popup position so that
6954 the menu is fully visible.
6955
6956 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6957
6958 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
6959 (x_make_frame_invisible, x_wm_set_icon_position):
6960 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
6961
6962 * xfns.c (x_set_name, x_set_title): Ditto.
6963
6964 2003-02-04 Richard M. Stallman <rms@gnu.org>
6965
6966 * keyboard.c (echo_now): Update before_command_echo_length.
6967 (Freset_this_command_lengths): Reset this_command_key_count etc.
6968 immediately rather than arranging to do it later.
6969 (before_command_key_count_1, before_command_echo_length_1)
6970 (before_command_restore_flag): Vars deleted.
6971 (add_command_key): Don't handle before_command_restore_flag.
6972 (read_char, record_menu_key): Don't update before_command_key_count or
6973 before_command_echo_length.
6974 (read_char): Don't handle before_command_restore_flag.
6975
6976 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
6977 in direct-output clauses if it wouldn't be called in the ordinary case.
6978
6979 2003-02-04 Kim F. Storm <storm@cua.dk>
6980
6981 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
6982
6983 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6984
6985 * gtkutil.c (remove_from_container): Copying list is not needed.
6986 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
6987 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
6988 on list returned from gtk_container_get_children to avoid memory leak.
6989
6990 2003-02-01 Jason Rumney <jasonr@gnu.org>
6991
6992 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
6993 local malloc.
6994 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
6995 definitions in xpm.h.
6996 (init_xpm_functions): New function.
6997 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
6998 (init_external_image_libraries): Try to load libXpm.dll.
6999
7000 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
7001 timestamp.
7002
7003 2003-01-31 Dave Love <fx@gnu.org>
7004
7005 * syntax.c (Fskip_chars_forward)
7006 (open-paren-in-column-0-is-defun-start): Doc fix.
7007
7008 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
7009
7010 * fileio.c: Support // at start of name for Cygwin (just added proper
7011 preprocessor tests).
7012
7013 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
7014
7015 * Makefile.in: Use @EXEEXT@ for Cygwin.
7016
7017 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
7018
7019 * s/cygwin.h: Added for Cygwin port.
7020
7021 2003-01-31 Juanma Barranquero <lektu@terra.es>
7022
7023 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
7024 when including gif_lib.h.
7025 (init_gif_functions, init_tiff_functions): New functions.
7026 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
7027 Windows. Disable color table lookups. Call library functions
7028 through pointers determined at runtime.
7029 (init_external_image_libraries): Try to load libungif.dll and
7030 libtiff.dll.
7031
7032 2003-01-31 Kenichi Handa <handa@m17n.org>
7033
7034 * xdisp.c (SKIP_GLYPHS): New macro.
7035 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
7036
7037 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7038
7039 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
7040
7041 2003-01-30 Dave Love <fx@gnu.org>
7042
7043 * alloc.c (Vgc_elapsed, gcs_done): New variables.
7044 (Fgarbage_collect): Use them.
7045 (init_alloc, syms_of_alloc): Set them up.
7046
7047 2003-01-30 Juanma Barranquero <lektu@terra.es>
7048
7049 * w32fns.c (init_external_image_libraries): Add missing operator.
7050
7051 2003-01-29 Jason Rumney <jasonr@gnu.org>
7052
7053 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
7054 an alternative name for jpeg.dll.
7055
7056 2003-01-29 Kenichi Handa <handa@m17n.org>
7057
7058 * xdisp.c (set_cursor_from_row): Pay attention to string display
7059 properties.
7060
7061 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
7062
7063 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
7064 <escape>.
7065 (keycode_to_xkeysym_table): Reformat and add more comments.
7066 (XTread_socket): Drop special case for backspace.
7067
7068 2003-01-28 Andrew Choi <akochoi@shaw.ca>
7069
7070 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
7071 values in old-style RGB specs.
7072
7073 2003-01-27 Juanma Barranquero <lektu@terra.es>
7074
7075 * w32fns.c (init_external_image_libraries): Try alternate names for the
7076 jpeg dll.
7077
7078 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7079
7080 * gtkutil.c (create_dialog, xg_separator_p)
7081 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
7082 before calling strcmp or strlen.
7083
7084 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7085
7086 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
7087 and handle image load failure.
7088
7089 2003-01-26 Jason Rumney <jasonr@gnu.org>
7090
7091 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
7092 New functions.
7093 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
7094 Disable color table lookups. Call jpeg library functions
7095 through pointers determined at runtime.
7096 (init_external_image_libraries): Try to load jpeg.dll.
7097
7098 2003-01-25 Richard M. Stallman <rms@gnu.org>
7099
7100 * lisp.h: Declare format2 instead of format1.
7101
7102 * fileio.c (barf_or_query_if_file_exists):
7103 Call format2 instead of format1.
7104
7105 * editfns.c (format2): New function, replaces format1
7106 but takes exactly two Lisp Objects as format args.
7107
7108 * buffer.c (Fkill_buffer): Call format2 instead of format1.
7109
7110 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7111
7112 * xterm.h: Change to return value of x_dispatch_event to int.
7113
7114 * xterm.c (x_filter_event): New function.
7115 (event_handler_gdk, XTread_socket): Call x_filter_event.
7116 (x_dispatch_event): Change to return value of finish.
7117 (event_handler_gdk): Use return value from x_dispatch_event.
7118
7119 * xfns.c (x_window): Call create_frame_xic for GTK version to
7120 initialize input methods.
7121
7122 * gtkutil.h: Add (void) prototypes.
7123
7124 * gtkutil.c (create_menus): Remove code that puts the help menu to
7125 the right.
7126
7127 2003-01-25 Jason Rumney <jasonr@gnu.org>
7128
7129 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
7130 [HAVE_PNG]: Sync with xfns.c version.
7131 (png_load): Adjust colors for Windows. Use Windows
7132 bitmaps. Disable color table lookups.
7133 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
7134 (init_png_functions): New function.
7135 (png_read_from_memory, png_load): Call png library functions
7136 through pointers determined at runtime.
7137 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
7138 (init_external_image_libraries): New function.
7139 (init_xfns): Call it.
7140
7141 2003-01-24 Andreas Schwab <schwab@suse.de>
7142
7143 * minibuf.c (Fminibuffer_message): Verify type of parameter.
7144
7145 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7146
7147 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
7148 of static initializer.
7149
7150 2003-01-24 Dave Love <fx@gnu.org>
7151
7152 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
7153 architectures.
7154
7155 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
7156 Use __alignof__.
7157
7158 2003-01-24 Kenichi Handa <handa@m17n.org>
7159
7160 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
7161 It it is nonzero, don't pretend that an invisible area doesn't exist.
7162 (command_loop_1): Call adjust_point_for_property with proper
7163 second arg.
7164
7165 2003-01-22 Jason Rumney <jasonr@gnu.org>
7166
7167 Sync changes with xterm.c and xfns.c.
7168
7169 * w32term.c (x_draw_glyph_string_foreground)
7170 (x_draw_composite_glyph_string_foreground): Implement overstriking.
7171
7172 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
7173 phys_cursor's hpos is overwritten. This is still not completely
7174 correct, as it doesn't really make sense to use hpos at all to
7175 get the cursor glyph (as that is relative to the width of the
7176 characters on the line, which may have changed during the update).
7177
7178 * w32term.c (notice_overwritten_cursor): Handle the special case
7179 of the cursor being in the first blank non-text line at the
7180 end of a window.
7181
7182 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
7183 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
7184 Compute from the x position returned by x_draw_glyphs.
7185
7186 (x_display_and_set_cursor): Don't set phys_cursor_width here,
7187 except for NO_CURSOR and system caret, to make phys_cursor_width
7188 contain what its name suggests.
7189 (notice_overwritten_cursor): Consider the cursor image erased if
7190 the output area intersects the cursor image in y-direction.
7191
7192 * w32term.c (note_mode_line_or_margin_highlight): Rename from
7193 note_mode_line_highlight and extend.
7194
7195 * w32term.c (last_window): New variable.
7196 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
7197 (note_mouse_movement): Remove reimplemented code in #if 0.
7198
7199 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
7200 not update_mode_lines, and always set it to 1.
7201
7202 2003-01-21 Jason Rumney <jasonr@gnu.org>
7203
7204 * w32fns.c (IDC_HAND): Define it if system headers don't.
7205
7206 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
7207
7208 * w32term.h (struct w32_output): New member hand_cursor.
7209 (WM_EMACS_SETCURSOR): New message definition.
7210
7211 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
7212 function w32_define_cursor.
7213 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
7214 position, change member name output_data.x to output_data.w32 and
7215 add function w32_define_cursor.
7216 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
7217 and change member name output_data.x to output_data.w32.
7218 (w32_initialize_display_info):
7219 Setup dpyinfo->vertical_scroll_bar_cursor.
7220
7221 * w32fns.c (Vx_hand_shape): New variable.
7222 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
7223 WM_EMACS_SETCURSOR.
7224 (x-create-frame): Setup Cursor types.
7225
7226 2003-01-21 David Ponce <david@dponce.com>
7227
7228 * w32term.c (w32_encode_char): For DIM=1 charset, set
7229 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
7230 x_encode_char change by Kenichi Handa <handa@m17n.org> on
7231 2002-09-30.)
7232 (w32_draw_relief_rect): Declare all args.
7233 (w32_define_cursor): New.
7234
7235 * w32fns.c (w32_load_cursor): New function.
7236 (w32_init_class): Use it.
7237 (x_put_x_image): Declare all args.
7238
7239 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
7240
7241 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
7242
7243 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7244
7245 * gtkutil.c: Must include stdio.h before termhooks.h
7246
7247 2003-01-21 Dave Love <fx@gnu.org>
7248
7249 * alloc.c (Fgc_status): Print zombie list.
7250 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
7251 Fix assignment of zombies.
7252 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
7253 Don't take car of non-cons.
7254
7255 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7256
7257 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7258
7259 2003-01-20 David Ponce <david@dponce.com>
7260
7261 * w32menu.c (digest_single_submenu): Declare all args.
7262
7263 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
7264 changes in xmenu.c:
7265
7266 (parse_single_submenu): Use individual keymap's prompt
7267 string as pane name, if there is one.
7268 (set_frame_menubar): Save menu_items_n_panes from each call to
7269 parse_single_submenu and use it when calling digest_single_submenu.
7270
7271 2003-01-20 Steven Tamm <steventamm@mac.com>
7272
7273 * macterm.c (XTread_socket): Checks for valid, visible window
7274 before sending a scroll-wheel event.
7275
7276 2003-01-20 Richard M. Stallman <rms@gnu.org>
7277
7278 * xdisp.c (redisplay_window): If mini window's buffer is not
7279 a minibuffer, then redisplay it like other windows.
7280
7281 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7282
7283 * gtkutil.c (xg_create_frame_widgets): Check if there is an
7284 external tool bar before setting tool bar height.
7285
7286 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7287
7288 * xterm.c (handle_one_xevent): Surround popup_activated
7289 with #ifdef:s for non-toolkit version.
7290
7291 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
7292 (gtkutil.o): New file.
7293 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
7294 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
7295
7296 * gtkutil.c: New file for GTK version.
7297
7298 * gtkutil.h: New file for GTK version.
7299
7300 * xterm.h: Add xt_or_gtk_widget.
7301 Include gtk files for USE_GTK.
7302 (struct x_output): Add toolbar_height.
7303 (struct x_output): Add GTK widgets and Gdk size_hints.
7304 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
7305 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
7306 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
7307
7308 * xterm.c: Include gtkutil.h for USE_GTK.
7309 Declare extern void free_frame_menubar for USE_GTK.
7310 (note_mouse_highlight): Check popup_activated for USE_GTK.
7311 (xt_action_hook): Don't compile if USE_GTK.
7312 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
7313 (xg_scroll_callback): New function.
7314 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
7315 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
7316 for USE_GTK.
7317 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
7318 xg_show_scroll_bar for USE_GTK.
7319 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
7320 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
7321 (event_handler_gdk): New function for USE_GTK.
7322 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
7323 (handle_one_xevent): Make sure widget is mapped before
7324 calling x_real_positions for USE_GTK.
7325 (XTread_socket): Add GTK event loop for USE_GTK.
7326 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
7327 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
7328 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
7329 (x_iconify_frame): Add code for USE_GTK.
7330 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
7331 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
7332 is in gtkutil.c.
7333 (x_term_init): Add initialization for GTK.
7334 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
7335
7336 * xmenu.c: Include gtkutil.h for USE_GTK.
7337 (Fx_popup_menu): Use current position if x and y is NIL.
7338 (single_menu_item, single_menu_item, Fx_popup_dialog):
7339 Check for USE_GTK.
7340 (popup_widget_loop): New function for USE_GTK.
7341 (x_activate_menubar): Add code for USE_GTK.
7342 (popup_activate_callback, popup_deactivate_callback)
7343 (menu_highlight_callback, menubar_selection_callback):
7344 Add USE_GTK versions.
7345 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
7346 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
7347 (free_frame_menubar): Only compile if not USE_GTK. GTK version
7348 is in gtkutil.c.
7349 (popup_selection_callback): New version for USE_GTK.
7350 (create_and_show_popup_menu): New fuction, one USE_GTK version and
7351 one USE_X_TOOLKIT version.
7352 (xmenu_show): Call create_and_show_popup_menu.
7353 (dialog_selection_callback): New version for USE_GTK.
7354 (create_and_show_dialog): New fuction, one USE_GTK version and
7355 one USE_X_TOOLKIT version.
7356 (xdialog_show): Call create_and_show_dialog.
7357
7358 * xfns.c: Include gtkutil for USE_GTK.
7359 (x_window_to_frame, x_any_window_to_frame)
7360 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
7361 (x_top_window_to_frame): Add code for USE_GTK.
7362 (x_set_background_color): Call xg_set_background_color for GTK.
7363 (x_set_menu_bar_lines): Check for USE_GTK.
7364 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
7365 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
7366 (x_window): Call xg_create_frame_widgets for USE_GTK.
7367 (Fx_create_frame): Check for USE_GTK
7368 (Fx_file_dialog): New implementation for USE_GTK.
7369
7370 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
7371 (update_menu_bar): Add check for USE_GTK.
7372 (update_tool_bar): Add check for USE_GTK and external tool bar.
7373 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
7374 (redisplay_internal): Add check for USE_GTK and popup_activated.
7375 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
7376 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
7377 (display_menu_bar): Add check for USE_GTK
7378
7379 * lisp.h: Declare Vx_resource_name extern.
7380
7381 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
7382 for USE_GTK.
7383 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
7384
7385 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
7386 (FRAME_EXTERNAL_TOOL_BAR): New macro.
7387 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
7388
7389 * fileio.c (Fread_file_name): Add check for USE_GTK.
7390
7391 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
7392 Add check for USE_GTK.
7393
7394 * config.in: Added HAVE_GTK
7395
7396 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
7397
7398 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
7399
7400 * charset.h (Funibyte_char_to_multibyte): Export.
7401
7402 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7403
7404 * xmenu.c (mouse_position_for_popup): New function.
7405 (Fx_popup_menu): Call mouse_position_for_popup for X and
7406 mouse_position_hook for others.
7407
7408 2003-01-17 Kim F. Storm <storm@cua.dk>
7409
7410 * editfns.c (Finsert): Mention `string-make-multibyte' and
7411 `string-as-multibyte' in doc string.
7412
7413 2003-01-17 Kenichi Handa <handa@m17n.org>
7414
7415 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
7416
7417 * editfns.c (Fformat): Convert an unibyte char argument that is
7418 formatted by "%c" to multibyte if the total result must be a
7419 multibyte string.
7420
7421 2003-01-16 Kim F. Storm <storm@cua.dk>
7422
7423 * process.c (set-process-filter): Document unibyte/multibyte-ness
7424 of string argument.
7425
7426 2003-01-16 Kenichi Handa <handa@m17n.org>
7427
7428 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
7429
7430 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
7431 (re_search_2): Likewise.
7432
7433 2003-01-15 Kenichi Handa <handa@m17n.org>
7434
7435 * xdisp.c (message_dolog): Fix bug of the case that *Message*
7436 buffer is unibyte.
7437
7438 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
7439
7440 * fns.c (Fsubstring): Clarify doc string.
7441
7442 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
7443 (Fprevious_char_property_change)
7444 (Fnext_single_char_property_change)
7445 (Fprevious_single_char_property_change, Fnext_property_change)
7446 (Fnext_single_property_change, Fprevious_property_change)
7447 (Fprevious_single_property_change, Fadd_text_properties)
7448 (Fput_text_property, Fset_text_properties)
7449 (Fremove_text_properties, Fremove_list_of_text_properties)
7450 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
7451
7452 2003-01-14 Kim F. Storm <storm@cua.dk>
7453
7454 * process.h (struct Lisp_Process): New member plist replaces old
7455 member private_vars. All uses changed.
7456
7457 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
7458 (QCplist): Rename from QCvars. Change all uses.
7459 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
7460 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
7461 (syms_of_process): Intern, staticpro, defsubr these.
7462 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
7463
7464 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
7465
7466 * m/delta.h: Remove (obsolete).
7467
7468 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
7469
7470 * fileio.c (Fdelete_directory, Fdelete_file): Document the
7471 behaviour in front of symlinks.
7472 (Fdelete_file): Raise an error on directories.
7473
7474 2003-01-13 Dave Love <fx@gnu.org>
7475
7476 * fns.c (Freverse): Use QUIT.
7477
7478 2003-01-13 Richard M. Stallman <rms@gnu.org>
7479
7480 * minibuf.c (minibuffer_completion_contents):
7481 Error if point is inside prompt.
7482
7483 * keyboard.c (command_loop_1): Don't redisplay directly
7484 if there's a post-command-hook.
7485
7486 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
7487 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
7488
7489 2003-01-12 Kim F. Storm <storm@cua.dk>
7490
7491 * process.h (struct Lisp_Process): New member private_vars.
7492
7493 * process.c (QCvars): New variable.
7494 (syms_of_process): Intern and staticpro it.
7495 (Fset_process_contact): Removed function.
7496 (Fprocess_variable, Fset_process_variable): New functions.
7497 (syms_of_process): Defsubr them.
7498 (Fstart_process): Initialize private_vars plist to nil.
7499 (Fmake_network_process): New arg :vars to setup the private
7500 variables for new network process.
7501 (server_accept_connection): Copy server's private variables to
7502 client process.
7503
7504 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
7505 crashes). Code rewritten and simplified. Now directly aligns the
7506 pointer and recalculates pure_bytes_used, rather than aligning the
7507 size and adjusting the pointer.
7508
7509 2003-01-11 Kim F. Storm <storm@cua.dk>
7510
7511 * process.c (Fset_process_contact): New function.
7512 (syms_of_process): defsubr it.
7513 (make-network-process): Update doc.
7514
7515 2003-01-10 Andreas Schwab <schwab@suse.de>
7516
7517 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
7518 Reported by Berthold Gunreben <b.gunreben@web.de>.
7519
7520 2003-01-10 Dave Love <fx@gnu.org>
7521
7522 * composite.c (syms_of_composite): Make composition_hash_table weak.
7523
7524 2003-01-09 Kim F. Storm <storm@cua.dk>
7525
7526 * process.c (Fmake_network_process): Convert new port number
7527 to host byte order for `:service t' case. From Mario Lang.
7528
7529 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7530
7531 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
7532 instead of XtAppProcessEvent.
7533
7534 * xterm.c (handle_one_xevent): New function.
7535 (x_dispatch_event): New function.
7536 (XTread_socket): Call handle_one_xevent.
7537
7538 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
7539
7540 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
7541 call XQueryPointer to get coordinates.
7542 (popup_get_selection): Do not set popup_activated_flag to zero,
7543 let popup_deactivate_callback do that. Needed for Motif.
7544 Call x_dispatch_event instead of XtDispatchEvent.
7545 (xmenu_show): Calculate root coordinate from frame top/left position.
7546
7547 2003-01-08 Kim F. Storm <storm@cua.dk>
7548
7549 * process.c (server_accept_connection): Fix recording of new
7550 connection's local address in :local property of contact info.
7551 (Fmake_network_process): Record local network address for new
7552 client processes in :local property of contact info.
7553 (format-network-address): Add arg OMIT-PORT. Change callers.
7554
7555 2003-01-07 Dave Love <fx@gnu.org>
7556
7557 * Makefile.in (fns.o): Depend on coding.h.
7558
7559 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
7560
7561 * minibuf.c (Fread_variable): Doc fix.
7562
7563 * eval.c (Fuser_variable_p): Doc change. For custom variables,
7564 use the same test as for custom-variable-p.
7565
7566 2003-01-05 Richard M. Stallman <rms@gnu.org>
7567
7568 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
7569 Count LAST_LINE_MISFIT in scroll margin for end of window.
7570 Move label too_near_end before setting SCROLL_MARGIN_POS.
7571 Set LAST_LINE_MISFIT before jumping there.
7572
7573 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
7574 scroll_conservatively case. If scrolling that much doesn't change
7575 STARTP, move it down one line.
7576
7577 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
7578 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
7579
7580 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
7581 selected frame.
7582
7583 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
7584 (syms_of_keymap): staticpro them.
7585 (Fapropos_internal): Initialize them and clear them out.
7586 Don't GCPRO them.
7587
7588 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
7589 Doc fixes.
7590
7591 * lisp.h: New misc type Lisp_Save_Value.
7592 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
7593 (XSAVE_VALUE): New macro.
7594 (struct Lisp_Save_Value): New data type.
7595 (union Lisp_Misc): Add u_save_value alternative.
7596 (make_save_value): Declared.
7597
7598 * alloc.c (make_save_value): New function.
7599
7600 * xterm.c (x_catch_errors): Save dpy using make_save_value.
7601 (x_catch_errors_unwind): Call XSync.
7602
7603 2003-01-01 Richard M. Stallman <rms@gnu.org>
7604
7605 * window.c (window_scroll_pixel_based): Partially undo last change.
7606
7607 * keyboard.c (command_loop_1): Call adjust_point_for_property
7608 in direct action cases for Qforward_char and Qbackward_char.
7609 Set already_adjusted so it won't be done twice.
7610
7611 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk> (tiny change)
7612
7613 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
7614 type definition of size_t.
7615
7616 2003-01-02 Steven Tamm <steventamm@mac.com>
7617
7618 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
7619 distinguish Carbon GUI builds from X11 builds on darwin.
7620
7621 2002-12-30 Steven Tamm <steventamm@mac.com>
7622
7623 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
7624 to default to t.
7625
7626 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
7627
7628 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
7629
7630 2002-12-28 Steven Tamm <steventamm@mac.com>
7631
7632 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
7633 allow building in a different directory than source. Uses some
7634 GNU Make extensions, but there is no other make on Mac OS X.
7635
7636 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
7637
7638 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
7639 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
7640 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
7641 (Fstring_to_number): Mention the returned value in the doc strings.
7642
7643 2002-12-23 Richard M. Stallman <rms@gnu.org>
7644
7645 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
7646 <scroll-down-aggressively>: Doc fix.
7647
7648 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
7649 string as pane name, if there is one.
7650 (set_frame_menubar): Save menu_items_n_panes from each call to
7651 parse_single_submenu and use it when calling digest_single_submenu.
7652
7653 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
7654 Don't try to make last line fully visible if it is past end of window.
7655
7656 2002-12-22 Steven Tamm <steventamm@mac.com>
7657
7658 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
7659 (mac_menu_show): Add support for hierarchical popup menus.
7660 (add_menu_item): Remove indentation support.
7661 (fill_submenu, fill_menu): Create hierarchical menus
7662 instead of using indentation.
7663
7664 2002-12-22 Richard M. Stallman <rms@gnu.org>
7665
7666 * xdisp.c (try_cursor_movement): Don't call try_window here.
7667 (redisplay_window): Never redisplay minibuffer when inactive.
7668
7669 * window.c (select_window_1): Undo 9/21 change.
7670
7671 2002-12-22 Steven Tamm <steventamm@mac.com>
7672
7673 * macterm.c (XTread_socket): Call KeyTranslate for control and
7674 meta to deal correctly shifted non-alpha characters, like C-S-5
7675 being treated like C-%. Does not look for shift key to deal
7676 with masking off control-key with mac-reverse-ctrl-meta.
7677
7678 2002-12-21 Richard M. Stallman <rms@gnu.org>
7679
7680 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
7681 If it is non-nil, run timers. Use an unwind-protect to requeue
7682 the events that were read ahead.
7683 (popup_get_selection_unwind): New subroutine.
7684 (popup_get_selection_queue): File-scope variable now holds that queue.
7685 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
7686 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
7687 Use an unwind-protect to pop down the dialog box.
7688 (xdialog_show_unwind): New subroutine implements that.
7689
7690 * xdisp.c (row_containing_pos): Change exit test using last_y.
7691 (try_window_id): Abort if row_containing_pos returns null.
7692
7693 * lread.c (load_error_handler): New function.
7694 (Fload): Handle errors in Fsubstitute_in_file_name.
7695 Don't expect Fsignal to return.
7696
7697 * eval.c: Errors and throws work right with interrupt blocking.
7698 (struct catchtag): New elt interrupt_input_blocked.
7699 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
7700 (internal_catch, Fcondition_case, internal_condition_case)
7701 (internal_condition_case_1, internal_condition_case_2): Save it.
7702 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
7703
7704 * editfns.c (Fformat): Add parens.
7705
7706 * dired.c (file_name_completion): Fix that change.
7707 Delete special quit-handling code; just use QUIT.
7708
7709 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com> (tiny change)
7710
7711 * dired.c (file_name_completion): Close directory on error
7712 just as in directory_files_internal.
7713
7714 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
7715
7716 * window.c (Fset_window_configuration): Set old_point to correct
7717 value when new_current_buffer == current_buffer.
7718
7719 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
7720
7721 Revisited my earlier fix for the following entry in etc/PROBLEMS:
7722 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
7723 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
7724
7725 These changes were in part based upon suggestions made by Peter
7726 'Luna' Runestig [peter@runestig.com].
7727
7728 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
7729 g_b_init_get_token_information, g_b_init_lookup_account_sid,
7730 g_b_init_get_sid_identifier_authority ): Add several static
7731 global variables.
7732
7733 * w32.c (globals_of_w32): New function. Used to initialize those
7734 global variables that must always be initialized on startup even
7735 when the global variable initialized is non zero. Its primary
7736 purpose at this time is to set the global variables
7737 g_b_init_is_windows_9x, g_b_init_open_process_token,
7738 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
7739 g_b_init_get_sid_identifier_authority to 0 on startup.
7740 Called from main.
7741
7742 * w32.c (is_windows_9x): Perform initialization only if
7743 g_b_init_is_windows_9x is equal to 0. On initialization set
7744 g_b_init_is_windows_9x equal to 1.
7745
7746 * w32.c (open_process_token): Perform initialization only if
7747 g_b_init_open_process_token is equal to 0. On initialization set
7748 g_b_init_open_process_token equal to 1.
7749
7750 * w32.c (get_token_information): Perform initialization only if
7751 g_b_init_get_token_information is equal to 0. On initialization
7752 set g_b_init_get_token_information equal to 1.
7753
7754 * w32.c (lookup_account_sid): Perform initialization only if
7755 g_b_init_lookup_account_sid is equal to 0. On initialization
7756 set g_b_init_lookup_account_sid equal to 1.
7757
7758 * w32.c (get_sid_identifier_authority): Perform initialization
7759 only if g_b_init_get_sid_identifier_authority is equal to 0.
7760 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
7761
7762 * w32fns.c (globals_of_w32fns): New function. Used to initialize
7763 those global variables that must always be initialized on startup
7764 even when the global variable initialized is non zero.
7765 Its primary purpose at this time is to initialize the global variable
7766 track_mouse_event_fn.
7767
7768 * w32fns.c (w32_wnd_proc): Remove initialization of
7769 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
7770
7771 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
7772
7773 * w32menu.c (globals_of_w32menu): New function. Used to
7774 initialize those global variables that must always be initialized
7775 on startup even when the global variable initialized is non zero.
7776 Its primary purpose at this time is to initialize the global
7777 variables get_menu_item_info and set_menu_item_info.
7778
7779 * w32menu.c (initialize_frame_menubar): Remove initialization of
7780 get_menu_item_info and set_menu_item_info.
7781
7782 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
7783
7784 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
7785 Declare them.
7786
7787 * emacs.c (main): Call globals_of_w32 prior to calling
7788 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
7789 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
7790 is defined.
7791
7792 * w32term.c (x_update_window_begin): Fix Windows API error
7793 detected by BoundsChecker. Test to determine if
7794 w32_system_caret_hwnd is NULL prior to attempting to use
7795 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
7796
7797 * w32term.c (x_update_window_end): Fix Windows API error
7798 detected by BoundsChecker. Test to determine if
7799 w32_system_caret_hwnd is NULL prior to attempting to use
7800 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
7801
7802 2002-12-17 Kenichi Handa <handa@m17n.org>
7803
7804 * coding.c (coding_system_require_warning): New variable.
7805 (syms_of_coding): DEFVAR it.
7806
7807 * coding.h (coding_system_require_warning): Extern it.
7808
7809 * fileio.c (choose_write_coding_system): Even if
7810 Vcoding_system_for_write is non-nil, if
7811 coding_system_require_warning is nonzero, call
7812 Vselect_safe_coding_system_function.
7813
7814 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
7815
7816 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
7817 (lisp): Add font-core.
7818
7819 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
7820
7821 * textprop.c (text_read_only): New arg `propval'.
7822 (get_char_property_and_overlay): Remove unused var `next_overlay'.
7823 (verify_interval_modification): Use text_read_only's new arg.
7824
7825 2002-12-13 Kenichi Handa <handa@m17n.org>
7826
7827 * coding.c (Funencodable_char_position): Set pend correctly.
7828
7829 2002-12-12 Jason Rumney <jasonr@gnu.org>
7830
7831 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
7832 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
7833 Be more careful about when help_events are generated.
7834
7835 2002-12-12 Steven Tamm <steventamm@mac.com>
7836
7837 * macterm.c (mac_check_for_quit_char): Correctly set the
7838 modifiers of the event to 0.
7839 * mac.c (sys_select): Duplicate rfds before calling select to
7840 ensure that rfds survive the while loop.
7841
7842 2002-12-11 Kim F. Storm <storm@cua.dk>
7843
7844 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
7845 row_containing_pos returned NULL.
7846
7847 2002-12-10 Steven Tamm <steventamm@mac.com>
7848
7849 * mac.c (sys_read): Fix sys_read to not call select if IO is
7850 non-blocking.
7851 (sys_select): Fix sys_select to not use a timeout larger than
7852 the one given.
7853
7854 2002-12-10 Juanma Barranquero <lektu@terra.es>
7855
7856 * editfns.c (Fformat): Use alloca, not _alloca.
7857
7858 2002-12-09 Richard M. Stallman <rms@gnu.org>
7859
7860 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
7861 as the last thing.
7862
7863 2002-12-09 Dave Love <fx@gnu.org>
7864
7865 * s/sol2-8.h: Removed. (Not necessary.)
7866
7867 2002-12-09 Matthew Swift <swift@alum.mit.edu>
7868
7869 * editfns.c (Fformat): Handle precision in string conversion
7870 specifiers like libc functions do (ie, print at most that many
7871 characters).
7872
7873 2002-12-08 Richard M. Stallman <rms@gnu.org>
7874
7875 * xdisp.c (row_containing_pos): Check more carefully
7876 whether charpos is really in the row before returning it.
7877
7878 2002-12-07 Steven Tamm <steventamm@mac.com>
7879
7880 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
7881
7882 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
7883 each stack frame. This may change as it could be time consuming.
7884
7885 * macterm.c (mac_check_for_quit_char, quit_char_comp)
7886 (init_quit_char_handler, mac_determine_quit_char_modifiers)
7887 (mac_initialize): Add code to check for pressing of quit_char
7888 in the OS event queue.
7889
7890 * mac.c (sys_select): Call mac_check_for_quit_char every second
7891 while blocking on select.
7892
7893 * mac.c (sys_read): Use sys_select to test for input first
7894 before calling read, to allow C-g to break.
7895
7896 2002-12-07 Richard M. Stallman <rms@gnu.org>
7897
7898 * minibuf.c (Fcompleting_read): Doc fix.
7899
7900 * lread.c (syms_of_lread) <load-history>: Doc fix.
7901
7902 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
7903
7904 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
7905 autoload.
7906
7907 * data.c (Fdefalias): Record in load-history redefining an autoload.
7908
7909 * alloca.c: Undo ifdef change accidentally made on 12-04.
7910
7911 2002-12-06 Francesco Potorti` <pot@gnu.org>
7912
7913 * xfns.c (png_load): Avoid double gamma correction for PNG images.
7914
7915 2002-12-04 Richard M. Stallman <rms@gnu.org>
7916
7917 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
7918
7919 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
7920
7921 * alloca.c: Don't use #error.
7922
7923 2002-12-03 Dave Love <fx@gnu.org>
7924
7925 * buffer.c (Qucs_set_table_for_input): New.
7926 (Fget_buffer_create): Use it.
7927 (Qset_buffer_major_mode_hook): Deleted.
7928 (Fset_buffer_major_mode): Revert previous change.
7929 (init_buffer_once): Intern ucs-set-table-for-input.
7930 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
7931 Add &Qucs_set_table_for_input.
7932
7933 2002-12-03 Andreas Schwab <schwab@suse.de>
7934
7935 * callint.c (Fcall_interactively): Use next_event only if less
7936 than key_count.
7937
7938 2002-12-02 Andrew Choi <akochoi@shaw.ca>
7939
7940 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
7941 names to 255 characters.
7942
7943 * macterm.c (XTread_socket): If all frames have been collapsed,
7944 expand the first one before handling drag-and-drop events.
7945
7946 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
7947 which is detected by autoconf.
7948
7949 2002-12-01 Steven Tamm <steventamm@mac.com>
7950
7951 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
7952 offset in two hints table to allow prebinding to be redone and
7953 allow the executable to be stripped.
7954
7955 2002-11-29 Dave Love <fx@gnu.org>
7956
7957 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
7958 already provided.
7959
7960 2002-11-29 Richard M. Stallman <rms@gnu.org>
7961
7962 * xdisp.c (start_display): Check more intelligently for
7963 whether the line is continued.
7964 (move_it_vertically_backward): Clear it->continuation_lines_width.
7965
7966 2002-11-28 Dave Love <fx@gnu.org>
7967
7968 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
7969 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
7970
7971 2002-11-27 Steven Tamm <steventamm@mac.com>
7972
7973 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
7974 more descriptive error output from lread.c:Fload upon most require
7975 cycles during boostrapping.
7976
7977 2002-11-27 Jason Rumney <jasonr@gnu.org>
7978
7979 * fileio.c (Finsert_file_contents): Give a more appropriate error
7980 for files bigger than 2Gb when off_t is 32 bit.
7981
7982 * dired.c (Ffile_attributes): Don't return negative file sizes for
7983 files bigger than 2Gb when off_t is 32 bit.
7984
7985 2002-11-27 Dave Love <fx@gnu.org>
7986
7987 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7988
7989 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
7990 Test GETPGRP_VOID instead.
7991 [BSD_TERMIOS]: Remove definitions (never used).
7992
7993 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
7994 Don't define.
7995 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7996
7997 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
7998
7999 2002-11-25 Jason Rumney <jasonr@gnu.org>
8000
8001 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
8002 supported.
8003
8004 2002-11-25 Dave Love <fx@gnu.org>
8005
8006 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
8007
8008 * Makefile.in (TEMACS_LDFLAGS): Update last change.
8009
8010 2002-11-25 Andreas Schwab <schwab@suse.de>
8011
8012 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
8013
8014 2002-11-24 Steven Tamm <steventamm@mac.com>
8015
8016 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
8017 determine the size of pointers alloced in unexed space instead
8018 of using possibly invalid emacs_zone pointers. This fixes the
8019 binary incompatibility problems caused by updates to libSystem.B.
8020
8021 2002-11-24 Richard M. Stallman <rms@gnu.org>
8022
8023 * search.c (Fstring_match): Doc fix.
8024
8025 * callint.c (Fcall_interactively): If a command fails because
8026 `*' detects a read-only buffer, but RECORD_FLAG is set,
8027 record it anyway if the args don't actually do tty input.
8028
8029 2002-11-22 Dave Love <fx@gnu.org>
8030
8031 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
8032
8033 * keyboard.c (interrupt_signal): Provide forward declaration.
8034 (kbd_buffer_store_event): Don't declare interrupt_signal.
8035
8036 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
8037
8038 2002-11-21 Richard M. Stallman <rms@gnu.org>
8039
8040 * eval.c (interactive_p): Skip any number of bytecode
8041 and special form frames, in any order.
8042
8043 2002-11-20 Jason Rumney <jasonr@gnu.org>
8044
8045 * w32fns.c (convert_mono_to_color_image): New function.
8046 (xbm_load, xbm_load_image): Use it when foreground or background
8047 is explicitly set.
8048
8049 2002-11-19 Dave Love <fx@gnu.org>
8050
8051 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
8052
8053 2002-11-18 Jason Rumney <jasonr@gnu.org>
8054
8055 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
8056 (XPutPixel): Swap blue and red.
8057 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
8058 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8059 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
8060 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
8061
8062 2002-11-18 Dave Love <fx@gnu.org>
8063
8064 * m/orion105.h (HAVE_ALLOCA): Don't define.
8065
8066 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
8067
8068 * m/intel386.h: Don't include alloca.h or define alloca.
8069
8070 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
8071 malloc, realloc, calloc.
8072
8073 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
8074 (bcmp): Don't define.
8075
8076 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
8077
8078 * m/amdahl.h: Don't define LIB_STANDARD.
8079
8080 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
8081
8082 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
8083
8084 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
8085 Don't include alloca.h.
8086
8087 * s/aix3-2.h (HAVE_FSYNC): Don't define.
8088
8089 * regex.c (_GNU_SOURCE): Don't define.
8090
8091 * process.c (_GNU_SOURCE): Don't define.
8092
8093 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
8094
8095 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
8096
8097 * s/sol2-8.h: Include sol2-6.h.
8098
8099 2002-11-18 Miles Bader <miles@gnu.org>
8100
8101 * dispextern.h (struct face): Add `overstrike' field.
8102 * xterm.c (x_draw_glyph_string_foreground)
8103 (x_draw_composite_glyph_string_foreground): Implement overstriking.
8104 * xfaces.c (load_face_font): Set `face->overstrike' based on
8105 result from choose_face_font.
8106 (best_matching_font, choose_face_font): Add `needs_overstrike'
8107 argument, and use it to return whether overstriking is desirable
8108 for this face/font combo.
8109 (set_font_frame_param: Pass new argument to choose_face_font.
8110
8111 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
8112
8113 This change is my fix for the following entry in etc/PROBLEMS:
8114 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
8115 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
8116
8117 * w32.c: Added wrapper functions around the win32 API functions
8118 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
8119 GetSidIdentifierAuthority. These wrapper functions serve two
8120 purposes:
8121 1. They ensure that the wrapped function can never be called
8122 when Emacs is running on an operating system on which they are
8123 not supported (Microsoft Windows 95 / 98 / ME).
8124 2. They call the wrapped functions via function pointers rather
8125 than calling them directly. This avoids taking advantage of the
8126 undocumented fact that although these functions are not supported
8127 in the 9x branch of Microsoft Windows, the functions do exist in
8128 the version of advapi32.dll that is found in the 9x branch of
8129 Microsoft Windows.
8130
8131 * w32.c (init_user_info): Replace the calls to the win32 API
8132 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
8133 and GetSidIdentifierAuthority with calls to the newly added
8134 wrapper functions.
8135
8136 * w32.h: Added extern declarations for the following functions:
8137 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
8138 syms_of_w32menu, and void syms_of_fontset.
8139
8140 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
8141 function pointer track_mouse_event_fn in the handler for the
8142 WM_SETFOCUS message.
8143
8144 * w32menu.c (initialize_frame_menubar): Add code to
8145 reinitialize the function pointers set_menu_item_info and
8146 get_menu_item_info.
8147
8148 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
8149
8150 * sound.c: Added a partial implementation of play-sound-internal
8151 for Microsoft Windows. Added various #ifdef / #else / #endif
8152 code blocks to separate the code that will compile under
8153 Microsoft Windows from the code that is specific to Gnu/Linux.
8154 Moved several blocks of code around to make this separation of code
8155 into Windows compatible and Gnu/Linux compatible code blocks easier.
8156
8157 * makefile.w32-in: Include sound.c and link with WinMM.lib.
8158
8159 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
8160 added support for play-sound-internal under Windows would be
8161 included in the build of Emacs.
8162
8163 2002-11-16 Jason Rumney <jasonr@gnu.org>
8164
8165 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
8166
8167 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
8168
8169 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
8170
8171 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
8172 (adjust_point_for_property): Move out of display and invisible even if
8173 we were already inside before (in case a property was added while
8174 we weren't looking). Be more careful when handling invisible props.
8175 Skip invisible text as if it really wasn't there at all.
8176
8177 2002-11-15 Jason Rumney <jasonr@gnu.org>
8178
8179 * w32term.c (x_draw_image_foreground)
8180 (w32_draw_image_foreground_1): Use standard copy and invert
8181 operations to draw images.
8182
8183 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
8184 depth of 1.
8185 (xbm_read_bitmap_data): Invert bits as xbm is read in.
8186 (XPutPixel): Don't invert bits here.
8187
8188 2002-11-15 Jason Rumney <jasonr@gnu.org>
8189
8190 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
8191 (w32_draw_image_foreground_1): Handle image masks.
8192 (x_draw_image_glyph_string): Don't BitBlt transparently.
8193
8194 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
8195 (x_from_xcolors): Adjust RGB values for W32.
8196 (image_background, image_background_transparent)
8197 (postprocess_image, x_to_xcolors, x_disable_image)
8198 (x_build_heuristic_mask): Adapt for W32 and enable.
8199 (x_create_x_image_and_pixmap): Mark images with palettes as such.
8200 (xbm_load): Remove unused variable.
8201
8202 2002-11-14 Richard M. Stallman <rms@gnu.org>
8203
8204 * buffer.c (syms_of_buffer): Doc fix.
8205
8206 2002-11-14 Dave Love <fx@gnu.org>
8207
8208 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
8209
8210 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
8211 * xmenu.c (unuse_menu_items, digest_single_submenu):
8212 * xfns.c (x_put_x_image):
8213 * xdisp.c (message2_nolog, set_message):
8214 * undo.c (record_point):
8215 * terminfo.c (tparam):
8216 * syntax.c (scan_sexps_forward):
8217 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
8218 * composite.c (update_compositions):
8219 * cm.c (calccost, cmgoto):
8220 * charset.c (c_string_width): Declare all args (per C99).
8221
8222 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
8223
8224 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
8225 Don't declare.
8226
8227 * emacs.c (main) [!VMS]: Avoid third arg.
8228
8229 * fns.c (Fcopy_sequence): Doc fix.
8230 (Fmap_char_table): Cast `call2'.
8231
8232 2002-11-14 Francesco Potorti` <pot@gnu.org>
8233
8234 * s/sol2-8.h: New file.
8235
8236 2002-11-14 Kim F. Storm <storm@cua.dk>
8237
8238 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
8239 dependency on `risky-local-variable' and the :propertize form.
8240
8241 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
8242
8243 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
8244
8245 * syntax.c (scan_sexps_forward): Undo last patch.
8246 Use a more obvious fix: check eob before updating the syntax table.
8247
8248 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
8249
8250 * syntax.c (scan_sexps_forward): Update syntax table before reading
8251 a char rather than after so we don't update the table past eob.
8252
8253 2002-11-09 Dave Love <fx@gnu.org>
8254
8255 * buffer.c (Fset_buffer_major_mode): Fix last change.
8256
8257 * regex.c (regexec): Fix pmatch declaration.
8258
8259 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
8260
8261 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
8262 to self-inserting characters.
8263 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
8264
8265 * coding.c (Vtranslation_table_for_input): New.
8266 (syms_of_coding): DEFVAR it.
8267
8268 2002-11-08 Juanma Barranquero <lektu@terra.es>
8269
8270 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
8271 window.
8272
8273 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
8274
8275 * process.c (Fformat_network_address): Remove unused locals p,
8276 cp, and i.
8277
8278 2002-11-06 Dave Love <fx@gnu.org>
8279
8280 * buffer.c (Qset_buffer_major_mode_hook): New.
8281 (Fset_buffer_major_mode): Use it.
8282
8283 2002-11-06 Richard M. Stallman <rms@gnu.org>
8284
8285 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
8286 and stop_polling.
8287
8288 * process.c (wait_reading_process_input):
8289 Test POLLING_PROBLEM_IN_SELECT, not hpux.
8290 Avoid initialization for auto Lisp_Object var.
8291
8292 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
8293
8294 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
8295
8296 2002-11-05 Richard M. Stallman <rms@gnu.org>
8297
8298 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
8299
8300 * callint.c (Fcall_interactively): New local filter_specs.
8301 (Fcall_interactively): Check for progn as well as let.
8302 Add a gcpro.
8303 (Qprogn): New variable.
8304 (syms_of_callint): Staticpro and init Qprogn.
8305
8306 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
8307
8308 * lread.c (Feval_buffer): Doc fix.
8309
8310 2002-11-04 Dave Love <fx@gnu.org>
8311
8312 * keyboard.c (read_char): Always translate iff
8313 Vkeyboard_translate_table is a char table and c is valid.
8314
8315 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
8316 and fix C types.
8317
8318 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
8319
8320 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
8321
8322 * editfns.c (get_pos_property): Don't hardcode Qfield.
8323
8324 * keyboard.c (adjust_point_for_property): Handle `display' prop on
8325 overlays. Also handle `invisible' prop.
8326
8327 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
8328
8329 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
8330 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
8331
8332 2002-11-01 Andreas Schwab <schwab@suse.de>
8333
8334 * editfns.c (Fmessage): Revert last change to properly handle %%.
8335
8336 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
8337
8338 * xmenu.c (unuse_menu_items): New fun.
8339 (menu_items_inuse): New var.
8340 (syms_of_xmenu): Initialize it.
8341 (init_menu_items): Use it to detect re-entrance.
8342 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
8343 (Fx_popup_menu): Remove spurious XSETFRAME.
8344
8345 * editfns.c (find_field): Make an exception for nil fields.
8346
8347 2002-11-01 Dave Love <fx@gnu.org>
8348
8349 * m/gec63.h: Deleted.
8350
8351 2002-10-31 Dave Love <fx@gnu.org>
8352
8353 * xterm.c (XTread_socket): Fix last change.
8354 (xaw_scroll_callback): Cast call_data to long to avoid warning.
8355
8356 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
8357
8358 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
8359
8360 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
8361
8362 * editfns.c (overlays_around, get_pos_property): New funs.
8363 (find_field): Use them.
8364 Also be careful not to modify POS before its last use.
8365 (Fmessage): Don't Fformat if there's nothing to format.
8366
8367 2002-10-30 Dave Love <fx@gnu.org>
8368
8369 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
8370 [HAVE_PTY_H]; Include pty.h.
8371
8372 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
8373
8374 * xterm.c (Qeql): Declare.
8375 (Vx_keysym_table): New.
8376 (syms_of_xterm): Initialize it.
8377 (XTread_socket): Use it. Deal with ASCII keysyms.
8378 (XSetIMValues) [HAVE_X11R6]: Prototype.
8379
8380 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
8381 (lispy_kana_keys): Comment out.
8382 (make_lispy_event) [XK_kana_A]: Comment out.
8383 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
8384 Fix sprintf call.
8385
8386 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
8387 regexp.h change).
8388 (TERMINFO, LIBS_TERMCAP): Define.
8389
8390 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
8391 (bcmp): Define conditional on HAVE_BCMP.
8392 (NO_SIOCTL_H): Don't define.
8393 (TIOCSIGSEND): Don't make conditional on IRIX6.
8394
8395 * s/sol2-5.h: Don't include strings.h.
8396 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
8397
8398 * s/irix6-0.h (IRIX6): Don't define.
8399 (bcopy, bcmp, bzero): Don't undef.
8400
8401 * s/irix6-5.h: Don't include strings.h.
8402 (IRIX6): Don't define.
8403 (bcopy, bcmp, bzero): Don't undef.
8404
8405 * syntax.c (Fforward_comment): Doc fix.
8406
8407 2002-10-29 Kim F. Storm <storm@cua.dk>
8408
8409 * process.c (Fsignal_process): Allow PROCESS to be specified by
8410 name in addition to pid (as integer or string).
8411
8412 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
8413
8414 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
8415 environments.
8416
8417 2002-10-27 Kim F. Storm <storm@cua.dk>
8418
8419 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
8420
8421 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
8422
8423 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
8424
8425 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
8426
8427 2002-10-26 Richard M. Stallman <rms@gnu.org>
8428
8429 * editfns.c (Fformat): Detect invalid format letters for floats.
8430
8431 2002-10-25 Kenichi Handa <handa@m17n.org>
8432
8433 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
8434 (x_set_title): Likewise.
8435
8436 2002-10-25 Juanma Barranquero <lektu@terra.es>
8437
8438 * macgui.h:
8439 * w32gui.h: Remove definition of XColor.
8440
8441 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
8442
8443 2002-10-24 Kim F. Storm <storm@cua.dk>
8444
8445 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
8446 Callers changed (supply dummy arg).
8447
8448 * lisp.h (get_window_cursor_type): Update prototype.
8449
8450 * w32term.c (x_display_and_set_cursor): Get active_cursor from
8451 get_window_cursor_type to track system caret.
8452
8453 2002-10-24 Kim F. Storm <storm@cua.dk>
8454
8455 * process.c (Fformat_network_address): New function.
8456 (syms_of_process): Defsubr it.
8457 (list_processes_1): Use it to format :local/:remote address if
8458 service/host is not set; before Emacs would crash in that case.
8459 (Fmake_network_process): Don't use Ffind_operation_coding_system
8460 to setup coding system if host or service is not set.
8461
8462 2002-10-23 Juanma Barranquero <lektu@terra.es>
8463
8464 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
8465
8466 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
8467 COLORREF.
8468
8469 * macgui.h:
8470 * w32gui.h: Add definition of XColor.
8471
8472 * macfns.c:
8473 * w32fns.c:
8474 * xfaces.c: Remove definition of XColor.
8475
8476 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
8477
8478 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
8479
8480 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
8481 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
8482 window if it is dedicated.
8483 (Fshrink_window): Add preserve_before as was done for enlarge_window.
8484 (Vspecial_display_function): Update docstring.
8485
8486 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
8487 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
8488 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
8489
8490 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
8491
8492 * casefiddle.c (casify_region): Don't treat a prefix char as part
8493 of a word when at the beginning.
8494
8495 2002-10-17 Juanma Barranquero <lektu@terra.es>
8496
8497 * lread.c (syms_of_lread): Fix typos.
8498
8499 2002-10-17 Dave Love <fx@gnu.org>
8500
8501 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
8502
8503 2002-10-16 Richard M. Stallman <rms@gnu.org>
8504
8505 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
8506
8507 2002-10-14 Juanma Barranquero <lektu@terra.es>
8508
8509 * w16select.c (syms_of_win16select): Fix docstring for
8510 `selection-coding-system'.
8511
8512 * w32select.c (syms_of_w32select): Likewise.
8513
8514 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
8515
8516 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
8517 a backslash-quoted char.
8518 (scan_lists, scan_sexps_forward): Pacify the compiler.
8519
8520 2002-10-13 Richard M. Stallman <rms@gnu.org>
8521
8522 * window.c (window_scroll): Set immediate_quit.
8523
8524 * print.c (print): When backquote form is the car of a list,
8525 output in old style. Use old_backquote_output to output all
8526 comma forms inside it in old style too.
8527
8528 * buffer.h (struct buffer): Move `undo_list' down below `name'.
8529
8530 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
8531
8532 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
8533 batch mode).
8534
8535 * lread.c (Fload): Doc fix (load-suffixes).
8536
8537 2002-10-10 Steven Tamm <steventamm@mac.com>
8538
8539 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
8540 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
8541 Also switch the default to Qnil from Qt.
8542
8543 2002-10-08 Kenichi Handa <handa@m17n.org>
8544
8545 * coding.c (code_convert_region): When we need more GAP for
8546 conversion, pay attention to the case that coding->produced is not
8547 greater than coding->consumed.
8548
8549 2002-10-07 Richard M. Stallman <rms@gnu.org>
8550
8551 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
8552
8553 2002-10-06 Andrew Choi <akochoi@shaw.ca>
8554
8555 * macmenu.c (mac_menu_show): Add j to count menu items; match
8556 menu_item_selection to it to find selected item.
8557
8558 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8559
8560 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
8561 cases. The correct fix is to pass ReparentNotify to Xt.
8562 The shell widget interprets ConfigureNotify differently depending
8563 on if it has been reparented or not.
8564
8565 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
8566
8567 * editfns.c (Fformat_time_string): Doc fix.
8568
8569 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
8570
8571 * fns.c (Flength): Doc fix.
8572
8573 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
8574
8575 * keyboard.c (keyremap): New struct.
8576 (read_key_sequence): Use it: globally replace keytran_foo with
8577 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
8578 keytran_next and fkey_next to just `next'.
8579
8580 2002-10-04 Steven Tamm <steventamm@mac.com>
8581
8582 * macterm.c (keycode_to_xkeysym_table): Change return to be
8583 treated like an X keysym.
8584
8585 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8586
8587 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
8588 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
8589 This is to also handle x/y changes that occur because of a resize.
8590
8591 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
8592
8593 * frame.c (Vdelete_frame_functions): New variable.
8594 (syms_of_frame): Initialize and defvar it.
8595 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
8596 it when frame's `tooltip' parameter is non-nil.
8597
8598 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
8599
8600 * w32fns.c (x_create_tip_frame): Likewise.
8601
8602 * macfns.c (x_create_tip_frame): Likewise.
8603
8604 2002-09-30 Kenichi Handa <handa@m17n.org>
8605
8606 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
8607 -1 before calling ccl_driver.
8608
8609 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
8610 Only when it is non-nil, handle composition sequence.
8611 (setup_coding_system) <0>: Don't force composition handling.
8612
8613 * Makefile.in (lisp, shortlisp): Add utf-16.elc
8614
8615 2002-09-29 Richard M. Stallman <rms@gnu.org>
8616
8617 * search.c (Freplace_match): Adjust match data for the substitution
8618 just made in the buffer.
8619
8620 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
8621 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
8622
8623 2002-09-27 Richard M. Stallman <rms@gnu.org>
8624
8625 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
8626 (read_char): Use them. Do all exits thru the end of the function.
8627
8628 2002-09-27 Kenichi Handa <handa@etl.go.jp>
8629
8630 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
8631 is nil.
8632
8633 2002-09-26 Richard M. Stallman <rms@gnu.org>
8634
8635 * regex.h (__restrict_arr): Don't define if already defined.
8636
8637 * coding.c (run_pre_post_conversion_on_str):
8638 Save and restore Vdeactivate_mark.
8639
8640 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
8641
8642 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
8643
8644 2002-09-26 Kenichi Handa <handa@etl.go.jp>
8645
8646 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
8647 nonzero, try face's family at first. Otherwise try FAMILY at first.
8648 (choose_face_font): If C is a single byte char or latin-1, call
8649 try_font_list with PREFER_FACE_FAMILY 1.
8650
8651 2002-09-21 Richard M. Stallman <rms@gnu.org>
8652
8653 * window.c (select_window_1): Don't select frame.
8654 Set frame's selected window only when frame itself is selected.
8655 (Fselect_window): Doc fix.
8656
8657 2002-09-18 Kim F. Storm <storm@cua.dk>
8658
8659 * process.c (make-network-process): Doc fix (there is no
8660 network-server-log-function hook).
8661
8662 2002-09-18 Richard M. Stallman <rms@gnu.org>
8663
8664 * print.c (print): Clear out the unused parts of Vprint_number_table.
8665 (syms_of_print): Doc fix for `print-number-table'.
8666
8667 * unexelf.c (unexec): Undo previous change.
8668
8669 2002-09-17 Andreas Schwab <schwab@suse.de>
8670
8671 * m/alpha.h [LINUX]: Don't define DATA_START.
8672
8673 2002-09-16 Dave Love <fx@gnu.org>
8674
8675 * unexelf.c (unexec): Deal with .got, reinstating change from
8676 25-08-1999.
8677
8678 2002-09-13 Richard M. Stallman <rms@gnu.org>
8679
8680 * s/sol2-6.h (UNEXEC): Comment out definition.
8681
8682 * unexsol.c (unexec): Don't downcase first letter of error msg.
8683
8684 * xfaces.c (Fcolor_supported_p): Just one arg is required.
8685
8686 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
8687
8688 * unexsol.c: Include buffer.h, charset.h, coding.h.
8689
8690 2002-09-11 Richard M. Stallman <rms@gnu.org>
8691
8692 * unexsol.c: Don't use report_file_error; do it by hand
8693 using dlerror.
8694
8695 * process.c (wait_reading_process_input, both versions):
8696 Before calling turn_on_atimers, call stop_polling.
8697
8698 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
8699
8700 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
8701 we go to too_near_end, call clear_glyph_matrix.
8702 (redisplay_window): After make_cursor_line_fully_visible,
8703 call clear_glyph_matrix and bypass `goto done'.
8704
8705 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
8706 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
8707
8708 2002-09-10 Richard M. Stallman <rms@gnu.org>
8709
8710 * fileio.c (Fdo_auto_save): Catch error making directory.
8711 Only call push_message if we need to.
8712 At the same time, make an unwind-protect to pop it.
8713 Rename local message_p to old_message_p.
8714 (do_auto_save_make_dir, do_auto_save_eh): New functions.
8715 (do_auto_save_unwind): Don't call pop_message.
8716
8717 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
8718
8719 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
8720
8721 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
8722
8723 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
8724
8725 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
8726
8727 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
8728 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
8729 (re_match_2_internal): Be more careful with infinite loops.
8730
8731 2002-09-10 Kim F. Storm <storm@cua.dk>
8732
8733 * macros.c (end_kbd_macro): New function.
8734 (Fend_kbd_macro): Use it.
8735
8736 * macros.h (end_kbd_macro): Declare extern.
8737
8738 * keyboard.c (Fdiscard_input): If defining keyboard macro,
8739 end and save it instead of discarding it.
8740
8741 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
8742
8743 * s/sol2-6.h: Fix typo. Add comment.
8744
8745 2002-09-09 Richard M. Stallman <rms@gnu.org>
8746
8747 * regex.c (regnum_t): Use signed int, not unsigned int.
8748
8749 * s/sol2-6.h: New file.
8750
8751 * s/sol2-5.h (UNEXEC): Definition deleted.
8752
8753 2002-09-08 Kim F. Storm <storm@cua.dk>
8754
8755 * macros.c (executing_macro_index): Change type to EMACS_INT.
8756 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
8757
8758 * macros.h (executing_macro_index): Change type to EMACS_INT.
8759
8760 2002-09-06 Richard M. Stallman <rms@gnu.org>
8761
8762 * casetab.c (set_case_table): Make canon table point to eqv table.
8763
8764 2002-09-06 Juanma Barranquero <lektu@terra.es>
8765
8766 * coding.c (syms_of_coding): Fix spacing.
8767
8768 * composite.c (Fcompose_region_internal)
8769 (Fcompose_string_internal): Likewise.
8770
8771 * data.c (Flsh): Likewise.
8772
8773 * fontset.c (Fset_fontset_font): Likewise.
8774
8775 * macfns.c (Fx_server_max_request_size): Likewise.
8776
8777 * w16select.c (syms_of_win16select): Likewise.
8778
8779 * w32select.c (syms_of_w32select): Likewise.
8780
8781 * xselect.c (syms_of_xselect): Likewise.
8782
8783 2002-09-05 Richard M. Stallman <rms@gnu.org>
8784
8785 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
8786 call EXTEND_RANGE_TABLE and return a proper value.
8787 (set_image_of_range): Don't call set_image_of_range_1
8788 if no TRANSLATE or if range includes all of Latin-1.
8789 Only call it for the Latin-1 part of the range.
8790 For other cases, make two separate ranges,
8791 one for the original specified characters and one for
8792 their case-conversions.
8793
8794 2002-09-04 Richard M. Stallman <rms@gnu.org>
8795
8796 * s/sol2-5.h (UNEXEC): Use unexsol.o.
8797
8798 * window.c (displayed_window_lines): Correct for one-off bug
8799 in HEIGHT on non-window displays.
8800
8801 * regex.c (set_image_of_range_1): New function.
8802 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
8803 Return a value to indicate running out of memory.
8804 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
8805 (extend_range_table_work_area): New subroutine.
8806 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
8807 Different calling conventions, and used from set_image_of_range{,_1}.
8808 (IMMEDIATE_QUIT_CHECK): Definitions moved.
8809
8810 2002-09-04 Juanma Barranquero <lektu@terra.es>
8811
8812 * makefile.w32-in: All dependencies updated.
8813
8814 2002-09-01 Richard M. Stallman <rms@gnu.org>
8815
8816 * unexsol.c: New file.
8817
8818 * xfns.c (Qbox): Declare external, don't define.
8819
8820 * xdisp.c (redisplay_window) <force-start case>:
8821 If point is on semi-visible last line, reposition
8822 it at previous line.
8823
8824 * alloc.c (display_malloc_warning): Use display-warning.
8825 (malloc_warning_1): Function deleted.
8826
8827 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
8828
8829 * lread.c (read1): Handle #! by skipping the line.
8830
8831 2002-08-31 Richard M. Stallman <rms@gnu.org>
8832
8833 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
8834 Don't include LDFLAGS.
8835 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
8836
8837 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
8838
8839 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
8840 member of x_display_info unless we compile for some window system.
8841
8842 2002-08-31 Kim F. Storm <storm@cua.dk>
8843
8844 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
8845 (get_window_cursor_type): Don't use them.
8846 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
8847
8848 2002-08-30 Kenichi Handa <handa@etl.go.jp>
8849
8850 * xdisp.c (get_next_display_element): Fix previous change.
8851
8852 2002-08-30 Andrew Choi <akochoi@shaw.ca>
8853
8854 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
8855 (expose_window): Use it to fix the display of overlapping
8856 rows (merge code from xterm.c).
8857
8858 * macfns.c (Qbox): Add extern declaration.
8859
8860 2002-08-30 Juanma Barranquero <lektu@terra.es>
8861
8862 * w32fns.c (Qbox): Make extern.
8863 (syms_of_w32fns): Remove initialization of Qbox.
8864
8865 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
8866
8867 * xfns.c (Fx_open_connection): Fix error message.
8868
8869 2002-08-30 Kim F. Storm <storm@cua.dk>
8870
8871 The following changes consolidates the handling of the cursor
8872 type in xdisp.c, moving duplicate code and functionality from
8873 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
8874
8875 * frame.h (enum text_cursor_kinds): Consolidated here.
8876 Added DEFAULT_CURSOR value.
8877 (struct frame) <desired_cursor, cursor_width>
8878 <blink_off_cursor, blink_off_cursor_width>: New fields.
8879 Consolidated from output_x, output_w32 and output_mac structs.
8880 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
8881 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
8882
8883 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
8884 Variables consolidated here.
8885 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
8886 (Vcursor_in_non_selected_windows): Renamed from
8887 cursor_in_non_selected_windows and changed to Lisp_Object.
8888 (syms_of_xdisp): Define and staticpro new and moved variables.
8889 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
8890 consolidated here. Recognize Qhollow setting.
8891 (set_frame_cursor_types): New function to set frame cursor types
8892 based on the frame parameters.
8893 (get_window_cursor_type): New function to calculate new cursor
8894 type and width for the specified window. Based on duplicated
8895 code consolidated here.
8896 Enhancements: cursor-in-non-selected-windows may be a cursor type,
8897 check buffer-local alternate-cursor-type and blink-cursor-alist
8898 before using built-in blink off methods.
8899
8900 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
8901
8902 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
8903 (get_specified_cursor_type, get_window_cursor_type)
8904 (set_frame_cursor_types): Added prototypes.
8905
8906 * macfns.c (x_specified_cursor_type): Removed.
8907 (x_set_cursor_type): Use set_frame_cursor_types.
8908 (Qbar, Qbox): Removed.
8909 (syms_of_macfns): Don't intern or staticpro them.
8910
8911 * macterm.c (x_specified_cursor_type): Remove prototype.
8912 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
8913 (x_display_and_set_cursor): Use get_window_cursor_type.
8914 Remove unused local variables cursor_non_selected, active_cursor.
8915 Redraw cursor if hbar cursor width changes.
8916 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
8917
8918 * macterm.h (enum text_cursor_kinds): Removed.
8919 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
8920 <blink_off_cursor, blink_off_cursor_width>: Members removed.
8921 (FRAME_DESIRED_CURSOR): Macro removed.
8922
8923 * w32fns.c (Vblink_cursor_alist): Removed.
8924 (Qbar, Qhbar, Qbox, Qhollow): Removed.
8925 (syms_of_w32fns): Don't intern, staticpro, or define them.
8926 (x_specified_cursor_type): Removed.
8927 (x_set_cursor_type): Use set_frame_cursor_types.
8928
8929 * w32term.c (x_specified_cursor_type): Remove prototype.
8930 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
8931 (x_display_and_set_cursor): Use get_window_cursor_type.
8932 Remove unused local variables cursor_off_state.
8933 Redraw cursor if hbar cursor width changes.
8934 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
8935
8936 * w32term.h (enum text_cursor_kinds): Removed.
8937 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
8938 <blink_off_cursor, blink_off_cursor_width>: Members removed.
8939 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
8940 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
8941 (struct w32_display_info) <x_highlight_frame>: Renamed member from
8942 w32_highlight_frame.
8943
8944 * xfns.c (Vblink_cursor_alist): Removed.
8945 (Qbar, Qhbar, Qbox, Qhollow): Removed.
8946 (syms_of_xfns): Don't intern, staticpro, or define them.
8947 (x_specified_cursor_type): Removed.
8948 (x_set_cursor_type): Use set_frame_cursor_types.
8949
8950 * xterm.c (x_specified_cursor_type): Remove prototype.
8951 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
8952 (x_display_and_set_cursor): Use get_window_cursor_type.
8953 Remove unused local variables cursor_off_state.
8954 Redraw cursor if hbar cursor width changes.
8955
8956 * xterm.h (enum text_cursor_kinds): Removed.
8957 (struct output_x) <current_cursor, desired_cursor, cursor_width>
8958 <blink_off_cursor, blink_off_cursor_width>: Members removed.
8959 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
8960 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
8961 (x_specified_cursor_type): Remove prototype.
8962
8963 2002-08-28 Richard M. Stallman <rms@gnu.org>
8964
8965 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
8966 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
8967 (Vblink_cursor_alist): New variable.
8968 (syms_of_w32fns): Initialize and defvar it.
8969 (x_specified_cursor_type): Recognize Qbox for filled box.
8970 Exceptions are hollow boxes.
8971 (Qbox, Qhollow): New variables.
8972 (syms_of_w32fns): Initialize and staticpro them.
8973
8974 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
8975 New macros.
8976 (struct w32_output): New fields blink_off_cursor,
8977 blink_off_cursor_width.
8978 (FRAME_CURSOR_WIDTH): New macro.
8979
8980 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
8981 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
8982
8983 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
8984 for bar cursor.
8985
8986 * w32term.c (expose_overlaps): New function.
8987 (expose_window): Use it to fix the display of overlapping rows.
8988
8989 2002-08-28 Simon Josefsson <jas@extundo.com>
8990
8991 * xfns.c (Fx_open_connection): Improve help when X connection
8992 fails, xhost is insecure and xauth is better.
8993
8994 2002-08-28 Juanma Barranquero <lektu@terra.es>
8995
8996 * makefile.w32-in: Add missing dependencies on w32term.h and
8997 composite.h.
8998
8999 * emacs.c (USAGE1): Add missing newline.
9000
9001 2002-08-27 Andrew Choi <akochoi@shaw.ca>
9002
9003 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
9004
9005 2002-08-27 Richard M. Stallman <rms@gnu.org>
9006
9007 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
9008 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
9009 (Vblink_cursor_alist): New variable.
9010 (syms_of_xfns): Initialize and defvar it.
9011 (x_specified_cursor_type): Recognize Qbox for filled box.
9012 Exceptions are hollow boxes.
9013 (Qbox, Qhollow): New variables.
9014 (syms_of_xfns): Initialize and staticpro them.
9015
9016 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
9017 New macros.
9018 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
9019
9020 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
9021 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
9022
9023 * emacs.c (main): Handle --script.
9024 (USAGE1): Mention --script.
9025 (standard_args): Define sort order for --script.
9026
9027 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
9028
9029 * xdisp.c (redisplay_updating_p): Variable removed.
9030 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
9031 New variables.
9032 (init_iterator): Don't free realized faces if
9033 inhibit_free_realized_faces is set.
9034 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
9035 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
9036 initialize Qinhibit_free_realized_faces.
9037
9038 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
9039 when iterator is adding glyphs to a glyph matrix.
9040
9041 2002-08-27 Kenichi Handa <handa@etl.go.jp>
9042
9043 * xdisp.c (get_next_display_element): In unibyte case, don't use
9044 octal form for such eight-bit characters that can be converted to
9045 multibyte char.
9046
9047 2002-08-26 Kim F. Storm <storm@cua.dk>
9048
9049 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize foreground
9050 and background colors. From Joe Buehler (tiny change).
9051
9052 2002-08-26 Miles Bader <miles@gnu.org>
9053
9054 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
9055
9056 2002-08-25 Andrew Choi <akochoi@shaw.ca>
9057
9058 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
9059 defined instead of MAC_OSX.
9060
9061 * s/darwin.h (select): Define select to sys_select only if
9062 HAVE_CARBON is defined.
9063 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
9064 (DONT_REOPEN_PTY): #def it.
9065
9066 * macterm.c (XTread_socket): Remove code to call
9067 SendEventToEventTarget for keys with command modifiers when
9068 mac_command_key_is_meta is nil.
9069
9070 2002-08-24 Andreas Schwab <schwab@suse.de>
9071
9072 * eval.c (Fdefvar): Fix last change.
9073
9074 2002-08-23 Richard M. Stallman <rms@gnu.org>
9075
9076 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
9077 Record variables in load history as (defvar . VAR).
9078 (Fdefvar): Don't record in load history if no initial value.
9079 (Qdefvar): New variable.
9080 (syms_of_eval): Init and staticpro it.
9081
9082 * lread.c (syms_of_lread): Doc fix.
9083 (build_load_history): Use Fmember to see if a definition
9084 is already in the Vload_history element.
9085
9086 * process.c (Fstart_process): Remove /: from program name.
9087
9088 * emacs.c (decode_env_path): Don't add /: if file name handler
9089 has a `safe-magic' property.
9090
9091 * callproc.c (Fcall_process): Remove /: from program name.
9092
9093 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
9094
9095 * regex.c (PATFETCH): Remove the translating fetch.
9096 (PATFETCH_RAW): Rename to PATFETCH.
9097 (set_image_of_range): New fun.
9098 (SET_RANGE_TABLE_WORK_AREA): Use it.
9099 (regex_compile): Don't translate the pattern chars so eagerly.
9100 Only do it when inserting an `exactn' bytecode or when handling
9101 a char-range.
9102 (mutually_exclusive_p): Avoid empty statement.
9103
9104 2002-08-22 Kim F. Storm <storm@cua.dk>
9105
9106 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
9107 end up on a partially visible line; this reverts a specific part
9108 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
9109 display error which has been reported several times now.
9110 However it introduces the problem that changes was supposed to fix.
9111 See my comments in the source if you want to debug this further.
9112
9113 2002-08-20 Kenichi Handa <handa@etl.go.jp>
9114
9115 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
9116
9117 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
9118
9119 * msdos.c (croak): Add `void' to definition.
9120
9121 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
9122 Don't define them, they are defined in msdos.c.
9123
9124 * mem-limits.h [MSDOS]: Declare etext.
9125
9126 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
9127 `const' since CORRECT_DIR_SEPS modifies its target.
9128
9129 2002-08-19 Kim F. Storm <storm@cua.dk>
9130
9131 * keyboard.c (Fclear_this_command_keys): Add optional arg
9132 KEEP-RECORD to avoid clearing lossage when we just want to clear
9133 the current key sequence (kmacro needs this).
9134
9135 2002-08-19 Kenichi Handa <handa@localhost>
9136
9137 * composite.c (run_composition_function): Call FUNC if it is fboundp.
9138
9139 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
9140 cons, return Qnil.
9141
9142 2002-08-17 Richard M. Stallman <rms@gnu.org>
9143
9144 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
9145
9146 * sysdep.c [!VMS]: Include sys/files.h.
9147
9148 * editfns.c (save_restriction_restore): Defend from unchained marker.
9149
9150 * buffer.c (overlays_at): Handle extending vec uniformly.
9151 (overlays_in): Handle extending vec from length 0 as in overlays_at.
9152
9153 2002-08-15 Andrew Choi <akochoi@shaw.ca>
9154
9155 * mac.c (init_mac_osx_environment): New function.
9156
9157 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
9158
9159 2002-08-14 Kim F. Storm <storm@cua.dk>
9160
9161 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
9162 executing macro before appending to it (when used from Lisp).
9163 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
9164 which is called prior to each iteration of macro (for kmacro.el).
9165 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
9166
9167 * lisp.h (Fexecute_kbd_macro): Update prototype.
9168
9169 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
9170
9171 2002-08-14 Kenichi Handa <handa@etl.go.jp>
9172
9173 * xselect.c (QUTF8_STRING): New variable.
9174 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
9175 (x_atom_to_symbol): Likewise.
9176 (x_get_local_selection): New argument local_request. If it is
9177 nonzero, call handler_fn with the second arg nil.
9178 (x_handle_selection_request): Call x_get_local_selection with
9179 local_request 0.
9180 (lisp_data_to_selection_data): Don't encode the string here.
9181 (Fx_get_selection_internal): Call x_get_local_selection with
9182 local_request 1.
9183 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
9184
9185 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
9186
9187 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
9188
9189 2002-08-13 Richard M. Stallman <rms@gnu.org>
9190
9191 * minibuf.c (Fminibufferp): New function.
9192 (syms_of_minibuf): Defsubr it.
9193 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
9194
9195 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
9196
9197 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
9198
9199 2002-08-12 Richard M. Stallman <rms@gnu.org>
9200
9201 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
9202 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
9203 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
9204 already.
9205
9206 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
9207
9208 2002-08-11 Andrew Choi <akochoi@shaw.ca>
9209
9210 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
9211 (Vmac_pass_command_to_system): New variable.
9212 (Vmac_pass_control_to_system): New variable.
9213 (do_mouse_moved): Check wp with is_emacs_window.
9214 (XTread_socket): Check window_ptr with is_emacs_window.
9215 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
9216 events back to Mac Toolbox for processing, depending on values of
9217 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
9218 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
9219 Vmac_pass_control_to_system.
9220
9221 2002-08-10 Kenichi Handa <handa@etl.go.jp>
9222
9223 * coding.c (unencodable_char_position): New function.
9224 (Funencodable_char_position): New function.
9225 (syms_of_coding): Defsubr Funencodable_char_position.
9226
9227 2002-08-10 Andrew Choi <akochoi@shaw.ca>
9228
9229 * mac.c (sys_select) [MAC_OSX]: New function.
9230
9231 * macterm.c (MakeMeTheFrontProcess): New function.
9232 (mac_initialize): Call MakeMeTheFrontProcess.
9233
9234 * s/darwin.h: Define select to sys_select.
9235
9236 2002-08-09 Richard M. Stallman <rms@gnu.org>
9237
9238 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
9239
9240 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
9241
9242 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
9243 end of the buffer.
9244
9245 2002-08-08 Ken Raeburn <raeburn@mit.edu>
9246
9247 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
9248
9249 * puresize.h (BASE_PURESIZE): Increase to 910000.
9250
9251 2002-08-08 Kenichi Handa <handa@etl.go.jp>
9252
9253 * coding.c (Ffind_operation_coding_system): For write-region, if
9254 VISIT is a filename, make it the target.
9255
9256 2002-08-07 Richard M. Stallman <rms@gnu.org>
9257
9258 * alloc.c (mark_object): Detect long lists for debugging.
9259 (mark_object_loop_halt): New variable.
9260
9261 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
9262
9263 * data.c (Fmake_variable_frame_local): Doc fix.
9264
9265 2002-08-01 David Ponce <david@dponce.com>
9266
9267 * w32menu.c (local_heap, local_alloc, local_free): New macros.
9268 (malloc_widget_value, free_widget_value)
9269 (w32_free_submenu_strings): Use them.
9270
9271 (push_submenu_start, push_submenu_end, push_left_right_boundary)
9272 (push_menu_pane, push_menu_item, single_keymap_panes)
9273 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
9274 (single_submenu, set_frame_menubar)
9275 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
9276
9277 (Fx_popup_menu): Don't show pop up menu until preceding one is
9278 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
9279
9280 * w32menu.c: Changes adapted from xmenu.c
9281 (set_frame_menubar): First parse all submenus,
9282 then make widget_value trees from them.
9283 Don't allocate any widget_value objects
9284 until we are done with the parsing.
9285 (parse_single_submenu): New function.
9286 (digest_single_submenu): New function.
9287 (single_submenu): Function deleted, replaced by those two.
9288
9289 2002-08-04 Andrew Choi <akochoi@shaw.ca>
9290
9291 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
9292 returns a valid window pointer before proceeding for keyDown and
9293 autoKey events.
9294
9295 2002-08-03 Andrew Choi <akochoi@shaw.ca>
9296
9297 * macterm.c (USE_CARBON_EVENTS): New macro.
9298 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
9299 (x_iconify_frame): Call CollapseWindow.
9300 (Vmac_reverse_ctrl_meta): New variable.
9301 (Vmac_wheel_button_is_mouse_2): New variable.
9302 (init_mac_drag_n_drop): New function.
9303 (mac_do_receive_drag): New function.
9304 (mac_handle_service_event): New function.
9305 (init_service_handler): New function.
9306 (mac_to_emacs_modifiers): New function.
9307 (mac_event_to_emacs_modifiers): New function.
9308 (mac_get_mouse_btn): New function.
9309 (mac_convert_event_ref): New function.
9310 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
9311 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
9312 mac_get_mouse_btn.
9313 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
9314
9315 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
9316 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
9317 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
9318 TOOL_BAR_EVENT for MAC_OS as well.
9319 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
9320 as for WINDOWS_NT.
9321 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
9322
9323 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
9324
9325 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
9326
9327 * xdisp.c (forward_to_next_line_start): Fix a condition that
9328 lead to a newline being skipped.
9329
9330 2002-08-02 Andrew Choi <akochoi@shaw.ca>
9331
9332 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
9333
9334 2002-08-01 Richard M. Stallman <rms@gnu.org>
9335
9336 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
9337
9338 2002-07-31 Andrew Choi <akochoi@shaw.ca>
9339
9340 * macfns.c: #undef init_process before #define-ing it.
9341
9342 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
9343 HAVE_CARBON is defined.
9344
9345 2002-07-31 Richard M. Stallman <rms@gnu.org>
9346
9347 * xmenu.c (set_frame_menubar): First parse all submenus,
9348 then make widget_value trees from them.
9349 Don't allocate any widget_value objects
9350 until we are done with the parsing.
9351 (parse_single_submenu): New function.
9352 (digest_single_submenu): New function.
9353 (single_submenu): Function deleted, replaced by those two.
9354
9355 2002-07-30 Juanma Barranquero <lektu@terra.es>
9356
9357 * w32proc.c (syms_of_ntproc): Fix docstring of
9358 `w32-get-true-file-attributes'.
9359
9360 2002-07-28 Richard M. Stallman <rms@gnu.org>
9361
9362 * s/hpux8.h (HPUX8): Define this before including hpux.h.
9363 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
9364
9365 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
9366
9367 * keyboard.c (make_lispy_event):
9368 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
9369 Explicitly clear up_modifier in event->modifiers.
9370
9371 2002-07-27 Richard M. Stallman <rms@gnu.org>
9372
9373 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
9374
9375 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
9376 for bar cursor.
9377
9378 2002-07-26 Kenichi Handa <handa@etl.go.jp>
9379
9380 * coding.c (detect_coding_iso2022): While checking a byte sequence
9381 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
9382 it in the normal loop.
9383
9384 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
9385
9386 * xterm.c (expose_overlaps): New function.
9387 (expose_window): Use it to fix the display of overlapping rows.
9388
9389 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
9390
9391 2002-07-23 Ken Raeburn <raeburn@gnu.org>
9392
9393 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
9394 since it only depends on XUINT.
9395
9396 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
9397 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
9398 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
9399 Macros deleted.
9400
9401 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
9402 its value over other approaches.
9403 * sysdep.c (start_of_data): Don't define the function if a macro
9404 form has been defined.
9405
9406 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
9407
9408 * xdisp.c (redisplay_updating_p): New variable.
9409 (init_iterator): Don't free realized faces when
9410 redisplay_updating_p is set.
9411 (redisplay_internal): Set redisplay_updating_p while updating
9412 the display.
9413
9414 2002-07-23 Richard M. Stallman <rms@gnu.org>
9415
9416 * editfns.c (Fmessage): Treat "" like nil.
9417
9418 2002-07-23 Kenichi Handa <handa@etl.go.jp>
9419
9420 * xdisp.c (face_before_or_after_it_pos):
9421 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
9422
9423 2002-07-22 Juanma Barranquero <lektu@terra.es>
9424
9425 * callproc.c (init_callproc) [DOS_NT]:
9426 Initialize Vshared_game_score_directory to nil.
9427 (syms_of_callproc) [DOS_NT]: Likewise.
9428
9429 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
9430
9431 * xdisp.c (display_line): Replace an abort with xassert.
9432
9433 2002-07-21 Richard M. Stallman <rms@gnu.org>
9434
9435 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
9436 and END_UNCHANGED when setting buffer_unchanged_p.
9437 Use current_matrix_up_to_date_p to decide whether to use
9438 try_cursor_movement.
9439
9440 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
9441
9442 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
9443
9444 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
9445 Set to nil if dir does not exist.
9446 (syms_of_callproc): Init unconditionally and simply.
9447
9448 * buffer.c (Fbuffer_list): Doc fix.
9449
9450 2002-07-21 Ken Raeburn <raeburn@gnu.org>
9451
9452 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
9453
9454 * buffer.c (mmap_realloc): When shrinking, make sure number of
9455 pages to unmap is rounded towards zero.
9456
9457 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
9458 (XSETINT): Deleted.
9459
9460 * m/att3b.h (XINT): Don't define.
9461 (VALBITS, VALMASK, XTYPE): Deleted.
9462 (DATA_SEG_BITS): Define.
9463 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
9464 ARRAY_MARK_FLAG): Deleted.
9465 (DATA_SEG_BITS): Define.
9466 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
9467 (DATA_SEG_BITS): Define.
9468
9469 2002-07-20 Richard M. Stallman <rms@gnu.org>
9470
9471 * print.c (print_error_message): New args CONTEXT and CALLER.
9472 Calls changed.
9473
9474 * lisp.h (print_error_message): Declare new args.
9475
9476 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
9477 and CONTEXT to print_error_message, don't print them here.
9478 For a Quit, don't use Vsignaling_function.
9479 Call message_log_maybe_newline.
9480
9481 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
9482
9483 2002-07-20 Kim F. Storm <storm@cua.dk>
9484
9485 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
9486
9487 2002-07-19 Ken Raeburn <raeburn@gnu.org>
9488
9489 * bytecode.c (struct byte_stack): Pointers into byte string now
9490 point to const.
9491 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
9492 const.
9493 * charset.h (BCOPY_SHORT): Source pointer now points to const.
9494 * coding.c (encode_eol, detect_coding, detect_eol):
9495 (decode_coding, encode_coding, detect_coding_system):
9496 Source strings now treated as const.
9497 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
9498 modify Lisp string contents.
9499 * coding.h (decode_coding, encode_coding, detect_coding,
9500 detect_eol): Declarations updated.
9501 * composite.c (compose_chars_in_text): Treat Lisp string contents
9502 as const.
9503 * dispnew.c (safe_bcopy): Source pointer now points to const.
9504 * lisp.h (STRING_COPYIN): New macro.
9505 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
9506 (internal_with_output_to_temp_buffer): Declarations updated.
9507 * print.c (temp_output_buffer_setup):
9508 (internal_with_output_to_temp_buffer): Buffer name argument is now
9509 pointer to const.
9510 * sound.c (struct sound_device): Function pointer field "write"
9511 buffer argument now points to const.
9512 (vox_write): Buffer argument points to const.
9513 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
9514 contents as const.
9515 * sysdep.c (emacs_write): Buffer pointer now const.
9516 * term.c (encode_terminal_code): Buffer pointer now const.
9517 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
9518 (x_face_list_fonts, x_update_menu_appearance):
9519 (hash_string_case_insensitive): Treat Lisp string contents as const.
9520
9521 2002-07-19 Juanma Barranquero <lektu@terra.es>
9522
9523 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
9524
9525 * fileio.c (syms_of_fileio): Likewise.
9526 (Ffile_name_as_directory): Fix argument name in docstring.
9527 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
9528
9529 2002-07-18 Richard M. Stallman <rms@gnu.org>
9530
9531 * data.c (Fdefalias): Doc fix.
9532
9533 2002-07-17 Dave Love <fx@gnu.org>
9534
9535 * intervals.h (text_property_stickiness): Use P_.
9536
9537 * ccl.c: Remove `emacs' conditionals.
9538 (ccl_backtrace_table): Fix size spec.
9539 (ccl_driver): Fix type errors.
9540
9541 2002-07-16 Ken Raeburn <raeburn@gnu.org>
9542
9543 * alloc.c (xstrdup, make_string, make_unibyte_string)
9544 (make_multibyte_string, build_string): String pointer args now
9545 point to const.
9546 * charset.c (find_charset_in_text, c_string_width):
9547 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
9548 * fileio.c (report_file_error):
9549 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
9550 (count_combining_before, count_combining_after, insert_1_both):
9551 (insert, insert_and_inherit, insert_string):
9552 (insert_before_markers, insert_before_markers_and_inherit):
9553 * lread.c (intern, oblookup, hash_string):
9554 * minibuf.c (temp_echo_area_glyphs):
9555 * search.c (fast_c_string_match_ignore_case):
9556 * sysdep.c (emacs_open, set_file_times):
9557 * xfaces.c (xstricmp):
9558 * xdisp.c (store_frame_title, string_char_and_length):
9559 (message_dolog, message2, message2_nolog, set_message): Likewise.
9560 (set_message_1): Cast message string argument to const pointer.
9561 * editfns.c (general_insert_function): Insertion function now
9562 takes pointer to const for input data.
9563 * charset.h (find_charset_in_text, c_string_width):
9564 (parse_str_as_multibyte): Declarations updated.
9565 * dispextern.h (xstricmp): Declaration updated.
9566 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
9567 (count_size_as_multibyte, count_combining_before):
9568 (count_combining_after, insert_1, insert_1_both, message_dolog):
9569 (insert, insert_and_inherit, insert_before_markers)
9570 (insert_before_markers_and_inherit, set_message, message2):
9571 (message2_dolog, build_string, make_string, make_unibyte_string):
9572 (make_multibyte_string, intern, oblookup, report_file_error):
9573 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
9574 (emacs_open, xstrdup): Declarations updated.
9575 * systime.h (set_file_times): Declaration updated.
9576
9577 * charset.c (find_charset_in_text, lisp_string_width): Use const
9578 for pointer to lisp string data.
9579 * charset.h (FETCH_STRING_CHAR_ADVANCE):
9580 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
9581 * coding.c (Ffind_coding_systems_region_interval):
9582 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
9583 (Fmake_directory_internal, Fdelete_directory):
9584 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
9585 * fontset.c (font_family_registry, fs_query_fontset):
9586 (list_fontsets):
9587 * frame.c (Fframe_parameter):
9588 * keyboard.c (cmd_error_internal):
9589 * keymap.c (Fdescribe_buffer_bindings):
9590 * lread.c (complete_filename_p, openp):
9591 * minibuf.c (Fminibuffer_complete_word):
9592 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
9593 (face_before_or_after_it_pos, next_element_from_string):
9594 (get_overlay_arrow_glyph_row, display_mode_element):
9595 (decode_mode_spec_coding):
9596 * xterm.c (same_x_server): Likewise.
9597
9598 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
9599 settings of non-existent fields.
9600
9601 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
9602 copy a lisp value.
9603
9604 * lread.c (Fintern_soft): Use string macros instead of
9605 Lisp_String fields.
9606 * keyboard.c (echo_char, parse_modifiers_uncached):
9607 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
9608 * textprop.c (validate_interval_range, interval_of): Likewise.
9609
9610 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
9611
9612 * charset.h (FETCH_STRING_CHAR_ADVANCE)
9613 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
9614 XSTRING()->size_byte.
9615
9616 * lisp.h (SDATA, SREF): Produce rvalue.
9617 (SSET): New macro.
9618 * alloc.c (make_event_array): Use SSET for storing into a string.
9619 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
9620 a string.
9621 * casefiddle.c (casify_object): Use SSET.
9622 * charset.h (FETCH_STRING_CHAR_ADVANCE)
9623 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
9624 address of string contents.
9625 * data.c (Faref): Use SDATA.
9626 (Faset): Use SDATA, SSET.
9627 * dired.c (directory_files_internal): Use SSET.
9628 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
9629 (Fread_file_name): Use SREF, SSET.
9630 * fns.c (concat): Use SSET.
9631 (concat, Fdelete): Use SDATA.
9632 * insdel.c (insert_from_string_1): Use SDATA.
9633 * keyboard.c (Fevent_convert_list): Use SREF.
9634 * lread.c (Fload): Use SDATA, SSET.
9635 * macfns.c (validate_x_resource_name): Use SSET.
9636 * process.c (status_message): Use SSET.
9637 * search.c (wordify): Use SDATA.
9638 (Freplace_match): Use SREF.
9639 * w32fns.c (validate_x_resource_name): Use SSET.
9640 * xfns.c (validate_x_resource_name): Use SSET.
9641 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
9642
9643 2002-07-16 Richard M. Stallman <rms@gnu.org>
9644
9645 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
9646
9647 * xdisp.c (reconsider_clip_changes):
9648 Don't test prevent_redisplay_optimizations_p.
9649 (redisplay_internal): Test prevent_redisplay_optimizations_p
9650 along with clip_changed in some cases.
9651 (try_window_id): Likewise.
9652 (redisplay_window): New local var buffer_unchanged_p.
9653
9654 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
9655
9656 * process.c (create_process): Test USG_SUBTTY_WORKS.
9657 (process_send_signal): Clean up handling of GID.
9658 Detect errors in ioctls meant to set GID.
9659
9660 * window.c (temp_output_buffer_show):
9661 Don't set prevent_redisplay_optimizations_p.
9662
9663 2002-07-15 Juanma Barranquero <lektu@terra.es>
9664
9665 * eval.c (Fdefvaralias): Add docstring argument.
9666
9667 2002-07-15 Ken Raeburn <raeburn@gnu.org>
9668
9669 * lisp.h (STRING_INTERVALS): Produce rvalue.
9670 (STRING_SET_INTERVALS): New macro.
9671 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
9672 * fns.c (Fstring_as_multibyte): Likewise.
9673 * intervals.c (balance_possible_root_interval, delete_interval)
9674 (create_root_interval, copy_intervals_to_string): Likewise.
9675 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
9676 instead of 0.
9677
9678 2002-07-14 Ken Raeburn <raeburn@gnu.org>
9679
9680 * lisp.h (STRING_SET_CHARS): New macro.
9681 (SCHARS, SBYTES): Produce rvalues.
9682 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
9683 * fns.c (concat): Likewise.
9684 * lread.c (read_vector): Likewise.
9685
9686 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
9687 (STRING_SET_UNIBYTE): New macro.
9688 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
9689 length of -1) changed to use STRING_SET_UNIBYTE.
9690 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
9691 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
9692 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
9693 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
9694 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
9695 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
9696 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
9697 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
9698 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
9699 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
9700 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
9701 STRING_BYTES or indirection changed to SCHARS, SBYTES,
9702 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
9703 unchanged for now.
9704
9705 2002-07-13 Kim F. Storm <storm@cua.dk>
9706
9707 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
9708
9709 2002-07-12 Richard M. Stallman <rms@gnu.org>
9710
9711 * fileio.c (Fwrite_region): Doc fix.
9712
9713 * print.c (print_error_message): Don't handle Vsignaling_function here.
9714
9715 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
9716 (command_loop_1): Avoid certain actions after memory-full error.
9717
9718 * eval.c (Fsignal): Don't call cancel_hourglass.
9719 For a memory-full error, don't call Vsignal_hook_function
9720 and don't set Vsignaling_function.
9721
9722 * process.c (process_send_signal): Add abort call.
9723
9724 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
9725
9726 * keymap.c (Fkey_binding): Fix typo.
9727
9728 2002-07-11 Richard M. Stallman <rms@gnu.org>
9729
9730 * alloc.c (Vmemory_full): New variable.
9731 (Vmemory_signal_data): Renamed from memory_signal_data.
9732 Uses changed.
9733 (syms_of_alloc): Defvar them.
9734 (memory_full, buffer_memory_full): Set Vmemory_full.
9735
9736 * lisp.h (Vmemory_full): Add declaration.
9737 (current_column, indented_beyond_p): Change declaration.
9738
9739 * indent.c (last_known_column): Declare as double, not float.
9740 (current_column, current_column_1, string_display_width)
9741 (position_indentation): Return `double'.
9742 (indented_beyond_p): Arg `column' is `double'. Callers changed.
9743
9744 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
9745 (back_to_previous_visible_line_start)
9746 (reseat_at_next_visible_line_start, next_element_from_buffer):
9747 Use `double', not `float', when calling indented_beyond_p.
9748
9749 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
9750
9751 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
9752
9753 2002-07-11 Juanma Barranquero <lektu@terra.es>
9754
9755 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
9756 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
9757 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
9758 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
9759 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
9760 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
9761
9762 2002-07-10 Juanma Barranquero <lektu@terra.es>
9763
9764 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
9765 All callers changed.
9766
9767 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
9768
9769 * data.c (Fdefalias): Add an optional `docstring' argument.
9770 (set_internal, Fsetq_default): Use XCAR/XCDR.
9771
9772 * composite.c (HASH_VALUE, HASH_KEY):
9773 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
9774
9775 2002-07-09 Kenichi Handa <handa@etl.go.jp>
9776
9777 * callproc.c (Fcall_process): Fix previous change.
9778
9779 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
9780
9781 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
9782 Add support for hash-tables.
9783 (Ftry_completion): Return t even if the string appears multiple times.
9784
9785 * fns.c (Fnconc): Use XCDR.
9786 (Fprovide): Use CONSP and XCDR.
9787 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
9788 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
9789 (Fmake_hash_table): Accept `:size nil'.
9790 (Fmakehash): Delete: moved to subr.el.
9791 (syms_of_fns): Don't defsubr makehash.
9792
9793 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
9794 (HASH_TABLE_SIZE): Move from fns.c.
9795
9796 2002-07-07 Richard M. Stallman <rms@gnu.org>
9797
9798 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
9799 Instead just return 0 when there is something to be done.
9800 (try_scrolling): If make_cursor_line_fully_visible returns 0,
9801 retry scrolling as if cursor were off the bottom.
9802 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
9803 return CURSOR_MOVEMENT_MUST_SCROLL.
9804 (redisplay_window): If make_cursor_line_fully_visible returns 0,
9805 go to try_to_scroll.
9806
9807 * buffer.c (Fbuffer_local_value): Store current value into its binding
9808 so we get the up-to-date value for the binding that is loaded.
9809
9810 * eval.c (Fdefmacro): Doc fix.
9811
9812 2002-07-05 Dave Love <fx@gnu.org>
9813
9814 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
9815 correctly.
9816
9817 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
9818 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
9819 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
9820 CCL_LookupCharConstTbl.
9821 (syms_of_ccl): Defvar translation-hash-table-vector.
9822
9823 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9824
9825 * xdisp.c: Remove unused variable `face'.
9826
9827 2002-07-04 Juanma Barranquero <lektu@terra.es>
9828
9829 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
9830 obsolescence information.
9831
9832 2002-07-03 Andrew Choi <akochoi@shaw.ca>
9833
9834 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
9835 pattern. Search cache first.
9836 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
9837 for Japanese font.
9838 (XLoadQueryFont): Use it.
9839
9840 2002-07-02 Richard M. Stallman <rms@gnu.org>
9841
9842 * keymap.c (Fdefine_key): Doc fix.
9843
9844 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
9845
9846 2002-07-02 Juanma Barranquero <lektu@terra.es>
9847
9848 * keymap.c (syms_of_keymap): Fix typo.
9849
9850 2002-07-01 Andrew Choi <akochoi@shaw.ca>
9851
9852 * s/darwin.h: Define POSIX_SIGNALS.
9853
9854 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
9855 and FSRefMakePath to convert FSSpec returned with Apple Event to
9856 Posix pathname.
9857 (mac_initialize) [TARGET_API_MAC_CARBON]:
9858 Call init_required_apple_events and disable the `Quit' menu item
9859 provided automatically by the Carbon Toolbox.
9860
9861 2002-07-01 Dave Love <fx@gnu.org>
9862
9863 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
9864 for K&R.
9865
9866 * xterm.c: Fix prototype for K&R.
9867
9868 * term.c (costs_set): Declare static, non-initialized for pcc.
9869
9870 2002-07-01 Richard M. Stallman <rms@gnu.org>
9871
9872 * keyboard.c (timer_last_idleness_start_time): New variable.
9873 (timer_start_idle): Set that.
9874 (read_key_sequence): Use that to reset timer_idleness_start_time
9875 to previous value.
9876
9877 * window.c (Frecenter): With arg, set optional_new_start.
9878
9879 * xdisp.c (redisplay_internal): Make optional_new_start really work.
9880
9881 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
9882 buffer for completion.
9883
9884 2002-06-29 Ken Raeburn <raeburn@gnu.org>
9885
9886 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
9887
9888 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9889
9890 * keyboard.c (readable_filtered_events): New function that filters
9891 FOCUS_IN_EVENT depending on parameter.
9892 (readable_events): Calls readable_filtered_events, not filtering
9893 FOCUS_IN_EVENT.
9894 (get_filtered_input_pending): New function, filtering parameter passed
9895 to readable_filtered_events.
9896 (get_input_pending): Calls get_filtered_input_pending, not filtering
9897 FOCUS_IN_EVENT.
9898 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
9899 FOCUS_IN_EVENT.
9900
9901 * xterm.h (struct x_output): Add focus_state.
9902
9903 * xterm.c (x_focus_changed): New function.
9904 (x_detect_focus_change): New function.
9905 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
9906 EnterNotify and LeaveNotify to track X focus changes.
9907
9908 2002-06-28 Andreas Schwab <schwab@suse.de>
9909
9910 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
9911
9912 2002-06-27 Kim F. Storm <storm@cua.dk>
9913
9914 * xdisp.c: (mode_line_string_list, mode_line_string_face)
9915 (mode_line_string_face_prop): New variables.
9916 (store_mode_line_string): New function.
9917 (display_mode_element): Use store_mode_line_string to
9918 add mode-line string elements to mode_line_string_list
9919 when mode_line_string_list is non-nil.
9920 (Fformat_mode_line): Now returns propertized string by
9921 default. New arg NO-PROPS to ignore properties.
9922 (decode_mode_spec): Only add two dashes for %- in propertized
9923 mode-line string.
9924 (syms_of_xdisp): Init and staticpro mode_line_string_list.
9925
9926 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
9927
9928 * minibuf.c (minibuffer_completion_contents): Add return type.
9929
9930 2002-06-27 Juanma Barranquero <lektu@terra.es>
9931
9932 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
9933
9934 2002-06-26 Juanma Barranquero <lektu@terra.es>
9935
9936 * fileio.c (read_file_name_cleanup): Add missing return.
9937
9938 2002-06-26 Richard M. Stallman <rms@gnu.org>
9939
9940 * window.c (Frecenter): Don't set force_start flag.
9941
9942 * minibuf.c (do_completion, Fminibuffer_complete_word)
9943 (Fminibuffer_completion_help): Complete just the text before point.
9944 (minibuffer_completion_contents): New function.
9945
9946 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
9947
9948 * frame.c (frames_bury_buffer): Function deleted.
9949
9950 2002-06-25 Miles Bader <miles@gnu.org>
9951
9952 * callint.c (Fcall_interactively): When checking to see if doprnt hit
9953 the end of callint_message, allow for a terminating '\0'.
9954
9955 2002-06-24 Juanma Barranquero <lektu@terra.es>
9956
9957 * w32select.c: Include composite.h
9958
9959 * w16select.c: Likewise.
9960
9961 2002-06-24 Kenichi Handa <handa@etl.go.jp>
9962
9963 * callproc.c (Fcall_process): If code detection is necessary,
9964 call detect_coding directly here.
9965
9966 * coding.c (detect_eol): Preserve coding->cmp_data.
9967
9968 * w16select.c (Fw16_get_clipboard_data):
9969 * w32fns.c (w32_to_x_font):
9970 * w32select.c (Fw32_get_clipboard_data):
9971 * xselect.c (selection_data_to_lisp_data):
9972 * xterm.c (XTread_socket): Disable composition handling.
9973
9974 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
9975
9976 * print.c (temp_output_buffer_setup): Kill all local variables.
9977
9978 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
9979
9980 * lread.c (Fread): Remove redundant and imprecise declaration.
9981
9982 * xfns.c (check_x_display_info): Use check_x_frame.
9983
9984 * .gdbinit (xprintsym): Use the new `xname' field.
9985 (xsymbol): Use it.
9986
9987 2002-06-22 Jason Rumney <jasonr@gnu.org>
9988
9989 * w32fns.c (file_dialog_callback): New function.
9990 (Fx_file_dialog): Allow selecting directories as well as files.
9991
9992 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
9993
9994 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
9995 OpenBSD. Add support for mipseb-*-netbsd* machines.
9996
9997 2002-06-17 Andrew Choi <akochoi@shaw.ca>
9998
9999 * macterm.c (mac_scroll_area): Set foreground and backcolor to
10000 black and white before scrolling. Restore frame background and
10001 foreground color after scrolling.
10002 (do_window_update): Call XClearWindow before calling expose_frame.
10003 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
10004 FRAME_FOREGROUND_PIXEL of frame.
10005
10006 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
10007 test Mac command key as <ALT> key.
10008
10009 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
10010
10011 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
10012
10013 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
10014 Lookup keys in function-key-map immediately so that key-translation-map
10015 can be applied earlier.
10016 Remove function_key_possible and key_translation_possible, replaced
10017 by checking `keytran_start < t'.
10018
10019 * .gdbinit (xsymbol): Use the new `xname' field.
10020
10021 2002-06-17 Andrew Choi <akochoi@shaw.ca>
10022
10023 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
10024 test Mac command key as <ALT> key.
10025
10026 * mac.c (do_applescript): Call initialize_applescript if necessary
10027 when first called. Dispose of result_desc only when there is no error.
10028 (Fdo_applescript): Use %d format specifier instead of %ld.
10029
10030 2002-06-16 Andrew Choi <akochoi@shaw.ca>
10031
10032 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
10033 of FrontWindow for cases keyDown and autoKey.
10034
10035 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
10036 Vdefault_fontset to Monaco with mac-roman coding.
10037
10038 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
10039 init_process before and after inclusion of Carbon/Carbon.h, resp.
10040
10041 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
10042 cursor_gc.
10043 (add_font_name_table_entry): New function.
10044 (init_font_name_table): Use add_font_name_table_entry; add italic,
10045 bold, and bold-italic entries for truetype fonts.
10046
10047 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
10048 for Mac too.
10049 (try_font_list) [MAC_OS]: If no font matches given registry, try
10050 fonts with any registry matching face_family.
10051 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
10052
10053 * s/darwin.h: If autoconf detects the Ncurses library, define
10054 LIBS_TERMCAP to -lncurses to use it.
10055
10056 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
10057
10058 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
10059
10060 2002-06-15 Richard M. Stallman <rms@gnu.org>
10061
10062 * window.c (Fset_window_configuration): Explicitly preserve
10063 the point value that new_current_buffer had at the start.
10064
10065 2002-06-14 Juanma Barranquero <lektu@terra.es>
10066
10067 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
10068 Fix typos.
10069
10070 2002-06-14 Kim F. Storm <storm@cua.dk>
10071
10072 * insdel.c (insert_1_both, insert_from_string_1)
10073 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
10074 insert happened in the end_unchanged region. Otherwise, the
10075 redisplay may be confused and duplicate the last line in the
10076 buffer [seen after save-buffer when require-final-newline==t].
10077
10078 2002-06-13 Jason Rumney <jasonr@gnu.org>
10079
10080 * w32.c (init_environment): Remove EMACSLOCKDIR.
10081 (stat): Swap _S_IFDIR and _S_IFREG.
10082
10083 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10084
10085 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
10086 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
10087 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
10088 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
10089 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
10090 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
10091 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
10092 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
10093 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
10094 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
10095 SELECTION_REQUEST_EVENT, selection_clear_event to
10096 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
10097 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
10098 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
10099 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
10100 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
10101 no_event to NO_EVENT.
10102
10103 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10104
10105 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
10106
10107 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
10108
10109 * intervals.c (textget): Don't forget to `return'.
10110 (lookup_char_property): Use XCAR/XCDR.
10111
10112 2002-06-12 Juanma Barranquero <lektu@terra.es>
10113
10114 * xdisp.c (Fformat_mode_line): Fix typo.
10115
10116 2002-06-12 Kim F. Storm <storm@cua.dk>
10117
10118 * xdisp.c (Fformat_mode_line): New function.
10119 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
10120 (store_frame_title_char, store_frame_title): Use unconditionally.
10121 (init_xdisp): Defsubr Fformat_mode_line.
10122 Initialize frame_title_buf etc. unconditionally.
10123
10124 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
10125
10126 * keyboard.c (read_key_sequence):
10127 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
10128 things through those maps after downcasing events.
10129 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
10130 applies after function-key-map.
10131 Make sure that keytran can be done in the middle in the sequence.
10132 Be careful not to throw away events past the one we downcase.
10133
10134 * lread.c (read_integer): Remove unused var `tem'.
10135 (read1): Fix int/Lisp_Object mixup.
10136
10137 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
10138
10139 2002-06-11 Richard M. Stallman <rms@gnu.org>
10140
10141 * keyboard.c (readable_events): Ignore any number of
10142 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
10143
10144 2002-06-09 Miles Bader <miles@gnu.org>
10145
10146 * xfaces.c (Ftty_supports_face_attributes_p): New function.
10147 (parse_rgb_list, tty_lookup_color): New functions.
10148 (tty_defined_color): Use `tty_lookup_color' to do all the work.
10149 (color_distance, Fcolor_distance): New functions.
10150 (TTY_SAME_COLOR_THRESHOLD): New macro.
10151 (Qtty_color_standard_values): New variable.
10152 (syms_of_xfaces): Initialize new vars & functions.
10153
10154 2002-06-08 Colin Walters <walters@verbum.org>
10155
10156 * textprop.c (Vchar_property_alias_alist): New variable.
10157 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
10158
10159 * intervals.c (lookup_char_property): New function for looking up
10160 overlay and text properties, created from textget.
10161 (textget): Use it.
10162
10163 * intervals.h (lookup_char_property): Declare.
10164 (Vchar_property_alias_alist): Declare.
10165
10166 * buffer.c (Foverlay_get): Use lookup_char_property.
10167
10168 2002-06-07 Sam Steingold <sds@gnu.org>
10169
10170 * xselect.c (lisp_data_to_selection_data): Fix last change:
10171 *data_ret is not a Lisp string, while unibyte_string is.
10172
10173 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
10174
10175 * xselect.c (lisp_data_to_selection_data): Fix last change:
10176 set size_ret.
10177
10178 2002-06-07 Andreas Schwab <schwab@suse.de>
10179
10180 * m/amdx86-64.h: New file.
10181
10182 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
10183
10184 * fns.c (Fstring_make_unibyte): Doc fix.
10185
10186 * xselect.c (lisp_data_to_selection_data): If the requested type
10187 is STRING, call string_make_unibyte to encode the selected text
10188 as a string.
10189
10190 * window.c (Fset_window_hscroll): Doc fix.
10191
10192 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10193
10194 * fileio.c (choose_write_coding_system):
10195 Call select-safe-coding-system properly.
10196
10197 2002-06-03 Richard M. Stallman <rms@gnu.org>
10198
10199 * xdisp.c (message_with_string): Error if STRING is not a string.
10200
10201 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
10202
10203 * fileio.c (choose_write_coding_system): Pass FILE arg to
10204 Vselect_safe_coding_system_function.
10205
10206 2002-06-03 Ken Raeburn <raeburn@gnu.org>
10207
10208 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
10209
10210 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
10211
10212 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
10213 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
10214 * keymap.c (describe_command): Likewise.
10215 * minibuf.c (read_minibuf): Likewise.
10216
10217 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
10218 Cast `current_column' return value to int.
10219 (back_to_previous_visible_line_start)
10220 (reseat_at_next_visible_line_start, next_element_from_buffer):
10221 Cast `indented_beyond_p' 3rd arg to float.
10222
10223 * indent.c (last_known_column): Now a float.
10224 (current_column_1, position_indentation, current_column)
10225 (string_display_width): Return float.
10226 (Fcurrent_column): Cast `current_column' return value to int.
10227 (Fcurrent_indentation): Cast `position_indentation' retval to int.
10228 (indented_beyond_p): Third arg now a float.
10229 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
10230
10231 * lisp.h (current_column): Now returns float.
10232 (indented_beyond_p): 3rd arg now a float.
10233
10234 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
10235
10236 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
10237 is Qcompound_text_with_extensions.
10238
10239 * xselect.c (lisp_data_to_selection_data): Always set selection
10240 type as string if x_encode_text returns streingp non-NULL.
10241
10242 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
10243
10244 2002-05-30 Richard M. Stallman <rms@gnu.org>
10245
10246 * window.c (Fset_window_configuration): Correct the handling
10247 of point in current buffer, to work with multiple windows.
10248
10249 2002-05-29 Colin Walters <walters@verbum.org>
10250
10251 * lread.c (Fread_from_string): Don't depend on order of evaluation
10252 for C function parameters.
10253
10254 2002-05-28 Richard M. Stallman <rms@gnu.org>
10255
10256 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
10257 way for blinked-off state and for a nonselected window.
10258
10259 * window.c (window_scroll_pixel_based): Don't call Fbolp;
10260 instead, see if the new start pos is at beginning of line.
10261
10262 * fileio.c (Fwrite_region): If START is a string, don't
10263 make any annotations.
10264
10265 * eval.c (syms_of_eval): Doc fix.
10266
10267 2002-05-28 Colin Walters <walters@debian.org>
10268
10269 * emacs.c (USAGE1): Add --no-splash.
10270 (standard_args): Ditto.
10271
10272 2002-05-28 Colin Walters <walters@gnu.org>
10273
10274 * lread.c (readchar_count): New variable.
10275 (readchar): Increment it.
10276 (unreadchar): Decrement it.
10277 (read_multibyte): Decrement it.
10278 (Vread_with_symbol_positions): New variable.
10279 (Vread_symbol_positions_list): New variable.
10280 (read_internal_start): New function, created from Fread and
10281 Fread_from_string. Handle Vread_symbol_positions_list and
10282 Vread_with_symbol_positions.
10283 (readevalloop, Fread, Fread_from_string): Use it.
10284 (read1): Use readchar_count to add symbol positions to
10285 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
10286 (syms_of_lread): DEFVAR_LISP and initialize them.
10287
10288 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
10289 (substitute_object_recurse, substitute_object_in_subtree)
10290 (substitute_in_interval): Prototype.
10291 (read_multibyte): Return c if it's less than zero.
10292
10293 2002-05-28 Kim F. Storm <storm@cua.dk>
10294
10295 * fileio.c (Fread_file_name_internal): Added brute-force
10296 speed up for using predicate file-directory-p.
10297
10298 2002-05-28 Kim F. Storm <storm@cua.dk>
10299
10300 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
10301 New variables.
10302 (syms_of_fileio): DEFVAR_LISP them.
10303 (read_file_name_cleanup): New unwind function.
10304 (Fread_file_name_internal): Only return completions satifying
10305 Vread_file_name_predicate. Temporarily unwind protect and rebind
10306 default-directory while checking completions against the predicate.
10307 (Fread_file_name): Added PREDICATE argument. Specbind it to
10308 Vread_file_name_predicate during completion.
10309 Call Vread_file_name_function to read the file name if non-nil.
10310
10311 * lisp.h (Fread_file_name): Now has 6 args.
10312
10313 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
10314 predicate for Fread_file_name when reading directory name.
10315 Supply Qnil for predicate in other calls to Fread_file_name.
10316
10317 2002-05-26 Miles Bader <miles@gnu.org>
10318
10319 * term.c (tty_capable_p): New function.
10320 * dispextern.h (tty_capable_p): New function declaration.
10321 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
10322 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
10323
10324 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
10325
10326 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
10327 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
10328 (Vwrite_region_annotate_functions): Docstring fix.
10329
10330 2002-05-23 Kim F. Storm <storm@cua.dk>
10331
10332 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
10333 phys_cursor's hpos is overwritten. This is still not completely
10334 correct, as it doesn't really make sense to use hpos at all to
10335 get the cursor glyph (as that is relative to the width of the
10336 characters on the line, which may have changed during the update).
10337
10338 2002-05-22 Jason Rumney <jasonr@gnu.org>
10339
10340 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
10341 Lisp_Object.
10342 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
10343 Use modified enumfont_t struct.
10344
10345 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
10346
10347 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
10348 Handle the `hbar' cursor type.
10349 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
10350
10351 * w32fns.c (Qhbar): New variable.
10352 (x_specified_cursor_type): Use it.
10353
10354 2002-05-21 Ken Raeburn <raeburn@gnu.org>
10355
10356 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
10357 now, when the address is needed.
10358
10359 2002-05-21 Colin Walters <walters@gnu.org>
10360
10361 * Makefile.in (shortlisp): Add font-core.el.
10362
10363 2002-05-20 Richard M. Stallman <rms@gnu.org>
10364
10365 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
10366
10367 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
10368 equivalent key bindings here.
10369
10370 2002-05-20 Ken Raeburn <raeburn@gnu.org>
10371
10372 Change symbol structure to contain a lisp object for the symbol
10373 name:
10374 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
10375 object field named "xname".
10376 (SYMBOL_NAME): New macro.
10377 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
10378 name field.
10379 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
10380 (mark_object, gc_sweep): Use symbol xname field and XSTRING
10381 instead of name field.
10382 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
10383 SYMBOL_NAME instead of XSYMBOL and name field.
10384 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
10385 instead of XSYMBOL and name field.
10386 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
10387 and SYMBOL_NAME instead of XSYMBOL and name field.
10388 * coding.c (Fread_coding_system, code_convert_region1)
10389 (code_convert_string1, code_convert_string_norecord)
10390 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
10391 XSYMBOL and name field.
10392 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
10393 (Fmake_variable_buffer_local, Fmake_local_variable)
10394 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
10395 of XSYMBOL and name field.
10396 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
10397 XSYMBOL and name field.
10398 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
10399 instead of XSYMBOL and name field.
10400 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
10401 XSYMBOL and name field.
10402 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
10403 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
10404 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
10405 instead of XSYMBOL and name field.
10406 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
10407 (parse_modifiers, apply_modifiers, Fevent_convert_list)
10408 (parse_solitary_modifier, Fexecute_extended_command):
10409 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
10410 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
10411 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
10412 of XSYMBOL and name field.
10413 (describe_command, describe_translation): Use SYMBOL_NAME and
10414 assignment instead of XSYMBOL and name field and XSETSTRING.
10415 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
10416 instead of XSYMBOL and name field.
10417 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
10418 name field and XSETSTRING.
10419 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
10420 of XSYMBOL and name field.
10421 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
10422 assignment instead of XSYMBOL and name field and XSETSTRING.
10423 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
10424 XSTRING instead of XSYMBOL and name field.
10425 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
10426 and XSTRING instead of XSYMBOL and name field.
10427 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
10428 and XSTRING instead of XSYMBOL and name field.
10429 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
10430 XSTRING instead of XSYMBOL and name field.
10431 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
10432 of XSYMBOL and name field.
10433 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
10434 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
10435
10436 2002-05-19 Ken Raeburn <raeburn@gnu.org>
10437
10438 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
10439 and XCDR real rvalues in most configurations.
10440
10441 * buffer.c (fix_overlays_in_range, fix_overlays_before):
10442 Don't take the address of the cdr part of a cons cell; instead, track
10443 the parent cell and call XSETCDR, or set the variable for the head
10444 of the list if we haven't started down the list yet.
10445
10446 2002-05-19 Richard M. Stallman <rms@gnu.org>
10447
10448 * doc.c (reread_doc_file): Don't ask for confirmation.
10449
10450 2002-05-18 Jason Rumney <jasonr@gnu.org>
10451
10452 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
10453 (xbm_load_image): Use it.
10454 (xbm_load): Ditto.
10455 (xbm_read_bitmap_data): Reverted to xfns.c version.
10456 From David Ponce <david@dponce.com>.
10457
10458 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
10459
10460 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
10461 2.02 and later.
10462
10463 2002-05-16 Juanma Barranquero <lektu@terra.es>
10464
10465 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
10466
10467 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
10468
10469 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
10470 meaningful test.
10471 (read_char_minibuf_menu_prompt): Fix typo.
10472
10473 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10474
10475 * eval.c (Fcommandp): Doc fix.
10476
10477 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
10478
10479 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
10480 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
10481 (Fset_keymap_parent): Gcpro a bit more.
10482 (access_keymap): Gcpro around meta_map call and around the main loop.
10483 (get_keyelt): Gcpro when following indirect references.
10484 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
10485 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
10486 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
10487 Remove useless ad-hoc remap code.
10488
10489 2002-05-13 Richard M. Stallman <rms@gnu.org>
10490
10491 * search.c (search_buffer): Give up boyer moore search if inverse
10492 translation change charset_base.
10493
10494 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
10495
10496 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
10497 characters is carried over from the previous block of text, adjust
10498 coding->produced to account for the extra character.
10499
10500 2002-05-11 Andreas Schwab <schwab@suse.de>
10501
10502 * coding.c (intersection): Keep the elements of the returned list
10503 in the same order as in the first list.
10504
10505 2002-05-11 Kim F. Storm <storm@cua.dk>
10506
10507 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
10508 only update cmm_size if realloc actually succeeds.
10509 Testing with initial size of 2 elements revealed that using
10510 realloc on GNU/Linux would cause a random trap in xmalloc
10511 later on, so I rewrote the code to use malloc/bcopy/free instead
10512 of realloc.
10513
10514 2002-05-10 Jason Rumney <jasonr@gnu.org>
10515
10516 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
10517
10518 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
10519
10520 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
10521 parens, to ensure correct evaluation order.
10522
10523 2002-05-10 Kim F. Storm <storm@cua.dk>
10524
10525 * keymap.c (Vemulation_mode_map_alists): New variable.
10526 (syms_of_keymap): DEFVAR_LISP it.
10527 (current_minor_maps): Process keymap alists in that list before
10528 minor-mode-overriding-map-alist and minor-mode-map-alist.
10529
10530 2002-05-09 Richard M. Stallman <rms@gnu.org>
10531
10532 * search.c (Freplace_match): Doc fix.
10533
10534 2002-05-09 Kim F. Storm <storm@cua.dk>
10535
10536 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
10537 Enlarge cursor rectangle drawn around image with non-zero relief.
10538
10539 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
10540 Enlarge cursor rectangle drawn around image with non-zero relief.
10541
10542 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
10543 Enlarge cursor rectangle drawn around image with non-zero relief.
10544
10545 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
10546
10547 * xselect.c (lisp_data_to_selection_data): Don't set selection
10548 type if comes from the Lisp object's car. If the selection
10549 contains a pure ASCII text, always return QSTRING as its type.
10550
10551 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10552
10553 * mac.c (mac-cut-function): Doc fix.
10554
10555 2002-05-05 Richard M. Stallman <rms@gnu.org>
10556
10557 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
10558
10559 2002-05-04 Jason Rumney <jasonr@gnu.org>
10560
10561 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
10562 for event-click-count.
10563
10564 * process.c (init_process): Only add server subfeature if we can
10565 use non-blocking I/O.
10566
10567 2002-05-04 Andrew Choi <akochoi@shaw.ca>
10568
10569 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
10570 repeatedly.
10571
10572 2002-05-03 Jason Rumney <jasonr@gnu.org>
10573
10574 * process.c (Fmake_network_process): Only support server sockets
10575 when we can make them non-blocking.
10576
10577 * s/ms-w32.h (HAVE_SELECT): Define.
10578
10579 * w32.h (FILE_NDELAY): New flag.
10580
10581 * w32.c (sys_getpeername, fcntl): New functions.
10582 (_sys_read_ahead): Temporarily block on non-blocking sockets.
10583
10584 * w32proc.c: include sys/file.h.
10585
10586 2002-05-03 Colin Walters <walters@verbum.org>
10587
10588 * callproc.c (Vgame_score_directory): Renamed to
10589 Vshared_game_score_directory.
10590
10591 2002-04-30 Richard M. Stallman <rms@gnu.org>
10592
10593 * s/gnu.h [emacs]: Include stdio.h.
10594 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
10595
10596 * eval.c (do_autoload): Error if called while preparing to dump.
10597
10598 * fns.c (Frequire): Error if need to load while preparing to dump.
10599
10600 2002-04-28 Colin Walters <walters@verbum.org>
10601
10602 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
10603 Default to "~/.emacs.d/games".
10604
10605 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
10606
10607 * lread.c (openp): Change arg exec_only to predicate.
10608 (build_load_history): Use XCAR/XCDR.
10609 (Flocate_file_internal): New fun.
10610 (syms_of_lread): Defsubr it.
10611 (Fload): Update call to openp.
10612
10613 * lisp.h (openp): Update prototype.
10614
10615 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
10616 * w32proc.c (sys_spawnve):
10617 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
10618 * w32.c (check_windows_init_file):
10619 * sound.c (Fplay_sound_internal):
10620 * process.c (Fstart_process):
10621 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
10622 * mac.c (run_mac_command):
10623 * emacs.c (init_cmdargs):
10624 * callproc.c (Fcall_process): Update call to openp.
10625
10626 * textprop.c (remove_properties): Don't use XCAR without CONSP.
10627
10628 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
10629
10630 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10631
10632 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
10633 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
10634
10635 2002-04-28 Richard M. Stallman <rms@gnu.org>
10636
10637 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
10638
10639 * eval.c (Fcommandp): New arg for_call_interactively.
10640 * lisp.h (Fcommandp): Declare new arg.
10641
10642 2002-04-28 Jason Rumney <jasonr@gnu.org>
10643
10644 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
10645
10646 * w32.c (stat, fstat): Use file index information to generate
10647 inodes for directories where available.
10648
10649 2002-04-26 Andrew Choi <akochoi@shaw.ca>
10650
10651 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
10652 [HAVE_CARBON]: Include Mac object files.
10653
10654 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
10655 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
10656 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
10657 MAC_OSX, and MAC_OS instead of macintosh.
10658
10659 * editfns.c [MAC_OS8]: Include stdio.h.
10660
10661 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
10662
10663 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
10664 Apple Monaco.
10665
10666 * process.c: Declare QCfamily and QCfilter as extern.
10667 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
10668 calling select.
10669
10670 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
10671
10672 * tparam.c [MAC_OSX]: Don't define BC and UP.
10673
10674 * config.in [HAVE_CARBON]: Add.
10675
10676 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
10677 Move here from mac/src and mac/inc.
10678
10679 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
10680
10681 2002-04-26 Gerd Moellmann <gerd@gnu.org>
10682
10683 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
10684 Compute phys_cursor_width from the x position returned
10685 by x_draw_glyhs, which is cheaper.
10686 (x_display_and_set_cursor): Compute the buffer-local value
10687 of `cursor-in-non-selected-windows' only when needed.
10688
10689 2002-04-25 Gerd Moellmann <gerd@gnu.org>
10690
10691 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
10692 cursor on a stretch glyph has a width that depends on
10693 x_stretch_cursor_p.
10694
10695 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10696
10697 * abbrev.c (abbrev-start-location): Doc fix.
10698
10699 * indent.c (Fvertical_motion): Fix last change.
10700
10701 2002-04-25 Gerd Moellmann <gerd@gnu.org>
10702
10703 * indent.c (Fvertical_motion): Move to the start of the line
10704 containing PT before moving up or down.
10705
10706 2002-04-24 Gerd Moellmann <gerd@gnu.org>
10707
10708 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
10709 case of writing a whole row, more or less analogous to the case of
10710 writing only parts of a row.
10711
10712 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
10713 0 for NO_CURSOR.
10714
10715 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
10716
10717 2002-04-23 Colin Walters <walters@verbum.org>
10718
10719 * buffer.c (syms_of_buffer): Doc fix.
10720
10721 2002-04-23 Gerd Moellmann <gerd@gnu.org>
10722
10723 * xterm.c (notice_overwritten_cursor): Handle the special case
10724 of the cursor being in the first blank non-text line at the
10725 end of a window.
10726
10727 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
10728 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
10729 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
10730 bar cursors only, to make phys_cursor_width contain what its name
10731 suggests.
10732 (notice_overwritten_cursor): Consider the cursor image erased if
10733 the output area intersects the cursor image in y-direction.
10734
10735 2002-04-23 Simon Marshall <simon@gnu.org>
10736
10737 * xfns.c (x_set_mouse_color): Change default for cross_cursor
10738 to XC_hand2.
10739
10740 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10741
10742 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
10743
10744 2002-04-22 Kim F. Storm <storm@cua.dk>
10745
10746 * textprop.c (remove_properties): Fixed trap for malformed plist.
10747
10748 2002-04-22 Richard M. Stallman <rms@gnu.org>
10749
10750 * cmds.c (Fend_of_line): Handle intangible text in mid line.
10751
10752 * window.c (make_window): Initialize height_fixed_p,
10753 last_cursor_off_p, and p->cursor_off_p slots.
10754
10755 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10756
10757 * fns.c (use-dialog-box): Doc fix.
10758
10759 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10760
10761 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
10762 variables `row', `i' and `area'.
10763 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
10764 toolkit library.
10765
10766 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
10767
10768 * xfaces.c (clear_font_table): Don't free the default font of
10769 a frame even if it's on another display.
10770 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
10771 that could be Qt.
10772
10773 2002-04-19 Juanma Barranquero <lektu@terra.es>
10774
10775 * indent.c (Fmove_to_column): Remove unused local variable
10776 `next_boundary_byte'.
10777 (current_column_1): Likewise.
10778
10779 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
10780
10781 * msdos.c (Qhbar): New variable.
10782 (syms_of_msdos): Intern and staticpro it.
10783 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
10784 cursor type.
10785
10786 2002-04-19 Dave Lambert <dlambert@acm.org>
10787
10788 Theses change implement an underscore-like (`hbar') cursor.
10789
10790 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
10791
10792 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
10793 Handle the `hbar' cursor type.
10794 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
10795
10796 * xfns.c (Qhbar): New variable.
10797 (syms_of_xfns): Intern and staticpro it.
10798 (x_specified_cursor_type): Handle `hbar' cursor.
10799
10800 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
10801 not defined.
10802
10803 2002-04-18 Richard M. Stallman <rms@gnu.org>
10804
10805 * textprop.c (remove_properties): New arg LIST allows scanning
10806 either a list or a plist.
10807 (interval_has_some_properties_list): New function, like
10808 interval_has_some_properties using list instead of plist.
10809 All callers changed.
10810 (Fremove_list_of_text_properties): New function.
10811 (syms_of_textprop): Defsubr it.
10812
10813 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
10814
10815 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
10816
10817 2002-04-17 Juanma Barranquero <lektu@terra.es>
10818
10819 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
10820
10821 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
10822
10823 * window.c (coordinates_in_window): Don't report on margin area
10824 if its width is zero.
10825
10826 2002-04-16 Jason Rumney <jasonr@gnu.org>
10827
10828 * w32fns.c (Fx_file_dialog): Decode file name before using.
10829
10830 * w32term.c (construct_drag_n_drop): Likewise.
10831
10832 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
10833
10834 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
10835 store load-history in pure space.
10836
10837 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
10838
10839 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
10840
10841 * xterm.c (Qlatin_1, Qutf_8): New vars.
10842 (syms_of_xterm): Initialize them.
10843 (XTread_socket): Eliminate incorrect optimization that tried to avoid
10844 decoding the output of X*LookupString.
10845 Always use latin-1 to decode the output of XLookupString.
10846 Try Xutf8LookupString if XmbLookupString failed.
10847
10848 * region-cache.c (new_region_cache): Use BEG.
10849
10850 2002-04-16 Gerd Moellmann <gerd@gnu.org>
10851
10852 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
10853 configuration files.
10854 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
10855 returns 0.
10856
10857 2002-04-15 Andreas Schwab <schwab@suse.de>
10858
10859 * config.in: Regenerated using autoheader.
10860
10861 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
10862 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
10863 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
10864 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
10865 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
10866 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
10867 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
10868 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
10869 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
10870 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
10871 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
10872 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
10873 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
10874 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
10875 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
10876 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
10877 STACK_DIRECTION, now set by autoconf.
10878
10879 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10880
10881 * dispnew.c (marginal_area_string): Sort arguments.
10882
10883 * dispextern.h (marginal_area_string): Add prototype.
10884
10885 2002-04-13 Richard M. Stallman <rms@gnu.org>
10886
10887 * fileio.c (Finsert_file_contents):
10888 Don't call temp_output_buffer_setup--do just part, by hand.
10889
10890 * coding.c (run_pre_post_conversion_on_str):
10891 Don't call temp_output_buffer_setup--do just part, by hand.
10892
10893 * keyboard.c (command_loop_1): Don't call start_hourglass
10894 or cancel_hourglass when executing a macro.
10895
10896 * marker.c (count_markers): New function.
10897
10898 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
10899 grow without limit. Move recently used elements to the front.
10900
10901 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10902
10903 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
10904
10905 2002-04-12 Gerd Moellmann <gerd@gnu.org>
10906
10907 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
10908 rows marginal areas.
10909 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
10910 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10911
10912 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
10913
10914 2002-04-12 Dave Love <fx@gnu.org>
10915
10916 * dispnew.c (marginal_area_string): New.
10917
10918 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
10919 (Qleft_margin, Qright_margin): Declare.
10920 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
10921
10922 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
10923 note_mode_line_highlight and extended.
10924
10925 * keyboard.c (Qleft_margin, Qright_margin): Declare.
10926 (make_lispy_event): Deal with mouse events in margins.
10927
10928 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
10929
10930 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
10931
10932 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
10933 than deactivating the mark if tmm is set to `lambda'.
10934 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
10935 Use a single event for HELP_EVENT.
10936 (Fexecute_extended_command): Save last_point_position.
10937
10938 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10939
10940 * lisp.h (Fpropertize): Add prototype.
10941
10942 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
10943
10944 2002-04-10 Colin Walters <walters@verbum.org>
10945
10946 * config.in: Add HAVE_SHARED_GAME_DIR.
10947
10948 * callproc.c: (Vgame_score_directory): New variable.
10949 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
10950
10951 2002-04-10 Richard M. Stallman <rms@gnu.org>
10952
10953 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
10954
10955 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
10956
10957 * minibuf.c (read_minibuf): Use empty_string.
10958 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
10959 Short-circuit the search as soon as it "failed".
10960 (Fall_completions): Allow lambda forms and lists of strings for alist.
10961 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
10962 when require_match is nil.
10963 (Ftest_completion): Rename from `test_completion' and export to elisp.
10964 Call the predicate also when alist is a list.
10965 Obey Vcompletion_regexp_list.
10966 (do_completion, Fminibuffer_complete_and_exit): Use it.
10967 (Fassoc_string): Rename from `assoc_for_completion'.
10968 Allow list of strings as well and export to elisp.
10969
10970 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
10971
10972 * puresize.h (BASE_PURESIZE): Increase to 900KB.
10973
10974 2002-04-08 Juanma Barranquero <lektu@terra.es>
10975
10976 * w32.c (sys_accept): Don't hide variable `s'.
10977
10978 2002-04-05 Gerd Moellmann <gerd@gnu.org>
10979
10980 * callint.c (Fcall_interactively): Use INTEGERP instead of
10981 NUMBERP for checking Vhistory_length.
10982
10983 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10984
10985 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
10986 Doc fix to reflect it.
10987
10988 2002-04-04 Richard M. Stallman <rms@gnu.org>
10989
10990 * xdisp.c (display_mode_element): New arg RISKY.
10991 Disregard text props found or specified within a variable
10992 that isn't marked risky-local-variable.
10993 (Qrisky_local_variable): New variable.
10994 (syms_of_xdisp): Init and staticpro it.
10995
10996 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
10997
10998 * undo.c (record_point): New fun.
10999 (record_delete, record_insert): Use it.
11000
11001 2002-04-03 Juanma Barranquero <lektu@terra.es>
11002
11003 * doc.c (Fdocumentation): Add missing parentheses.
11004 (Fdocumentation_property): Likewise.
11005
11006 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
11007
11008 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
11009 data is 0, just return nil.
11010
11011 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
11012
11013 * msdos.c (syms_of_msdos): Fix last change with
11014 mouse_autoselect_window.
11015
11016 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11017
11018 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
11019 mouse_autoselect_window.
11020
11021 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
11022
11023 * keyboard.c (make_lispy_event): Handle unknown keysyms together
11024 with system-specific keysyms. Use it also for unknown function keys.
11025
11026 * doc.c (reread_doc_file): Return whether reload was attempted.
11027 (Fdocumentation, Fdocumentation_property): Don't try to reload
11028 if the doc is 0 and only ask once.
11029
11030 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
11031
11032 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
11033
11034 * keyboard.c (read_char): If the event was Qselect_window,
11035 restore timer_idleness_start_time to its previous value.
11036
11037 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
11038
11039 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
11040
11041 * region-cache.c (new_region_cache): Use BEG.
11042
11043 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
11044 Use BEG and BEG_BYTE.
11045
11046 * doc.c (get_doc_string): Return nil if the location is wrong.
11047 (reread_doc_file): New fun.
11048 (Fdocumentation, Fdocumentation_property):
11049 Call it if get_doc_string fails.
11050 (Fsnarf_documentation): Make it work for a dumped Emacs.
11051
11052 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
11053 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
11054
11055 * charset.c (Fstring): Allow 0 arguments.
11056
11057 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
11058
11059 * process.c (DATAGRAM_CONN_P, list_processes_1)
11060 (Fprocess_datagram_address, Fset_process_datagram_address)
11061 (Fset_network_process_options, server_accept_connection):
11062 Fix some int/Lisp_Object confusions (thank you union types).
11063
11064 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11065
11066 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
11067
11068 * w32term.c: Likewise.
11069 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
11070
11071 * keyboard.c (Qselect_window): New symbol.
11072 (head_table): Use it.
11073 (keys_of_keyboard): Bound select-window event to handle-select-window.
11074 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
11075
11076 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
11077 (last_window): New variable.
11078 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
11079 (note_mouse_movement): Remove reimplemented code in #if 0.
11080 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
11081 Emacs windows.
11082
11083 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
11084
11085 2002-03-31 Gerd Moellmann <gerd@gnu.org>
11086
11087 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
11088 Callers changed.
11089
11090 2002-03-30 Richard M. Stallman <rms@gnu.org>
11091
11092 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
11093 loop whenever it stops making progress.
11094
11095 * widget.c (set_frame_size): Don't call change_frame_size.
11096
11097 2002-03-30 Gerd Moellmann <gerd@gnu.org>
11098
11099 * dispnew.c (direct_output_for_insert):
11100 Call mark_window_display_accurate.
11101
11102 2002-03-29 Jason Rumney <jasonr@gnu.org>
11103
11104 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
11105
11106 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
11107
11108 * Makefile.in (lread.o): Depend on coding.h.
11109
11110 * lread.c (openp, Fload): Encode the file name before passing it
11111 to `stat', `access', and `emacs_open'.
11112 (openp): GCPRO the encoded file name. Don't recompute Lisp
11113 strings unnecessarily.
11114
11115 2002-03-29 Kim F. Storm <storm@cua.dk>
11116
11117 * fns.c (Flax_plist_put): Doc fix.
11118
11119 2002-03-28 Miles Bader <miles@gnu.org>
11120
11121 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
11122
11123 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11124
11125 * process.c (set-network-process-options): Add usage.
11126 (make-network-process): Doc fix.
11127
11128 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
11129
11130 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
11131
11132 2002-03-26 Richard M. Stallman <rms@gnu.org>
11133
11134 * fns.c (Fsubstring_no_properties): New function.
11135 (Flax_plist_get, Flax_plist_put): New functions.
11136 (syms_of_fns): defsubr them.
11137
11138 * xdisp.c (update_menu_bar): Test only update_mode_lines;
11139 don't test or alter w->update_mode_line.
11140
11141 * window.c (Fdisplay_buffer): Doc fix.
11142
11143 2002-03-24 Richard M. Stallman <rms@gnu.org>
11144
11145 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
11146
11147 2002-03-24 Gerd Moellmann <gerd@gnu.org>
11148
11149 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
11150 (Fdefmacro): Handle `(declare ...)'.
11151 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
11152 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
11153
11154 2002-03-24 Jason Rumney <jasonr@gnu.org>
11155
11156 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
11157 (xbm_file_p): Add prototypes.
11158 (xbm_format, xbm_image_p): Sync with xfns.c.
11159 (reflect_byte): New function.
11160 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
11161 (xbm_load_image): Create bitmaps with a depth of 1.
11162 (init_xfns): Enable XBM images.
11163
11164 2002-03-23 Jason Rumney <jasonr@gnu.org>
11165
11166 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
11167 correctly. Do not pass up_modifier to keyboard buffer.
11168
11169 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
11170
11171 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
11172
11173 * Makefile.in (bootstrapclean): New target.
11174 (bootstrap-temacs, bootstrap-doc): Remove.
11175 (bootstrap-emacs): Use a bog-standard `temacs'.
11176 Don't bother to build a DOC file.
11177
11178 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
11179
11180 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
11181 in temacs even if !CANNOT_DUMP.
11182 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
11183
11184 * alloc.c (check_pure_size): Only output a warning.
11185
11186 2002-03-22 Jason Rumney <jasonr@gnu.org>
11187
11188 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
11189 supported.
11190
11191 * w32term.c (zv_bits): Declare as short, for word alignment.
11192 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
11193 (syms_of_w32term): Define x-use-underline-position-properties.
11194
11195 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
11196 (clear_image_cache): Block input, fix logic, clear matrices in
11197 all frames that share this cache.
11198
11199 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
11200
11201 * emacs.c (main): Update the Copyright year in the blurb printed
11202 by "emacs --version".
11203
11204 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
11205
11206 * xterm.c (XTread_socket): If XK_ISO_Lock and
11207 XK_ISO_Last_Group_Lock are defined, handle keysyms between
11208 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
11209
11210 2002-03-21 Kim F. Storm <storm@cua.dk>
11211
11212 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
11213 menu-bar bindings in keymap and local-map properties _are_ used.
11214 But try keymap property first in accordance with 2002-01-03 patch.
11215 Added comment describing why this is not always reliable.
11216 (tool_bar_items): Ditto for tool-bar.
11217
11218 2002-03-21 Jason Rumney <jasonr@gnu.org>
11219
11220 * w32fns.c (x_clear_image_1): Disable color table code.
11221
11222 2002-03-21 Kim F. Storm <storm@cua.dk>
11223
11224 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
11225 removed the wrong version of the DEFUN macro; fixed it.
11226
11227 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
11228 Fmember rather than Fmemq).
11229 (Fprovide): Check that subfeatures is a list.
11230
11231 * process.c (QCfeature, QCdatagram): Removed variables.
11232 (QCtype, Qdatagram): New variables.
11233 (network_process_featurep): Removed function.
11234 (Fmake_network_process): Removed :feature check.
11235 Use :type 'datagram instead of :datagram t to create a datagram
11236 socket. This allows us to add other connection types (e.g. raw
11237 sockets) later in a consistent manner.
11238 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
11239 supported subfeatures for feature make-network-process.
11240 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
11241 Intern and staticpro QCtype and Qdatagram.
11242 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
11243
11244 * xfns.c: (QCtype): Remove duplicate declaration and
11245 initialization (is now declared in process.c).
11246
11247 * w32fns.c: (QCtype): Remove duplicate declaration and
11248 initialization (is now declared in process.c).
11249
11250 2002-03-21 Richard M. Stallman <rms@gnu.org>
11251
11252 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
11253 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
11254 when jumping to `fail' to avoid undoing reg changes in the
11255 last iteration of the loop.
11256 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
11257
11258 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
11259 Depend on process.h.
11260
11261 2002-03-20 Jason Rumney <jasonr@gnu.org>
11262
11263 Most of the following changes are still conditional on HAVE_IMAGES
11264 which is not set by default on Windows.
11265
11266 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
11267
11268 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
11269 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
11270 (four_corners_best, x_clear_image_1, x_clear_image)
11271 (x_alloc_image_color, postprocess_image)
11272 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
11273 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
11274 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
11275
11276 * w32gui.h (struct XImage): Define.
11277
11278 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
11279 extract mouse co-ordinates.
11280
11281 2002-03-20 Jason Rumney <jasonr@gnu.org>
11282
11283 * w32.c (init_winsock): Dynamically load new server and UDP
11284 socket functions.
11285 (socket_to_fd): New function.
11286 (sys_socket): Use it.
11287 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
11288 (sys_recvfrom, sys_sendto): New wrapper functions.
11289
11290 * process.c (QCfamily, QCfilter): Remove duplicate declaration
11291 and initialization.
11292
11293 * makefile.w32-in (LIBS): Remove $(WSOCK32).
11294
11295 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
11296
11297 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
11298 Don't use "sun" as a variable, it's a predefined constant on Sun
11299 machines.
11300
11301 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11302
11303 * bytecode.c (Fbyte_code): Revert last change.
11304
11305 2002-03-19 Kim F. Storm <storm@cua.dk>
11306
11307 * makefile.w32-in (LIBS): Add $(WSOCK32).
11308 From David Ponce <dponce@voila.fr>.
11309
11310 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11311
11312 * process.c (wait_reading_process_input): Move variables `pname'
11313 and `pnamelen' down where they are used.
11314
11315 * bytecode.c (Fbyte_code): Discard unused computed value to
11316 prevent gcc warning.
11317
11318 * lisp.h (Fplist_member): Add prototype.
11319
11320 2002-03-18 Kim F. Storm <storm@cua.dk>
11321
11322 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
11323 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
11324
11325 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
11326 Remove explicit GNU_LINUX settings for datagram support.
11327
11328 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11329
11330 * process.c (Fmake_network_process): Remove unused variable `sa'.
11331 Doc fix. Add usage:.
11332 (set_socket_options): Remove unused variables `optnum' and `opttype'.
11333
11334 2002-03-17 Richard M. Stallman <rms@gnu.org>
11335
11336 * xdisp.c (cursor_type_changed): New variable.
11337 (redisplay_internal): Redisplay all windows if cursor_type_changed.
11338 Clear it when clearing windows_or_buffers_changed.
11339 (try_cursor_movement, redisplay_window, try_window_id)
11340 (try_window_reusing_current_matrix): Test cursor_type_changed
11341 along with windows_or_buffers_changed.
11342
11343 * window.h (cursor_type_changed): New variable.
11344
11345 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
11346 not update_mode_lines, and always set it to 1.
11347
11348 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
11349 if no frames needed redrawing.
11350
11351 2002-03-17 Kim F. Storm <storm@cua.dk>
11352
11353 The following changes add support for network server processes,
11354 datagram connections, and local (unix) sockets.
11355
11356 * process.h (struct Lisp_Process): New member log.
11357 Doc fix: Member command used to indicate stopped network process.
11358 Doc fix: Member childp contains plist for network process.
11359 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
11360
11361 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
11362 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
11363 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
11364 New variables.
11365 (NETCONN1_P): New macro.
11366 (DATAGRAM_SOCKETS): New conditional symbol.
11367 (datagram_address): New array.
11368 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
11369 (status_message): Use concat3.
11370 (Fprocess_status): Add `listen' status to doc string. Return `stop'
11371 for a stopped network process.
11372 (Fset_process_buffer): Update contact plist for network process.
11373 (Fset_process_filter): Ditto. Don't enable input for stopped
11374 network processes. Server must listen, even if filter is t.
11375 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
11376 New functions.
11377 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
11378 (Fprocess_contact): Added KEY argument. Handle datagrams.
11379 (list_processes_1): Optionally show only processes with the query
11380 on exit flag set. Dynamically adjust column widths. Omit tty
11381 column if not needed. Report stopped network processes.
11382 Identify server and datagram network processes.
11383 (Flist_processes): New optional arg `query-only'.
11384 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
11385 (conv_lisp_to_sockaddr, set_socket_options)
11386 (network_process_featurep, unwind_request_sigio): New helper functions.
11387 (Fprocess_datagram_address, Fset_process_datagram_address):
11388 (Fset_network_process_options): New lisp functions.
11389 (Fopen_network_stream): Removed. Now defined in simple.el.
11390 (Fmake_network_process): New lisp function. Code is based on previous
11391 Fopen_network_stream, but heavily reworked with new property list based
11392 argument list, support for datagrams, server processes, and local
11393 sockets in addition to old client-only functionality.
11394 (server_accept_connection): New function.
11395 (wait_reading_process_input): Use it to handle incoming connects.
11396 Do not enable input on a new connection if process is stopped.
11397 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
11398 (send_process): Handle datagram sockets.
11399 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
11400 network process is indicated by setting command field to t .
11401 (Fprocess_send_eof): No-op if datagram connection.
11402 (Fstatus_notify): Don't read input for a stream server socket or a
11403 stopped network process.
11404 (init_process): Initialize datagram_address array.
11405 (syms_of_process): Intern and staticpro new variables, defsubr new
11406 functions.
11407
11408 2002-03-16 Jason Rumney <jasonr@gnu.org>
11409
11410 * w32fns.c (w32_to_all_x_charsets): Return correct type in
11411 startup case.
11412
11413 2002-03-16 Richard M. Stallman <rms@gnu.org>
11414
11415 * xdisp.c (redisplay_internal, redisplay_windows):
11416 Use list_of_error to call internal_condition_case_1.
11417 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
11418 so as to catch all errors with no possibility of debugger redisplay.
11419 (list_of_error): New variable.
11420 (syms_of_xdisp): Init and staticpro it.
11421
11422 * print.c (print_object): Delete `\ ' from printed rep of frame.
11423
11424 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
11425
11426 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
11427 until its implementation is fixed.
11428
11429 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11430
11431 * xfns.c (png_load): Remove unused variable `gamma_str'.
11432
11433 2002-03-14 Richard M. Stallman <rms@gnu.org>
11434
11435 * xfns.c (x_real_positions): Handle failure in XQueryTree.
11436
11437 2002-03-14 Miles Bader <miles@gnu.org>
11438
11439 * intervals.c (adjust_for_invis_intang): New function.
11440 (set_point_both): Use `adjust_for_invis_intang' to do most of the
11441 work for dealing with invisible+intangible regions. Do so before
11442 and after both forward and backward movements, to handle both
11443 front-sticky and rear-sticky cases.
11444 * textprop.c (text_property_stickiness): Function moved here from
11445 `editfns.c'.
11446 * intervals.h (text_property_stickiness): New declaration.
11447 * editfns.c (char_property_eq): Function removed.
11448 (text_property_stickiness): Function moved to `textprop.c'.
11449
11450 2002-03-13 Jason Rumney <jasonr@gnu.org>
11451
11452 * config.in: Add STRFTIME_NO_POSIX2.
11453
11454 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
11455 and %OX when underlying strftime does not.
11456
11457 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
11458
11459 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
11460 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
11461 line) to avoid annoying flicker.
11462 (xm_scroll_callback): Get rid of the now unnecessary kludge.
11463 (XTread_socket): Mark it static.
11464
11465 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
11466
11467 2002-03-13 Kim F. Storm <storm@cua.dk>
11468
11469 * puresize.h (BASE_PURESIZE): Increase to 775000.
11470
11471 2002-03-12 Juanma Barranquero <lektu@terra.es>
11472
11473 * editfns.c (syms_of_editfns): Fix typo.
11474
11475 2002-03-12 Gerd Moellmann <gerd@gnu.org>
11476
11477 * xsmfns.c: Include stdio.h because termhooks.h needs it.
11478 Include termopt.h for interrupt_input.
11479
11480 2002-03-11 Andreas Schwab <schwab@suse.de>
11481
11482 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
11483
11484 2002-03-11 Gerd Moellmann <gerd@gnu.org>
11485
11486 * xterm.c (note_mouse_movement): Put code for
11487 x_autoselect_window_p in #if 0.
11488
11489 * lread.c (Fload): Don't assume that message_with_string uses the
11490 string it is given like a C string.
11491
11492 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11493
11494 * xterm.h (x_session_check_input, x_session_initialize): Declared.
11495
11496 * xterm.c: (XTread_socket): Add call to x_session_check_input and
11497 x_session_have_connection.
11498 (x_initialize): Add call to x_session_initialize.
11499
11500 * termhooks.h (enum event_kind): Add save_session_event.
11501
11502 * keyboard.c: Add Emacs event save_session_event.
11503
11504 * emacs.c (main): Add call to syms_of_xsmfns.
11505
11506 * lisp.h: Declare syms_of_xsmfns as extern.
11507
11508 * config.in: Add HAVE_X_SM.
11509
11510 * Makefile.in (LIBXT): Add -lSM -lICE
11511 if HAVE_X_SM and not USE_X_TOOLKIT.
11512 (XOBJ): New file xsmfns.c added.
11513
11514 * xsmfns.c: New file for X session management.
11515
11516 2002-03-09 Jason Rumney <jasonr@gnu.org>
11517
11518 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
11519 read-only when setting modified time.
11520
11521 2002-03-08 Gerd Moellmann <gerd@gnu.org>
11522
11523 * xdisp.c (move_it_vertically_backward): At the end of the function,
11524 when moving forward by lines, treat terminal frames specially.
11525
11526 * keyboard.c (echo_char): Make sure to add a separator between
11527 keys even if echo_dash hasn't been called.
11528
11529 * xdisp.c: Use new string macros.
11530 (update_echo_area): Pass number of bytes to message3 instead of
11531 number of chars.
11532 (set_message_1): Don't access a string's size_byte directly.
11533 (decode_mode_spec_coding): Use number of bytes of eoltype string
11534 instead number of chars.
11535
11536 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
11537
11538 2002-03-08 Juanma Barranquero <lektu@terra.es>
11539
11540 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
11541 24-bit.
11542
11543 2002-03-06 Jason Rumney <jasonr@gnu.org>
11544
11545 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
11546
11547 2002-03-06 Gerd Moellmann <gerd@gnu.org>
11548
11549 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
11550 (cancel_echoing, echo_length, echo_truncate): Changed to
11551 work with new kboard definition.
11552 (echo_now): Use message3_nolog instead of message2_nolog.
11553
11554 * alloc.c (mark_kboards): Mark echo_string.
11555
11556 * keyboard.h (ECHOBUFSIZE): Removed.
11557 (struct kboard): Member echoptr removed, member echobuf renamed
11558 to echo_string.
11559
11560 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
11561 message3 instead of message2 to display the message using STRING's
11562 text properties.
11563
11564 2002-03-05 Andreas Schwab <schwab@suse.de>
11565
11566 * xdisp.c (hscroll_margin): Change to EMACS_INT.
11567
11568 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
11569
11570 * frame.c (default-frame-alist): Explain that setting it doesn't
11571 affect existing frames.
11572
11573 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
11574
11575 * indent.c (skip_invisible): Fix my brain fart.
11576
11577 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
11578
11579 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
11580
11581 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
11582 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
11583 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
11584 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
11585 and variables to use EMACS_INT instead of just int.
11586
11587 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
11588
11589 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
11590
11591 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
11592 environment, pass it down with corrected value.
11593
11594 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11595
11596 * lread.c (read_filtered_event): Do not call start_hourglass
11597 before returning.
11598
11599 2002-03-04 Juanma Barranquero <lektu@terra.es>
11600
11601 * w32term.c (x_display_and_set_cursor): Fix typo.
11602
11603 2002-03-03 Richard M. Stallman <rms@gnu.org>
11604
11605 * fileio.c (Fmake_temp_name): Doc fix.
11606
11607 2002-03-03 Gary Wong <gtw@gnu.org>
11608
11609 * termcap.c [!emacs]: Replace ospeed for building standalone
11610 libtermcap, for binary compatibility.
11611
11612 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
11613
11614 2002-03-03 Richard M. Stallman <rms@gnu.org>
11615
11616 * xrdb.c (file_p): Rename arg `path' to `filename'.
11617
11618 * abbrev.c (Fexpand_abbrev): Increment plist as use count
11619 only if it is an integer.
11620
11621 * xfns.c (png_load): Set screen_gamma based on f->gamma.
11622 If png_get_sRGB gives an answer, call png_set_gamma
11623 using the default image gamma value.
11624
11625 * lread.c (read1): When reading from a file, default string to
11626 multibyte only if it has some multibyte characters.
11627
11628 * print.c (print_object): Output multibyte chars 128...255
11629 using \x even if ! print_escape_multibyte.
11630
11631 * xdisp.c (display_mode_element): Move the places where
11632 bytepos, charpos, this, and lisp_string are set.
11633 Use lisp_string to set bytepos.
11634
11635 * xdisp.c (redisplay_internal):
11636 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
11637
11638 * xdisp.c (display_mode_element): Merge properties specified with
11639 :propertize onto those that come with the string.
11640
11641 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
11642
11643 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
11644 automatic-hscrolling. Users changed.
11645 <hscroll-margin>: Renamed from automatic-hscroll-margin.
11646 Users changed.
11647 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
11648
11649 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11650
11651 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
11652
11653 2002-03-02 Kim F. Storm <storm@cua.dk>
11654
11655 * window.c (Fminibuffer_selected_window): New function.
11656 (syms_of_window): Defsubr it.
11657
11658 2002-03-01 Kim F. Storm <storm@cua.dk>
11659
11660 * window.h (struct window): New member phys_cursor_width.
11661
11662 * window.c (make_window, replace_window): Init phys_cursor_width.
11663
11664 * xterm.c (x_display_and_set_cursor): Blink box cursor using
11665 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
11666
11667 * w32term.c (x_display_and_set_cursor): Blink box cursor using
11668 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
11669
11670 * lisp.h (GCPRO6): New macro.
11671
11672 * process.c (Fopen_network_stream): Use GCPRO6.
11673
11674 2002-03-01 Kim F. Storm <storm@cua.dk>
11675
11676 * process.c (Qconnect, Qfailed): New variables.
11677 (syms_of_process): Intern and staticpro them.
11678 (Fprocess_status): Document connect and failed return values.
11679 [NON_BLOCKING_CONNECT]: New conditional.
11680 (connect_wait_mask, num_pending_connects): New variables.
11681 (status_message): Convert Qfailed status.
11682 (Fopen_network_stream): Added support for non-blocking connect.
11683 New optional args: filter, sentinel, non_blocking. Doc updated.
11684 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
11685 (deactivate_process): Handle pending non-blocking connect.
11686 (wait_reading_process_input): Poll for status of non-blocking
11687 connects. Exec sentinel directly when connect succeeds.
11688 (status_notify): Don't read process output if not yet connected.
11689
11690 2002-02-28 Kim F. Storm <storm@cua.dk>
11691
11692 * window.c: (minibuf_selected_window): Renamed from
11693 Vminibuf_selected_window. Users changed.
11694 (syms_of_window): Staticpro it.
11695
11696 2002-02-26 Kim F. Storm <storm@cua.dk>
11697
11698 The following changes add a new Vminibuf_selected_window variable
11699 which is similar to Vminibuf_scroll_window, but which is only set
11700 on entry to the minibuffer (from a non-minibuffer window):
11701
11702 * window.c: (Vminibuf_selected_window): New variable.
11703 (struct save_window_data): New member minibuf_selected_window.
11704 (Fset_window_configuration): Restore Vminibuf_selected_window.
11705 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
11706 Set minibuf_scroll_window member to nil if minibuf_level is 0.
11707 (compare_window_configurations): Compare minibuf_selected_window.
11708
11709 * window.h: (Vminibuf_selected_window): Declare extern.
11710
11711 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
11712 entry to minibuffer or on entry from a non-minibuffer window.
11713
11714 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
11715 Vminibuf_selected_window instead of Vminibuf_scroll_window.
11716
11717 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
11718 instead of Vminibuf_scroll_window when deciding in which window
11719 the region should be highlighted. Consequently, the region remains
11720 highlighteded even when a completion buffer is also displayed.
11721
11722 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
11723
11724 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
11725
11726 * xselect.c (Qcompound_text_with_extensions): Renamed from
11727 Qcompound_text_no_extensions.
11728 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
11729
11730 2002-02-26 Juanma Barranquero <lektu@terra.es>
11731
11732 * w32proc.c (syms_of_ntproc): Doc fix.
11733
11734 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11735
11736 * intervals.h: Include "dispextern.h" unconditionally.
11737
11738 2002-02-24 Jason Rumney <jasonr@gnu.org>
11739
11740 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
11741 and disp-table.elc.
11742 (lisp): Add emacs-lisp/backquote.elc.
11743
11744 2002-02-24 Kim F. Storm <storm@cua.dk>
11745
11746 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
11747 The validation of the event type was too strict as it didn't
11748 allow string events; buffer names are used in bindings for
11749 menu-bar-select-buffer (see `menu-bar-update-buffers').
11750
11751 2002-02-23 Kim F. Storm <storm@cua.dk>
11752
11753 The following changes rework my patch of 2002-02-06 which
11754 added command remapping by entering the commands directly into
11755 the keymaps. Now, command remapping uses an explicit `remap'
11756 prefix in the keymaps, i.e. [remap COMMAND].
11757
11758 * keymap.c (Qremap, remap_command_vector): New variables.
11759 (is_command_symbol): Removed function.
11760 (Fdefine_key): No longer accept a symbol for KEY.
11761 Added validation of [remap COMMAND] argument for KEY.
11762 The DEF is no longer required to be a symbol when remapping a command.
11763 (Fremap_command): New function to remap command through keymaps.
11764 (Flookup_key): Perform command remapping initiated by
11765 Fremap_command directly for speed.
11766 (Fkey_binding): Use Fremap_command for command remapping.
11767 (where_is_internal): Handle new command remapping representation.
11768 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
11769 staticpro them. Defsubr Fremap_command.
11770
11771 * keymap.h (Fremap_command): Declare extern.
11772 (is_command_symbol): Remove extern.
11773
11774 * keyboard.c (command_loop_1): Use Fremap_command for command
11775 remapping; now try command remapping for all symbols.
11776
11777 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
11778
11779 * coding.h (run_pre_post_conversion_on_str): Add prototype.
11780
11781 2002-02-23 Jason Rumney <jasonr@gnu.org>
11782
11783 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
11784 on the string before encoding it.
11785 (Fw32_get_clipboard_data): Run post-read-conversion on the string
11786 after decoding it.
11787
11788 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
11789
11790 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11791
11792 * w32term.c (enter_timestamp): Remove unused static variable to
11793 prevent warning.
11794
11795 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
11796
11797 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
11798
11799 * w16select.c (Fw16_get_clipboard_data): Fix last change.
11800
11801 * xselect.c (selection_data_to_lisp_data): Fix last change.
11802
11803 2002-02-22 Jason Rumney <jasonr@gnu.org>
11804
11805 * w32term.h (struct w32_output): New member menu_command_in_progress.
11806
11807 * w32menu.c (menubar_selection_callback): Free the menu and
11808 clear the menu_command_in_progress flag.
11809
11810 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
11811 (menu_free_timer): New variable.
11812 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
11813 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
11814 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
11815 menu command is in progress.
11816 <WM_COMMAND>: Set the menu_command_in_progress flag.
11817 Kill any menu_free_timer that is running.
11818
11819 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
11820 Call ExtTextOutA rather than ExtTextOut.
11821
11822 2002-02-22 Eli Zaretskii <eliz@gnu.org>
11823
11824 * puresize.h (BASE_PURESIZE): Increase to 755000.
11825
11826 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11827
11828 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
11829 on the string before encoding it.
11830 (Fw16_get_clipboard_data): Run post-read-conversion on the string
11831 after decoding it.
11832
11833 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11834
11835 Support for ICCCM Extended Segments in X selections:
11836
11837 * xselect.c <Qcompound_text_no_extensions>: New variable.
11838 (syms_of_xselect): Intern and staticpro it.
11839 (selection_data_to_lisp_data): Run post-read-conversion on decoded
11840 selection text.
11841 (lisp_data_to_selection_data): If next-selection-coding-system is
11842 compound-text-no-extensions, set the type of selection to be
11843 compound-text.
11844
11845 * xterm.h (x_encode_text): Update prototype.
11846
11847 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
11848 callers changed. If SELECTIONP is non-zero, run the
11849 pre-write-conversion function before encoding the selection text.
11850
11851 2002-02-21 Kim F. Storm <storm@cua.dk>
11852
11853 * frame.c (syms_of_frame): Change mouse-highlight default to t.
11854
11855 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
11856 Correct composing of language-change event.
11857
11858 2002-02-20 Kim F. Storm <storm@cua.dk>
11859
11860 * keyboard.c (menu_bar_items): Don't include keymap or local-map
11861 bindings at PT when building menu (the menu is not updated often
11862 enough for this to work reliable).
11863 (tool_bar_items): Likewise.
11864 (current_active_maps): Removed unused (and buggy) function.
11865
11866 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11867
11868 * xfns.c (gif_load): Use correct width and height for GIF images.
11869
11870 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
11871
11872 * floatfns.c (Fatan): Accept an optional second arg and call
11873 atan2 if passed 2 args.
11874
11875 2002-02-18 Jason Rumney <jasonr@gnu.org>
11876
11877 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
11878
11879 2002-02-17 Jason Rumney <jasonr@gnu.org>
11880
11881 * w32term.c (x_autoselect_window_p): New variable.
11882 (syms_of_w32term): DEFVAR_BOOL and initialize it.
11883 (note_mouse_movement): Use it.
11884
11885 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
11886
11887 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
11888
11889 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
11890 New variables.
11891 (syms_of_w32fns): Intern and staticpro them.
11892 (x_frame_parms) <"fullscreen">: New parameter.
11893 (x_fullscreen_move, x_set_fullscreen): New functions.
11894 (x_set_frame_parameters): Support Qfullscreen.
11895 (x_real_positions): Save x/y_pixels_diff frame params.
11896 (x_figure_window_size): Support full-screen frames.
11897 (Fx_create_frame): Default the fullscreen parameter.
11898
11899 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
11900 (x_fullscreen_adjust): New functions.
11901 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
11902 fullscreen. Call x_check_fullscreen_move, and set the
11903 want_fullscreen member of output_data.w32
11904 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
11905
11906 * w32term.h: New enum for FULLSCREEN_* constants.
11907 (struct w32_output): New members want_fullscreen, x_pixels_diff,
11908 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
11909 (x-fullscreen-adjust): New prototype.
11910
11911 2002-02-17 Kim F. Storm <storm@cua.dk>
11912
11913 * frame.c: (Vmouse_highlight): New variable.
11914 (syms_of_frame): DEFVAR_LISP it.
11915
11916 * frame.h: (Vmouse_highlight): Declare extern.
11917
11918 * xterm.h (struct x_display_info): Add mouse_face_hidden.
11919
11920 * xterm.c (disable_mouse_highlight): Removed variable.
11921 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
11922 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
11923 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
11924 and on after keyboard input.
11925 (x_term_init): Initialize mouse_face_hidden.
11926
11927 * msdos.h (struct display_info): Add mouse_face_hidden.
11928
11929 * msdos.c (disable_mouse_highlight): Removed variable.
11930 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
11931 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
11932 (internal_terminal_init): Initialize mouse_face_hidden.
11933 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
11934 and on after keyboard input.
11935
11936 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
11937
11938 * w32term.c (disable_mouse_highlight): Removed variable.
11939 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
11940 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
11941 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
11942 and on after keyboard input.
11943 (w32_initialize_display_info): Initialize mouse_face_hidden.
11944
11945 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
11946
11947 * msdos.c (last_mouse_window): New variable.
11948 (dos_rawgetc): Fix last change--if the mouse is in the same window
11949 as recorded in last_mouse_window, don't select this window.
11950
11951 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
11952
11953 * msdos.c (x_autoselect_window_p): New variable.
11954 (syms_of_msdos): Defvar it.
11955 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
11956 which the last mouse movement occured, unless it is already selected.
11957
11958 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
11959 New variables.
11960 (syms_of_xdisp): DEVFAR them.
11961 (hscroll_window_tree): Use automatic_hscroll_margin and
11962 Vautomatic_hscroll_step to compute the amount of window scrolling.
11963
11964 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11965
11966 * xterm.c (x-autoselect-window): New variable.
11967 (note_mouse_movement): Use it.
11968
11969 * keyboard.c: Do not include "systime.h" twice.
11970
11971 2002-02-15 Andreas Schwab <schwab@suse.de>
11972
11973 * puresize.h (BASE_PURESIZE): Increase to 9/5.
11974
11975 * alloc.c (NSTATICS): Increase to 1280.
11976
11977 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
11978
11979 * alloc.c (NSTATICS): Bump to 1026.
11980
11981 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
11982 (Vx_super_keysym): New variables.
11983 (syms_of_xterm): DEFVAR_LISP them.
11984 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
11985 variables to determine which keys to use for the various modifiers.
11986
11987 2002-02-13 Kim F. Storm <storm@cua.dk>
11988
11989 * window.c: (Vmode_line_in_non_selected_windows): Removed.
11990 (mode_line_in_non_selected_windows): New variable.
11991 (syms_of_window): DEFVAR_BOOL it.
11992
11993 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
11994 Use mode_line_in_non_selected_windows.
11995 (mode_line_in_non_selected_windows): Declare extern.
11996 (Vmode_line_in_non_selected_windows): Removed extern.
11997
11998 2002-02-13 Richard M. Stallman <rms@gnu.org>
11999
12000 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
12001 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
12002 (Fclear_this_command_keys): Doc fixes.
12003
12004 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
12005 (update_face_from_frame_parameter): Increment face_change_count
12006 and windows_or_buffers_changed to force redisplay using changed faces.
12007
12008 * xdisp.c (QCpropertize): New variable.
12009 (mode_line_proptrans_alist): New variable.
12010 (display_mode_element): New arg PROPS; all calls changed.
12011 Implement this, for strings.
12012 Handle literal output of strings by sharing the
12013 main-line code for strings, using local var `literal'.
12014 Handle :propertize feature.
12015 (syms_of_xdisp): Initialze and staticpro QCpropertize and
12016 mode_line_proptrans_alist.
12017
12018 2002-02-11 Kim F. Storm <storm@cua.dk>
12019
12020 * window.c: (Vmode_line_in_non_selected_windows): New variable.
12021 (syms_of_window): DEFVAR_LISP it.
12022
12023 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
12024 (CURRENT_MODE_LINE_FACE_ID): Use it.
12025 (Vmode_line_in_non_selected_windows): Declare extern.
12026
12027 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
12028 to get mode line face.
12029
12030 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
12031
12032 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
12033 variables; cus-start.el doesn't need them anymore.
12034
12035 2002-02-09 Kim F. Storm <storm@cua.dk>
12036
12037 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
12038 reduction. This fixes a display problem where stray newlines were
12039 inserted in the window (corrected by C-l). Clarified code (IMHO).
12040
12041 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
12042
12043 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
12044
12045 * xdisp.c (display_mode_lines): Fix last change.
12046
12047 2002-02-09 Jason Rumney <jasonr@gnu.org>
12048
12049 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
12050 match each other.
12051 (w32_load_system_font): Prevent Cleartype fonts from loading.
12052 (Fx_show_tip): Ensure tip frames are above other topmost windows.
12053
12054 2002-02-09 Kim F. Storm <storm@cua.dk>
12055
12056 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
12057 (CURRENT_MODE_LINE_HEIGHT): Use it.
12058 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
12059
12060 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
12061 (pos_visible_p, handle_face_prop): Likewise.
12062 (display_mode_lines): Likewise, but for the real selected window.
12063 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
12064
12065 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
12066 in non-selected windows.
12067 (realize_basic_faces): Realize it.
12068 (syms_of_term): Intern and staticpro it.
12069
12070 2002-02-08 Kim F. Storm <storm@cua.dk>
12071
12072 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
12073 Changed mail addresses to emacs-devel@gnu.org.
12074
12075 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
12076
12077 * fileio.c (Fsubstitute_in_file_name): If the file name includes
12078 ~user, and there's no such user, don't discard everything before ~user.
12079
12080 * floatfns.c (Fround): Doc fix.
12081
12082 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12083
12084 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
12085
12086 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
12087
12088 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
12089
12090 2002-02-07 Kim F. Storm <storm@cua.dk>
12091
12092 * keymap.c (where_is_internal): Only check whether definition is
12093 remapped if it fulfills is_command_symbol.
12094
12095 2002-02-07 Andreas Schwab <schwab@suse.de>
12096
12097 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
12098
12099 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
12100
12101 2002-02-06 Kim F. Storm <storm@cua.dk>
12102
12103 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
12104 defining command remapping. Doc updated.
12105 (Flookup_key): Remap command through keymap if KEY is a symbol.
12106 (is_command_symbol): New function.
12107 (Fkey_binding): Use it. New optional argument NO-REMAP.
12108 Doc updated. Callers changed. Perform command remapping via
12109 recursive call unless that arg is non-nil.
12110 (where_is_internal): New argument no_remap. Callers changed.
12111 Call recursively to find original key bindings for a remapped
12112 comand unless that arg is non-nil.
12113 (Fwhere_is_internal): New optional argument NO-REMAP.
12114 Doc updated. Callers changed. Pass arg to where_is_internal.
12115
12116 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
12117 (is_command_symbol): Added prototype.
12118
12119 * keyboard.c (Vthis_original_command): New variable.
12120 (syms_of_keyboard): DEFVAR_LISP it.
12121 (command_loop_1): Set it, and perform command remapping.
12122
12123 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12124
12125 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
12126
12127 2002-02-06 Jason Rumney <jasonr@gnu.org>
12128
12129 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
12130
12131 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
12132
12133 * charset.c (get_charset_id): Use if-else instead of ?:.
12134
12135 2002-02-06 Richard M. Stallman <rms@gnu.org>
12136
12137 * filelock.c (S_ISLNK): Define if not defined.
12138
12139 2002-02-03 Richard M. Stallman <rms@gnu.org>
12140
12141 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
12142
12143 * lread.c (read1): Redesign strategy for force_multibyte and
12144 force_singlebyte. Now is_multibyte records whether read_buffer
12145 is multibyte. Encountering any multibyte character makes it so.
12146
12147 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
12148
12149 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
12150 with the same sequence, map that sequence to f10 rather than f0.
12151
12152 2002-02-03 Andreas Schwab <schwab@suse.de>
12153
12154 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
12155 latter never being defined on GNU/Linux.
12156
12157 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
12158
12159 * xfaces.c (realize_default_face): Don't set the weight and slant of
12160 the default face to Qnormal, unless these attributes are unspecified.
12161
12162 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12163
12164 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
12165 Call cancel_hourglass unconditionally.
12166
12167 * eval.c (Fsignal): Remove duplicated declaration of
12168 the variable `display_hourglass_p'.
12169
12170 2002-01-31 Richard M. Stallman <rms@gnu.org>
12171
12172 * editfns.c (region_limit): Nicer error message.
12173
12174 * coding.c (decode_composition_emacs_mule):
12175 Give up if NCOMPONENT gets too large to index `component'.
12176
12177 * callint.c (check_mark): New arg to specify clearer error message.
12178 Callers changed.
12179
12180 2002-01-27 Richard M. Stallman <rms@gnu.org>
12181
12182 * minibuf.c (Fcompleting_read): Doc fix.
12183
12184 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12185
12186 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
12187 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
12188 Fix doc-strings.
12189
12190 2002-01-26 Richard M. Stallman <rms@gnu.org>
12191
12192 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
12193
12194 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
12195 and scroll_up_aggressively.
12196
12197 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12198
12199 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
12200
12201 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
12202
12203 * textprop.c (Fnext_property_change, Fnext_single_property_change)
12204 (Fprevious_property_change, Fprevious_single_property_change):
12205 Stay within the narrowed-buffer boundaries.
12206
12207 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
12208
12209 * term.c (Ftty_display_color_cells): New function.
12210 (syms_of_term): Defsubr it.
12211 (Ftty_display_color_cells, Ftty_display_color_p): Change the
12212 argument name to DISPLAY. Doc fix.
12213
12214 * dispextern.h: Add prototype for set_tty_color_mode and
12215 tty_setup_colors.
12216
12217 2002-01-24 Jason Rumney <jasonr@gnu.org>
12218
12219 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
12220 If region left to draw is not what was expected, mark the frame as
12221 garbaged.
12222
12223 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
12224 Combine the regions returned by BeginPaint and GetUpdateRect.
12225
12226 2002-01-23 Jason Rumney <jasonr@gnu.org>
12227
12228 * w32term.c (x_update_window_begin): Only hide caret if
12229 w32_use_visible_system_caret is set.
12230 (x_update_window_end): Only show caret if
12231 w32_use_visible_system_caret is set.
12232 (syms_of_w32term): Handle SystemParametersInfo call failing.
12233
12234 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
12235
12236 2002-01-22 Richard M. Stallman <rms@gnu.org>
12237
12238 * unexelf.c (unexec): Define n so as to cause compilation error
12239 for the code where people have often written n instead of nn.
12240
12241 * .gdbinit (hookpost-run): Defined.
12242
12243 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12244
12245 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
12246
12247 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12248
12249 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
12250 if fullscreen is being set.
12251
12252 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12253
12254 * minibuf.c (Fminibuffer_contents)
12255 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
12256 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
12257
12258 2002-01-21 Richard M. Stallman <rms@gnu.org>
12259
12260 * window.c (check_frame_size): Fix minimum height calculation.
12261
12262 2002-01-20 Ken Raeburn <raeburn@gnu.org>
12263
12264 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
12265 height before comparison.
12266 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
12267
12268 2002-01-20 Jason Rumney <jasonr@gnu.org>
12269
12270 * w32term.c (w32_system_caret_width): Remove.
12271 (w32_use_visible_system_caret): New user flag.
12272 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
12273 Windows reports a screen reader running.
12274 (x_update_window_begin): Hide the system caret.
12275 (x_update_window_end): Show the system caret.
12276 (x_display_and_set_cursor): Don't draw a cursor when
12277 w32_use_visible_system_caret is set. Do not adjust width.
12278
12279 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
12280 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
12281 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
12282 the user requests it. Use system default width when creating.
12283 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
12284
12285 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
12286 New window messages.
12287
12288 2002-01-20 Richard M. Stallman <rms@gnu.org>
12289
12290 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
12291
12292 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12293
12294 * doprnt.c (doprnt1): Fix typos in error call.
12295
12296 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
12297
12298 * unexelf.c (unexec) [__sgi]: Support the .got sections.
12299
12300 2002-01-20 Jason Rumney <jasonr@gnu.org>
12301
12302 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
12303 that Windows returns. If a double check fails, try to guess how
12304 ExtTextOut is going to act.
12305
12306 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
12307 in place of stricmp.
12308 (w32_list_synthesized_fonts): Removed.
12309 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
12310 (struct enumfont_t): New element; list.
12311 (enum_font_cb2): List all style and charset variations of a font.
12312 (Fw32_select_font): New optional argument; include_proportional.
12313 Exclude vertical fonts. Exclude proportional fonts unless
12314 include_proportional is non-nil.
12315 (w32_enable_synthesized_fonts): Change to a boolean.
12316 (Fw32_send_sys_command): Doc fix.
12317
12318 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12319
12320 * dispnew.c (update_frame): Move the variable `tem' to the block
12321 where it is used.
12322
12323 2002-01-19 Jason Rumney <jasonr@gnu.org>
12324
12325 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
12326 call to face-set-after-frame-default.
12327
12328 2002-01-18 Richard M. Stallman <rms@gnu.org>
12329
12330 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
12331 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
12332
12333 2002-01-17 Richard M. Stallman <rms@gnu.org>
12334
12335 * window.c (enlarge_window): When exceeding size of parent,
12336 directly delete all the siblings instead of trying to resize it.
12337
12338 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12339
12340 * term.c (set_tty_color_mode): Remove unused variable `tem'.
12341
12342 2002-01-16 Henrik Enberg <henrik@enberg.org>
12343
12344 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
12345
12346 2002-01-16 Kim F. Storm <storm@cua.dk>
12347
12348 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
12349 is invisible. This can happen if cursor is on top line of a
12350 window, and we switch to a buffer with a header line.
12351
12352 * w32term.c (x_erase_phys_cursor): Ditto.
12353
12354 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12355
12356 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
12357 `dont_resize' only when used.
12358
12359 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
12360
12361 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
12362
12363 * xdisp.c (display_mode_element): When computing charpos, depend
12364 on multibyteness of elt, not the text in field.
12365
12366 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12367
12368 * buffer.c (Fkill_all_local_variables):
12369 Increment `update_mode_lines' only once.
12370
12371 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12372
12373 * lisp.h (adjust_after_replace_noundo)
12374 (Fupdate_coding_systems_internal): Add prototypes.
12375
12376 * sound.c (Fplay_sound): Initialize header_size also for :data case.
12377
12378 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
12379
12380 Support for the --color command-line argument and tty-color-mode
12381 frame parameter:
12382
12383 * term.c (tty_default_color_capabilities, tty_setup_colors)
12384 (set_tty_color_mode): New functions.
12385 (term_init): Call tty_default_color_capabilities.
12386 (Qtty_color_mode_alist): New variable.
12387 (syms_of_term): Intern and staticpro it.
12388
12389 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
12390 frames.
12391 (do_switch_frame): For termcap frames, switch the tty
12392 color mode as specified by the frame's parameters.
12393 (Qtty_color_mode): New variable.
12394 (syms_of_frame): Intern and staticpro it.
12395
12396 * emacs.c (USAGE2): Add the --color option.
12397 (standard_args): Ditto.
12398
12399 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12400
12401 * xterm.h (struct x_output): New members want_fullscreen,
12402 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
12403 y_pixels_outer_diff.
12404 New enum for FULLSCREEN_* constants.
12405 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
12406 is NULL.
12407 (x_fullscreen_adjust): Add prototype.
12408
12409 * emacs.c (USAGE2): Add the new full-screen arguments.
12410 (standard_args): Ditto.
12411
12412 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
12413 New variables.
12414 (syms_of_xfns): Intern and staticpro them.
12415 (x_frame_parms) <"fullscreen">: New parameter.
12416 (x_fullscreen_move, x_set_fullscreen): New functions.
12417 (x_set_frame_parameters): Support for Qfullscreen.
12418 (x_real_positions): More accurate computation of the frame position.
12419 (x_figure_window_size): Support full-screen frames.
12420 (Fx_create_frame): Default the fullscreen parameter.
12421
12422 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
12423 (XTread_socket) <Expose>: Call x_check_fullscreen.
12424 <ConfigureNotify>: Don't resize to fullscreen.
12425 Call x_check_fullscreen_move, and set the want_fullscreen member of
12426 output_data.x.
12427
12428 2002-01-13 Jason Rumney <jasonr@gnu.org>
12429
12430 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
12431 for mice with more than 3 buttons.
12432
12433 * w32term.c (parse_button): New parameter xbutton. Callers changed.
12434 (w32_read_socket): Handle new "XBUTTON" messages.
12435
12436 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
12437 (syms_of_w32fns): DEFVAR_BOOL it.
12438 (w32_wnd_proc): Handle new "XBUTTON" messages.
12439
12440 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12441
12442 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
12443
12444 2002-01-13 Andreas Schwab <schwab@suse.de>
12445
12446 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
12447
12448 2002-01-12 Andreas Schwab <schwab@suse.de>
12449
12450 * .gdbinit (xbuffer): Remove address operator since data is now a
12451 pointer.
12452
12453 2002-01-11 Richard M. Stallman <rms@gnu.org>
12454
12455 * insdel.c (adjust_after_replace_noundo): New function.
12456
12457 * coding.c (code_convert_region): Don't copy old text if undo disabled.
12458
12459 2002-01-09 Jason Rumney <jasonr@gnu.org>
12460
12461 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
12462 when checking for multiple frames.
12463
12464 2002-01-08 Richard M. Stallman <rms@gnu.org>
12465
12466 * window.c (delete_window): Rewrite the code for changing the
12467 selected window to handle the case where WINDOW is not a leaf.
12468
12469 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
12470
12471 * process.c (send_process): Set src_multibyte to 1 after the call
12472 top setup_coding_system, not before the call.
12473
12474 2002-01-07 Jason Rumney <jasonr@gnu.org>
12475
12476 * xmenu.c (set_frame_menubar, xmenu_show):
12477 (xdialog_show): Initialize wv->help to Qnil.
12478
12479 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
12480 (w32_dialog_show): Initialize wv->help to Qnil.
12481
12482 2002-01-06 Jason Rumney <jasonr@gnu.org>
12483
12484 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
12485
12486 * w32menu.c (w32_menu_display_help): Revert last change.
12487
12488 * xmenu.c (menu_highlight_callback): Revert last change.
12489
12490 2002-01-06 Andreas Schwab <schwab@suse.de>
12491
12492 * insdel.c (make_gap_larger): Make sure buffer size does not
12493 overflow range of int.
12494
12495 2002-01-05 Jason Rumney <jasonr@gnu.org>
12496
12497 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
12498 OVERLAPS_P.
12499
12500 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
12501
12502 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
12503 to the left or to the right of the pointer, put it against
12504 the left screen edge.
12505 (x_frame_parms): Add missing braces around initializer.
12506
12507 * w32term.c (x_setup_relief_colors): Don't compute an image's
12508 background color if it doesn't have a Pixmap.
12509 (notice_overwritten_cursor): Don't depend on
12510 output_cursor and updated_area. Compare pixel coordinates with
12511 window's cursor pixel coordinates.
12512 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
12513 Call notice_overwritten_cursor with new arg list.
12514 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
12515 unconditionally.
12516 (x_draw_image_relief): Use predefined macro instead of
12517 constant when the value of `tool_bar_button_relief' is negative.
12518
12519 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
12520
12521 2002-01-04 Richard M. Stallman <rms@gnu.org>
12522
12523 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
12524
12525 2002-01-03 Richard M. Stallman <rms@gnu.org>
12526
12527 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
12528 (Fkey_binding): Try the `keymap' property map first.
12529 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
12530 minor mode bindings.
12531
12532 2002-01-03 Kim F. Storm <storm@cua.dk>
12533
12534 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
12535
12536 2002-01-02 Richard M. Stallman <rms@gnu.org>
12537
12538 * keyboard.c (read_key_sequence): Handle the keymap property
12539 before minor mode maps.
12540
12541 * editfns.c (Fformat): Update thissize from field_width
12542 based on the actual width, in the string case.
12543
12544 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12545
12546 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
12547 when used as truth value to prevent gcc warnings.
12548
12549 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
12550 * w32proc.c: Include <config.h>.
12551
12552 2002-01-01 Andreas Schwab <schwab@suse.de>
12553
12554 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
12555 not EMACS_INT, to make them compatible with DEFVAR_INT.
12556 * lisp.h (max_specpdl_size): Adjust declaration.
12557
12558 2002-01-01 Richard M. Stallman <rms@gnu.org>
12559
12560 * print.c (print_object): Test print_escape_nonascii only for
12561 unibyte strings.
12562 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
12563 when outputting to a multibyte buffer.
12564
12565 2001-12-29 Richard M. Stallman <rms@gnu.org>
12566
12567 * print.c (print_object): In multibyte string, use hex escapes.
12568 Use octal only for unibyte strings.
12569 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
12570
12571 * lread.c (read_escape): New arg BYTEREP for reporting whether
12572 escape forces unibyte or multibyte.
12573 (read1): When reading a string, take note of that info.
12574
12575 2001-12-29 Ken Raeburn <raeburn@gnu.org>
12576
12577 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
12578 comparison to test lisp value returned by Fget.
12579
12580 2001-12-29 Richard M. Stallman <rms@gnu.org>
12581
12582 * lisp.h (max_specpdl_size): Add declaration.
12583
12584 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
12585
12586 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
12587 Handle modifier bits. Correct typo in error message.
12588
12589 2001-12-28 Richard M. Stallman <rms@gnu.org>
12590
12591 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
12592 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
12593 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
12594 Update calls to Fdefine_abbrev.
12595 (write_abbrev): Update for changed data format.
12596 Don't list "system" abbrevs.
12597 (Fexpand_abbrev): Update use count with new data format.
12598 (describe_abbrev): Update for changed data format.
12599 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
12600
12601 * config.in (HAVE_MBSINIT): Add #undef.
12602
12603 * strftime.c (mbsinit): Define as no-op if not available.
12604
12605 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
12606 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
12607
12608 * keymap.c (Flookup_key): Error message if key has wrong data type.
12609 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
12610 (exclude_key): New variable.
12611
12612 2001-12-28 Gerd Moellmann <gerd@gnu.org>
12613
12614 * xterm.c (x_setup_relief_colors): Don't compute an image's
12615 background color if it doesn't have a Pixmap.
12616
12617 * xterm.c (notice_overwritten_cursor): Don't depend on
12618 output_cursor and updated_area. Compare pixel coordinates with
12619 window's cursor pixel coordinates.
12620 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
12621 Call notice_overwritten_cursor with new arg list.
12622 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
12623 unconditionally.
12624
12625 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
12626 height of the cursor line to the amount to scroll.
12627
12628 2001-12-27 Richard M. Stallman <rms@gnu.org>
12629
12630 * intervals.c (set_point_both): The position after an invisible,
12631 intangible character is not an acceptable stopping point.
12632
12633 2001-12-27 Ken Raeburn <raeburn@gnu.org>
12634
12635 * window.c (enlarge_window): In new preserve_before code, convert
12636 CURBEG from lisp object to integer before doing arithmetic.
12637
12638 2001-12-27 Richard M. Stallman <rms@gnu.org>
12639
12640 * bytecode.c (Fbyte_code): Undo previous change.
12641
12642 2001-12-26 Kim F. Storm <storm@cua.dk>
12643
12644 * keyboard.c (record_char): Ignore duplicate help-echo events only
12645 separated by mouse-movement. When tracking mouse, only record
12646 first and last mouse-movement event in same window.
12647 Don't record mouse-movement events in keyboard macros.
12648
12649 2001-12-25 Richard M. Stallman <rms@gnu.org>
12650
12651 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
12652 (Fenlarge_window): New arg PRESERVE_BEFORE.
12653
12654 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
12655 instead of Fstring_as_unibyte.
12656
12657 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12658
12659 The following changes remove mocklisp support:
12660
12661 * mocklisp.h, mocklisp.c: Files removed.
12662
12663 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
12664 `Qmocklisp' and `Qmocklisp_arguments'.
12665 Remove prototype of syms_of_mocklisp.
12666
12667 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
12668
12669 * callint.c: Do not include mocklisp.h.
12670 (Fcall_interactively): Do not test for mocklisp case.
12671
12672 * eval.c: Remove variables `Qmocklisp_arguments',
12673 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
12674 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
12675 Do not test for mocklisp case.
12676 (Fwhile): Remove unused variable `tem'.
12677 (syms_of_eval): Remove variable `moclisp-arguments'.
12678
12679 * data.c (wrong_type_argument): Remove mocklisp case.
12680
12681 * doc.c (Fdocumentation): Remove mocklisp case.
12682
12683 * emacs.c (main): Do not call syms_of_mocklisp.
12684
12685 2001-12-21 Richard M. Stallman <rms@gnu.org>
12686
12687 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
12688 to the left or to the right of the pointer, put it against
12689 the left screen edge.
12690
12691 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
12692
12693 * Makefile.in (distclean): Remove .gdbinit if we are building
12694 outside the source tree.
12695
12696 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
12697
12698 * w32.c (emacs_root_dir): New function.
12699
12700 * msdos.c (emacs_root_dir): New function.
12701
12702 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
12703 of the current drive as the fallback for default_directory.
12704
12705 * dired.c (file_name_completion): Run the elements of
12706 completion-ignored-extensions through ENCODE_FILE.
12707
12708 * lisp.h (scmp): Remove prototype, since it's now a static
12709 function private to dired.c.
12710
12711 2001-12-18 Richard M. Stallman <rms@gnu.org>
12712
12713 * dired.c (scmp): Function moved from minibuf.c.
12714 Delete multibyte handling--used only on encoded strings.
12715
12716 * minibuf.c (scmp): Function moved to dired.c.
12717
12718 * fns.c (merge): Add QUIT call.
12719
12720 2001-12-18 Dave Love <fx@gnu.org>
12721
12722 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
12723 language/georgian.el.
12724
12725 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
12726
12727 * Makefile.in (lisp, shortlisp): Synchronize with changes to
12728 lisp/Makefile.in:DONTCOMPILE.
12729
12730 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12731
12732 * xdisp.c (window_box_height): Do not return negative values.
12733 From Gerd Moellmann <gerd@gnu.org>.
12734
12735 * keyboard.c (head_table): Add missing braces around initializer.
12736
12737 * term.c (keys): Likewise.
12738
12739 * xfns.c (x_frame_parms, visual_classes): Likewise.
12740
12741 2001-12-17 Sam Steingold <sds@gnu.org>
12742
12743 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
12744 patch (COMPOSING_P, not COMPOSING).
12745
12746 2001-12-17 Richard M. Stallman <rms@gnu.org>
12747
12748 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
12749
12750 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
12751 before calling decode_coding.
12752
12753 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
12754
12755 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
12756 instead of only for COMPOSITION_DISABLED.
12757
12758 2001-12-16 Richard M. Stallman <rms@gnu.org>
12759
12760 * alloc.c (pure_alloc): After overflow, allocate just a small block.
12761
12762 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
12763
12764 * buffer.h (struct buffer): New field `display_error_modiff'.
12765 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
12766
12767 * window.c (Frecenter): Clear display_error_modiff field.
12768
12769 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
12770 Call redisplay_window, but not if display_error_modiff field says no.
12771 (redisplay_window_error): New function.
12772 (displayed_buffer): New variable.
12773 (redisplay_internal, redisplay_windows): Call the new functions
12774 instead of redisplay_window directly.
12775
12776 2001-12-15 Richard M. Stallman <rms@gnu.org>
12777
12778 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
12779
12780 2001-12-14 Andrew Innes <andrewi@gnu.org>
12781
12782 * makefile.w32-in (EMACSLOADPATH): Define.
12783 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
12784 (bootstrap-temacs): Remove dependency on bootstrap-clean.
12785
12786 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
12787
12788 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
12789 parameter have a numeric value all the time.
12790
12791 * w32fns.c (x_report_frame_params): Likewise.
12792
12793 2001-12-12 Richard M. Stallman <rms@gnu.org>
12794
12795 * fileio.c (Fwrite_region): Doc fix.
12796
12797 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
12798 (redisplay_internal): Call clear_image_cache only for window terminals.
12799
12800 2001-12-12 Gerd Moellmann <gerd@gnu.org>
12801
12802 * xdisp.c (move_it_vertically_backward): Change heuristic
12803 for the case that we didn't move far enough initially.
12804
12805 * window.c (Frecenter): Simplify computation in the case of window
12806 system frames and ARG < 0; use window_box_height.
12807
12808 2001-12-11 Richard M. Stallman <rms@gnu.org>
12809
12810 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
12811 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
12812
12813 2001-12-11 Andrew Innes <andrewi@gnu.org>
12814
12815 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
12816 arg is negative.
12817
12818 2001-12-11 Richard M. Stallman <rms@gnu.org>
12819
12820 * m/hp800.h: Split the __hpux conditional into the parts
12821 that are right for GNU/Linux too and the parts that are not.
12822 Use the former if GNU_LINUX.
12823 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
12824
12825 * s/gnu-linux.h (GNU_LINUX): Defined.
12826
12827 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12828
12829 * macros.c, msdos.c, w16select.c: Change doc-string comments to
12830 `new style' [w/`doc:' keyword].
12831
12832 2001-12-10 Jason Rumney <jasonr@gnu.org>
12833
12834 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
12835 before using.
12836
12837 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12838
12839 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
12840 keyword].
12841
12842 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
12843
12844 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
12845
12846 * s/hpux10.h (srand48): Don't undefine.
12847
12848 2001-12-09 Jason Rumney <jasonr@gnu.org>
12849
12850 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
12851 Add comment to explain where the struct came from.
12852 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
12853 (add_menu_item): Process pop-up menus first to avoid memory leak.
12854 (add_menu_item, w32_menu_display_help): Use `help' field as
12855 Lisp_Object.
12856 (w32_free_submenu_strings): Only free owner-drawn strings.
12857
12858 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12859
12860 * COPYING: Moved back.
12861
12862 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
12863 Add parentheses around && within ||.
12864
12865 * indent.c (compute_motion): Likewise.
12866
12867 * intervals.c (merge_properties_sticky): Likewise.
12868
12869 * coding.c (setup_coding_system, shrink_encoding_region)
12870 (Fdecode_sjis_char): Likewise.
12871
12872 2001-12-07 Andreas Schwab <schwab@suse.de>
12873
12874 * xdisp.c (display_mode_element): Don't read past end of string if
12875 it ends with '%'.
12876
12877 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
12878 can hold.
12879
12880 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
12881 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
12882 type changed to Lisp_Object.
12883 (syms_of_data): DEFVAR_LISP them.
12884
12885 2001-12-07 Richard M. Stallman <rms@gnu.org>
12886
12887 * callproc.c (init_callproc): Set Vdata_directory based on the source
12888 location whenever Emacs was run uninstalled.
12889
12890 2001-12-06 Paul Eggert <eggert@twinsun.com>
12891
12892 * config.in (HAVE_WORKING_VFORK): New #undefs.
12893 * process.c (create_process):
12894 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
12895 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
12896 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
12897 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
12898 * m/intel386.h (HAVE_VFORK): Likewise.
12899 * m/mips-siemens.h (HAVE_VFORK): Likewise.
12900 * m/mips.h (HAVE_VFORK): Likewise.
12901 * s/freebsd.h (vfork): Remove #define.
12902 * s/lynxos.h (HAVE_VFORK): Remove #undef.
12903 * s/usg5-4-2.h: Fix comment about vfork.
12904
12905 2001-12-06 Richard M. Stallman <rms@gnu.org>
12906
12907 * s/hpux10.h (random): Add undef.
12908 (HAVE_RANDOM): Define it just once.
12909
12910 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
12911
12912 * eval.c: Undo last change: the standard syntax is not wanted.
12913
12914 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
12915
12916 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
12917 scroll bars of the frame before deleting the frame itself. If the
12918 frame has a widget, delete the frame with XtDestroyWidget, and do
12919 not call XDestroyWindow before that.
12920
12921 2001-12-06 Kim F. Storm <storm@cua.dk>
12922
12923 * xfns.c (x_report_frame_params): Return actual fringe widths.
12924
12925 * w32fns.c (x_report_frame_params): Return actual fringe widths.
12926
12927 2001-12-05 Andrew Innes <andrewi@gnu.org>
12928
12929 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
12930 excessively large.
12931
12932 * insdel.c (make_gap_larger): New function.
12933 (make_gap_smaller): New function.
12934 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
12935 Call make_gap_smaller if arg is negative.
12936
12937 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
12938
12939 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
12940 Pass a dummy argument when calling interrupt_signal.
12941 (parse_menu_item): Mark disabled items before checking for empty def.
12942 (read_char_minibuf_menu_prompt): Make safety more visible.
12943 (read_key_sequence): Add a `first_unbound' variable.
12944 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
12945 unbound prefix as soon as we can detect it.
12946
12947 * doc.c (Fsnarf_documentation): Add prototype.
12948 (get_doc_string): Handle negative arguments.
12949 (Fdocumentation): Use AREF and ASIZE.
12950 Move the calls to get_doc_string to a single place.
12951 Don't confuse an interactive-spec for a docstring reference.
12952 (Fdocumentation_property): Take advantage of the fact that
12953 get_doc_string now ignores the sign of the docstring position.
12954
12955 * eval.c: Use standard syntax for usage in docstrings.
12956
12957 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12958
12959 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
12960
12961 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12962
12963 * xterm.c (x_draw_image_relief): Use predefined macro instead of
12964 constant when the value of `tool_bar_button_relief' is negative.
12965
12966 2001-12-02 Richard M. Stallman <rms@gnu.org>
12967
12968 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
12969 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
12970
12971 * fileio.c (read_non_regular): Delete Fsignal call.
12972
12973 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
12974
12975 * lisp.h (run_hook_list_with_args): Undo last change.
12976
12977 2001-12-01 Gerd Moellmann <gerd@gnu.org>
12978
12979 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
12980
12981 2001-12-01 Jason Rumney <jasonr@gnu.org>
12982
12983 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
12984
12985 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
12986 [!WM_MOUSELEAVE]: Define.
12987
12988 * w32menu.c (current_popup_menu, get_menu_item_info):
12989 (set_menu_item_info): New vars.
12990 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
12991 (w32_menu_show): Set current_popup_menu.
12992 (add_menu_item): Allocate new strings for owner-drawn menu items
12993 and help strings.
12994 Use owner-draw for disabled menu items again.
12995 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
12996 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
12997
12998 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
12999 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
13000 <WM_EXITMENULOOP>: Free menu strings.
13001 <WM_MOUSELEAVE>: Stop tracking mouse.
13002 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
13003
13004 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
13005 and mouse face.
13006
13007 2001-12-01 Kim F. Storm <storm@cua.dk>
13008
13009 The following changes add left-fringe and right-fringe
13010 frame parameters to adjust fringe widths, or remove one or
13011 both fringes.
13012
13013 * frame.h (struct frame): Remove trunc_area_pixel_width and
13014 trunc_area_cols fields.
13015 (Qleft_fringe, Qright_fringe): Declare.
13016 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
13017
13018 * frame.c (Qleft_fringe, Qright_fringe): New vars.
13019 (syms_of_frame): Initialize them.
13020
13021 * window.c (coordinates_in_window): Handle separate left and right
13022 fringe widths.
13023
13024 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
13025 and fringe_cols fields.
13026 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
13027 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
13028 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
13029 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
13030 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
13031 (x_compute_fringe_widths): Add prototype.
13032
13033 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
13034 fill fringe evenly with small dashes.
13035 (x_draw_fringe_bitmap): Clear background if necessary. Align and
13036 clip the new ZV bitmap to avoid jitter between rows.
13037 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
13038 background. Don't draw fringe bitmaps if fringe width is zero.
13039 (x_compute_fringe_widths): New function.
13040 (x_new_font, x_set_window_size_1): Use it.
13041
13042 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
13043 (x_set_frame_parameters): Process `font' parameter before other
13044 parameters as fringe widths depend on it.
13045 (x_set_fringe_width): New function.
13046 (x_figure_window_size): Use x_compute_fringe_widths.
13047 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
13048 parameters.
13049
13050 * widget.c (set_frame_size): Use x_compute_fringe_widths.
13051 (EmacsFrameSetCharSize): Ditto.
13052
13053 * w32term.h: Merged changes from xterm.h.
13054 * w32term.c: Merged changes from xterm.c.
13055 * w32fns.c: Merged changes from xfns.c.
13056
13057 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13058
13059 * COPYING: Removed.
13060
13061 2001-11-29 Dave Love <fx@gnu.org>
13062
13063 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
13064 extra extra slot.
13065 (detect_coding_mask): Fix call of detect_coding_iso2022.
13066
13067 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13068
13069 * fileio.c (file-name-coding-system)
13070 (default-file-name-coding-system): Doc fix (links to referenced
13071 variables added).
13072
13073 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
13074
13075 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
13076 Add dummy uses of gcproN variables.
13077
13078 * category.c (describe_category, describe_category_1)
13079 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
13080 (syms_of_category): Don't defsubr Sdescribe_categories.
13081
13082 2001-11-28 Richard M. Stallman <rms@gnu.org>
13083
13084 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
13085
13086 * Makefile.in (lispdir): New variable, referring to build dir.
13087 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
13088
13089 2001-11-28 Andrew Innes <andrewi@gnu.org>
13090
13091 * w32menu.c (w32_menu_display_help): Actually add the new argument
13092 OWNER.
13093
13094 2001-11-28 Jason Rumney <jasonr@gnu.org>
13095
13096 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
13097 menu items. From David Ponce <dponce@wanadoo.fr>.
13098 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
13099 conditionally.
13100 (w32_menu_display_help): New argument OWNER. Rewritten to store a
13101 help event in the owner frame's keyboard buffer.
13102
13103 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
13104 (Fx_show_tip): Don't subtract last width from row width.
13105
13106 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
13107 (w32_read_socket): Use EQ to compare frames.
13108
13109 2001-11-28 Gerd Moellmann <gerd@gnu.org>
13110
13111 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
13112 OVERLAPS_P.
13113
13114 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13115
13116 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
13117 `gcpro3' and `gcpro4'.
13118
13119 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
13120
13121 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
13122
13123 * ccl.c: Use AREF and ASIZE.
13124
13125 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
13126
13127 * lisp.h (run_hook_list_with_args): Remove.
13128 (LIST_END_P): Fix call to wrong_type_argument.
13129 (make_fixnum_or_float): Use EMACS_INT rather than int.
13130
13131 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
13132
13133 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
13134 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
13135
13136 * eval.c: Use AREF and ASIZE.
13137 (Ffetch_bytecode): Add the file name to the error message.
13138
13139 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
13140 which match the end of the file-name.
13141 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
13142 is not a valid env var, but leave it as is instead.
13143
13144 * keymap.c (access_keymap): Handle t bindings like nil bindings.
13145 Make nil bindings in char-tables transparent.
13146 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
13147
13148 2001-11-26 Richard M. Stallman <rms@gnu.org>
13149
13150 * textprop.c (set_text_properties_1): Allow START, END in either order.
13151 Do nothing if range is empty.
13152
13153 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
13154
13155 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
13156 (clean): Not here.
13157
13158 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
13159
13160 * textprop.c (set_text_properties_1): Clearly mark that the
13161 interval should not be empty.
13162
13163 * intervals.c (graft_intervals_into_buffer):
13164 Don't call set_text_properties_1 on an empty interval.
13165
13166 2001-11-25 Richard M. Stallman <rms@gnu.org>
13167
13168 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
13169
13170 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
13171 don't lose the data in it.
13172
13173 2001-11-25 Juanma Barranquero <lektu@terra.es>
13174
13175 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
13176
13177 * buffer.c (Fkill_buffer): Likewise.
13178
13179 * print.c (temp_output_buffer_setup): Likewise.
13180
13181 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
13182
13183 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
13184
13185 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
13186
13187 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
13188 Niemitalo <kon@iki.fi>.
13189
13190 2001-11-25 Jason Rumney <jasonr@gnu.org>
13191
13192 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
13193
13194 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
13195 (Fx_show_tip): Block input during frame creation.
13196 (Fx_show_tip, Fx_hide_tip): Enable.
13197
13198 2001-11-24 Richard M. Stallman <rms@gnu.org>
13199
13200 * lread.c (Fload): Detect recursive load error for more than 3
13201 nestings of the same file.
13202 (Vrecursive_load_depth_limit): Variable deleted.
13203 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
13204
13205 2001-11-24 Jason Rumney <jasonr@gnu.org>
13206
13207 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
13208 mouse position if either left or top is not specified.
13209
13210 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
13211 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
13212 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
13213 (my_create_tip_window): Assign tip_window.
13214 (x_create_tip_frame): Use same defaults as X.
13215 (compute_tip_xy): Remove unused variable. Use full screen width.
13216 (Fx_show_tip): Do not double height. Call ShowWindow directly.
13217
13218 * w32term.c (x_after_update_window_line): Doc fix.
13219 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
13220 frames.
13221 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
13222
13223 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
13224 for all Windowed systems.
13225
13226 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
13227
13228 * msdos.c (IT_clear_screen): If the frame's faces are not yet
13229 realized, use the initial screen colors to clear the screen.
13230
13231 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13232
13233 * textprop.c (Fset_text_properties): Remove unused variables
13234 `unchanged', `prev_changed', `s' and `len'.
13235
13236 * search.c (Freplace_match): Remove unused variable `inslen'.
13237
13238 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
13239
13240 2001-11-22 Jason Rumney <jasonr@gnu.org>
13241
13242 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
13243 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
13244 (my_create_tip_window): New function.
13245 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
13246 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
13247
13248 2001-11-20 Jason Rumney <jasonr@gnu.org>
13249
13250 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
13251 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
13252
13253 * w32fns.c (Vw32_system_coding_system): Remove.
13254 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
13255
13256 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
13257
13258 * fileio.c (Fwrite_region): Move choose_write_coding_system to
13259 after build_annotations.
13260
13261 * syntax.c (describe_syntax): Add dummy arg.
13262 (describe_syntax_1): Update call to describe_vector.
13263
13264 * category.c (describe_category): Add dummy arg.
13265 (describe_category_1): Update call to describe_vector.
13266
13267 * keymap.c (Fdescribe_vector): Add `describer' parameter.
13268 (describe_command, describe_translation): Add dummy second param.
13269 (describe_map): Call elt_describer with two arguments.
13270 (describe_vector_princ): Add `fun' parameter.
13271 Call it instead of the hardcoded `princ'.
13272 (describe_vector): Add arg `args'.
13273 Pass it as a new second argument to elt_describer.
13274
13275 * keymap.h (describe_vector): Update prototype.
13276
13277 * frame.c: Don't include keymap.h any more.
13278 (keys_of_frame): Remove.
13279
13280 * lisp.h (keys_of_frame): Remove declaration.
13281
13282 * emacs.c (main): Don't call `keys_of_frame' any more.
13283
13284 2001-11-14 Andreas Schwab <schwab@suse.de>
13285
13286 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
13287 if defined, 0 otherwise.
13288 (MAP_FAILED): Define if not defined and use it to test mmap failure.
13289 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
13290
13291 2001-11-19 Richard M. Stallman <rms@gnu.org>
13292
13293 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
13294
13295 2001-11-18 Jason Rumney <jasonr@gnu.org>
13296
13297 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
13298 (x_draw_bar_cursor): If the background color of the glyph under
13299 the cursor equals the frame's cursor color, use the glyph's
13300 foreground color for drawing the bar cursor.
13301 (x_after_update_window_line): Clear internal border in different
13302 circumstances.
13303 (w32_set_vertical_scroll_bar): Check for width and height > 0.
13304 (w32_draw_relief_rect): Correct relief by 1 pixel.
13305 (x_set_glyph_string_background_width):
13306 Set extends_to_end_of_line_p if the row's fill_line_p is set and
13307 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
13308 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
13309 if cursor_in_non_selected_windows is false.
13310 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
13311 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
13312 Notice if cursor gets overwritten.
13313 (notice_overwritten_cursor): Renamed from
13314 note_overwritten_text_cursor. Rewritten to take glyph widths
13315 into account, and to take X positions as parameters.
13316 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
13317 around call to x_draw_glyphs.
13318 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
13319 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
13320 color to use for image glyph reliefs.
13321 (x_draw_image_relief): Accept zero tool_bar_button_relief.
13322 (glyph_rect): Remove unused variable `area'.
13323
13324 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
13325 some items.
13326 (x_set_internal_border_width): Set frame garbaged when window
13327 doesn't exist yet.
13328 (Fx_create_frame): Accept zero tool_bar_button_relief.
13329 (x_clear_image_1, four_corners_best, image_background)
13330 (image_background_transparent): New functions.
13331 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
13332 (gs_format): Add `:background' entry.
13333 (lookup_image): Set IMG's background color if specified.
13334 (pbm_load, xbm_load_image, png_load): Set IMG's background field
13335 when appropriate.
13336 (x_clear_image_1): Reset `background_valid' and
13337 `background_transparent_valid' fields.
13338 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
13339 calculating it here. Set IMG's background_transparent field.
13340 (enum xpm_keyword_index): Add XPM_BACKGROUND.
13341 (enum png_keyword_index): Add PNG_BACKGROUND.
13342 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
13343 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
13344 (enum gif_keyword_index): Add GIF_BACKGROUND.
13345 (enum gs_keyword_index): Add GS_BACKGROUND.
13346 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
13347 Pre-calculate image background color where necessary.
13348 (x_create_x_image_and_pixmap, xbm_load, gs_load):
13349 Use display info's n_cbits entry for screen depth.
13350 (Fx_show_tip): Remove unused variables `buffer', `top',
13351 `left', `max_width' and `max_height'.
13352
13353 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
13354
13355 2001-11-18 Gerd Moellmann <gerd@gnu.org>
13356
13357 * puresize.h (BASE_PURESIZE): Increase to 750000.
13358
13359 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13360
13361 * frame.c (Fframe_live_p): Doc fix.
13362
13363 2001-11-18 Richard M. Stallman <rms@gnu.org>
13364
13365 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
13366 (message_dolog_marker3): New static variables hold three markers.
13367 (syms_of_xdisp): Initialize and staticpro them.
13368 (message_dolog): Use message_dolog_marker1..3 instead of
13369 allocating markers each time. Unchain them when done.
13370
13371 2001-11-17 Richard M. Stallman <rms@gnu.org>
13372
13373 * doc.c (Fsnarf_documentation): Doc fix.
13374
13375 2001-11-17 Andreas Schwab <schwab@suse.de>
13376
13377 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
13378
13379 2001-11-17 Richard M. Stallman <rms@gnu.org>
13380
13381 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
13382
13383 2001-11-17 Jason Rumney <jasonr@gnu.org>
13384
13385 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
13386
13387 2001-11-17 Gerd Moellmann <gerd@gnu.org>
13388
13389 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
13390 with invalid position.
13391
13392 2001-11-16 Richard M. Stallman <rms@gnu.org>
13393
13394 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
13395
13396 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
13397 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
13398 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
13399
13400 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
13401
13402 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
13403
13404 * fileio.c (build_annotations): Split off the tail.
13405 (build_annotations_2): New fun. Extracted from build_annotations.
13406 (Fwrite_region): Split the call to build_annotations into two
13407 calls to build_annotations and build_annotations_2.
13408
13409 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13410
13411 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
13412 clear_waiting_for_input with argument.
13413
13414 * xterm.h (x_update_cursor): Remove duplicated prototype.
13415
13416 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
13417
13418 * xterm.c (waiting_for_input): Remove unnecessary declaration.
13419
13420 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
13421
13422 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
13423
13424 * fileio.c (choose_write_coding_system): New fun, extracted
13425 from Fwrite_region.
13426 (Fwrite_region): Use it.
13427
13428 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
13429 (funcall_lambda, run_hook_with_args): Make static and add prototype.
13430 (ml_apply, find_handler_clause): Add prototype.
13431
13432 2001-11-16 Eli Zaretskii <eliz@gnu.org>
13433
13434 * config.in: Add #undef HAVE_COFF_H.
13435
13436 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
13437 Required for ISC 4.1.
13438
13439 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
13440
13441 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
13442 Andrew Wiseman <a.wiseman@btclick.com>.
13443
13444 2001-11-16 Kim F. Storm <storm@cua.dk>
13445
13446 The following changes are made to clean up the various internal
13447 references to the fringes to actually use the term `fringe' for
13448 them. Previously, they were called `flags areas', `bitmap areas',
13449 `left/right side of windows', or implicitly as `flags' or
13450 `bitmaps':
13451
13452 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
13453 Comments fixed. Use renamed symbols.
13454
13455 * dispnew.c: Comment fix. Use renamed symbols.
13456
13457 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
13458 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
13459 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
13460
13461 * msdos.c: Comment fix.
13462
13463 * w32fns.c: Use renamed symbols.
13464
13465 * w32term.c: Comment fixes. Use renamed symbols.
13466 (fringe_bitmap_type): Renamed from bitmap_type.
13467 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
13468 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
13469 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
13470
13471 * w32term.h: Comment fixes. Use renamed symbols.
13472 (fringes_extra): Renamed from flags_areas_extra.
13473 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
13474 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
13475 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
13476 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
13477 (FRAME_X_LEFT_FRINGE_WIDTH):
13478 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
13479 (FRAME_X_RIGHT_FRINGE_WIDTH):
13480 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
13481
13482 * widget.c: Use renamed symbols.
13483
13484 * window.c: Comment fixes. Use renamed symbols.
13485 (coordinates-in-window-p): Doc fix.
13486
13487 * xdisp.c: Comment fixes. Use renamed symbols.
13488
13489 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
13490
13491 * xfns.c: Use renamed symbols.
13492
13493 * xterm.c: Comment fixes. Use renamed symbols.
13494 (fringe_bitmap_type): Renamed from bitmap_type.
13495 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
13496 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
13497 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
13498
13499 * xterm.h: Comment fixes. Use renamed symbols.
13500 (fringes_extra): Renamed from flags_areas_extra.
13501 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
13502 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
13503 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
13504 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
13505 (FRAME_X_LEFT_FRINGE_WIDTH):
13506 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
13507 (FRAME_X_RIGHT_FRINGE_WIDTH):
13508 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
13509
13510 2001-11-15 Jason Rumney <jasonr@gnu.org>
13511
13512 * w32menu.c (add-menu-item): Make help_echo and radio buttons
13513 work for most menu items. From David Ponce
13514 <david.ponce@wanadoo.fr>.
13515
13516 2001-11-15 Gerd Moellmann <gerd@gnu.org>
13517
13518 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
13519 Some x_set_* function expect to be called even if old and new
13520 value are equal.
13521
13522 * xdisp.c (build_desired_tool_bar_string): Accept zero
13523 tool_bar_button_relief.
13524
13525 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
13526
13527 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
13528
13529 * xterm.c (x_draw_bar_cursor): If the background color of the
13530 glyph under the cursor equals the frame's cursor color, use
13531 the glyph's foreground color for drawing the bar cursor.
13532
13533 * dispnew.c (direct_output_forward_char): Fix character/byte
13534 position comparison.
13535
13536 2001-11-15 Miles Bader <miles@gnu.org>
13537
13538 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
13539 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
13540 Update arguments to find_field.
13541 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
13542 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
13543 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
13544 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
13545
13546 2001-11-14 Richard M. Stallman <rms@gnu.org>
13547
13548 * editfns.c (Fpropertize): Allow call with 1 arg.
13549
13550 * dispextern.h (image_background, image_background_transparent):
13551 Conditionalize on HAVE_X_WINDOWS.
13552
13553 2001-11-13 Richard M. Stallman <rms@gnu.org>
13554
13555 * print.c (Fprin1_to_string): Doc fix.
13556
13557 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
13558
13559 * floatfns.c (Fceiling, Ffloor): Doc fixes.
13560
13561 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
13562
13563 * fileio.c (Ffile_accessible_directory_p): Doc fix.
13564
13565 * eval.c (syms_of_eval): Doc fix.
13566
13567 * coding.c (syms_of_coding): Doc fix.
13568
13569 * doc.c (Fsnarf_documentation): Doc fix.
13570
13571 * dispnew.c (syms_of_display): Doc fix.
13572
13573 * category.c (Fget_unused_category): Doc fix.
13574
13575 * buffer.c (syms_of_buffer): Doc fixes.
13576
13577 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
13578
13579 * print.c (prin1, print): Doc fix.
13580
13581 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13582
13583 * fontset.h: Remove declarations of variables
13584 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
13585
13586 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
13587 `Vclip_large_size_font'.
13588
13589 2001-11-13 Jason Rumney <jasonr@gnu.org>
13590
13591 * w32fns.c: Doc fix.
13592
13593 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13594
13595 * xfaces.c (Fface_attributes_as_vector): Doc fix.
13596
13597 * fns.c: Doc fix.
13598
13599 * emacs.c: Doc fix.
13600
13601 * coding.c: Doc fix.
13602
13603 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
13604 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
13605 `new style' [w/`doc:' keyword].
13606
13607 2001-11-12 Richard M. Stallman <rms@gnu.org>
13608
13609 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
13610 LeaveNotify events. Only FocusIn and FocusOut do that now.
13611 (x_display_and_set_cursor): Do display hollow cursors in active
13612 minibuffer windows when they are not selected.
13613
13614 2001-11-12 Jason Rumney <jasonr@gnu.org>
13615
13616 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
13617 * w32term.c: Change doc-string comments to `new style'
13618 [w/`doc:' keyword]. Doc fixes.
13619
13620 * w32fns.c: Don't define max.
13621 (Fx_open_connection): Only execute once.
13622
13623 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13624
13625 * ccl.c: Change macros to use do-while block instead of if-else.
13626 Use braces to follow GNU Coding Standards.
13627
13628 2001-11-11 Richard M. Stallman <rms@gnu.org>
13629
13630 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
13631
13632 * lread.c (read_escape): Use end_of_file_error for reporting eof.
13633
13634 * insdel.c (replace_range): Use adjust_markers_for_replace
13635 instead of adjust_markers_for_delete and adjust_markers_for_insert.
13636
13637 * intervals.h: Declare set_text_properties and set_text_properties_1.
13638
13639 * textprop.c (set_text_properties_1): New subroutine
13640 broken out of set_text_properties.
13641 (set_text_properties): Use set_text_properties_1.
13642
13643 * intervals.c (graft_intervals_into_buffer):
13644 Use set_text_properties_1 to clear out properties.
13645
13646 * search.c (Freplace_match): Use replace_range to insert
13647 and delete. Don't request property inheritance from
13648 surrounding text.
13649
13650 2001-11-10 Jason Rumney <jasonr@gnu.org>
13651
13652 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
13653 vertical fonts. Allow them if face name is explicitly specified.
13654 Do not give up if we find a font that cannot be converted to an xlfd.
13655
13656 2001-11-10 Gerd Moellmann <gerd@gnu.org>
13657
13658 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
13659 instead of malloc/free.
13660
13661 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13662
13663 * xfaces.c (merge_face_vectors): Use braces to follow GNU
13664 Coding Standards.
13665 (Finternal_set_lisp_face_attribute): Likewise.
13666
13667 * buffer.c (Fbury_buffer): Likewise.
13668
13669 * indent.c (current_column_1): Remove unused variable `prev_col'.
13670
13671 * coding.c (encode_coding): Use precomputed value of `src'.
13672 (encode_coding): Remove unused variable `src_end'.
13673 (code_convert_region): Remove unused variables `count'.
13674
13675 2001-11-07 Jason Rumney <jasonr@gnu.org>
13676
13677 * w32term.c (x_display_and_set_cursor): Do not move system caret
13678 if cursor_glyph is NULL.
13679
13680 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13681
13682 * keymap.c (access_keymap): Fix compilation error.
13683
13684 2001-11-07 Miles Bader <miles@gnu.org>
13685
13686 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
13687
13688 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13689
13690 * intervals.c (graft_intervals_into_buffer):
13691 Remove #ifdef'd-out code.
13692 (graft_intervals_into_buffer): Remove unused variable `middle'.
13693
13694 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
13695 code (eval-current-buffer).
13696 Change doc-string comments to `new style' [w/`doc:' keyword].
13697
13698 2001-11-06 Richard M. Stallman <rms@gnu.org>
13699
13700 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
13701
13702 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
13703
13704 * lread.c (read1): Fix behavior with nested backquoting.
13705
13706 * keyboard.c (make_lispy_event): Check integerness and fix
13707 Lisp_Object/int mixup.
13708
13709 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13710
13711 * fns.c (copy_hash_table): Remove unused variable `v'.
13712
13713 * fontset.c (fontset_font_pattern): Remove unused variable
13714 `family_registry'.
13715
13716 * indent.c (current_column_1): Remove unused variable `prev_col'.
13717
13718 2001-11-05 Richard M. Stallman <rms@gnu.org>
13719
13720 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
13721
13722 * buffer.c (Fkill_buffer): Don't delete auto save file
13723 if buffer is modified.
13724
13725 2001-11-05 Andrew Innes <andrewi@gnu.org>
13726
13727 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
13728 CHECK_NUMBER_CDR.
13729
13730 2001-11-05 Richard M. Stallman <rms@gnu.org>
13731
13732 * unexelf.c (unexec): Minor changes; clean up comments.
13733
13734 2001-11-05 Sam Steingold <sds@gnu.org>
13735
13736 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
13737
13738 2001-11-05 Andreas Schwab <schwab@suse.de>
13739
13740 * sound.c (sound_perror): Save errno from being clobbered.
13741
13742 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
13743
13744 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
13745 the program image directly.
13746
13747 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13748
13749 * buffer.h (Fbuffer_local_value): Add prototype.
13750
13751 2001-11-04 Richard M. Stallman <rms@gnu.org>
13752
13753 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
13754 and CHECK_BUFFER.
13755
13756 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
13757 (record_char): Likewise.
13758
13759 * keyboard.c (make_lispy_event): Don't insist a drag event must
13760 move to a different buffer position. Instead, check for moving at
13761 least double_click_fuzz.
13762
13763 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
13764
13765 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
13766
13767 * indent.c (current_column_1, Fmove_to_column): Separate the code
13768 for display-table glyphs from the code for buffer text, to fix
13769 bugs in the former.
13770
13771 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
13772
13773 * buffer.c (Fbuffer_local_value): New function.
13774 (syms_of_buffer): Defsubr it.
13775
13776 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
13777 value of `cursor-in-non-selected-windows'.
13778
13779 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
13780 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
13781 (syms_of_xdisp): Initialize it.
13782
13783 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13784
13785 * xfns.c (Fx_create_frame): Doc fix.
13786
13787 * coding.c: Change doc-string comments to `new style' [w/`doc:'
13788 keyword].
13789
13790 * eval.c (top_level_value, top_level_set): Remove commented and
13791 #ifdef'd-out code.
13792 (Fdefvar): Fix usage in doc-string.
13793
13794 2001-11-03 Richard M. Stallman <rms@gnu.org>
13795
13796 * xfns.c: Include unistd.h, if it exists.
13797
13798 * editfns.c: Move the include of ctype.h after unistd.h.
13799
13800 * gmalloc.c: Test BROKEN_PROTOTYPES.
13801
13802 2001-11-03 Ken Raeburn <raeburn@gnu.org>
13803
13804 * lisp.h (CHECK_STRING_CAR): New macro.
13805 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
13806 treating XCAR and XCDR as lvalues.
13807 (openp): Use CHECK_STRING_CAR.
13808 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
13809
13810 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
13811
13812 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13813 (SIGMASKTYPE): Define.
13814
13815 * syssignal.h (sigunblock): Don't define if already defined.
13816
13817 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13818
13819 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
13820 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
13821 Fix typos in comments.
13822
13823 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
13824 and #ifdef'd-out code.
13825 Fix and reindent comments.
13826
13827 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
13828
13829 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
13830 argument `i' in macros.
13831
13832 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
13833 `i' in macros.
13834
13835 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
13836 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
13837 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
13838 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
13839 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
13840 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
13841 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
13842 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
13843 in macros.
13844
13845 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
13846 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
13847 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
13848 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
13849 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
13850 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
13851 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
13852 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
13853 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
13854 (remove unused second argument).
13855
13856 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
13857
13858 * syntax.c (describe_syntax): New wrapper.
13859 (Finternal_describe_syntax_value): Rename from describe_syntax.
13860 Don't insert space at front and \n at the end.
13861 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
13862
13863 * regex.c (re_wctype): Try to fix some warnings.
13864 (regcomp, regexec): Don't forget the __restrict.
13865
13866 2001-11-02 Richard M. Stallman <rms@gnu.org>
13867
13868 * textprop.c (Fget_char_property): Doc fix.
13869
13870 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13871
13872 * process.c (Fstart_process): Add usage to doc-string.
13873
13874 * data.c (Fsetq_default): Ditto.
13875
13876 * callint.c (Finteractive): Ditto.
13877
13878 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
13879
13880 * macros.c: Don't include keymap.h any more.
13881
13882 2001-11-01 Richard M. Stallman <rms@gnu.org>
13883
13884 * data.c (Fmake_local_variable): Doc fix.
13885
13886 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
13887 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
13888
13889 * keymap.c (Fdescribe_buffer_bindings): Print character property
13890 bindings along with or instead of the buffer local map.
13891 Make the overriding maps override what they should.
13892
13893 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13894
13895 * window.c (grow_mini_window): Fix typo in comment.
13896
13897 2001-11-01 Gerd Moellmann <gerd@gnu.org>
13898
13899 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
13900 (XTset_vertical_scroll_bar): Likewise.
13901
13902 * xfns.c (x_build_heuristic_mask): Use four_corners_best
13903 instead of IMAGE_BACKGROUND.
13904
13905 * xfns.c (four_corners_best): Reindent.
13906
13907 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
13908 Handle :box so that it is possible to specify sexprs.
13909
13910 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
13911
13912 * s/hpux11.h: New file.
13913
13914 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13915
13916 * emacs.c (USAGE1): Show command line option --no-window-system
13917 instead of --no-windows in usage.
13918 (standard_args): Rename --no-windows to --no-window-system.
13919 (bug_reporting_address): Follow Emacs coding conventions.
13920
13921 * eval.c (Fcommandp): Doc fix.
13922 Change doc-string comments to `new style' [w/`doc:' keyword].
13923
13924 * frame.c (Fframe_live_p): Doc fix.
13925
13926 * buffer.c (selective-display-ellipses): Doc fix.
13927
13928 2001-10-31 Gerd Moellmann <gerd@gnu.org>
13929
13930 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
13931
13932 * xfaces.c (realize_x_face): If C is not a single-byte character,
13933 set the face's colors_copied_bitwise_p instead of the defaulted_p
13934 members which have a different meaning.
13935 (free_face_colors): Do nothing for a face whose colors have been
13936 copied bitwise.
13937
13938 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
13939
13940 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13941
13942 * marker.c, mocklisp.c: Change doc-string comments to `new style'
13943 [w/`doc:' keyword].
13944
13945 2001-10-31 Gerd Moellmann <gerd@gnu.org>
13946
13947 * fns.c (require_unwind): Return Lisp_Object.
13948
13949 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13950
13951 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
13952 (last-input-char): Revert doc-string to be the same as the
13953 doc-string of `last-input-event'.
13954
13955 * xdisp.c: Fix typos in comments.
13956
13957 2001-10-31 Gerd Moellmann <gerd@gnu.org>
13958
13959 * window.c (grow_mini_window): Handle case that the root
13960 window is already smaller than the nominal mininum height.
13961
13962 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
13963
13964 * emacs.c (main): Don't call keys_of_macros any more.
13965
13966 * lisp.h (keys_of_macros): Remove.
13967
13968 * macros.c (keys_of_macros): Remove.
13969
13970 * xfaces.c (Fface_attribute_relative_p): Declare args.
13971
13972 2001-10-30 Jason Rumney <jasonr@gnu.org>
13973
13974 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
13975 (enum_font_cb2): Ignore fonts with vertical orientation.
13976
13977 2001-10-30 Richard M. Stallman <rms@gnu.org>
13978
13979 * keyboard.c (Finput_pending_p): Doc fix.
13980
13981 2001-10-30 Gerd Moellmann <gerd@gnu.org>
13982
13983 * xterm.c (x_after_update_window_line): Don't run the code
13984 clearing in borders for rows whose visible height is 0.
13985
13986 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
13987 resized_p flag is set. If not set, use the much less flickering
13988 method previously used.
13989
13990 * dispnew.c (change_frame_size_1): Set frame's resized_p.
13991
13992 * frame.h (struct frame) <resized_p>: New member.
13993
13994 * lread.c (to_multibyte): Ensure read_buffer is at least twice
13995 as large as the number of bytes to convert.
13996
13997 * lread.c (to_multibyte): New function.
13998 (read1): Use it.
13999
14000 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
14001
14002 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
14003
14004 2001-10-30 Gerd Moellmann <gerd@gnu.org>
14005
14006 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
14007 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
14008 if the row's fill_line_p is set and drawing the last glyph with
14009 DRAW_IMAGE_{RAISED,SUNKEN}.
14010
14011 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
14012
14013 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
14014
14015 * xmenu.c: Include coding.h and charset.h.
14016 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
14017 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
14018 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
14019 Explicitly set wv->help. Use `TRUE' rather than `True'.
14020 (menu_help_callback): Use empty_string.
14021
14022 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
14023 (Fx_popup_dialog): Explicitly init f.
14024 (w32_menu_display_help): Use empty_string.
14025
14026 2001-10-29 Richard M. Stallman <rms@gnu.org>
14027
14028 * fns.c (Frequire): Detect recursive try to require the same
14029 feature 3 or more levels deep, and get error.
14030 (require_unwind): New subroutine.
14031 (require_nesting_list): New variable.
14032 (syms_of_fns): Init and staticpro it.
14033
14034 * print.c (print_object): Clarify indication of insertion type.
14035
14036 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
14037
14038 * coding.c (syms_of_coding): Document that locale-coding-system is
14039 used for decoding input on X.
14040
14041 * window.c (Fscroll_left, Fscroll_right): Doc fix.
14042
14043 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14044
14045 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
14046 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
14047
14048 2001-10-29 Gerd Moellmann <gerd@gnu.org>
14049
14050 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
14051 use NO_CURSOR if cursor_in_non_selected_windows is false.
14052
14053 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
14054 the slant attribute if FRAME is t.
14055
14056 * xfns.c (x_set_internal_border_width): Set frame garbaged
14057 when X window doesn't exist yet.
14058
14059 * xterm.c (x_after_update_window_line): Clear internal border
14060 in different circumstances.
14061
14062 * xterm.c (XTread_socket) <KeyPress>: Don't use
14063 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
14064 <handa@etl.go.jp>.
14065
14066 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
14067
14068 * m/ibms390.h: New file. From Adam Thornton
14069 <athornton@sinenomine.net>.
14070
14071 2001-10-28 Gerd Moellmann <gerd@gnu.org>
14072
14073 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
14074
14075 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
14076 a loop counter.
14077
14078 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14079
14080 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
14081
14082 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
14083 keyword].
14084 Fix typos in comments.
14085
14086 * emacs.c (bug_reporting_address): New function.
14087 Use it when displaying usage message.
14088
14089 * minibuf.c (read_minibuf): Remove unused external declaration of
14090 variable `Qread_only'.
14091
14092 * keymap.c (access_keymap): Remove unused variable `charset'.
14093
14094 2001-10-28 Miles Bader <miles@gnu.org>
14095
14096 * xfaces.c (merge_face_heights): Handle TO being relative as well.
14097 Remove #ifdef'd-out code.
14098 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
14099 (syms_of_xfaces): Initialize them.
14100
14101 2001-10-27 Jason Rumney <jasonr@gnu.org>
14102
14103 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
14104 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
14105 position using the system caret.
14106
14107 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
14108 (w32_system_caret_height, w32_system_caret_x)
14109 (w32_system_caret_y): New variables for tracking system caret.
14110 (w32_initialize): Initialize them.
14111 (x_display_and_set_cursor): Make system caret follow the active cursor.
14112
14113 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
14114 New messages types.
14115
14116 * w32term.c (note_mouse_highlight): Clear old help_echo.
14117
14118 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14119
14120 * xterm.c: Fix typo in a comment.
14121
14122 * emacs.c: Fix typos in comments.
14123 Remove unnecessary spaces.
14124 Change doc-string comments to `new style' [w/`doc:' keyword].
14125 (USAGE2): Fix typos in usage string.
14126
14127 * xterm.c: Fix typo in a comment.
14128
14129 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
14130 emacs.c.
14131
14132 2001-10-27 Gerd Moellmann <gerd@gnu.org>
14133
14134 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
14135 instead of 1/2 line_height in the heuristic for skipping
14136 farther backward when target_y was not reached.
14137
14138 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
14139 Display errno only if non-zero.
14140 (sound_warning): New function.
14141 (vox_configure): Don't treat failing to set sample rate as error.
14142 (various places): Improve error messages.
14143
14144 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
14145
14146 * fileio.c (Faccess_file): Run the argument filename through
14147 Fexpand_file_name, before using it.
14148
14149 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
14150 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
14151
14152 2001-10-26 Gerd Moellmann <gerd@gnu.org>
14153
14154 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
14155
14156 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
14157 Fix clearing in the case of scroll bars on the right.
14158
14159 2001-10-26 Juanma Barranquero <lektu@terra.es>
14160
14161 * w32gui.h (XImage): Add a dummy typedef.
14162
14163 2001-10-26 Gerd Moellmann <gerd@gnu.org>
14164
14165 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
14166
14167 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
14168
14169 * frame.c (Fframe_parameter): Fix last change.
14170
14171 * fileio.c: Revert last change (which removed old commented-out
14172 version of expand-file-name). Add a comment that explains why
14173 this old version should not be removed.
14174
14175 2001-10-25 Gerd Moellmann <gerd@gnu.org>
14176
14177 * frame.c (Fframe_parameter): Fix a bug whereby some
14178 ``artificial'' frame parameters, like `minibuffer' were not
14179 obtained by calling Fframe_parameters.
14180
14181 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
14182 cursor differently.
14183
14184 * xdisp.c (move_it_vertically_backward): Compute line height
14185 differently. Add heuristic to try to be more compatible to 20.x.
14186
14187 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
14188
14189 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
14190
14191 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
14192 boolean.
14193
14194 2001-10-25 Miles Bader <miles@gnu.org>
14195
14196 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
14197 BG is a pointer to a structure, not a structure.
14198 (gif_format, png_format): Add missing commas.
14199
14200 2001-10-24 Richard M. Stallman <rms@gnu.org>
14201
14202 * xfaces.c (Fface_attributes_as_vector): New function.
14203 (syms_of_xfaces): Defsubr it.
14204
14205 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14206
14207 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
14208 variable `area'.
14209
14210 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14211
14212 * search.c (scan_newline): Remove unused variable `selective_display'.
14213
14214 2001-10-25 Miles Bader <miles@gnu.org>
14215
14216 * dispextern.h (struct image): Add `background',
14217 `background_valid', and `background_transparent' fields.
14218 (image_background, image_background_transparent): New declarations.
14219 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
14220 * xfns.c (image_background, image_background_transparent)
14221 (four_corners_best): New functions.
14222 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
14223 (gs_format): Add `:background' entry.
14224 (lookup_image): Set IMG's background color if specified.
14225 (pbm_load, xbm_load_image, png_load): Set IMG's background field
14226 when appropriate.
14227 (x_clear_image_1): Reset `background_valid' and
14228 `background_transparent_valid' fields.
14229 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
14230 calculating it here. Set IMG's background_transparent field.
14231 (enum xpm_keyword_index): Add XPM_BACKGROUND.
14232 (enum png_keyword_index): Add PNG_BACKGROUND.
14233 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
14234 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
14235 (enum gif_keyword_index): Add GIF_BACKGROUND.
14236 (enum gs_keyword_index): Add GS_BACKGROUND.
14237 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
14238 Pre-calculate image background color where necessary.
14239 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
14240 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
14241 color to use for image glyph reliefs.
14242
14243 2001-10-24 Gerd Moellmann <gerd@gnu.org>
14244
14245 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
14246 in full-width rows.
14247
14248 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
14249 Fix clearing of area not covered by scroll bar.
14250
14251 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14252
14253 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
14254 and `real_start'.
14255 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
14256 (glyph_rect): Remove unused variable `area'.
14257
14258 2001-10-24 Gerd Moellmann <gerd@gnu.org>
14259
14260 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
14261
14262 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
14263 (row_containing_pos): Take additional argument DY.
14264 Treat rows ending in middle of char differently.
14265 (display_line): Handle tabs on window systems differently.
14266
14267 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
14268 with additional argument.
14269
14270 * dispextern.h (row_containing_pos): Adjust prototype.
14271
14272 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
14273 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
14274 (try_window_id, try_window_reusing_current_matrix)
14275 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
14276 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
14277
14278 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14279
14280 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
14281 gnuemacs).
14282 (HAVE_BOXES): Fix typo in comment.
14283 (push_menu_pane): Fix typo in comment.
14284
14285 * xdisp.c: (display_prop_string_p): Remove unused local declaration
14286 of `Qwhen'.
14287 (single_display_prop_string_p): Remove unused local declarations
14288 of `Qwhen' and `Qmargin'.
14289 (string_buffer_position): Remove unused variable `around'.
14290 (store_frame_title): Remove unused variable `width'.
14291
14292 * window.c: Don't define max.
14293 (coordinates_in_window): Remove unused variable `uy'.
14294
14295 * widget.c: Don't define max.
14296
14297 * process.c: Don't define max.
14298 (create_process): Remove unused variable `buffer'.
14299
14300 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14301
14302 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
14303
14304 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
14305
14306 * xfaces.c (Finternal_set_lisp_face_attribute)
14307 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
14308 frame is on a windowed display.
14309
14310 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14311
14312 * dispnew.c (sync_window_with_frame_matrix_rows):
14313 Fix handling of windows which aren't full-width, fix handling
14314 of marginal areas.
14315
14316 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
14317
14318 2001-10-23 Andreas Schwab <schwab@suse.de>
14319
14320 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
14321 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
14322
14323 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14324
14325 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
14326 REAL_END. Notice if cursor gets overwritten.
14327 (notice_overwritten_cursor): Take X positions as parameters.
14328 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
14329 around call to x_draw_glyphs.
14330
14331 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14332
14333 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
14334 instead of C) and usage.
14335
14336 * editfns.c (char-to-string): Fix argument names (use CHAR instead
14337 of C) and usage.
14338
14339 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
14340 `left', `max_width' and `max_height'.
14341
14342 2001-10-23 Gerd Moellmann <gerd@gnu.org>
14343
14344 * xdisp.c (display_line): For a tab continued to the next line,
14345 set row's ends_in_middle_of_char_p.
14346
14347 2001-10-22 Gerd Moellmann <gerd@gnu.org>
14348
14349 * xdisp.c (display_line): Fix computation of continuation lines
14350 width for TABs.
14351
14352 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14353
14354 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
14355 `Qlaplace'.
14356
14357 * fileio.c: Remove unused code.
14358
14359 2001-10-22 Miles Bader <miles@gnu.org>
14360
14361 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
14362 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
14363 Remove `DOC_STRINGS_IN_COMMENTS' cases.
14364
14365 2001-10-21 Jason Rumney <jasonr@gnu.org>
14366
14367 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
14368
14369 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
14370
14371 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
14372 (Finsert_string): Avoid the multi-line string literals warning.
14373
14374 2001-10-22 Miles Bader <miles@gnu.org>
14375
14376 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
14377 (Fdocumentation): Don't use it.
14378 (syms_of_doc): Don't initialize it.
14379
14380 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
14381 * print.c (Fwith_output_to_temp_buffer): Likewise.
14382 * window.c (Fsave_window_excursion): Likewise.
14383 * editfns.c (Fsave_excursion, Fsave_current_buffer)
14384 (Fsave_restriction): Likewise.
14385 * eval.c (Frun_hooks, Frun_hook_with_args)
14386 (Frun_hook_with_args_until_failure)
14387 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
14388 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
14389 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
14390 (Funwind_protect, Fcondition_case): Likewise.
14391 * coding.c (Ffind_operation_coding_system): Likewise.
14392 * keyboard.c (Ftrack_mouse): Likewise.
14393
14394 2001-10-21 Miles Bader <miles@gnu.org>
14395
14396 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
14397 (Fmake_hash_table): Add usage: string to doc string.
14398 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
14399 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
14400 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
14401 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
14402 (Fml_prefix_argument_loop): Likewise.
14403
14404 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14405
14406 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
14407
14408 * sysdep.c (init_sys_modes): Change doc-string comments to `new
14409 style' [w/`doc:' keyword].
14410
14411 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
14412 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
14413 comments to `new style' [w/`doc:' keyword].
14414
14415 2001-10-21 Jason Rumney <jasonr@gnu.org>
14416
14417 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
14418
14419 * w32term.c (remember_mouse_glyph): New function.
14420 (w32_mouse_position): Use it.
14421 (note_mouse_movement): If the mouse moved off the glyph, remember
14422 its new position.
14423
14424 * w32term.h (struct w32_output): Correct spelling of x_compatible.
14425 (w32_display_info): Add mouse_face_overlay.
14426
14427 * w32term.c (notice_overwritten_cursor): Renamed from
14428 note_overwritten_text_cursor. Rewritten to take glyph widths into
14429 account.
14430 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
14431 (fast_find_string_pos): New function.
14432 (fast_find_position): Return the correct vpos. Add parameter
14433 STOP. In the final row, stop before glyphs having STOP as object.
14434 Don't consider glyphs that are not from a buffer.
14435 (fast_find_position) [0]: Add a presumably more correct version
14436 for after 21.1.
14437 (expose_window_tree, expose_frame): Don't compute intersections here.
14438 (expose_window): Do it here instead.
14439 (expose_window_tree, expose_window, expose_line): Return 1 when
14440 overwriting mouse-face.
14441 (expose_window): If W is the window currently being updated, mark
14442 the frame garbaged.
14443 (expose_frame): If mouse-face was overwritten, redo it.
14444 (x_use_underline_position_properties): New variable.
14445 (syms_of_xterm): DEFVAR_BOOL it.
14446 (x_draw_glyph_string): Add comment to use it in future.
14447 (x_draw_glyph_string): Restore clipping after drawing box.
14448 Fix a computation of the underline position.
14449 (w32_get_glyph_string_clip_rect): Minor cleanup.
14450 (x_fill_stretch_glyph_string): Remove an assertion.
14451 (x_produce_glyphs): Don't convert multibyte characters
14452 to unibyte characters in unibyte buffers.
14453 (cursor_in_mouse_face_p): New function.
14454 (x_draw_stretch_glyph_string): Use it to choose a different GC
14455 when drawing a cursor within highlighted text. Don't draw
14456 background again if it has already been drawn.
14457 (x_draw_glyph_string_box): Don't draw a full-width
14458 box just because the glyph row's full_width_p flag is set.
14459 (x_draw_glyphs): Fix computation of rightmost x for
14460 full-width rows.
14461 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
14462 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
14463 change bottom shadow accordingly. Some cleanup.
14464 (x_update_window_end): Handle overwritten mouse face
14465 also for tool bar windows.
14466 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
14467 DRAW is DRAW_IMAGE_RAISED.
14468 (clear_mouse_face): Return 1 if text with mouse face was
14469 actually redrawn. Make the function static.
14470 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
14471 optimize away highlighting if we pass over that same overlay again.
14472 (note_mouse_highlight): Call mouse_face_overlay_overlaps
14473 to detect a case where we have to highlight a different region
14474 despite not having left the currently highlighted region.
14475 Set mouse_face_overlay in the x_display_info. Avoid changing the
14476 mouse pointer shape when show_mouse_face has already done it, or
14477 there is no need. Handle mouse-face and help-echo in strings.
14478 (glyph_rect): New function.
14479 (w32_mouse_position): Use it to raise the threshold for mouse
14480 movement event generation.
14481 (w32_initialize_display_info): Initialize the x_display_info's
14482 mouse_face_overlay.
14483 (w32_set_vertical_scroll_bar): Don't clear a zero height
14484 or width area.
14485 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
14486 a widget to zero height.
14487
14488 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
14489 Protect unibyte strings created by replacing their multibyte
14490 equivalents in menu_items.
14491 (w32_menu_show): Don't overwrite an item's name with its key
14492 description in case the description is a multibyte string.
14493 (single_submenu): Some cleanup.
14494
14495 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
14496 (postprocess_image): New function.
14497 (lookup_image): Call it for all image types except PostScript.
14498 (x_kill_gs_process): Call postprocess_image.
14499 (tiff_error_handler, tiff_warning_handler): New functions.
14500 (tiff_load): Install them as handlers.
14501 (x_kill_gs_process): Recognize if someone has cleared the image
14502 cache under us.
14503 (valid_image_p): Protect better against invalid image
14504 specifications. Previous code could signal an error.
14505 (Fx_hide_tip, Fshow_tip): Doc fix.
14506 (Fv_max_tooltip_size): New variable.
14507 (syns_of_xfns): DEFVAR_LISP it.
14508 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
14509 window buffer to *tip* right after creating the frame. Set frame's
14510 window_width. Use a maximum tooltip size specified by
14511 Vx_max_tooltip_size, if that has valid contents.
14512 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
14513 Make sure the tooltip is completely visible.
14514 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
14515 (Fx_create_frame): Adjust the frame's height for presence
14516 of the tool bar before calling x_figure_window_size.
14517 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
14518 when the window gets smaller.
14519 (x_set_foreground_color): Set frame's cursor_pixel.
14520 (x_set_foreground_color, x_set_background_color): Cleaned up.
14521 (x_set_font): Handle case of x_new_fontset returning the same name
14522 as before, although there was a change in fontsets.
14523
14524 2001-10-21 Miles Bader <miles@gnu.org>
14525
14526 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
14527 (Flogxor): Add usage: string to doc string.
14528 * charset.c (Fstring): Likewise.
14529 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
14530 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
14531
14532 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14533
14534 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
14535
14536 * alloc.c: Reindent DEFUNs with doc: keywords.
14537
14538 * abbrev.c (Finsert_abbrev_table_description): Reindent.
14539
14540 * frame.c: Change doc-string comments to `new style' [w/`doc:'
14541 keyword].
14542
14543 See ChangeLog.9 for earlier changes.
14544
14545 ;; Local Variables:
14546 ;; coding: iso-2022-7bit
14547 ;; End:
14548
14549 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
14550 Copying and distribution of this file, with or without modification,
14551 are permitted provided the copyright notice and this notice are preserved.
14552
14553 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4