]> code.delx.au - gnu-emacs/blob - src/ChangeLog
If HAVE_FCNTL_H include fcntl.h.
[gnu-emacs] / src / ChangeLog
1 2005-02-12 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * keyboard.c: If HAVE_FCNTL_H include fcntl.h.
4
5 2005-02-12 Kim F. Storm <storm@cua.dk>
6
7 * xdisp.c (expose_window): Don't fix overlaps for mode lines.
8
9 2005-02-10 Kim F. Storm <storm@cua.dk>
10
11 * xdisp.c (try_window_id): Set first_unchanged_at_end_row to NULL
12 if it moves outside window or it doesn't display text.
13
14 2005-02-09 Kim F. Storm <storm@cua.dk>
15
16 * undo.c (Fprimitive_undo): Check that undo function does not
17 switch buffer.
18
19 2005-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
20
21 * xselect.c (selection_data_to_lisp_data): For the special case
22 type == XA_ATOM, data contains array of int, not array of Atom.
23 (x_property_data_to_lisp, selection_data_to_lisp_data): Comment
24 update: data must be array of int for format == 32.
25
26 2005-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
27
28 * undo.c (Fprimitive_undo): Check veracity of delta,start,end.
29
30 2005-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
31
32 * xfns.c (Fx_change_window_property): Use long array when format is 32.
33 (Fx_window_property): If format is 32 and long is bigger than 32 bits,
34 convert long array returned from XGetWindowProperty to an int array.
35 (x_set_tool_bar_lines): Check that width and height is greater than
36 zero before clearing area.
37
38 * xselect.c (x_reply_selection_request): Pass long array to
39 XChangeProperty so that 64 bit longs are handeled correctly.
40 (x_get_window_property): If format is 32 and long is bigger than 32
41 bits convert data from XGetWindowProperty from long array to int array.
42 (lisp_data_to_selection_data): When the input is a vector and the
43 format is 32, allocate a long array even if long is bigger than 32 bits.
44 (x_fill_property_data): Use char, short and long as the man page
45 for XChangeProperty specifies. This way the data returned is OK for
46 both 32 and 64 bit machines.
47 (x_handle_dnd_message): Calculate size correctly even for 64 bit
48 machines.
49 (Fx_send_client_event): Undo change from 2005-02-05,
50 x_fill_property_data now handles that case.
51
52 * xfns.c (Fx_backspace_delete_keys_p): Add comment about the
53 reason for the approach in the code.
54
55 2005-02-07 Kim F. Storm <storm@cua.dk>
56
57 * undo.c (Fprimitive_undo): Record max one dummmy apply element.
58
59 2005-02-06 Richard M. Stallman <rms@gnu.org>
60
61 * eval.c (Frun_hook_with_args)
62 (Frun_hook_with_args_until_success)
63 (Frun_hook_with_args_until_failure): Doc fixes.
64
65 2005-02-05 Andreas Schwab <schwab@suse.de>
66
67 * sysdep.c (sys_subshell): Properly terminate execlp argument list.
68
69 2005-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
70
71 * xselect.c (Fx_send_client_event, x_handle_dnd_message): Handle
72 the longs in a XClientMessageEvent correctly when long is 64 bits.
73
74 2005-02-05 Eli Zaretskii <eliz@gnu.org>
75
76 * xfaces.c (face_color_supported_p): Use HAVE_WINDOW_SYSTEM
77 instead of HAVE_X_WINDOWS, for non-X windowed sessions.
78
79 2005-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
80
81 * xmenu.c (menubar_selection_callback): Force out GTK buffered
82 events so the menu event comes after them. This is to prevent sit-for
83 from exiting on buffered events directly after a menu selection,
84 lisp code for Help => About Emacs uses sit-for.
85
86 * gtkutil.c (create_menus): Connect selection-done event instead of
87 the deactivate event to deactivate_cb. This will make the last
88 leave event come before the call to deactivate_cb, so the leave
89 event does not make sit-for exit after a menu selection.
90
91 2005-02-03 Kim F. Storm <storm@cua.dk>
92
93 * dispnew.c (build_frame_matrix_from_leaf_window)
94 [!GLYPH_DEBUG]: Fix xassert.
95
96 * xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert.
97
98 * xfns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
99
100 2005-02-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
101
102 * mac.c: Use MAC_OS_X_VERSION_MAX_ALLOWED to conditionalize by
103 the compiling OS version.
104
105 * macfns.c (x_create_tip_frame): Likewise.
106
107 * macterm.c (mac_draw_string_common, x_make_frame_visible): Likewise.
108
109 2005-02-03 Richard M. Stallman <rms@gnu.org>
110
111 * xterm.c (x_error_quitter): On GCC 3 and up, specify noinline.
112
113 * xdisp.c (echo_area_display): Clear echo_message_buffer.
114
115 * buffer.c (Fbury_buffer): Doc fix.
116
117 2005-02-02 Steven Tamm <steventamm@mac.com>
118
119 * macfns.c (unwind_create_frame): Fixing compile error due to
120 xassert being uncondition, but predicate is.
121 * dispnew.c (update_window): Fixing compile error due to
122 xassert being uncondition, but predicate is.
123
124 2005-02-02 Miles Bader <miles@gnu.org>
125
126 * dispextern.h (xassert): Enable unconditionally.
127
128 2005-02-02 Kim F. Storm <storm@cua.dk>
129
130 * undo.c (Fprimitive_undo): Fix dummy apply undo entry.
131
132 2005-02-02 Kenichi Handa <handa@m17n.org>
133
134 * casefiddle.c (casify_object): Enable changing characters of
135 different byte length.
136 (casify_region): Fix loop condition, args to replace_range_2, and
137 update opoint_byte.
138
139 * insdel.c (replace_range_2): Fix bugs in adjusting markers and
140 point.
141
142 2005-02-01 Kim F. Storm <storm@cua.dk>
143
144 * xdisp.c (back_to_previous_visible_line_start): Reset iterator
145 stack before calling handle_display_prop.
146
147 2005-01-31 Kim F. Storm <storm@cua.dk>
148
149 * undo.c (Qapply): New lisp var.
150 (syms_of_undo): Intern and staticpro it.
151 (Fprimitive_undo): Support formats (apply FUNNAME . ARGS) and
152 (apply DELTA BEG END FUNNAME . ARGS) instead of (FUNNAME . ARGS).
153
154 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
155
156 2005-01-30 Jesper Harder <harder@phys.au.dk>
157
158 * macterm.c (syms_of_macterm) <mac-reverse-ctrl-meta>
159 <mac-emulate-three-button-mouse>: Fix docstring indentation.
160
161 2005-01-29 Luc Teirlinck <teirllm@auburn.edu>
162
163 * undo.c (syms_of_undo) <undo-outer-limit>: Doc update.
164 Increase value to 3 Meg.
165
166 2005-01-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
167
168 * xfns.c (show_hourglass): Use FRAME_X_WINDOW as parent for GTK,
169 button events are not received otherwise.
170
171 2005-01-29 Richard M. Stallman <rms@gnu.org>
172
173 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
174
175 * undo.c (Fprimitive_undo): Handle (FUNNAME . ARGS) by calling FUNNAME.
176
177 2005-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
178
179 * keymap.c (access_keymap): YAILOM.
180
181 2005-01-27 Kim F. Storm <storm@cua.dk>
182
183 * xdisp.c (get_phys_cursor_geometry): New function to calculate
184 phys cursor position and size for hollow cursor. Position is
185 aligned with get_glyph_string_clip_rect and ensures that a hollow
186 cursor is shown, even when the actual glyph is not visible.
187
188 * dispextern.h (get_phys_cursor_geometry): Add prototype.
189
190 * xterm.c (x_clip_to_row): Ensure y >= 0.
191 (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
192
193 * w32term.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
194
195 * macterm.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
196
197 2005-01-27 Stefan Monnier <monnier@iro.umontreal.ca>
198
199 * xterm.c (x_error_quitter): Add a prototype. Make it static again.
200
201 2005-01-27 Kim F. Storm <storm@cua.dk>
202
203 * xdisp.c (get_glyph_string_clip_rect): Always show a cursor
204 glyph, even when row is only partially visible and actual cursor
205 position is not visible.
206
207 2005-01-24 Richard M. Stallman <rms@gnu.org>
208
209 * xterm.c (x_error_quitter): No longer static, and moved after
210 x_error_handler.
211
212 2005-01-24 Kim F. Storm <storm@cua.dk>
213
214 * xdisp.c (move_it_by_lines): If we move forward after going too
215 far back, cancel move if end position is same as start position.
216
217 2005-01-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
218
219 * dispextern.h (struct glyph_string): New members clip_head and
220 clip_tail.
221
222 * xdisp.c (get_glyph_string_clip_rect): Restrict horizontal clip
223 region to the area between clip_head and clip_tail.
224 (draw_glyphs): Record the area that need to be actually redrawn to
225 the new variables clip_head and clip_tail when there are
226 overhangs. Set values of these variables to the corresponding
227 members in struct glyph_string. Refine x coordinates for
228 notice_overwritten_cursor using clip_head and clip_tail.
229
230 * macgui.h (STORE_XCHARSETSTRUCT): New macro.
231
232 * macterm.c (mac_compute_glyph_string_overhangs): Implement with
233 QDTextBounds.
234 (x_draw_glyph_string): Don't fill the background of the successor
235 of a glyph with a right overhang if the successor will draw a cursor.
236 (XLoadQueryFont): Obtain font metrics using QDTextBounds.
237 (x_redisplay_interface): Add entry for compute_glyph_string_overhangs.
238
239 2005-01-24 Kim F. Storm <storm@cua.dk>
240
241 * window.c (window_scroll_pixel_based): Fix scrolling in the wrong
242 direction if window height was smaller than next-screen-context-lines.
243 Now always scroll at least one line in the requested direction.
244 Ensure that we actually do scroll backwards when requested to do so.
245
246 * xdisp.c (redisplay_window): Only try to make cursor line fully
247 visible once (to avoid redisplay loop).
248
249 2005-01-23 Kim F. Storm <storm@cua.dk>
250
251 * window.c (Fpos_visible_in_window_p): Simplify return value for
252 partially visible rows.
253 (window_scroll_pixel_based): Adapt to that change.
254
255 * window.c (window_scroll_pixel_based): Force moving to next line
256 if scrolling doesn't move start point, e.g. if looking at tall image.
257
258 * xdisp.c (pos_visible_p): Return 0 if non-interactive.
259 Clear last_height before calling line_bottom_y to get real height.
260 Fix calculation of y.
261
262 2005-01-22 Steven Tamm <steventamm@mac.com>
263
264 * s/darwin.h: Removed PTY_ITERATION from here.
265 (DARWIN): Define.
266 * process.c (init_process): Default process-connection-type to
267 nil on darwin 6 or less, t if it is 7 or higher. This way the
268 broken pty behavior is still allowed on darwin 6 for interactive
269 processes for people that know what they are doing.
270
271 2005-01-22 Kim F. Storm <storm@cua.dk>
272
273 * window.c (auto_window_vscroll_p): New boolean.
274 (syms_of_window): DEFVAR_BOOL it.
275 (Fpos_visible_in_window_p): Extend return value to include RTOP
276 and RBOT values if FULLY is nil.
277 (window_scroll_pixel_based): Adjust vscroll for partially visible
278 rows if auto_window_vscroll_p is set.
279 (Fset_window_vscroll): Do nothing if vscroll is not modified.
280
281 * xdisp.c (pos_visible_p): Replace FULLY arg by RTOP and RBOT args
282 to return number of partially invisible pixels at top and bottom
283 of the dislay row at POS.
284
285 * lisp.h (pos_visible_p): Fix prototype.
286
287 2005-01-21 Richard M. Stallman <rms@gnu.org>
288
289 * fileio.c (Fcopy_file): Doc fix.
290
291 2005-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
292
293 * gtkutil.c (xg_tool_bar_detach_callback): Remove unused variable bw.
294 (xg_get_file_name): Move declaration ofx_use_old_gtk_file_dialog to
295 start of function for older compilers.
296
297 2005-01-20 Richard M. Stallman <rms@gnu.org>
298
299 * editfns.c (Fmessage): If arg is "", return "" (as before).
300
301 * keymap.c (access_keymap): Protect from bad value of meta_prefix_char.
302
303 * .gdbinit (xgetptr, xgetint, xgettype): Copy $arg0 into a temp
304 variable.
305
306 2005-01-20 Steven Tamm <steventamm@mac.com>
307
308 * editfns.c (Voperating_system_release): Add.
309 (init_editfns): Assign new variable operating-system-release
310 based on call to uname if available.
311 (get_operating_system_release): Add function to
312 allow c-level access to operating system release.
313
314 * config.h: Regenerated.
315
316 * s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or less.
317 (MIN_PTY_KERNEL_VERSION): Define minimum kernel version for
318 using ptys as '7'.
319
320 2005-01-20 Kim F. Storm <storm@cua.dk>
321
322 * alloc.c (STRING_MARKED_P, VECTOR_MARKED_P): Return boolean.
323
324 * xterm.c (x_draw_glyph_string_box): Fix last_x for full width rows.
325 Thanks to Chong Yidong <cyd@stupidchicken.com> for debugging this.
326
327 * macterm.c (x_draw_glyph_string_box): Likewise.
328
329 * w32term.c (x_draw_glyph_string_box): Likewise.
330
331 * indent.c (Fvertical_motion): Temporarily disable selective display.
332
333 2005-01-19 Kim F. Storm <storm@cua.dk>
334
335 * xdisp.c (note_mode_line_or_margin_highlight): Fix :pointer
336 image property.
337
338 * fns.c (sweep_weak_table): Advance prev pointer when we keep a pair.
339
340 2005-01-18 Kim F. Storm <storm@cua.dk>
341
342 * xdisp.c (fast_find_position): Backtrack to find first row if
343 charpos is inside a display overlay that spans multiple lines.
344
345 2005-01-18 Kenichi Handa <handa@m17n.org>
346
347 * coding.c (decode_coding_iso2022): Translate invalid codes if
348 translation-table is specified.
349
350 2005-01-18 Kim F. Storm <storm@cua.dk>
351
352 * xdisp.c (back_to_previous_visible_line_start): Undo 2004-12-28
353 change. If handle_display_prop indicates newline is replaced by
354 image or text, move back to start of relevant overlay or interval
355 and continue scan from there. Simplify.
356
357 2005-01-17 Kim F. Storm <storm@cua.dk>
358
359 * dispnew.c (mode_line_string, marginal_area_string):
360 Fix off-by-one error in search for glyph.
361
362 2005-01-16 Kim F. Storm <storm@cua.dk>
363
364 * macterm.c (syms_of_macterm) <mac-allow-anti-aliasing>: Doc fix.
365
366 2005-01-16 Steven Tamm <steventamm@mac.com>
367
368 * macterm.c (mac_to_x_fontname): Remove spurious argument.
369
370 2005-01-16 Andreas Schwab <schwab@suse.de>
371
372 * macterm.c (mac_draw_string_common): Fix compilation on OSX 10.1.
373
374 2005-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
375
376 * fringe.c (Fdefine_fringe_bitmap, init_fringe): When assigning
377 fringe_faces, cast result from xmalloc/xrealloc to Lisp_Object *.
378
379 2005-01-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
380
381 * keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW)
382 (READABLE_EVENTS_FILTER_EVENTS, READABLE_EVENTS_IGNORE_SQUEEZABLES):
383 New flags for readable_events.
384 (get_filtered_input_pending, readable_filtered_events): Remove.
385 (tracking_off): Call readable_events and get_input_pending with
386 flag READABLE_EVENTS_DO_TIMERS_NOW.
387 (readable_events): Move code from old readable_filtered_events here,
388 but check new READABLE_EVENTS_* in argument flags instead of previous
389 two boolean arguments do_timers_now and filter_events.
390 If we are doing mouse tracking and the mouse moved, return only if
391 READABLE_EVENTS_IGNORE_SQUEEZABLES is not set in flags.
392 (swallow_events): Call get_input_pending with flag
393 READABLE_EVENTS_DO_TIMERS_NOW.
394 (get_input_pending): Move code from old get_filtered_input_pending
395 here. Replace boolean arguments do_timers_now, filter_events with
396 flags, and pass flags to readable_events. Document new
397 READABLE_EVENTS_* flags.
398 (detect_input_pending_ignore_squeezables): New function.
399 (detect_input_pending_run_timers): Call get_input_pending with flag
400 READABLE_EVENTS_DO_TIMERS_NOW.
401 (Finput_pending_p): Call get_input_pending with flags
402 READABLE_EVENTS_DO_TIMERS_NOW and READABLE_EVENTS_FILTER_EVENTS.
403
404 * dispnew.c (update_window, update_frame_1): Replace calls to
405 detect_input_pending with detect_input_pending_ignore_squeezables
406 so that redisplay is not paused if the event queue contains only
407 mouse movements.
408
409 * lisp.h: Declare detect_input_pending_ignore_squeezables.
410
411 2005-01-15 Steven Tamm <steventamm@mac.com>
412
413 * macterm.c (Vmac_use_core_graphics): Declare variable for
414 mac-allow-anti-aliasing.
415 (syms_of_macterm): DEFVAR_LISP and initialize it.
416 (mac_draw_string_common): Use core graphics text rendering if
417 mac-allow-anti-aliasing is enabled.
418
419 * macfns.c (Fx_file_dialog): Save As dialog includes only the
420 file name in the text box.
421
422 2005-01-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
423
424 * macfns.c (x_set_foreground_color, x_set_background_color):
425 Sync with xfns.c.
426 (mac_window, x_create_tip_frame): Use XSetWindowBackground.
427 * macterm.c (XSetBackground, XSetWindowBackground): New functions.
428 * macterm.h (XSetBackground, XSetWindowBackground): Add externs.
429
430 2005-01-14 Kim F. Storm <storm@cua.dk>
431
432 * keyboard.c (Fposn_at_x_y): Add optional arg WHOLE.
433
434 2005-01-13 Richard M. Stallman <rms@gnu.org>
435
436 * keymap.c (Fcurrent_active_maps): Ignore Voverriding_local_map
437 if Voverriding_terminal_local_map is non-nil.
438
439 * keyboard.c (syms_of_keyboard): Doc fix.
440
441 2005-01-13 Kim F. Storm <storm@cua.dk>
442
443 * xdisp.c (Fformat_mode_line): Fix last change. Remove NO_PROPS arg
444 (specify 0 for FACE instead). Reorder arg list. Doc fix.
445
446 2005-01-12 Richard M. Stallman <rms@gnu.org>
447
448 * xdisp.c (Fformat_mode_line): New arg FACE specifies a default
449 face property for characters that don't specify one.
450
451 * fns.c (Frequire): Record in load-history unconditionally.
452
453 2005-01-10 Kim F. Storm <storm@cua.dk>
454
455 * dispextern.h (merge_faces): Rename from merge_into_realized_face.
456
457 * xfaces.c (merge_faces): Rename from merge_into_realized_face.
458 Callers changed.
459 Add support to merge with lisp face id too (if face_name is t).
460
461 * xdisp.c (get_next_display_element, next_element_from_display_vector):
462 Don't lookup lface_id from display table glyphs here; instead use
463 merge_faces to merge the lisp face id into current face.
464
465 2005-01-09 Kim F. Storm <storm@cua.dk>
466
467 * dispextern.h (struct it): New member dpvec_face_id.
468 (merge_into_realized_face): Add prototype.
469
470 * xfaces.c (merge_into_realized_face): New function. Used to
471 merge escape-glyph face or face from display table into current face.
472
473 * xdisp.c (Vshow_nonbreak_escape): New lisp var.
474 (syms_of_xdisp): DEFVAR_LISP it.
475 (escape_glyph_face): Remove var.
476 (redisplay_window): Don't initialize it.
477 (setup_for_ellipsis, get_next_display_element):
478 Set it->dpvec_face_id to -1.
479 (get_next_display_element): Test Vshow_nonbreak_escape.
480 Do not setup escape_glyph_face.
481 Properly merge escape-glyph face or face from display table with
482 current face for escape and control characters.
483 Set it->dpvec_face_id to relevant face id instead of adding it to each
484 element of display vector.
485 (next_element_from_display_vector): If it->dpvec_face_id is set,
486 use that instead of lface_id from glyph itself.
487
488 2005-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
489
490 * xterm.h (struct x_output): New member, toolbar_detached.
491
492 * gtkutil.c (xg_create_frame_widgets): Set initial tool bar height to
493 38.
494 (xg_tool_bar_detach_callback): Set toolbar_detached to 1.
495 (xg_tool_bar_attach_callback): Set toolbar_detached to 0.
496 (xg_create_tool_bar): Initialize toolbar_detached.
497 (update_frame_tool_bar): Only set FRAME_TOOLBAR_HEIGHT (f) if
498 toolbar_detached is zero.
499
500 2005-01-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
501
502 * xmenu.c (create_and_show_popup_menu): Pass zero as button to
503 gtk_menu_popup if not for_click, so callbacks for the menu are called.
504
505 * gtkutil.c (xg_gtk_scroll_destroy, xg_create_scroll_bar)
506 (xg_tool_bar_callback, xg_tool_bar_help_callback)
507 (update_frame_tool_bar): Cast to EMACS_INT to avoid compiler warning.
508
509 * xselect.c (x_get_foreign_selection, x_fill_property_data)
510 (Fx_get_atom_name, Fx_send_client_event): Replace XFLOAT with
511 XFLOAT_DATA to get extract number from Lisp object.
512
513 2005-01-07 Kim F. Storm <storm@cua.dk>
514
515 * xdisp.c (set_iterator_to_next): Fix 2004-12-13 change.
516 Set stop_charpos to current charpos instead of 0.
517
518 2005-01-06 Nick Roberts <nickrob@snap.net.nz>
519
520 * xdisp.c (Fformat_mode_line): First arg now required.
521
522 2005-01-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
523
524 * macterm.c (XLoadQueryFont): Correctly handle 0 size
525 font widths that are returned from some Japanese fonts.
526
527 2005-01-06 Kim F. Storm <storm@cua.dk>
528
529 * fringe.c (fringe_faces): Change to Lisp_Object pointer.
530 (draw_fringe_bitmap_1): Lookup user defined fringe faces here.
531 (destroy_fringe_bitmap): Set fringe_faces element to nil.
532 (Fdefine_fringe_bitmap, init_fringe): Change allocation of
533 fringe_faces array and init elements to nil.
534 (Fset_fringe_bitmap_face): Set fringe_faces to face name instead of
535 non-persistent face id.
536 (mark_fringe_data): New function for GC.
537
538 * alloc.c (mark_fringe_data): Declare extern.
539 (Fgarbage_collect): Call mark_fringe_data.
540
541 * alloc.c (overrun_check_free): Invalidate freed memory if
542 XMALLOC_CLEAR_FREE_MEMORY is defined.
543
544 2005-01-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
545
546 * macfns.c: Include sys/param.h.
547 [TARGET_API_MAC_CARBON] (mac_nav_event_callback): New declaration
548 and function.
549 [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size
550 of filename string. Set event callback function when creating
551 dialog boxes. Add code conversions for filenames. Don't dispose
552 apple event descriptor record if failed to create it.
553
554 * macterm.c: Include sys/param.h.
555 [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for
556 kEventWindowUpdate.
557 (install_window_handler) [USE_CARBON_EVENTS]: Register it.
558 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Get FSRef instead
559 of FSSpec from apple event descriptor record.
560 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Use MAXPATHLEN for
561 size of filename string.
562 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise.
563 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a
564 file dialog is in action.
565 [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise.
566 Reject only when there are no filename items. Set background color
567 before (un)highlighting the window below the dragged items.
568 (XTread_socket) [!USE_CARBON_EVENTS]: Don't call do_window_update.
569
570 2005-01-05 Romain Francoise <romain@orebokech.com>
571
572 * term.c (encode_terminal_code): Fix buffer size computation.
573
574 2005-01-04 Richard M. Stallman <rms@gnu.org>
575
576 * xdisp.c (Fformat_mode_line): Doc fix.
577
578 2005-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
579
580 * alloc.c (refill_memory_reserve): Move.
581 (emacs_blocked_free, emacs_blocked_malloc, emacs_blocked_realloc)
582 (reset_malloc_hooks, uninterrupt_malloc) [SYNC_INPUT]: Don't define.
583
584 2005-01-03 Richard M. Stallman <rms@gnu.org>
585
586 * window.c (window_scroll_pixel_based): Don't correct preserve_y
587 for CURRENT_HEADER_LINE_HEIGHT when moving backwards.
588
589 2005-01-03 Jason Rumney <jasonr@gnu.org>
590
591 * w32bdf.c (w32_load_bdf_font): Set fontp->average_width and
592 fontp->space_width to FONT_WIDTH so they are valid.
593
594 * w32fns.c (w32_load_system_font): Set FONT_WIDTH to maximum, not
595 average width. Set fontp->average_width and fontp->space_width to
596 their appropriate values.
597
598 * w32term.c (x_new_font): Set FRAME_COLUMN_WIDTH to
599 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
600 fontp->space_width.
601
602 2005-01-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
603
604 * macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
605 (x_font_min_bounds, XLoadQueryFont): Use the correct font width
606 metrics for max and min bounds.
607 (x_load_font): Correctly calculate average font width metrics.
608
609 2005-01-02 Richard M. Stallman <rms@gnu.org>
610
611 * alloc.c (Fgarbage_collect): Don't truncate_undo_list on dead buffers.
612
613 2004-12-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
614
615 * xterm.c (handle_one_xevent): Clear area in expose event for GTK.
616
617 2004-12-31 Richard M. Stallman <rms@gnu.org>
618
619 * xdisp.c (setup_for_ellipsis, get_next_display_element):
620 Set it->ellipsis_p to 1 or 0.
621 (display_line): Record whether row ends in mid-ellipsis.
622 (set_cursor_from_row): If ends in ellipsis. find start of it.
623 (cursor_row_p): If PT's at the end of the ellipsis the row
624 ends within, don't display cursor on this row.
625
626 * dispextern.h (struct it): New element ellipsis_p.
627 (struct glyph_row): New element ends_in_ellipsis_p.
628
629 * xdisp.c (BUFFER_POS_REACHED_P): We haven't reached the specified
630 position if we're reading from something other than the buffer.
631
632 * window.c (window_scroll_pixel_based): Only look at
633 Vscroll_preserve_screen_position if the old PT can't be kept.
634 (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
635
636 2004-12-30 Kim F. Storm <storm@cua.dk>
637
638 * xdisp.c (get_line_height_property): New function extracted from
639 original calc_line_height_property.
640 (calc_line_height_property): Rework. Handle t and (nil . ratio).
641 (x_produce_glyphs): Use them to handle line-height and
642 line-spacing according to new height spec.
643 (Qtotal): Remove.
644 (syms_of_xdisp): Remove intern and staticpro for Qtotal.
645
646 2004-12-30 Kenichi Handa <handa@m17n.org>
647
648 * fileio.c (Finsert_file_contents): Don't use
649 current_buffer->buffer_file_coding_system even if REPLACE is
650 non-nil. Call Qafter_insert_file_set_coding with the second arg VISIT.
651
652 * fontset.h (struct font_info): New members space_width and
653 average_width.
654
655 * frame.h (struct frame): New member space_width.
656 (FRAME_SPACE_WIDTH): New macro.
657
658 * xterm.h (struct x_display_info): New member Xatom_AVERAGE_WIDTH.
659
660 * xterm.c (x_new_font): Set FRAME_COLUMN_WIDTH to
661 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
662 fontp->space_width.
663 (x_load_font): Calculate fontp->space_width and fontp->average_width.
664 (x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH.
665
666 * xdisp.c (x_produce_glyphs): Calculate tab width by
667 FRAME_SPACE_WIDTH, not FRAME_COLUMN_WIDTH.
668
669 2004-12-29 Sanghyuk Suh <han9kin@mac.com>
670
671 * macterm.c (SelectionRange): Add Xcode position apple event struct.
672 (do_ae_open_documents): Handle Xcode-style file position open events.
673
674 2004-12-29 Luc Teirlinck <teirllm@auburn.edu>
675
676 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Correct typo.
677
678 2004-12-29 Richard M. Stallman <rms@gnu.org>
679
680 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Doc fix.
681
682 2004-12-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
683
684 * macfns.c (install_window_handler): Modify extern to return OSErr
685 value.
686 (mac_window): Handle return value of install_window_handler.
687
688 * macterm.c (reflect_byte): Remove function.
689 (mac_create_bitmap_from_bitmap_data): Don't call reflect_byte.
690 Lookup table instead.
691 (mac_do_font_lists): Simplify calculation of the longest
692 nonspecial string.
693 (init_mac_drag_n_drop): Remove function and declaration.
694 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
695 init_mac_drag_n_drop.
696 (mac_do_track_drag): New function and declaration.
697 (install_window_handler): Return OSErr value.
698 (install_window_handler) [TARGET_API_MAC_CARBON]:
699 Register handlers for tracking/receiving drag-and-drop items.
700 (do_ae_open_documents): Generate unibyte strings for filenames.
701 <<<<<<< ChangeLog
702 (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise.
703 Reject only non-filename items. Set event modifiers and return value.
704 =======
705 (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise.
706 Reject only non-filename items. Set event modifiers, and return value.
707 >>>>>>> 1.4187
708
709 2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
710
711 * coding.c (decode_coding): Fix previous change.
712
713 2004-12-28 Richard M. Stallman <rms@gnu.org>
714
715 * xdisp.c (back_to_previous_visible_line_start):
716 Don't call handle_display_prop.
717
718 2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
719
720 * coding.c (decode_coding_XXX, decode_composition_emacs_mule)
721 (decode_coding_emacs_mule, encode_coding_emacs_mule)
722 (decode_coding_iso2022, encode_designation_at_bol)
723 (encode_coding_iso2022, decode_coding_sjis_big5, decode_eol)
724 (decode_coding): Constify arguments and local vars.
725
726 2004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
727
728 * xmenu.c (popup_get_selection): Only pop down dialogs
729 on C-g and Escape.
730 (popup_get_selection): Remove parameter down_on_keypress.
731 (create_and_show_popup_menu, create_and_show_dialog):
732 Remove parameter down_on_keypress to popup_get_selection.
733
734 2004-12-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
735
736 * dispextern.h: Change HAVE_CARBON to MAC_OS.
737 (struct glyph_string): Likewise.
738
739 * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of
740 mac_initialize.
741
742 * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name):
743 Change TARGET_API_MAC_CARBON to HAVE_CARBON.
744
745 * fns.c (vector): Change MAC_OSX to MAC_OS.
746
747 * frame.c (x_set_frame_parameters, x_report_frame_params)
748 (x_set_fullscreen): Remove #ifndef HAVE_CARBON.
749 (x_set_border_width, Vdefault_frame_scroll_bars):
750 Change HAVE_CARBON to MAC_OS.
751
752 * image.c [MAC_OS]: Include sys/stat.h.
753 [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and
754 QuickTimeComponents.h.
755
756 * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern.
757 [!MAC_OSX] (select): Use mac_wait_next_event.
758 [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes.
759 [!MAC_OSX] (select, run_mac_command): Change `#ifdef
760 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
761 (mac_clear_font_name_table): Add extern.
762 (Fmac_clear_font_name_table): New defun.
763 (syms_of_mac): Defsubr it.
764 [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define.
765 [MAC_OSX] (select_and_poll_event): New function.
766 [MAC_OSX] (sys_select): Use it.
767 [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function.
768 [MAC_OSX && SELECT_USE_CFSOCKET]
769 (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines.
770 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and
771 RunLoop for simultaneously monitoring two kinds of inputs, window
772 events and process outputs, without periodically polling.
773
774 * macfns.c (mac_initialized): Remove extern.
775 (stricmp): Put in #if 0. All callers changed to use xstricmp in
776 xfaces.c.
777 (strnicmp): Decrement `n' at the end of each loop, not the beginning.
778 (check_mac): Use the term "Mac native windows" instead of "Mac OS".
779 (check_x_display_info, x_display_info_for_name): Sync with xfns.c.
780 (mac_get_rdb_resource): New function (from w32reg.c).
781 (x_get_string_resource): Use it.
782 (install_window_handler): Add extern.
783 (mac_window): New function.
784 (Fx_create_frame): Use it instead of make_mac_frame.
785 Set parameter for Qfullscreen. Call x_wm_set_size_hint.
786 (Fx_open_connection, Fx_close_connection): New defuns.
787 (syms_of_macfns): Defsubr them.
788 (x_create_tip_frame) [TARGET_API_MAC_CARBON]:
789 Add kWindowNoUpdatesAttribute to the window attribute.
790 (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow.
791 (x_create_tip_frame): Don't call ShowWindow.
792 (Fx_show_tip): Call ShowWindow.
793 (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if
794 TARGET_API_MAC_CARBON'.
795 (mac_frame_parm_handlers): Set handlers for Qfullscreen.
796 (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0.
797
798 * macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h.
799 (Window): Typedef to WindowPtr and move outside `#if
800 TARGET_API_MAC_CARBON'.
801 (XSizeHints): New struct.
802
803 * macterm.c (x_update_begin, x_update_end)
804 [TARGET_API_MAC_CARBON]: Disable screen updates during update of a
805 frame.
806 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
807 [MAC_OS8]: Use XDrawImageString/XDrawImageString16.
808 (construct_mouse_click): Put in #if 0.
809 (x_check_fullscreen, x_check_fullscreen_move): Remove decls.
810 (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef
811 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
812 (activate_scroll_bars, deactivate_scroll_bars)
813 [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl.
814 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window
815 if the position is neither user-specified nor program-specified.
816 (x_free_frame_resources): Free size_hints.
817 <<<<<<< ChangeLog
818 (x_wm_set_size_hint): Allocate size_hints if needed.
819 Set size_hints.
820 =======
821 (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints.
822 >>>>>>> 1.4187
823 (mac_clear_font_name_table): New function.
824 (mac_do_list_fonts): Initialize font_name_table if needed.
825 (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT
826 around mac_do_list_fonts.
827 (mac_unload_font): New function.
828 (x_load_font): Add BLOCK_INPUT around XLoadQueryFont.
829 (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations
830 and definitions with #if TARGET_API_MAC_CARBON.
831 [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl.
832 (install_window_handler): Add decl.
833 (do_window_update): Add BeginUpdate/EndUpdate for the tooltip
834 window. Use UpdateControls. Get the rectangle that should be
835 updated and restrict the target of expose_frame to it.
836 (do_grow_window): Set minimum height/width according to size_hints.
837 (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow.
838 (do_zoom_window): Don't use x_set_window_size.
839 [USE_CARBON_EVENTS] (mac_handle_window_event): New function.
840 (install_window_handler): New function.
841 [!USE_CARBON_EVENTS] (mouse_region): New variable.
842 [!USE_CARBON_EVENTS] (mac_wait_next_event): New function.
843 (XTread_socket) [USE_CARBON_EVENTS]: Move call to
844 GetEventDispatcherTarget inside BLOCK_INPUT.
845 (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event.
846 Update mouse_region when mouse is moved.
847 (make_mac_frame): Remove.
848 (make_mac_terminal_frame): Put in #ifdef MAC_OS8.
849 Initialize mouse pointer shapes. Change values of f->left_pos and
850 f->top_pos. Don't use make_mac_frame. Use NewCWindow.
851 Don't call ShowWindow.
852 (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from
853 Vinvocation_name and Vsystem_name.
854 (mac_make_rdb): New function (from w32term.c).
855 (mac_term_init): Use it. Add BLOCK_INPUT. Error if display has
856 already been opened. Don't pass argument to
857 mac_initialize_display_info. Don't set dpyinfo->height/width.
858 Add entries to x_display_list and x_display_name_list.
859 (x_delete_display): New function.
860 (mac_initialize): Don't call mac_initialize_display_info.
861 (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide.
862
863 * macterm.h (check_mac): Add extern.
864 (struct mac_output): New member size_hints.
865 (FRAME_SIZE_HINTS): New macro.
866 (mac_unload_font): Add extern.
867
868 * xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
869
870 * xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
871
872 2004-12-27 Richard M. Stallman <rms@gnu.org>
873
874 <<<<<<< ChangeLog
875 * buffer.c (Fbuffer_disable_undo): Delete (moved to simple.el).
876 =======
877 * buffer.c (Fbuffer_disable_undo): Delete (move to simple.el).
878 >>>>>>> 1.4187
879 (syms_of_buffer): Don't defsubr it.
880
881 * process.c (list_processes_1): Set undo_list instead
882 of calling Fbuffer_disable_undo.
883
884 * xdisp.c (single_display_spec_string_p): Rename from
885 single_display_prop_string_p.
886 (single_display_spec_intangible_p): Rename from
887 single_display_prop_intangible_p.
888 (handle_single_display_spec): Rename from handle_single_display_prop.
889 Rewritten to be easier to understand.
890
891 Change in load-history format. Functions now get (defun . NAME),
892 and variables get just NAME.
893
894 * data.c (Fdefalias): Use (defun . FN_NAME) in LOADHIST_ATTACH.
895
896 * eval.c (Fdefun, Fdefmacro): Use (defun . FN_NAME) in LOADHIST_ATTACH.
897 (Fdefvaralias, Fdefvar, Fdefconst): Use just SYM in LOADHIST_ATTACH.
898 (Qdefvar): Var deleted.
899 (syms_of_eval): Don't initialze it.
900
901 * lread.c (syms_of_lread) <load-history>: Doc fix.
902
903 2004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
904
905 * xmenu.c (popup_get_selection): Pop down on C-g.
906 (set_frame_menubar): Install translations for Lucid/Motif/Lesstif that
907 pops down menu on C-g.
908 (xdialog_show): If dialog popped down and no button in the dialog was
909 pushed, call Fsignal to quit.
910 (xmenu_show): In no toolkit version, if menu returns NO_SELECT call
911 Fsignal to quit.
912
913 * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g.
914
915 * gtkutil.c (xg_initialize): Install bindings for C-g so that
916 dialogs and menus pop down.
917
918 2004-12-27 Kenichi Handa <handa@m17n.org>
919
920 * coding.c (code_convert_region): Fix calculation of `ratio'.
921
922 2004-12-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
923
924 * gtkutil.c (update_frame_tool_bar): Make the value of
925 tool-bar-button-margin control margins of images in tool bar.
926
927 * alloc.c (check_depth): New variable.
928 (overrun_check_malloc, overrun_check_realloc): Only add
929 overhead and write check pattern if check_depth is 1 (to handle
930 recursive calls). Increase/decrease check_depth in entry/exit.
931 (overrun_check_free): Only check for overhead if check_depth is 1.
932 Increase/decrease check_depth in entry/exit.
933
934 2004-12-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
935
936 * keyboard.c (input_available_signal): Call SIGNAL_THREAD_CHECK
937 before touching input_available_clear_time, to avoid accessing it
938 from multiple threads.
939
940 2004-12-23 Jason Rumney <jasonr@gnu.org>
941
942 * image.c (__WIN32__) [HAVE_NTGUI]: Define for correct behaviour
943 of JPEG library.
944
945 2004-12-22 Richard M. Stallman <rms@gnu.org>
946
947 * emacs.c (main): If batch mode, set Vundo_outer_limit to nil.
948
949 * lisp.h (Vundo_outer_limit): Fix decl.
950
951 * undo.c (Vundo_outer_limit): Replaces undo_outer_limit.
952 Uses changed.
953 (syms_of_undo): Initialize appropriately.
954 (truncate_undo_list): If it's nil, there's no limit.
955
956 2004-12-22 Kenichi Handa <handa@m17n.org>
957
958 * xselect.c (Fx_get_cut_buffer_internal): Return a unibyte string.
959
960 2004-12-21 Richard M. Stallman <rms@gnu.org>
961
962 * eval.c (unwind_to_catch): Clear immediate_quit.
963
964 * xdisp.c (get_next_display_element): Display codes 8a0 and 8ad
965 specially as `\ ' and `\-'.
966
967 * keyboard.c (kbd_buffer_store_event_hold):
968 In the code for while-no-input, handle immediate_quit.
969
970 * alloc.c (Fgarbage_collect): Update call to truncate_undo_list.
971 Call that at the very start.
972 (undo_limit, undo_strong_limit, undo_outer_limit): Move to undo.c.
973 (syms_of_alloc): Don't define undo-limit,
974 undo-strong-limit and undo-outer-limit here.
975
976 * undo.c (truncate_undo_list): Return void.
977 Take just one argument, the buffer.
978 Make it current, and inhibit recursive GC.
979 Access and update the undo list directly; return void.
980 Refer to the undo...limit variables directly.
981 Test undo_outer_limit only after counting the whole current command.
982 When it's exceeded, call the function in undo-outer-limit-function.
983 (undo_limit, undo_strong_limit, undo_outer_limit): From alloc.c.
984 (Vundo_outer_limit_function): New variable.
985 (syms_of_undo): Define undo-limit, undo-strong-limit
986 and undo-outer-limit here, and undo-outer-limit-function.
987 Doc fixes.
988
989 * lisp.h (truncate_undo_list): Update decl.
990
991 2004-12-21 Piet van Oostrum <piet@cs.uu.nl>
992
993 * fileio.c (Fread_file_name): Delete duplicates in
994 file-name-history when history_delete_duplicates is true.
995
996 2004-12-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
997
998 * macterm.c (mac_do_list_fonts): Fix memory leak
999
1000 2004-12-20 Richard M. Stallman <rms@gnu.org>
1001
1002 * regex.c (re_match_2_internal) <symend, wordend>:
1003 Fix calls to UPDATE_SYNTAX_TABLE_FORWARD.
1004
1005 2004-12-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1006
1007 * macterm.c (endif, x_font_name_to_mac_font_name):
1008 Use maccentraleurroman instead of maccentraleuropean
1009 (mac_c_string_match, mac_do_list_fonts): Speed up font search by
1010 quickly finding a specific font without needing regexps.
1011
1012 2004-12-15 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1013
1014 * syssignal.h: Declare main_thread.
1015 (SIGNAL_THREAD_CHECK): New macro.
1016
1017 * keyboard.c (input_available_signal): Move thread checking code
1018 to macro SIGNAL_THREAD_CHECK and call that macro.
1019 (interrupt_signal): Call SIGNAL_THREAD_CHECK.
1020
1021 * alloc.c (uninterrupt_malloc): Move main_thread to emacs.c.
1022
1023 * emacs.c: Define main_thread.
1024 (main): Initialize main_thread.
1025 (handle_USR1_signal, handle_USR2_signal, fatal_error_signal)
1026 (memory_warning_signal): Call SIGNAL_THREAD_CHECK.
1027
1028 * floatfns.c (float_error): Call SIGNAL_THREAD_CHECK.
1029
1030 * dispnew.c (window_change_signal): Call SIGNAL_THREAD_CHECK.
1031
1032 * sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK.
1033
1034 * process.c (send_process_trap, sigchld_handler):
1035 Call SIGNAL_THREAD_CHECK.
1036
1037 * data.c (arith_error): Call SIGNAL_THREAD_CHECK.
1038
1039 * atimer.c (alarm_signal_handler): Call SIGNAL_THREAD_CHECK.
1040
1041 * xterm.c (xg_scroll_callback): Update XG_LAST_SB_DATA before
1042 returning when xg_ignore_gtk_scrollbar is true.
1043
1044 2004-12-14 Kim F. Storm <storm@cua.dk>
1045
1046 * keyboard.c (read_char): Save and restore echo_string when
1047 handling input method.
1048
1049 2004-12-13 Richard M. Stallman <rms@gnu.org>
1050
1051 * eval.c (syms_of_eval) <quit-flag>: Doc fix.
1052
1053 * keyboard.c (Vthrow_on_input): New variable.
1054 (syms_of_keyboard): Defvar and initialize it.
1055 (kbd_buffer_store_event_hold): Handle Vthrow_on_input.
1056
1057 * lisp.h (QUIT): Check for Vthrow_on_input.
1058 (Vthrow_on_input): Declare it.
1059
1060 2004-12-13 Kim F. Storm <storm@cua.dk>
1061
1062 * xdisp.c (set_iterator_to_next): Reset stop_charpos after display
1063 vector.
1064
1065 2004-12-12 Richard M. Stallman <rms@gnu.org>
1066
1067 * indent.c (Fvertical_motion): Call move_it_by_lines even if LINES = 0.
1068
1069 * minibuf.c (Fall_completions): Add var `zero' and use it in loop.
1070 (Ftry_completion): Really use outer `zero'; eliminate inner one.
1071
1072 2004-12-12 Kenichi Handa <handa@m17n.org>
1073
1074 * term.c (encode_terminal_code): Fix previous change.
1075
1076 2004-12-11 Stefan Monnier <monnier@iro.umontreal.ca>
1077
1078 * keyboard.c (handle_async_input): Remove pthread mutex handling.
1079 (input_available_signal): Move pthread thingy to !SYNC_INPUT branch.
1080
1081 * syntax.c (Fforward_word): Avoid non-idempotent side-effects
1082 in macro arguments.
1083
1084 * minibuf.c (Ftry_completion, Fall_completions): Don't use
1085 XFASTINT blindly.
1086
1087 * emacs.c (main, Fdump_emacs): Don't touch malloc hooks if SYNC_INPUT.
1088
1089 2004-12-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1090
1091 * w32term.c (x_calc_absolute_position): Remove calculation of
1092 difference between inner and outer window. Don't subtract difference
1093 for left and top calculations.
1094
1095 * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
1096 for left and top calculations. Remove call to x_real_positions.
1097 [Bug report by Drew Adams in November]
1098 (x_check_expected_move): Do not set change_gravity to 1 when calling
1099 x_set_offset.
1100
1101 2004-12-08 Richard M. Stallman <rms@gnu.org>
1102
1103 * xdisp.c (get_next_display_element): Use `escape-glyph' for
1104 control chars and escaped octal codes.
1105 (Qescape_glyph): New variable.
1106 (syms_of_xdisp): Initialize it.
1107 (escape_glyph_face): New variable.
1108 (redisplay_window): Initialize it.
1109
1110 2004-12-07 Paul Eggert <eggert@cs.ucla.edu>
1111
1112 * image.c (our_fill_input_buffer, jpeg_load, CHECK_LIB_AVAILABLE)
1113 (init_image): Use 1 rather than TRUE. TRUE's not always defined.
1114
1115 2004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1116
1117 * emacs.c (Fdump_emacs): Add ! defined (SYSTEM_MALLOC) around
1118 reset_malloc_hooks.
1119
1120 * keyboard.c (handle_async_input, input_available_signal):
1121 Add ! defined (SYSTEM_MALLOC) around thread code.
1122
1123 * alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC.
1124
1125 2004-12-07 Stefan Monnier <monnier@iro.umontreal.ca>
1126
1127 * eval.c (init_eval_once): Increase max_specpdl_size to 1000.
1128
1129 * config.in: Regenerate.
1130
1131 2004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1132
1133 * xmenu.c (Fx_popup_menu): Correct documentation about position.
1134 (xmenu_show): Do not call XTranslateCoordinates. Adjust position
1135 if not given by a mouse click to correspond with x-popup-menu
1136 documentation.
1137
1138 * config.in: Regenerate.
1139
1140 * gtkutil.c: Include signal.h and syssignal.h.
1141 (xg_get_file_name): Block and unblock __SIGRTMIN if defined.
1142
1143 * alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h,
1144 new variables main_thread and alloc_mutex,
1145 define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect
1146 emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread.
1147 If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same as
1148 (UN)BLOCK_INPUT.
1149 (emacs_blocked_free, emacs_blocked_malloc)
1150 (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC.
1151 (uninterrupt_malloc): Initialize main_thread and alloc_mutex.
1152 (reset_malloc_hooks): New function.
1153
1154 * lisp.h: Declare reset_malloc_hooks.
1155
1156 * emacs.c (Fdump_emacs): Call reset_malloc_hooks.
1157
1158 * keyboard.c: Conditionally include pthread.h
1159 (handle_async_input, input_available_signalt): If not in the main
1160 thread, block signal, send signal to main thread and return.
1161
1162 * gtkutil.c (xg_get_file_with_chooser): Handle local files only.
1163 Set current folder in file chooser if default_filename is a directory.
1164
1165 2004-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
1166
1167 * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end.
1168 Remove redundant correctness checks.
1169 (regex_compile): Fix up error codes for \{..\} expressions.
1170
1171 2004-12-05 Richard M. Stallman <rms@gnu.org>
1172
1173 * regex.c (regex_compile): Fix end-of-pattern case for space.
1174
1175 2004-12-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1176
1177 * macterm.h (cfstring_create_with_utf8_cstring): Add prototype.
1178 * mac.c (cfstring_create_with_utf8_cstring): Add to prevent
1179 crashes with invalid characters.
1180 * macmenu.c (add_menu_item): Use it.
1181 * image.c (image_load_quartz2d): Likewise.
1182 * macfns.c (x_set_name, x_set_title): Likewise.
1183 (Fx_file_dialog): Likewise. Use constant CFRefs instead of
1184 creating them each time for labels.
1185
1186 2004-12-02 Richard M. Stallman <rms@gnu.org>
1187
1188 * config.in (RE_TRANSLATE_P): If make_number is not a macro,
1189 don't use it here.
1190
1191 * eval.c (Fcalled_interactively_p): Don't check INTERACTIVE.
1192 (interactive_p): Skip Scalled_interactively_p frames
1193 like Sinteractive_p frames.
1194 (unwind_to_catch): Clear handling_signal.
1195
1196 * data.c (Fmake_variable_buffer_local): Doc fix.
1197 (Fmake_local_variable): Doc fix.
1198
1199 * insdel.c (insert_from_string_before_markers)
1200 (insert_from_string): Don't modify buffer on empty insertion.
1201
1202 * window.c (Fget_lru_window, Fget_largest_window): Doc fixes.
1203
1204 2004-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1205
1206 * macmenu.c (add_menu_item): Fallback on MacRoman if encoding
1207 menu text as UTF8 fails.
1208
1209 2004-12-01 Kim F. Storm <storm@cua.dk>
1210
1211 * alloc.c: Add commentary for last change.
1212 (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): New macros to handle
1213 sizeof(size_t) != 4.
1214 (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
1215 Use them. Also clear header and trailer of freed memory.
1216 (GC_STRING_OVERRUN_COOKIE_SIZE): Rename from GC_STRING_EXTRA.
1217 (string_overrun_cookie): Rename from string_overrun_pattern.
1218 (GC_STRING_EXTRA): Define from GC_STRING_OVERRUN_COOKIE_SIZE.
1219
1220 2004-12-01 Andreas Schwab <schwab@suse.de>
1221
1222 * lisp.h: Declare string_to_multibyte.
1223
1224 2004-12-01 Kenichi Handa <handa@m17n.org>
1225
1226 * w32console.c (w32con_write_glyphs): Decide coding here.
1227 Adjusted for the change of encode_terminal_code.
1228
1229 * term.c (encode_terminal_code): Don't make it "static".
1230
1231 2004-11-30 Kenichi Handa <handa@m17n.org>
1232
1233 * term.c (encode_terminal_buf, encode_terminal_bufsize): New variables.
1234 (encode_terminal_code): Argument changed. Encode all
1235 characters at once, and return a pointer to the result of encoding.
1236 (write_glyphs): Decide coding here. Adjusted for the above change.
1237 (insert_glyphs): Likewise.
1238 (term_init): Initialize encode_terminal_bufsize to 0.
1239
1240 * coding.c (Vcode_conversion_workbuf_name): New variable.
1241 (syms_of_coding): Initialize and staticpro it.
1242 (set_conversion_work_buffer): New function.
1243 (run_pre_post_conversion_on_str): Use it.
1244 (run_pre_write_conversin_on_c_str): New function.
1245
1246 * coding.h (run_pre_write_conversin_on_c_str): Extern it.
1247
1248 2004-11-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1249
1250 * keyboard.c: Don't undef SIGIO
1251 * s/darwin.h (NO_SOCK_SIGIO): Define NO_SOCK_SIGIO on carbon
1252 * Makefile.in (mac.o): Depend on blockinput.h and atimer.h.
1253 (macfns.o): Don't depend on ccl.h.
1254 * macfns.c (mac_frame_parm_handlers): Set handlers for
1255 Qleft_fringe and Qright_fringe.
1256 * macterm.c (mac_fill_rectangle_to_pixmap)
1257 (mac_draw_rectangle_to_pixmap, mac_copy_area_to_pixmap)
1258 (mac_copy_area_with_mask_to_pixmap, x_draw_image_foreground_1):
1259 Put in #if 0.
1260 (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use ScrollWindowRect.
1261 (x_flush) [TARGET_API_MAC_CARBON]: Don't traverse frames.
1262 (XFlush) [TARGET_API_MAC_CARBON]: Define to an empty replacement.
1263 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
1264 [!MAC_OS8]: Added ifdef'd out code for os8. Don't use
1265 XDrawImageString. Always draw background and foreground separately.
1266 (x_draw_image_foreground): Use clipping instead of computing the
1267 intersection rectangle.
1268 (x_draw_image_glyph_string): Don't draw an image with mask to a
1269 pixmap.
1270 (x_redisplay_interface): Set flush_display_optional member to 0.
1271 (XTread_socket): Correctly reset the TEConverter
1272 object.
1273
1274 2004-11-30 Kim F. Storm <storm@cua.dk>
1275
1276 * lisp.h: New defines to enable buffer overrun checking.
1277 (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST)
1278 (XMALLOC_OVERRUN_CHECK, GC_CHECK_CONS_LIST): Add.
1279
1280 * alloc.c: Add more checks for buffer overruns.
1281 (XMALLOC_OVERRUN_CHECK_SIZE, xmalloc_overrun_check_header)
1282 xmalloc_overrun_check_trailer, overrun_check_malloc)
1283 overrun_check_realloc, overrun_check_free): Add.
1284 (GC_STRING_EXTRA, string_overrun_pattern): Add.
1285 (check_sblock, allocate_string_data, compact_small_strings):
1286 Set and check string_overrun_pattern if GC_CHECK_STRING_OVERRUN.
1287 (check_cons_list): Condition on GC_CHECK_CONS_LIST.
1288 (check_string_free_list): Add.
1289 (allocate_string, sweep_strings): Call check_string_free_list.
1290
1291 * emacs.c (malloc_initialize_hook): Don't free malloc_state_ptr if
1292 XMALLOC_OVERRUN_CHECK to avoid crash during load.
1293
1294 2004-11-29 Kim F. Storm <storm@cua.dk>
1295
1296 * fns.c (concat): Use SAFE_ALLOCA.
1297
1298 2004-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
1299
1300 * sysdep.c (emacs_write): Don't use QUIT.
1301
1302 2004-11-29 Kenichi Handa <handa@m17n.org>
1303
1304 * buffer.c (init_buffer): Set current_buffer->directory to a
1305 multibyte string made by string_to_multibyte.
1306
1307 * emacs.c (init_cmdargs): Set unibyte strings in Vcommand_line_args.
1308
1309 2004-11-27 Andreas Schwab <schwab@suse.de>
1310
1311 * alloc.c (mark_stack): Call GC_MARK_SECONDARY_STACK if defined.
1312
1313 * s/gnu-linux.h: Enable no-op gcpros on ia64.
1314 (GC_MARK_SECONDARY_STACK) [__ia64__]: Define.
1315
1316 * filelock.c (lock_file_1): Call get_boot_time early.
1317 Increase buffer size.
1318
1319 2004-11-27 Eli Zaretskii <eliz@gnu.org>
1320
1321 * lisp.h (DECL_ALIGN): Define non-trivially only if NO_DECL_ALIGN
1322 is not defined.
1323
1324 2004-11-27 Kim F. Storm <storm@cua.dk>
1325
1326 * search.c (syms_of_search) <search-spaces-regexp>: Move 'doc:'
1327 marker out of doc string.
1328
1329 2004-11-26 Stefan Monnier <monnier@iro.umontreal.ca>
1330
1331 * s/darwin.h (POSIX_SIGNALS): Undo the removal of 2002-08-25,
1332 which was not mentioned in the log.
1333
1334 2004-11-26 Kim F. Storm <storm@cua.dk>
1335
1336 * fringe.c (update_window_fringes): Prefer truncation bitmaps over
1337 angle bitmaps at top/bottom line.
1338
1339 * xdisp.c: Undo recent changes for restoring saved_face_id. Instead,
1340 set it when it->method is set to next_element_from_display_vector.
1341 (setup_for_ellipsis): Add LEN argument. Callers changed.
1342 Set it->saved_face_id.
1343 (get_next_display_element): Use loop instead of recursion.
1344 Set it->saved_face_id. Combine duplicate code for ctr chars.
1345 (next_element_from_display_vector): Do not set it->saved_face_id.
1346 (next_element_from_ellipsis): Use setup_for_ellipsis.
1347
1348 2004-11-26 Eli Zaretskii <eliz@gnu.org>
1349
1350 * eval.c (Fdefvar): Declare pdl from last change as `volatile' to
1351 prevent compiler warnings.
1352
1353 2004-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
1354
1355 * keyboard.c (command_loop_1): Print a message describing the key
1356 the user just pressed when this key has no binding.
1357
1358 * sysdep.c (sys_signal): Don't use SA_RESTART if SYNC_INPUT is set.
1359 (emacs_open, emacs_read, emacs_write): Check QUIT when interrupted.
1360
1361 * lread.c (readchar): Check QUIT when `getc' is interrupted.
1362
1363 2004-11-24 Richard M. Stallman <rms@gnu.org>
1364
1365 * coding.c (run_pre_post_conversion_on_str): Bind Qinhibit_read_only.
1366
1367 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>: Doc fix.
1368
1369 2004-11-24 Kim F. Storm <storm@cua.dk>
1370
1371 * xdisp.c (move_it_in_display_line_to, display_line):
1372 Restore saved_face_id also when truncate-lines or hscrolled.
1373
1374 2004-11-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1375
1376 * gtkutil.c (xg_get_file_name): Rename use-old-gtk-file-dialog to
1377 x-use-old-gtk-file-dialog.
1378
1379 * xfns.c: Define x_use_old_gtk_file_dialog.
1380 (syms_of_xfns): Rename use-old-gtk-file-dialog to x-... Move it
1381 outside ifdef USE_GTK.
1382
1383 2004-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
1384
1385 * coding.h (ENCODE_FILE, DECODE_FILE, ENCODE_SYSTEM, DECODE_SYSTEM):
1386 Don't use XFASTINT blindly.
1387
1388 * config.in (RE_TRANSLATE_P): Don't use XFASTINT blindly.
1389
1390 * indent.c (skip_invisible): Avoid non-idempotent side-effects
1391 in macro arguments.
1392
1393 * keymap.c (Flookup_key): Check INTEGERP before XINT.
1394
1395 * lread.c (oblookup): Don't use XFASTINT blindly.
1396
1397 * window.c (Fset_window_scroll_bars): Don't use XINT if it isn't int.
1398 (decode_next_window_args, window_loop): Don't use XFASTINT blindly.
1399
1400 2004-11-23 Kim F. Storm <storm@cua.dk>
1401
1402 * dispextern.h (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P)
1403 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Not if dpvec_index is zero.
1404
1405 * xfaces.c (lookup_named_face): Add signal_p arg. Return -1 if
1406 signal_p is zero and face name is unknown.
1407 (Fx_list_fonts): Don't signal error in lookup_named_face.
1408 (Fface_font): Signal error in lookup_named_face.
1409 (ascii_face_of_lisp_face): Likewise.
1410
1411 * dispextern.h (lookup_named_face): Fix prototype.
1412
1413 * xdisp.c (handle_single_display_prop): Don't signal error in
1414 lookup_named_face for unknown fringe face name.
1415 (highlight_trailing_whitespace): Don't signal error in
1416 lookup_named_face if trailing-whitespace face unknown.
1417 (calc_line_height_property): Don't signal error in
1418 lookup_named_face if specified face name is unknown.
1419
1420 * fringe.c (update_window_fringes): Show top row indicator if
1421 window has header-line. Don't show arrow at bob and eob
1422 if the boundary indicators are not used.
1423 (Fset_fringe_bitmap_face): Signal error in lookup_named_face.
1424
1425 * window.c (set_window_buffer): Clear display_error_modiff.
1426
1427 2004-11-22 Kim F. Storm <storm@cua.dk>
1428
1429 * fringe.c (update_window_fringes): Provide sensible fall-back
1430 value for non-nil indicate-buffer-boundaries setting.
1431
1432 2004-11-22 Markus Rost <rost@ias.edu>
1433
1434 * minibuf.c (Fminibuffer_complete_and_exit): Fix previous change.
1435
1436 2004-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
1437
1438 * eval.c (Fdefvar): Warn when var is let-bound but globally void.
1439
1440 2004-11-21 Kim F. Storm <storm@cua.dk>
1441
1442 * xdisp.c (erase_phys_cursor): Clear hollow cursor inside TEXT_AREA.
1443
1444 * xterm.c (x_clip_to_row): Add area arg. Callers changed.
1445 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
1446
1447 * w32term.c (w32_clip_to_row): Add area arg. Callers changed.
1448 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
1449
1450 * macterm.c (x_clip_to_row): Add area arg. Callers changed.
1451 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
1452
1453 * xdisp.c (move_it_in_display_line_to, display_line):
1454 Restore saved_face_id if overflow-newline-into-fringe is enabled and
1455 line is continued before or in middle of element from display vector.
1456
1457 * indent.c (Fvertical_motion): Fix last change. Use another
1458 method to detect if iterator moved too far ahead after reseat.
1459
1460 * xdisp.c (IT_EXPAND_MATRIX_WIDTH): New macro. Do not
1461 expand matrix width for overflow in zero-width area.
1462 (append_glyph, append_composite_glyph, produce_image_glyph)
1463 (append_stretch_glyph): Use it to avoid loop in redisplay.
1464 (note_mode_line_or_margin_highlight): Don't let help-echo from
1465 string override help-echo from image map.
1466
1467 2004-11-20 Luc Teirlinck <teirllm@auburn.edu>
1468
1469 * fns.c (Fyes_or_no_p): Call Fread_from_minibuffer with extra argument.
1470 * callint.c (Fcall_interactively): Ditto.
1471
1472 2004-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
1473
1474 * minibuf.c (Fminibuffer_complete_and_exit):
1475 Fixup the case of the completed value, for case-indep completion.
1476
1477 2004-11-20 Richard M. Stallman <rms@gnu.org>
1478
1479 * lisp.h (Fread_from_minibuffer): Add arg in decl.
1480
1481 * minibuf.c (read_minibuf): New arg KEEP_ALL. Callers changed.
1482 (Fread_from_minibuffer): New arg KEEP_ALL. Callers changed.
1483
1484 * search.c (Vsearch_spaces_regexp):
1485 Rename from Vsearch_whitespace_regexp. All uses changed.
1486
1487 2004-11-20 Thien-Thi Nguyen <ttn@gnu.org>
1488
1489 * eval.c (init_eval_once): Increase `max_specpdl_size' to 650.
1490
1491 2004-11-19 Richard M. Stallman <rms@gnu.org>
1492
1493 * search.c (Vsearch_whitespace_regexp): New variable.
1494 (syms_of_search): Defvar it.
1495 (compile_pattern_1): Call re_set_whitespace_regexp with it.
1496 (search_buffer): No regexp is trivial if Vsearch_whitespace_regexp
1497 is non-nil.
1498 (struct regexp_cache): New element whitespace_regexp.
1499 (syms_of_search): Initialize whitespace_regexp elements.
1500 (compile_pattern): Compare whitespace_regexp elements.
1501 (compile_pattern_1): Set whitespace_regexp elements.
1502
1503 * regex.c (regex_compile): Substitute whitespace_regexp
1504 for spaces, if it is nonzero.
1505 (whitespace_regexp): New variable.
1506 (re_set_whitespace_regexp): New function.
1507
1508 2004-11-19 Kim F. Storm <storm@cua.dk>
1509
1510 * indent.c (Fvertical_motion): Fix last change.
1511
1512 2004-11-18 Kim F. Storm <storm@cua.dk>
1513
1514 * indent.c (Fvertical_motion): Undo 2004-11-16 change.
1515 Instead, move back again if reseating moves too far ahead.
1516
1517 2004-11-17 Luc Teirlinck <teirllm@auburn.edu>
1518
1519 * xdisp.c (message3): Call clear_message.
1520
1521 2004-11-17 Kim F. Storm <storm@cua.dk>
1522
1523 * xdisp.c (erase_phys_cursor): Adjust cursor row visible height.
1524
1525 2004-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1526
1527 * gtkutil.c (xg_get_file_name): Typo in HAVE_GTK_FILE_SELECTION_NEW.
1528
1529 * xmenu.c (x_menu_in_use): Remove.
1530 (x_menu_set_in_use): Also set popup_activated_flag.
1531
1532 * xfns.c (Fx_file_dialog): Call popup_activated instead of
1533 x_menu_in_use. Call x_menu_set_in_use in Motif version also.
1534
1535 * xterm.h: (x_menu_in_use): Remove.
1536
1537 2004-11-16 Richard M. Stallman <rms@gnu.org>
1538
1539 * keymap.c (Fmap_keymap): New arg SORT-FIRST.
1540 Use map-keymap-internal to implement that.
1541
1542 * indent.c (Fvertical_motion): In batch mode, use vmotion directly.
1543
1544 2004-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
1545
1546 * xdisp.c (get_glyph_string_clip_rect, init_glyph_string): Check it's
1547 a window before using XWINDOW.
1548
1549 * window.c (make_window, Fselect_window, make_dummy_parent)
1550 (save_window_save):
1551 * frame.c (make_frame):
1552 * fns.c (concat): Avoid side-effects inside XSETFASTINT's arguments.
1553
1554 * lisp.h (NILP): Use EQ rather than XFASTINT.
1555
1556 2004-11-16 Kim F. Storm <storm@cua.dk>
1557
1558 * fringe.c (Fdefine_fringe_bitmap): Always set 'h'. Simplify.
1559
1560 * indent.c (Fvertical_motion): Fix last change. Only reseat when
1561 moving backwards.
1562
1563 2004-11-16 Luc Teirlinck <teirllm@auburn.edu>
1564
1565 * dispextern.h: Extern reseat_at_previous_visible_line_start.
1566
1567 2004-11-16 Kenichi Handa <handa@m17n.org>
1568
1569 * xdisp.c (display_mode_element): Fix previous change (calculate
1570 end position of substring to display correctly).
1571
1572 2004-11-16 Kim F. Storm <storm@cua.dk>
1573
1574 * keyboard.c (Fposn_at_point): Remove extra */ after doc string.
1575 Reported by Andrew M. Scott.
1576
1577 2004-11-15 Kim F. Storm <storm@cua.dk>
1578
1579 * fns.c (Fsafe_plist_get): New defun.
1580 (syms_of_fns): Defsubr it.
1581
1582 * lisp.h (Fsafe_plist_get): Add EXFUN.
1583
1584 * xdisp.c (store_mode_line_string, produce_stretch_glyph):
1585 Use Fsafe_plist_get.
1586 (note_mode_line_or_margin_highlight, note_mouse_highlight):
1587 Fix image map element parsing. Use Fsafe_plist_get.
1588
1589 2004-11-15 Richard M. Stallman <rms@gnu.org>
1590
1591 * xdisp.c (get_next_display_element): Fix previous change.
1592
1593 2004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1594
1595 * window.c (shrink_windows): Handle special case of one window left
1596 when trying to shrink the final reminder. Grow windows if
1597 total_removed is less than total_shrink.
1598
1599 * xmenu.c (pop_down_menu): Remove global variable current_menu,
1600 extract pointer from arg with XSAVE_VALUE.
1601 (create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
1602 Construct arg to record_unwind_protect with make_save_value.
1603
1604 2004-11-13 Richard M. Stallman <rms@gnu.org>
1605
1606 * xdisp.c (reseat_at_previous_visible_line_start): No longer static.
1607 (get_next_display_element): Fix previous change to apply only to \n.
1608
1609 * indent.c (Fvertical_motion): Scan to PT from start of line to
1610 make iterator consistent.
1611
1612 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
1613
1614 2004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1615
1616 * gtkutil.c (pop_down_file_dialog): Add BLOCK_INPUT.
1617
1618 * xfns.c (Fx_file_dialog): Call x_menu_in_use and x_menu_set_in_use.
1619 Record unwind with clean_up_file_dialog.
1620
1621 * xterm.h (x_menu_in_use, x_menu_set_in_use, x_menu_wait_for_event):
1622 Declare.
1623
1624 * xmenu.c (x_menu_in_use, x_menu_set_in_use): New functions.
1625
1626 2004-11-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1627
1628 * gtkutil.c (xg_file_sel_ok, xg_file_sel_cancel)
1629 (xg_file_sel_destroy): Remove.
1630 (xg_file_response_cb, pop_down_file_dialog)
1631 (xg_get_file_name_from_chooser, xg_get_file_name_from_selector):
1632 New functions.
1633 (xg_get_file_with_chooser, xg_get_file_with_selection):
1634 Take new arg func, set it to xg_get_file_name_from_chooser/selector.
1635 Move common code to xg_get_file_name. Return widget created.
1636 (xg_get_file_name): Set name, transient for, modal and destroy
1637 with parent here. Connect response signal to xg_file_response_cb,
1638 connect delete-event to gtk_true. Record pop_down_file_dialog
1639 for unwind. Do event loop and call x_menu_wait_for_event in loop.
1640 (xg_create_widget): Make dialogs modal.
1641
1642 * xmenu.c (unuse_menu_items, pop_down_menu): Arg is of type
1643 Lisp_Object.
1644 (popup_get_selection): Move unwind protect ...
1645 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
1646 Move destroy of widget to pop_down_menu.
1647 (popup_widget_loop): Move unwind protect ...
1648 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
1649 Move destroy of widget to pop_down_menu.
1650 (pop_down_menu): BLOCK_INPUT and destroy widget/window.
1651 (xmenu_show): Record unwind pop_down_menu. Move XMenuDestroy,
1652 x_mouse_leave and grabbed = 0 to pop_down_menu.
1653
1654 2004-11-13 Kim F. Storm <storm@cua.dk>
1655
1656 * xdisp.c (make_cursor_line_fully_visible_p): New variable.
1657 (syms_of_xdisp): DEFVAR_BOOL it.
1658 (make_cursor_line_fully_visible, try_cursor_movement)
1659 (try_window_id): Use it.
1660
1661 2004-11-12 Kim F. Storm <storm@cua.dk>
1662
1663 * dispextern.h (struct glyph_row): New member extra_line_spacing.
1664 (struct it): New member max_extra_line_spacing.
1665 (MR_PARTIALLY_VISIBLE, MR_PARTIALLY_VISIBLE_AT_TOP)
1666 (MR_PARTIALLY_VISIBLE_AT_BOTTOM): New helper macros.
1667 (MATRIX_ROW_PARTIALLY_VISIBLE_P): Fix to return false if invisible
1668 part of last line is only extra line spacing (so the text on the
1669 line is fully visible). Use helper macros.
1670 Add W arg (to use them). All callers changed.
1671 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P)
1672 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P): Use helper macros.
1673
1674 * window.c (window_scroll_pixel_based, Frecenter):
1675 Use move_it_vertically_backward directly.
1676 (Frecenter): Fix calculation of new start pos for negative arg.
1677 Before, the new start pos was sometimes chosen too far back, so
1678 the last line became only partially visible, and thus would be
1679 either only semi-visible or automatically scrolled to the middle
1680 of the window by redisplay.
1681
1682 * xdisp.c (init_iterator): Clear it.max_extra_line_spacing.
1683 (move_it_vertically_backward): Don't recure to move further back.
1684 (move_it_vertically): Remove superfluous condition.
1685 (move_it_by_lines): Clear last_height when moved 0 lines.
1686 (resize_mini_window): Use it.max_extra_line_spacing.
1687 (display_tool_bar_line): Clear row->extra_line_spacing.
1688 (try_scrolling): Use move_it_vertically_backward directly.
1689 (redisplay_window): Likewise.
1690 (compute_line_metrics): Set row->extra_line_spacing.
1691 (display_line, display_string): Likewise.
1692 (x_produce_glyphs): Update it->max_extra_line_spacing.
1693
1694 * xmenu.c (pop_down_menu): Return nil.
1695
1696 2004-11-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1697
1698 * xmenu.c (x_menu_wait_for_event): New function.
1699 (popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event
1700 to handle timers.
1701 (popup_widget_loop): Add argument do_timers.
1702 (create_and_show_popup_menu, create_and_show_dialog): Pass 1 for
1703 do_timers to popup_widget_loop.
1704 (xmenu_show): Call XMenuActivateSetWaitFunction so that
1705 x_menu_wait_for_event is called by XMenuActivate.
1706 (create_and_show_popup_menu): Pass 1 for do_timers to
1707 popup_get_selection.
1708 (pop_down_menu): New function.
1709 (popup_get_selection, popup_widget_loop): Unwind protect to
1710 pop_down_menu.
1711 (popup_widget_loop): Add argument widget.
1712 (create_and_show_popup_menu, create_and_show_dialog): Pass new
1713 argument widget to popup_widget_loop.
1714
1715 2004-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
1716
1717 * keymap.c (Fkeymap_prompt): Accept symbol keymaps.
1718
1719 2004-11-09 Kim F. Storm <storm@cua.dk>
1720
1721 * xselect.c: Include <sys/types.h> and <unistd.h> (for getpid).
1722 Fix various comments referring to XEvents instead of input events.
1723 (x_queue_event): Fix format strings.
1724 (x_stop_queuing_selection_requests): Likewise.
1725
1726 * xdisp.c (produce_image_glyph): Remove unused variable 'face_ascent'.
1727 (pint2hrstr): Add extra braces to silence compiler.
1728
1729 * print.c (print_object): Fix format string.
1730
1731 * lread.c (read1): Fix next_char matching.
1732
1733 * lisp.h (Fdelete): Add EXFUN.
1734 (replace_range_2): Add prototype.
1735
1736 * keyboard.c (read_avail_input): Remove unused variable 'discard'.
1737
1738 * intervals.h (NULL_INTERVAL_P): Add separate version when
1739 ENABLE_CHECKING is not defined to silence compiler.
1740 (compare_string_intervals): Add prototype.
1741
1742 * fringe.c (destroy_fringe_bitmap): Fix return type.
1743 (Ffringe_bitmaps_at_pos): Remove unused var 'old_buffer'.
1744
1745 * emacs.c (Fdump_emacs): Fix format string.
1746
1747 * doc.c: Include <ctype.h>.
1748 (Fsubstitute_command_keys): Remove unused variable 'firstkey'.
1749
1750 * data.c (store_symval_forwarding): Remove unused variables.
1751
1752 * callint.c (Fcall_interactively): Remove unused variable 'funcar'.
1753
1754 2004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1755
1756 * Makefile.in (stamp-oldxmenu): If HAVE_GTK, don't add dependencies
1757 to ${OLDXMENU}.
1758
1759 2004-11-09 Kim F. Storm <storm@cua.dk>
1760
1761 * process.c (Fmake_network_process): Remove kludge for interrupted
1762 connects on BSD. If connect is interrupted, just close socket and
1763 start over rather than sleeping and retry with same socket.
1764
1765 2004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1766
1767 * .cvsignore: Add buildobj.lst.
1768
1769 * doc.c: New variable Vbuild_files.
1770 (Fsnarf_documentation): If Vbuild_files is nil, populate it with
1771 file names from buildobh.lst. Only attach docstrings from files
1772 that are in Vbuild_files.
1773 (syms_of_doc): Defvar Vbuild_files.
1774
1775 * Makefile.in (SOME_MACHINE_OBJECTS): Add fringe.o, image.o
1776 and w32*.o.
1777 (temacs${EXEEXT}): Generate buildobj.lst when temacs is linked.
1778 (mostlyclean): Rm buildobj.lst
1779
1780 * makefile.w32-in ($(TEMACS)): Generate buildobj.lst when temacs
1781 is linked.
1782
1783 2004-11-09 Kim F. Storm <storm@cua.dk>
1784
1785 * fringe.c (update_window_fringes): Update fringe bitmaps if
1786 cur and row ends_at_zv_p differs. If bitmaps of a row is updated,
1787 also update previous row to get rid of misc. artifacts.
1788
1789 2004-11-08 Kim F. Storm <storm@cua.dk>
1790
1791 * xdisp.c (fast_find_position): Fix start pos if header line present.
1792 (note_mouse_highlight): Clear mouse face if we move out of text area.
1793
1794 2004-11-08 Eli Zaretskii <eliz@gnu.org>
1795
1796 * editfns.c: Move #include "systime.h" before <sys/resource.h>.
1797 Don't include <sys/time.h> explicitly.
1798 Include <stdio.h> unconditionally, not just on MacOS.
1799
1800 2004-11-08 Kenichi Handa <handa@m17n.org>
1801
1802 * fontset.c (fontset_pattern_regexp): Cancel my previous change;
1803 don't pay attention to '\' before '*'.
1804 (fontset_pattern_regexp): Change the meaning of the second arg.
1805 (Fnew_fontset): Call fs_query_fontset, not Fquery_fontset.
1806 (check_fontset_name): Try NAME as literal at first, and if it
1807 failes, try NAME as pattern.
1808
1809 2004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1810
1811 * emacs.c (Fdump_emacs): Only output warning on GNU/Linux.
1812
1813 2004-11-07 Andreas Schwab <schwab@suse.de>
1814
1815 * lisp.h (Fmsdos_downcase_filename): Declare.
1816 * dired.c (Fmsdos_downcase_filename): Don't declare here.
1817 * fileio.c: Likewise.
1818
1819 2004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1820
1821 * dosfns.c (Fdos_memget, Fdos_memput): Use integer variable offs in
1822 comparisons with integers instead of Lisp_Object address.
1823 (Fmsdos_set_keyboard): Declare argument allkeys.
1824
1825 * msdos.c (IT_set_frame_parameters): Use EQ, not ==, for Lisp_Object:s.
1826
1827 * dired.c (Fmsdos_downcase_filename): Declare extern on MSDOS to avoid
1828 int/Lisp_Object mixup.
1829
1830 * fileio.c: Ditto.
1831
1832 2004-11-06 Steven Tamm <steventamm@mac.com>
1833
1834 * editfns.c: Need to include sys/time.h before resource.h on darwin.
1835
1836 2004-11-06 Richard M. Stallman <rms@gnu.org>
1837
1838 * callint.c (Fcall_interactively): Avoid reusing EVENT for other data.
1839
1840 * xfaces.c (merge_named_face): GCPRO the face_name in the
1841 named_merge_point struct that we make.
1842 (merge_face_heights): Eliminate GCPRO arg. All callers changed.
1843
1844 * keyboard.c (command_loop_1): Change Vtransient_mark_mode
1845 before deciding whether to inactivate mark.
1846
1847 2004-11-06 Lars Brinkhoff <lars@nocrew.org>
1848
1849 * config.in: Regenerate (add HAVE_GETRUSAGE).
1850 * editfns.c (Fget_internal_run_time): New function.
1851 (syms_of_data): Defsubr it.
1852 * fns.c (sxhash): As far as possible, merge calculation of
1853 hash code for symbols and strings.
1854
1855 2004-11-06 Eli Zaretskii <eliz@gnu.org>
1856
1857 * frame.c (syms_of_frame): Fix the example in the doc string.
1858
1859 2004-11-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1860
1861 * eval.c (Feval): Remove check for INPUT_BLOCKED_P.
1862
1863 * xmenu.c (popup_get_selection, create_and_show_popup_menu)
1864 (create_and_show_dialog): Revert change from 2004-10-31.
1865
1866 2004-11-05 Luc Teirlinck <teirllm@auburn.edu>
1867
1868 * macros.c (syms_of_macros) <defining-kbd-macro>: Doc fix.
1869
1870 2004-11-05 Kim F. Storm <storm@cua.dk>
1871
1872 * print.c (print_object): Print Lisp_Misc_Save_Value objects.
1873
1874 * fileio.c (Ffile_modes): Doc fix.
1875 (auto_save_1): Check for Ffile_modes nil value.
1876
1877 2004-11-05 Kim F. Storm <storm@cua.dk>
1878
1879 * xselect.c (struct selection_event_queue, selection_queue)
1880 (x_queue_selection_requests, x_queue_event)
1881 (x_start_queuing_selection_requests)
1882 (x_stop_queuing_selection_requests): Add new queue for selection
1883 input events to replace previous XEvent queue in xterm.c.
1884 (queue_selection_requests_unwind): Adapt to new queue.
1885 (x_reply_selection_request): Adapt to new queue.
1886 Unexpect wait_object in case of x errors (memory leak).
1887 (x_handle_selection_request, x_handle_selection_clear): Make static.
1888 (x_handle_selection_event): New function. May queue selection events.
1889 (wait_for_property_change_unwind): Use save_value instead of cons.
1890 Clear property_change_reply_object.
1891 (wait_for_property_change): Abort if already waiting.
1892 Use save_value instead of cons for unwind data.
1893 (x_handle_property_notify): Skip events already arrived, but don't
1894 free them, as "arrived" field is checked by wait_for_property_change,
1895 and it will be freed by unwind or explicit unexpect_property_change.
1896 (x_get_foreign_selection): Add to new queue.
1897 (receive_incremental_selection): Don't unexpect wait_object when done
1898 as it has already been freed by previous wait_for_property_change.
1899
1900 * xterm.h (x_start_queuing_selection_requests)
1901 (x_stop_queuing_selection_requests, x_handle_selection_request)
1902 (x_handle_selection_clear): Remove prototypes.
1903 (x_handle_selection_event): Add prototype.
1904
1905 * xterm.c (handle_one_xevent): Don't queue X selection events
1906 here, it may be too late if we start queuing after we have already
1907 stored some selection events into the kbd buffer.
1908 (struct selection_event_queue, queue, x_queue_selection_requests)
1909 (x_queue_event, x_unqueue_events, x_start_queuing_selection_requests)
1910 (x_stop_queuing_selection_requests): Remove/move to xselect.c.
1911 (x_catch_errors_unwind): Block input around final XSync.
1912
1913 * keyboard.h (kbd_buffer_unget_event): Add prototype.
1914
1915 * keyboard.c (kbd_buffer_store_event_hold): Remove obsolete code.
1916 (kbd_buffer_unget_event): New function.
1917 (kbd_buffer_get_event, swallow_events): Combine SELECTION events
1918 and use x_handle_selection_event.
1919 (mark_kboards): Don't mark x and y of SELECTION_CLEAR_EVENT.
1920
1921 2004-11-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1922
1923 * xselect.c (TRACE3): New debug macro.
1924 (x_reply_selection_request): Use it.
1925 (receive_incremental_selection): In call to TRACE0, the name of
1926 a symbol is in xname.
1927
1928 2004-11-05 Kim F. Storm <storm@cua.dk>
1929
1930 * fontset.c (fontset_pattern_regexp): Use unsigned char.
1931
1932 2004-11-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1933
1934 * fileio.c (Fnext_read_file_uses_dialog_p): New function.
1935
1936 * gtkutil.h (use_old_gtk_file_dialog): Declare.
1937
1938 * gtkutil.c: Make use_old_gtk_file_dialog non-static.
1939 (xg_initialize): Move DEFVAR_BOOL for use_old_gtk_file_dialog ...
1940 * xfns.c (syms_of_xfns): ... to here.
1941
1942 * gtkutil.c (xg_get_file_with_chooser): Expand DEFAULT_FILENAME if
1943 it doesn't start with /.
1944
1945 2004-11-04 Kenichi Handa <handa@m17n.org>
1946
1947 * fontset.c (fontset_pattern_regexp): If '*' is preceded by '\',
1948 treat it as a literal character.
1949
1950 2004-11-03 Kim F. Storm <storm@cua.dk>
1951
1952 * .gdbinit (ppt): New function.
1953
1954 2004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1955
1956 * xterm.c (x_window_to_scroll_bar): Only call
1957 xg_get_scroll_id_for_window if toolkit scroll bars are used.
1958
1959 * gtkutil.c (xg_get_file_with_chooser): Use GTK_STOCK_OK instead
1960 of save.
1961
1962 2004-11-02 Andreas Schwab <schwab@suse.de>
1963
1964 * window.c (Fscroll_right): Fix last change.
1965
1966 2004-11-02 Kim F. Storm <storm@cua.dk>
1967
1968 * Makefile.in (callproc.o): Depend on blockinput.h atimer.h systime.h.
1969
1970 2004-11-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1971
1972 * callproc.c (Fcall_process): Block input around vfork.
1973
1974 2004-11-02 Kim F. Storm <storm@cua.dk>
1975
1976 * eval.c (Fcalled_interactively_p): Rename from Fcall_interactive_p.
1977 (syms_of_eval): Defsubr it.
1978
1979 2004-11-02 Richard M. Stallman <rms@gnu.org>
1980
1981 * insdel.c (replace_range_2): New function.
1982
1983 * casefiddle.c (casify_region): Handle changes in byte-length
1984 using replace_range_2.
1985
1986 * emacs.c (USAGE3): Delete --horizontal-scroll-bars, -hb.
1987
1988 * xdisp.c (back_to_previous_visible_line_start):
1989 Subtract 1 from pos when checking previous newline for invisibility.
1990
1991 * window.c (window_scroll_pixel_based): Update preserve_y
1992 for header line if any.
1993 (Fscroll_left, Fscroll_right): Don't call interactive_p;
1994 use a new second argument instead.
1995
1996 * eval.c (Fcall_interactive_p): New function.
1997 (interactive_p): Don't test INTERACTIVE here.
1998 (Finteractive_p): Doc fix.
1999
2000 * eval.c (Feval): Abort if INPUT_BLOCKED_P.
2001
2002 2004-11-02 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
2003
2004 * w32fns.c (w32_font_match): Use fast_string_match_ignore_case for
2005 comparing font names.
2006
2007 2004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2008
2009 * fileio.c (Fread_file_name): Pass Qt as fifth parameter to
2010 Fx_file_dialog if only directories should be read.
2011
2012 * lisp.h: Fx_file_dialog takes 5 parameters.
2013
2014 * xfns.c (Fx_file_dialog): Both Motif and GTK version:
2015 Add parameter only_dir_p.
2016 In Motif version, don't put DEFAULT_FILENAME in filter part of the
2017 dialog, just text field part. Do not add DEFAULT_FILENAME
2018 to list of files if it isn't there.
2019 In GTK version, pass only_dir_p parameter to xg_get_file_name.
2020
2021 * macfns.c (Fx_file_dialog): Add parameter only_dir_p.
2022 Check only_dir_p instead of comparing prompt to "Dired". When using
2023 a save dialog, add option kNavDontConfirmReplacement, change title
2024 to "Enter name", change text for save button to "Ok".
2025
2026 * w32fns.c (Fx_file_dialog): Add parameter only_dir_p.
2027 Check only_dir_p instead of comparing prompt to "Dired".
2028
2029 * gtkutil.c (xg_get_file_with_chooser)
2030 (xg_get_file_with_selection): New functions, only defined ifdef
2031 HAVE_GTK_FILE_CHOOSER_DIALOG_NEW and HAVE_GTK_FILE_SELECTION_NEW
2032 respectively.
2033 (xg_get_file_name): Add parameter only_dir_p.
2034 Call xg_get_file_with_chooser or xg_get_file_with_selection
2035 depending on HAVE_GTK_FILE* and the value of use_old_gtk_file_dialog.
2036 (xg_initialize): New DEFVAR_BOOL use_old_gtk_file_dialog.
2037
2038 * gtkutil.h (xg_get_file_name): Add parameter only_dir_p.
2039
2040 * config.in: Rebuild (added HAVE_GTK_FILE_*).
2041
2042 2004-11-01 Kim F. Storm <storm@cua.dk>
2043
2044 * process.c (connect_wait_mask, num_pending_connects):
2045 Only declare and use them if NON_BLOCKING_CONNECT is defined.
2046 (init_process): Initialize them if NON_BLOCKING_CONNECT defined.
2047 (IF_NON_BLOCKING_CONNECT): New helper macro.
2048 (wait_reading_process_output): Only declare and use local vars
2049 Connecting and check_connect when NON_BLOCKING_CONNECT is defined.
2050
2051 2004-11-01 Andy Petrusenco <Igrek@star-sw.com> (tiny change)
2052
2053 * w32term.c (x_scroll_run): Delete region objects after use.
2054
2055 2004-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2056
2057 * xmenu.c: Add prototypes for forward function declarations.
2058 (popup_get_selection): Remove parameter do_timers, remove call to
2059 timer_check.
2060 (create_and_show_popup_menu, create_and_show_dialog):
2061 Remove parameter do_timers from call to popup_get_selection.
2062
2063 * xdisp.c (update_tool_bar): Pass a copy of f->tool_bar_items to
2064 tool_bar_items and assign the result to f->tool_bar_items if
2065 not equal. Move BLOCK/UNBLOCK_INPUT from around call to
2066 tool_bar_items to assignment of result.
2067
2068 * atimer.c (alarm_signal_handler): Do not call set_alarm if
2069 pending_atmers is non-zero.
2070
2071 2004-10-31 Kim F. Storm <storm@cua.dk>
2072
2073 * dispnew.c (margin_glyphs_to_reserve): Don't use ncols_scale_factor.
2074
2075 2004-10-28 Will <will@glozer.net>
2076
2077 * macterm.c: allow user to assign key modifiers to the Mac Option
2078 key via a 'mac-option-modifier' variable.
2079
2080 2004-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2081
2082 * xselect.c (Vx_lost_selection_functions, Vx_sent_selection_functions):
2083 Rename from Vx_lost_selection_hooks and Vx_sent_selection_hooks.
2084 (x_handle_selection_request, x_handle_selection_clear)
2085 (x_clear_frame_selections, syms_of_xselect): Adjust accordingly.
2086
2087 2004-10-28 Richard M. Stallman <rms@gnu.org>
2088
2089 * w32fns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
2090
2091 * xfns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
2092
2093 2004-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
2094
2095 * syntax.c (scan_sexps_forward): Give precedence to a 2-char
2096 comment-starter over a 1-char one.
2097
2098 2004-10-27 Richard M. Stallman <rms@gnu.org>
2099
2100 * xdisp.c (get_next_display_element): In mode lines,
2101 treat newline and tab like other control characters.
2102
2103 * editfns.c (Fmessage): Doc fix.
2104
2105 * indent.c (vmotion): When moving up, check the newline before.
2106 Make prevline an int, not a Lisp_Object.
2107
2108 2004-10-27 Kim F. Storm <storm@cua.dk>
2109
2110 * editfns.c (Fformat): Allocate discarded table with SAFE_ALLOCA.
2111 Only allocate info and discarded tables once.
2112
2113 * lisp.h (USE_SAFE_ALLOCA): Add and init sa_must_free integer.
2114 (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used.
2115 (SAFE_FREE): Test it to determine if we need to unwind to free.
2116 Remove size arg. All users changed.
2117 (SAFE_FREE_LISP) Remove. All users changed to use SAFE_FREE.
2118
2119 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2120
2121 * gtkutil.c: Put empty line between comment and function body.
2122 (xg_destroy_widgets): Rename from remove_from_container.
2123 Just destroy all widgets in list. Argument wcont removed.
2124 (xg_update_menubar, xg_update_submenu): Call xg_destroy_widgets
2125 instead of remove_from_container.
2126 (xg_display_close, xg_create_tool_bar, update_frame_tool_bar)
2127 (free_frame_tool_bar): Add comment.
2128
2129 * xfns.c (xic_create_xfontset): Check that FRAME_XIC_BASE_FONTNAME
2130 is not NULL before strcmp.
2131
2132 2004-10-26 Kim F. Storm <storm@cua.dk>
2133
2134 * callint.c (Fcall_interactively): Add 'U' code to get the
2135 up-event discarded by a previous 'k' or 'K' argument.
2136
2137 2004-10-26 David Kastrup <dak@gnu.org>
2138
2139 * buffer.c (syms_of_buffer): Fix a few typos.
2140
2141 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2142
2143 * xsmfns.c: Put empty line between comment and function body.
2144 Use two spaces before comment end.
2145
2146 2004-10-25 Kenichi Handa <handa@m17n.org>
2147
2148 * fontset.c (fontset_pattern_regexp): Optimize for the case that
2149 PATTERN is full XLFD.
2150
2151 2004-10-24 Kenichi Handa <handa@m17n.org>
2152
2153 * regex.h (enum reg_errcode_t): New value REG_ERANGEX.
2154
2155 * regex.c (re_error_msgid): Add an entry for REG_ERANGEX.
2156 (regex_compile): Return REG_ERANGEX if appropriate.
2157
2158 2004-10-22 Kenichi Handa <handa@m17n.org>
2159
2160 * editfns.c (Ftranslate_region_internal): New function.
2161 (syms_of_editfns): Defsubr it.
2162
2163 2004-10-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2164
2165 * xfns.c (xic_create_xfontset): Initialize missing_list to NULL.
2166
2167 2004-10-21 K\e,Aa\e(Broly L\e$,1 q\e(Brentey <lorentey@elte.hu>
2168
2169 * xterm.h (x_output): New member `xic_base_fontname'.
2170 (FRAME_XIC_BASE_FONTNAME): New macro.
2171 (xic_free_xfontset): Declare.
2172
2173 * xfns.c (xic_create_xfontset): Share fontsets between frames
2174 based on base_fontname.
2175 (xic_free_xfontset): New function.
2176 (free_frame_xic): Use it.
2177 (xic_set_xfontset): Ditto.
2178
2179 * xterm.c (xim_destroy_callback): Ditto.
2180
2181
2182 2004-10-20 B. Anyos <banyos@freemail.hu> (tiny change)
2183
2184 * w32term.c (x_draw_glyph_string): Use overline_color for overlines.
2185
2186 2004-10-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2187
2188 * xterm.h (XSync): If USE_GTK, define XSync as process_all and then
2189 XSync.
2190
2191 * emacs.c (my_heap_start, heap_bss_diff, MAX_HEAP_BSS_DIFF):
2192 New variables and constant.
2193 (main): Calculate heap_bss_diff. If we are dumping and the
2194 heap_bss_diff is greater than MAX_HEAP_BSS_DIFF, set PER_LINUX32
2195 and exec ourself again.
2196 (Fdump_emacs): If heap_bss_diff is greater than MAX_HEAP_BSS_DIFF
2197 print a warning.
2198
2199 * lastfile.c: Make my_endbss and my_endbss_static available on all
2200 platforms.
2201
2202 * Makefile.in (RUN_TEMACS): Remove @SETARCH@.
2203 * config.in (HAVE_PERSONALITY_LINUX32): Regenerate.
2204
2205 2004-10-19 Luc Teirlinck <teirllm@auburn.edu>
2206
2207 * data.c (Flocal_variable_if_set_p): Doc fix.
2208
2209 2004-10-19 Jason Rumney <jasonr@gnu.org>
2210
2211 * w32.c (init_environment): Set emacs_dir correctly when running
2212 emacs from the build directory.
2213
2214 2004-10-19 Richard M. Stallman <rms@gnu.org>
2215
2216 * editfns.c (Fdelete_and_extract_region):
2217 If region is empty, return null string.
2218
2219 2004-10-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2220
2221 * gtkutil.h (xg_update_scrollbar_pos): Remove arguments real_left
2222 and canon_width.
2223 (xg_frame_cleared): Remove.
2224
2225 * gtkutil.c (xg_frame_cleared, xg_fixed_handle_expose)
2226 (xg_find_top_left_in_fixed): Remove.
2227 (xg_create_scroll_bar): Put an event box widget between
2228 the scroll bar widget and the edit widget.
2229 (xg_show_scroll_bar): Show the parent widget (the event box).
2230 (xg_remove_scroll_bar): Destroy parent (the event box) also.
2231 (xg_update_scrollbar_pos): Remove arguments real_left and canon_width.
2232 Move the parent (the event box) widget inside the fixed widget.
2233 Move window clear to xterm.c.
2234
2235 * gtkutil.h (xg_frame_cleared): Remove.
2236
2237 * xterm.c (x_clear_frame): Remove call to xg_frame_cleared
2238 (x_scroll_bar_create, XTset_vertical_scroll_bar):
2239 Remove arguments left and width to xg_update_scrollbar_pos.
2240 (XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also.
2241
2242 2004-10-19 Kenichi Handa <handa@m17n.org>
2243
2244 * xdisp.c (display_mode_element): Fix display of wide chars.
2245
2246 2004-10-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2247
2248 * gtkutil.c (xg_update_scrollbar_pos): Change XClearWindow to
2249 gdk_window_clear and move gdk_window_process_all_updates after
2250 clear so events are sent to the X server in correct order.
2251
2252 2004-10-18 Kenichi Handa <handa@m17n.org>
2253
2254 * fontset.c (fs_load_font): Use fast_string_match_ignore_case for
2255 comparing font names.
2256 (fs_query_fontset): Use fast_string_match for comparing fontset names.
2257 (list_fontsets): Likewise.
2258
2259 * search.c (fast_string_match_ignore_case): New function.
2260
2261 * lisp.h (fast_string_match_ignore_case): Extern it.
2262
2263 2004-10-17 Kim F. Storm <storm@cua.dk>
2264
2265 * xdisp.c (overlay_arrow_at_row): Return overlay string rather
2266 than bitmap if there is not left fringe.
2267 (get_overlay_arrow_glyph_row): Also used on windows system.
2268 (display_line): Display overlay string if no left fringe.
2269
2270 2004-10-16 Jason Rumney <jasonr@gnu.org>
2271
2272 * w32fns.c (w32_font_match): Encode font name being matched.
2273
2274 2004-10-16 Richard M. Stallman <rms@gnu.org>
2275
2276 * window.c (Fspecial_display_p): Doc fix.
2277
2278 2004-10-15 Stefan Monnier <monnier@iro.umontreal.ca>
2279
2280 * doc.c (Fsubstitute_command_keys): Fix remap-handling.
2281 Don't ignore menus, because where-is-internal already does it for us.
2282
2283 2004-10-15 Kim F. Storm <storm@cua.dk>
2284
2285 * xdisp.c (redisplay_window): Only update fringes and vertical
2286 border on window frames.
2287
2288 2004-10-14 Andreas Schwab <schwab@suse.de>
2289
2290 * m/ia64.h (DATA_SEG_BITS): Don't define.
2291
2292 2004-10-14 Kim F. Storm <storm@cua.dk>
2293
2294 * xterm.h: Include Xutil.h after keysym.h to work around bug
2295 in some X versions.
2296
2297 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
2298
2299 * fns.c (map_char_table): Add missing gcpros.
2300
2301 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
2302
2303 * keymap.c (get_keymap): An autoload form is not a keymap.
2304
2305 * textprop.c (syms_of_textprop): Make `syntax-table' nonsticky.
2306
2307 2004-10-13 Kim F. Storm <storm@cua.dk>
2308
2309 * callproc.c (Fcall_process): Simplify handling of display arg.
2310 Resume `display_on_the_fly' once a coding system is determined.
2311
2312 * xdisp.c (redisplay_preserve_echo_area): Fix last change.
2313
2314 2004-10-12 Kim F. Storm <storm@cua.dk>
2315
2316 * xdisp.c (redisplay_preserve_echo_area): Flush display in case
2317 caller, such as call-process, is not going to poll for input.
2318 (calc_line_height_property): Handle case where it->object is nil.
2319
2320 * xterm.c (x_redisplay_interface): Fix flush_display_optional.
2321
2322 2004-10-12 Kenichi Handa <handa@m17n.org>
2323
2324 * xdisp.c (get_next_display_element):
2325 If unibyte_display_via_language_environment is zero, display 8-bit
2326 chars in octal in unibyte buffer.
2327
2328 2004-10-12 Kim F. Storm <storm@cua.dk>
2329
2330 * doc.c (Fsubstitute_command_keys): Ignore remappings unless there
2331 are no ordinary bindings.
2332
2333 2004-10-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2334
2335 * xfns.c (syms_of_xfns): Defsubr x-file-dialog for GTK also.
2336
2337 2004-10-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2338
2339 * macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow.
2340 (x_lower_frame): Add BLOCK_INPUT around SendBehind.
2341 (make_mac_frame): Add BLOCK_INPUT around the making of a
2342 terminal frame.
2343 (mac_initialize): Add BLOCK_INPUT around carbon initialization.
2344 * macgui.h (mktime): Use emacs_mktime.
2345 * macfns.c (Fx_file_dialog): Add BLOCK_INPUT around more code.
2346 Make a cancel file-open dialog be like C-g.
2347 * mac.c (mktime): Use emacs_mktime.
2348 (Fdo_applescript): Add BLOCK_INPUT around do_applescript.
2349 (Fmac_paste_function): Add better error handling for carbon cut/paste.
2350
2351 2004-10-10 Kim F. Storm <storm@cua.dk>
2352
2353 * keyboard.c (timer_resume_idle): New function to resume idle
2354 timer without resetting timers on the idle list.
2355 (read_char): Use timer_resume_idle. Remove local var last_idle_start.
2356 (timer_start_idle, timer_stop_idle): Declare static.
2357 (read_key_sequence): Use timer_resume_idle instead of timer_start_idle.
2358
2359 * keyboard.h (timer_start_idle, timer_stop_idle): Remove prototypes.
2360
2361 2004-10-08 Steven Tamm <steventamm@mac.com>
2362
2363 * config.in (HAVE_MALLOC_MALLOC_H): Regenerate.
2364 * macterm.c (mac_check_for_quit_char): Remove warning for using
2365 NULL where 0 should be used.
2366 * unexmacosx.c: Use malloc/malloc.h on Tiger instead of
2367 objc/malloc.h
2368 * mac.c: Include time.h for Tiger compatibility.
2369
2370 2004-10-07 Kim F. Storm <storm@cua.dk>
2371
2372 * xdisp.c (redisplay_window): Fix flicker on vertical line between
2373 windows. Update vertical line after drawing window fringes, but
2374 only if actually drawing any bitmaps--or there is no fringe.
2375
2376 * xterm.c (x_update_window_end): Likewise.
2377 * macterm.c (x_update_window_end): Likewise.
2378 * w32term.c (x_update_window_end): Likewise.
2379
2380 * fringe.c (draw_window_fringes): Return value now indicates if
2381 any fringe bitmaps were redrawn (or there are no fringes).
2382
2383 * dispextern.h (draw_window_fringes): Update prototype.
2384
2385 2004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2386
2387 * macfns.c (mac_get_window_bounds): Add extern.
2388 (x_real_positions): Use mac_get_window_bounds.
2389
2390 * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for
2391 xmenu.c (YAILOM).
2392
2393 * macterm.c [!MAC_OSX]: Include Windows.h.
2394 (front_emacs_window): Rename from mac_front_window. All uses
2395 changed. Return the frontmost non-tooltip emacs window.
2396 (mac_get_window_bounds): New function.
2397 (x_calc_absolute_position): Use the difference of width and height
2398 between the inner and outer window.
2399 (x_set_offset): Specify window position by the coordinae of the
2400 outer window. Adjust the position if the title bar is completely
2401 outside the screen.
2402 (app_is_suspended, app_sleep_time): Remove unused variables.
2403 (do_app_resume, do_app_suspend): Remove their contents because
2404 window-activate/deactivate events will do the job.
2405 (do_zoom_window): Remove unused variables. Make compliant to the
2406 standard way of zooming. Set f->left_pos and f->top_pos.
2407 (XTread_socket): Don't use argument `expected'. Don't use
2408 FrontWindow to determine the clicked window. Exclude unprocessed
2409 mouseUp cases in the early stage. Add parentheses to fix operator
2410 precedence.
2411 (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area.
2412
2413 2004-10-05 Jan Dj\e,Ad\e(Brv. <jan.h.d@swipnet.se>
2414
2415 * config.in: Regenerate.
2416
2417 * Makefile.in (RUN_TEMACS): Check HAVE_RANDOM_HEAPSTART instead of
2418 HAVE_EXECSHIELD.
2419
2420 2004-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2421
2422 * xterm.c (x_find_modifier_meanings): Ignore any Super or Hyper for
2423 a row if Alt or Meta has been found for that row. Also stop scanning
2424 for Keysyms for that row.
2425
2426 2004-10-04 Kim F. Storm <storm@cua.dk>
2427
2428 * fringe.c (Ffringe_bitmaps_at_pos): Change return value from cons
2429 to list. Include overlay arrow bitmap in return value.
2430
2431 * xterm.c (XTset_vertical_scroll_bar): Improve handling of scroll
2432 bars with fractional column width. If scroll bar separates two
2433 windows, move it towards the window it belongs to. Only update
2434 the padding area below the scroll bar widget when necessary,
2435 i.e. when scroll bar widget is created, moved, or resized.
2436
2437 * xdisp.c (define_frame_cursor1): Do not change frame cursor
2438 while tracking/dragging mouse.
2439 (x_draw_vertical_border): Do not draw line if frame has scroll bars.
2440
2441 * window.c (coordinates_in_window): Relax check for cursor
2442 on vertial border between mode lines.
2443 (Fset_window_fringes): Do not allow negative widths.
2444 (Fset_window_scroll_bars): Likewise.
2445
2446 * .gdbinit (pp): Shorthand for p ARG + pr.
2447 (ff): New command: flush frame updates (X only).
2448
2449 2004-10-03 Michael Albinus <michael.albinus@gmx.de>
2450
2451 * fileio.c (auto_save_1) Call Ffile_modes for remote files.
2452
2453 2004-09-30 Kenichi Handa <handa@m17n.org>
2454
2455 * process.c (send_process): Free composition data.
2456
2457 * fileio.c (Finsert_file_contents): Free composition data.
2458
2459 * coding.c (code_convert_region): Don't skip ASCIIs if there are
2460 compositions to encode.
2461 (encode_coding_string): Likewise. Free composition data.
2462
2463 2004-09-30 Florian Weimer <fw@deneb.enyo.de>
2464
2465 * coding.c (code_convert_region): Free composition data.
2466
2467 2004-09-29 Kim F. Storm <storm@cua.dk>
2468
2469 * fringe.c: Remove limit on number of bitmaps.
2470 (fringe_bitmaps, fringe_faces): Change to pointers.
2471 (max_fringe_bitmaps): New var.
2472 (Fdefine_fringe_bitmap): Expand fringe_bitmaps and fringe_faces.
2473 (init_fringe): Allocate fringe_bitmaps and fringe_faces.
2474
2475 * dispextern.h (FRINGE_ID_BITS): Increase to 16 bits (64K bitmaps).
2476 (struct glyph_row): Reorder fringe_bitmap related fields.
2477 (struct it): Likewise.
2478
2479 * w32term.c (fringe_bmp): Change to pointer.
2480 (max_fringe_bmp): New var.
2481 (w32_define_fringe_bitmap): Expand fringe_bmp.
2482 (w32_draw_fringe_bitmap): Check max_fringe_bmp.
2483 (w32_destroy_fringe_bitmap): Likewise.
2484
2485 2004-09-29 Kim F. Storm <storm@cua.dk>
2486
2487 * fringe.c: Simplify last change.
2488 (lookup_fringe_bitmap): New function.
2489 (valid_fringe_bitmap_p, resolve_fringe_bitmap): Remove.
2490 (Fdestroy_fringe_bitmap): Use lookup_fringe_bitmap.
2491 Keep standard bitmaps in Vfringe_bitmaps.
2492 (Fdefine_fringe_bitmap): Use lookup_fringe_bitmap.
2493 (Fset_fringe_bitmap_face): Likewise.
2494
2495 * dispextern.h (lookup_fringe_bitmap): Add prototype.
2496 (valid_fringe_bitmap_p): Remove prototype.
2497
2498 * xdisp.c (handle_single_display_prop): Use lookup_fringe_bitmap.
2499
2500 2004-09-29 Kim F. Storm <storm@cua.dk>
2501
2502 * fringe.c (destroy_fringe_bitmap, init_fringe_bitmap)
2503 (w32_init_fringe, w32_reset_fringes): Fix bootstrap (NULL rif).
2504
2505 * dispextern.h (valid_fringe_bitmap_p): Fix prototype.
2506
2507 * fringe.c (Vfringe_bitmaps): New variable.
2508 (syms_of_fringe): DEFVAR_LISP it.
2509 (valid_fringe_bitmap_p): Rename from valid_fringe_bitmap_id_p.
2510 Change arg to Lisp_Object and fail if not an integer.
2511 (get_fringe_bitmap_name, resolve_fringe_bitmap)
2512 (destroy_fringe_bitmap): New functions.
2513 (Fdestroy_fringe_bitmap): Change arg to bitmap symbol.
2514 Use destroy_fringe_bitmap. Remove symbol from Vfringe_bitmaps and
2515 clear its fringe property.
2516 (init_fringe_bitmap): Use destroy_fringe_bitmap instead of
2517 Fdestroy_fringe_bitmap.
2518 (Fdefine_fringe_bitmap): Add BITMAP arg specifying new or existing
2519 bitmap symbol; remove WHICH arg. Add symbol to Vfringe_bitmaps
2520 and set fringe property. Signal error if no free slots.
2521 (Fset_fringe_bitmap_face): Change arg to bitmap symbol.
2522 (Ffringe_bitmaps_at_pos): Return bitmap symbols instead of numbers.
2523
2524 * xdisp.c (handle_single_display_prop): Fringe bitmaps are now
2525 symbols with a fringe property.
2526
2527 2004-09-27 Kim F. Storm <storm@cua.dk>
2528
2529 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>:
2530 Doc fix. Format may now be a symbol or alist, not a cons.
2531
2532 * fringe.c (update_window_fringes): Handle new formats of
2533 indicate-buffer-boundaries (symbol or alist). No longer
2534 allow a simple cons.
2535 (Ffringe_bitmaps_at_pos): Use nil value for no bitmap.
2536
2537 2004-09-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2538
2539 * config.in: Rebuild.
2540
2541 2004-09-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2542
2543 * config.in: Rebuild.
2544
2545 * Makefile.in: Run setarch i386 ./temacs if exec-shield is present.
2546
2547 2004-09-18 Stefan Monnier <monnier@iro.umontreal.ca>
2548
2549 * xterm.c (x_term_init): Work around a bug in some X servers.
2550
2551 2004-09-18 Richard M. Stallman <rms@gnu.org>
2552
2553 * buffer.c (syms_of_buffer) <default-major-mode>: Doc fix.
2554
2555 * xdisp.c (try_window_reusing_current_matrix):
2556 Handle the case where we reach the old displayed text,
2557 out of sync with the old line boundary.
2558
2559 2004-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
2560
2561 * fileio.c (Finsert_file_contents): Fix case of replacement in a
2562 narrowed buffer.
2563
2564 2004-09-14 Kim F. Storm <storm@cua.dk>
2565
2566 * puresize.h (PURESIZE_RATIO): Define based on BITS_PER_EMACS_INT.
2567
2568 * xfaces.c (Qface_no_inherit): New var.
2569 (syms_of_xfaces): Intern and staticpro it.
2570 (Finternal_make_lisp_face, Finternal_set_lisp_face_attribute)
2571 (Finternal_copy_lisp_face, update_face_from_frame_parameter):
2572 Don't increment face_change_count when face has non-nil
2573 face-no-inherit property.
2574
2575 2004-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
2576
2577 * bytecode.c (BYTE_CODE_QUIT): Add missing AFTER_POTENTIAL_GC.
2578 (Fbyte_code): Remove dead code after `wrong_type_argument'.
2579
2580 * alloc.c (Fgarbage_collect): Mark keyboards, gtk data, and specpdl
2581 before doing the mark_stack_check_gcpros since they're not on the stack.
2582
2583 2004-09-12 Kim F. Storm <storm@cua.dk>
2584
2585 * editfns.c (Fformat): Handle format strings with multiple text
2586 properties. Reverse text property list from the format string,
2587 so the positions are in increasing order.
2588
2589 2004-09-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2590
2591 * xselect.c (x_reply_selection_request): XSync and UNBLOCK before
2592 x_uncatch_errors so that possible protocol errors are delivered.
2593
2594 2004-09-10 Eli Zaretskii <eliz@gnu.org>
2595
2596 * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
2597 blockinput.h.
2598 (dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
2599 charset.h, and coding.h
2600 (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h.
2601 (term.o): Depend on window.h and keymap.h.
2602 (abbrev.o): Depend on syntax.h.
2603 (callint.o): Depend on keymap.h.
2604 (casefiddle.o): Depend on charset.h and keymap.h.
2605 (category.o): Depend on keymap.h.
2606 (coding.o): Depend on dispextern.h.
2607 (cmds.o): Depend on keyboard.h and keymap.h.
2608 (dispnew.o): Depend on indent.h and intervals.h.
2609 (doc.o): Depend on keymap.h.
2610 (editfns.o): Depend on frame.h.
2611 (emacs.o): Depend on dispextern.h.
2612 (fileio.o): Don't depend on ccl.h.
2613 (filelock.o): Depend on charset.h and coding.h.
2614 (frame.o): Depend on w32term.h and macterm.h.
2615 (insdel.o): Depend on region-cache.h.
2616 (keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
2617 (minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
2618 (search.o): Depend on $(INTERVALS_SRC).
2619 (syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
2620 (window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
2621 xterm.h, w32term.h, and macterm.h.
2622 (xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
2623 w32term.h, and macterm.h.
2624 (xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
2625 region-cache.h, xterm.h, w32term.h, and macterm.h.
2626 (bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
2627 (data.o): Depend on frame.h.
2628 (fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
2629 (print.o): Depend on termchar.h and $(INTERVALS_SRC).
2630 (lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
2631 (intervals.o): Depend on keymap.h.
2632
2633 * msdos.c (msdos_set_cursor_shape, IT_display_cursor):
2634 Add debugging print-out to termscript.
2635
2636 2004-09-09 Richard M. Stallman <rms@gnu.org>
2637
2638 * xdisp.c (decode_mode_spec): Use current buffer for most purposes.
2639
2640 2004-09-08 Richard M. Stallman <rms@gnu.org>
2641
2642 * window.c (Fset_window_buffer): Doc fix.
2643
2644 * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use.
2645
2646 2004-09-08 Dan Nicolaescu <dann@ics.uci.edu>
2647
2648 * minibuf.c (history_delete_duplicates): New variable.
2649 (read_minibuf): Use it.
2650 (syms_of_minibuf): Create the corresponding lisp variable.
2651
2652 2004-09-08 Kim F. Storm <storm@cua.dk>
2653
2654 * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in
2655 overlay just before point.
2656
2657 2004-09-07 Luc Teirlinck <teirllm@auburn.edu>
2658
2659 * buffer.h (struct buffer): Add auto_save_file_format field.
2660 * buffer.c (reset_buffer, init_buffer_once):
2661 Handle auto_save_file_format field.
2662 (syms_of_buffer): Add DEFVAR_PER_BUFFER for
2663 `buffer-auto-save-file-format'.
2664 * fileio.c: Delete declaration for removed Vauto_save_file_format.
2665 (build_annotations): Adapt to replacement of
2666 `auto-save-file-format' with the new buffer-local variable
2667 `buffer-auto-save-file-format'.
2668 (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format.
2669
2670 2004-09-07 Jason Rumney <jasonr@gnu.org>
2671
2672 * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c.
2673
2674 * w32fns.c (w32_wnd_proc) [WM_MEASUREITEM, WM_DRAWITEM]:
2675 Handle Unicode menu titles.
2676
2677 2004-09-07 Kim F. Storm <storm@cua.dk>
2678
2679 * xdisp.c (set_cursor_from_row): Fix last change. Only use 'cursor'
2680 property from text property or overlay strings at point.
2681
2682 2004-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2683
2684 * xmenu.c (update_submenu_strings): YAILOM.
2685 (set_frame_menubar): Make sure last_i is initialized.
2686
2687 2004-09-03 Jason Rumney <jasonr@gnu.org>
2688
2689 * w32menu.c (_widget_value): Add lname and lkey.
2690 (digest_single_submenu): Set lname and lkey in widget_value
2691 instead of name and key.
2692 (update_submenu_strings): New function.
2693 (set_frame_menubar): Remove call to inhibit_garbage_collection,
2694 call update_submenu_strings.
2695
2696 * w32menu.c (globals_of_w32menu): Check for Unicode API.
2697 (digest_single_submenu, w32_menu_show): Encode menu strings as
2698 UTF-8 if Unicode API is available.
2699 (utf8to16): New function.
2700 (add_menu_item): Use it when calling Unicode API.
2701
2702 2004-09-03 Kim F. Storm <storm@cua.dk>
2703
2704 * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property
2705 in overlay or text-property strings; set cursor on corresponding
2706 glyph rather than at end of the string.
2707
2708 2004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2709
2710 * macfns.c (x_real_positions): Save the current window port and
2711 set a new one before obtaining the global coordinate.
2712 Use FRAME_MAC_WINDOW.
2713 (x_set_name, x_set_title): Encode title to UTF8.
2714 Use SetWindowTitleWithCFString.
2715 (Fx_server_version): Get correct OS version.
2716
2717 * macmenu.c (add_menu_item): Remove unused variable `i'.
2718 Don't let separator items destroy refence constants of other menu items.
2719
2720 * macterm.c (x_update_end): Move SetPortWindowPort to inside
2721 BLOCK_INPUT.
2722 (x_set_offset): Use FRAME_MAC_WINDOW.
2723
2724 * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to
2725 nontext_cursor if it is on a scroll bar.
2726
2727 * s/darwin.h (LIBS_CARBON): New define to specify libraries for
2728 Carbon support.
2729 (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++.
2730 Use LIBS_CARBON.
2731
2732 2004-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2733
2734 * xfns.c (x_set_name_internal): New function. Check if we shall call
2735 xfree before ENCODE_UTF_8.
2736 (x_set_name, x_set_title): Call x_set_name_internal.
2737
2738 2004-08-31 NAKAMURA Toshikazu <nr-tkz@nifty.com> (tiny change)
2739
2740 * w32fns.c (w32_load_font): If a BDF font is already loaded, do not
2741 reload it.
2742
2743 2004-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2744
2745 * macmenu.c (_widget_value): Add lname and lkey.
2746 (single_submenu): Set lname and lkey in widget_value
2747 instead of name and key.
2748 (update_submenu_strings): New function.
2749 (set_frame_menubar): Remove call to inhibit_garbage_collection,
2750 call update_submenu_strings.
2751
2752 * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
2753 instead of name and key.
2754 (update_submenu_strings): New function.
2755 (set_frame_menubar): Remove call to inhibit_garbage_collection,
2756 call update_submenu_strings.
2757
2758 * gtkutil.h (_widget_value): Added lname and lkey.
2759
2760 2004-08-30 Steven Tamm <steventamm@mac.com>
2761
2762 * macmenu.c (mac_menu_show): Remove shadowing of menu variable
2763 by using different names for inner loop variables.
2764
2765 2004-08-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2766
2767 * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection
2768 from 2002-07-15T00:01:34Z!raeburn@raeburn.org so that strings from ENCODE_UTF_8 isn't GC:ed before used.
2769
2770 * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when
2771 tool bar items is 0.
2772
2773 2004-08-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2774
2775 * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
2776 strings in menu items.
2777 (single_submenu): Use ENCODE_MENU_STRING
2778 (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because
2779 button release isn't passed to event loop
2780 (add_menu_item): Use SetMenuItemWithCFString
2781
2782 2004-08-26 Steven Tamm <steventamm@mac.com>
2783
2784 * fileio.c (Fread_file_name): Call x_file_dialog on carbon on
2785 tool-bar/menu click
2786 * macfns.c (Fx_file_dialog): Implemented using NavServices
2787
2788 2004-08-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2789
2790 * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
2791
2792 * xfns.c (x_window_to_frame, x_any_window_to_frame)
2793 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
2794 (x_top_window_to_frame): Return 0 if wdesc is None.
2795
2796 2004-08-22 Richard M. Stallman <rms@gnu.org>
2797
2798 * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS,
2799 HAVE_TERMIOS]: If there's no char for this signal, drop through
2800 and use system calls.
2801
2802 * bytecode.c (Fbyte_code) <unwind-protect>: Cannot GC.
2803
2804 2004-08-20 Kim F. Storm <storm@cua.dk>
2805
2806 * process.c (wait_reading_process_output): Rename from
2807 wait_reading_process_input. All uses changed.
2808 (wait_reading_process_output_1): Rename from
2809 wait_reading_process_input_1. All uses changed.
2810
2811 * dispnew.c (Fsleep_for): Remove obsolete code.
2812
2813 2004-08-20 Kenichi Handa <handa@m17n.org>
2814
2815 * syntax.c (skip_chars): Fix for unibyte case.
2816
2817 2004-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
2818
2819 * syntax.c (char_quoted): Mixup byte/char pos.
2820 (back_comment): Fixup globals in all cases.
2821
2822 2004-08-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2823
2824 * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before
2825 passing it to gtk_window_set_title.
2826
2827 2004-08-19 Kim F. Storm <storm@cua.dk>
2828
2829 * process.c (wait_reading_process_input): Clean up.
2830 Add wait_for_cell, wait_proc, and just_wait_proc args
2831 to avoid overloading `read_kbd' and `do_display' args.
2832 Change read_kbd arg to int. All callers changed.
2833
2834 * process.c (process_send_signal): Use CDISABLE.
2835
2836 * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE.
2837
2838 2004-08-18 Kim F. Storm <storm@cua.dk>
2839
2840 * process.c (Faccept_process_output): Add arg JUST-THIS-ONE;
2841 forward to wait_reading_process_input via DO_DISPLAY arg.
2842 (wait_reading_process_input): If DO_DISPLAY < 0 for a process
2843 object, only process output from that process; also inhibit
2844 running timers if DO_DISPLAY==-2.
2845
2846 2004-08-17 Kim F. Storm <storm@cua.dk>
2847
2848 * process.c (process_send_signal): Fix last change--use
2849 _POSIX_VDISABLE instead of CVDISABLE when available.
2850
2851 2004-08-16 Richard M. Stallman <rms@gnu.org>
2852
2853 * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
2854 Set VQUIT and VINTR chars to the standard ones if they are unset.
2855 [AIX]: Don't do that here. And don't force VINTR to standard
2856 when SIGNALS_VIA_CHARACTERS.
2857
2858 * process.c (process_send_signal)
2859 [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up.
2860 Do nothing if the character is CVDISABLE.
2861
2862 * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op.
2863
2864 * intervals.c (move_if_not_intangible):
2865 Force POSITION to be between BEGV and ZV.
2866
2867 2004-08-14 John Paul Wallington <jpw@gnu.org>
2868
2869 * buffer.c (Frestore_buffer_modified_p): Doc fix.
2870
2871 * fileio.c (Fread_file_name): Doc fix.
2872
2873 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
2874
2875 2004-08-09 Luc Teirlinck <teirllm@auburn.edu>
2876
2877 * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
2878
2879 2004-08-08 Luc Teirlinck <teirllm@auburn.edu>
2880
2881 * keyboard.c: Declare Qdisabled_command_function instead of
2882 Qdisabled_command_hook.
2883 (Fcommand_execute): Use Qdisabled_command_function instead of
2884 Qdisabled_command_hook.
2885 (syms_of_keyboard): Ditto.
2886
2887 2004-08-07 Luc Teirlinck <teirllm@auburn.edu>
2888
2889 * keymap.c (Flocal_key_binding, Fglobal_key_binding)
2890 (syms_of_keymap) <key-translation-map>: Doc fixes.
2891
2892 2004-08-07 Stefan Monnier <monnier@iro.umontreal.ca>
2893
2894 * window.c (window_list_1): YAILOM.
2895
2896 * fileio.c (make_temp_name): Handle multibyte prefixes.
2897
2898 2004-08-06 Luc Teirlinck <teirllm@auburn.edu>
2899
2900 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2901 Doc fix.
2902
2903 2004-08-03 Kenichi Handa <handa@m17n.org>
2904
2905 * coding.c (decode_coding_string): Adjust coding->consumed, and
2906 etc. with shrinked_bytes.
2907
2908 2004-08-03 Kim F. Storm <storm@cua.dk>
2909
2910 * indent.c (compute_motion): Fix check for full width window
2911 in non-window case. Do not count left truncation glyph on
2912 window systems.
2913
2914 2004-08-02 Luc Teirlinck <teirllm@auburn.edu>
2915
2916 * data.c (Finteractive_form): Doc fix.
2917
2918 2004-08-02 Kim F. Storm <storm@cua.dk>
2919
2920 * indent.c (compute_motion): Use actual window width if WIDTH is -1,
2921 properly accounting for continuation glyph on non-window systems.
2922 (Fcompute_motion): Use actual window width if WIDTH is nil, and
2923 actual window width/height if TOPOS is nil, properly accounting for
2924 continuation glyphs on non-window systems, and optional header lines.
2925 (vmotion): Let compute_motion calculate actual window width.
2926
2927 * window.c (window_scroll_line_based): Let compute_motion
2928 calculate actual window width.
2929
2930 2004-08-02 Kim F. Storm <storm@cua.dk>
2931
2932 * process.c (read_process_output): Use whole read buffer.
2933 Don't trigger adaptive read buffering on errors.
2934
2935 2004-07-31 Luc Teirlinck <teirllm@auburn.edu>
2936
2937 * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
2938
2939 * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
2940
2941 * callint.c (Fcall_interactively): Doc fix.
2942
2943 2004-07-30 Richard M. Stallman <rms@gnu.org>
2944
2945 * abbrev.c (Fexpand_abbrev): Undo previous change.
2946
2947 2004-07-30 Kim F. Storm <storm@cua.dk>
2948
2949 * editfns.c (Fformat): Allocate extra (dummy) element in info.
2950
2951 2004-07-28 Luc Teirlinck <teirllm@auburn.edu>
2952
2953 * eval.c (Fdefvar, Fdefconst): Doc fixes.
2954
2955 2004-07-27 Kim F. Storm <storm@cua.dk>
2956
2957 * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after
2958 we have ensured that the glyph fits on the current line (or returned
2959 MOVE_LINE_CONTINUED otherwise).
2960
2961 2004-07-26 Kim F. Storm <storm@cua.dk>
2962
2963 * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe
2964 is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV
2965 if target position is at end of display line but char is not a newline.
2966
2967 2004-07-25 Richard M. Stallman <rms@gnu.org>
2968
2969 * window.c (coordinates_in_window): Return ON_SCROLL_BAR
2970 instead of ON_VERTICAL_BORDER, when on scroll bar.
2971 (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil.
2972
2973 * dispextern.h (enum window_part): Add ON_SCROLL_BAR.
2974
2975 * window.c (Fcoordinates_in_window_p):
2976 Take account of FRAME_INTERNAL_BORDER_WIDTH.
2977
2978 * alloc.c (check_cons_list): New function (contents commented out).
2979
2980 2004-07-24 Luc Teirlinck <teirllm@auburn.edu>
2981
2982 * xfaces.c (Fcolor_supported_p): Doc fix.
2983
2984 * frame.c (Fselect_frame, Fset_frame_selected_window)
2985 (Fframe_visible_p, Fraise_frame): Doc fixes.
2986
2987 2004-07-24 Richard M. Stallman <rms@gnu.org>
2988
2989 * keyboard.h (not_single_kboard_state): Declare.
2990
2991 * fileio.c (Fwrite_region): Doc fix.
2992
2993 * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH.
2994
2995 * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook
2996 only when a real abbrev is present.
2997
2998 * xfns.c (x_icon_verify): New function.
2999 (Fx_create_frame): Use it.
3000
3001 2004-07-22 Barry Fishman <barry_fishman@att.net> (tiny change)
3002
3003 * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined.
3004
3005 2004-07-21 Kim F. Storm <storm@cua.dk>
3006
3007 * window.h (struct glyph_matrix): New members nrows_scale_factor
3008 and ncols_scale_factor.
3009
3010 * window.c (make_window): Initialize nrows_scale_factor and
3011 ncols_scale_factor members.
3012
3013 * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor.
3014 (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up.
3015 (required_matrix_height): Apply nrows_scale_factor.
3016 (required_matrix_width): Apply ncols_scale_factor.
3017
3018 * xdisp.c (display_line): Increment nrows_scale_factor and set
3019 fonts_changed_p if past last allocated row.
3020 (append_glyph, append_composite_glyph, produce_image_glyph)
3021 (append_stretch_glyph): Increment ncols_scale_factor and set
3022 fonts_changed_p if current area is full.
3023
3024 2004-07-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3025
3026 * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0.
3027
3028 2004-07-19 Luc Teirlinck <teirllm@auburn.edu>
3029
3030 * window.c (Fpos_visible_in_window_p, Fset_window_hscroll)
3031 (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point)
3032 (Fset_window_start, Fscroll_up, Fscroll_down)
3033 (Fother_window_for_scrolling, Fscroll_other_window)
3034 (Fsave_window_excursion, Fset_window_vscroll)
3035 (syms_of_window) <window-size-fixed>: Doc fixes.
3036
3037 2004-07-19 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3038
3039 * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of
3040 ENCODE_SYSTEM for filenames.
3041
3042 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3043
3044 * mac.c (sys_select): Block input around call to
3045 ReceiveNextEvent to prevent breakage. Correctly handle
3046 blocking on event queue only by calling ReceiveNextEvent
3047 instead of select (since GUI events aren't on an fd).
3048 (sys_read): Remove function
3049 * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
3050
3051 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3052
3053 * mac.c (sys_select): Redo sys_select to use alarm-based
3054 polling instead of 1 sec timeouts (like solaris).
3055
3056 * macterm.c (x_make_frame_visible): Comment in polling on
3057 frame creation.
3058
3059 * keyboard.c: Undef SIGIO on Carbon
3060
3061 * atimer.c (alarm_signal_handler): Call alarm handlers after
3062 scheduling.
3063
3064 * eval.c (Feval): Remove quit_char test
3065
3066 * process.c (wait_reading_process_input): Remove clearing
3067 stdin for select call on process input.
3068
3069 2004-07-18 Luc Teirlinck <teirllm@auburn.edu>
3070
3071 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Correct
3072 capitalization error in docstring.
3073
3074 2004-07-17 Juanma Barranquero <lektu@terra.es>
3075
3076 * keyboard.c (not_single_kboard_state): Do nothing unless
3077 MULTI_KBOARD is defined.
3078
3079 2004-07-17 Richard M. Stallman <rms@gnu.org>
3080
3081 * window.c (coordinates_in_window): Inside the window but outside
3082 its box to the L or R, return ON_VERTICAL_BORDER.
3083 (window_list_1): Rotate the list to start with WINDOW.
3084
3085 * print.c (print_preprocess): Test for print_depth at limit
3086 before entering in being_printed.
3087
3088 * keyboard.c (not_single_kboard_state): New function.
3089 (stuff_buffered_input): Now no-op only if no SIGTSTP.
3090
3091 * frame.c (Fdelete_frame): If we're in single_bboard_state on
3092 this kboard, and we delete its last frame, go to any_kboard_state.
3093
3094 * buffer.c (syms_of_buffer) <transient-mark-mode>: Doc fix.
3095
3096 2004-07-15 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3097
3098 * w32fns.c (Fx_file_dialog): Encode strings in system coding
3099 system before passing them to OS functions for display.
3100
3101 2004-07-15 David Kastrup <dak@gnu.org>
3102
3103 * search.c (syms_of_search): Staticpro `saved_last_thing_searched'.
3104 Apparently fixes an abort condition.
3105
3106 2004-07-14 Luc Teirlinck <teirllm@auburn.edu>
3107
3108 * fileio.c (Fvisited_file_modtime): Return a list of two integers,
3109 instead of a cons.
3110
3111 2004-07-14 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
3112
3113 * keyboard.c (echo_dash): Do nothing if there already is a dash
3114 at the end of the echo string.
3115
3116 2004-07-12 Kim F. Storm <storm@cua.dk>
3117
3118 * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
3119 if GC_MARK_STACK.
3120
3121 2004-07-10 Luc Teirlinck <teirllm@auburn.edu>
3122
3123 * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
3124
3125 * window.c (Fwindow_buffer, Fother_window, Fget_lru_window)
3126 (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
3127 (Freplace_buffer_in_windows, Fset_window_buffer)
3128 (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
3129 (syms_of_window): Expand docstring of `display-buffer-function'.
3130
3131 2004-07-09 Luc Teirlinck <teirllm@auburn.edu>
3132
3133 * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
3134 (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
3135 that time values of the type (HIGH . LOW) are considered obsolete.
3136
3137 2004-07-06 Luc Teirlinck <teirllm@auburn.edu>
3138
3139 * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
3140 docstring.
3141
3142 * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
3143
3144 2004-07-06 John Paul Wallington <jpw@gnu.org>
3145
3146 * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
3147
3148 * fns.c (Fclear_string): Signal an error if STRING is not a string.
3149
3150 2004-07-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3151
3152 * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
3153 instead of CGMainDisplayID (only in OSX 10.2 and later).
3154
3155 2004-07-04 John Paul Wallington <jpw@gnu.org>
3156
3157 * fileio.c (read_file_name_completion_ignore_case): New variable.
3158 (syms_of_fileio): Declare and initialise it.
3159 (Fread_file_name): Bind `completion-ignore-case' to respect it.
3160
3161 2004-07-03 Eli Zaretskii <eliz@gnu.org>
3162
3163 * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
3164 for event.x and event.y.
3165
3166 2004-07-01 Kenichi Handa <handa@m17n.org>
3167
3168 * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
3169 after getting a new string by pre-write-conversion.
3170
3171 2004-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
3172
3173 * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
3174 (x_calc_absolute_position): Remove unused var `child'.
3175
3176 * xfaces.c (x_supports_face_attributes_p)
3177 (Fdisplay_supports_face_attributes_p): YAILOM.
3178 (tty_supports_face_attributes_p): Remove unused var `i'.
3179
3180 * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
3181 back_unibyte_ok.
3182
3183 * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
3184
3185 * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'.
3186
3187 * Makefile.in (${etc}DOC): Fix file name of make-docfile.
3188
3189 2004-06-30 Andreas Schwab <schwab@suse.de>
3190
3191 * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
3192 (Finit_image_library): Pass LIBRARIES through to
3193 CHECK_LIB_AVAILABLE. Declare parameters. Doc fix.
3194 (lookup_image_type): Pass Qnil as second argument to
3195 Finit_image_library.
3196
3197 * lisp.h (Finit_image_library): Declare.
3198
3199 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3200
3201 * macterm.c (do_window_activate, do_window_deactivate): Remove.
3202 (XTread_socket): Send mouse button events to the toolbox
3203 dispatcher even when the mouse is grabbed. Don't process window
3204 activate events for non-Emacs windows. Replace function calls to
3205 do_window_activate and do_window_deactivate with their contents.
3206 Reset mouse grabbing status when a window is deactivated.
3207
3208 2004-06-29 Steven Tamm <steventamm@mac.com>
3209
3210 * macterm.c (mac_get_emulated_btn)
3211 (mac_event_to_emacs_modifiers): Fix emulated mouse button
3212 support to correctly mask out modifiers.
3213
3214 2004-06-29 David Kastrup <dak@gnu.org>
3215
3216 * search.c (Fset_match_data): Allow buffer before end of list
3217 which can happen if set-match-data is using a pre-consed list.
3218
3219 2004-06-28 Steven Tamm <steventamm@mac.com>
3220
3221 * macterm.c (XTread_socket): Correctly set the frame position
3222 after the window is moved.
3223
3224 2004-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3225
3226 * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
3227 gpix and gmask just before return to avoid memory leak.
3228 (xg_get_image_for_pixmap): Add workaround for monochrome displays
3229 so insensitive and activated icons look ok.
3230
3231 2004-06-27 Jason Rumney <jasonr@gnu.org>
3232
3233 * w32fns.c (file_dialog_callback): Disable edit control if set
3234 to directories only on CDN_INITDONE message.
3235 (Fx_file_dialog): Default to directories only when prompt starts
3236 with "Dired".
3237
3238 2004-06-25 Kim F. Storm <storm@cua.dk>
3239
3240 * alloc.c (allocate_misc): Update total_free_markers.
3241 (free_misc): New function.
3242 (safe_alloca_unwind, free_marker): Use it.
3243
3244 * lisp.h (free_misc): Add prototype.
3245
3246 * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
3247
3248 2004-06-24 Richard M. Stallman <rms@gnu.org>
3249
3250 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
3251 (syms_of_emacs): Lisp variables deleted.
3252
3253 2004-06-23 David Kastrup <dak@gnu.org>
3254
3255 * search.c (Freplace_match): Adjust the match-data more thoroughly
3256 when replacing strings in the buffer.
3257 (Fmatch_data): When INTEGERS is non-nil and the last match was in
3258 a buffer, add the buffer as last element to the match data.
3259 (Fset_match_data): If an additional element of the match-data is a
3260 buffer, restore it to last_thing_searched.
3261 (save_search_regs): Save last_thing_searched as part of the match data.
3262 (restore_match_data): Restore it again.
3263
3264 2004-06-23 Luc Teirlinck <teirllm@auburn.edu>
3265
3266 * keymap.c (Ftext_char_description): Doc fix.
3267 * doc.c (Fsnarf_documentation): Doc fix.
3268
3269 2004-06-22 Kim F. Storm <storm@cua.dk>
3270
3271 * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
3272
3273 * lisp.h (struct Lisp_Save_Value): New member dogc.
3274 (SAFE_ALLOCA_LISP): Change second arg to number of elements.
3275 Set dogc member in Lisp_Save_Value object so it will be GC'ed.
3276 (SAFE_FREE_LISP): New macro.
3277
3278 * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
3279 (make_save_value): Init new dogc member.
3280 (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
3281
3282 * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
3283 SAFE_FREE_LISP macros.
3284
3285 2004-06-22 Kim F. Storm <storm@cua.dk>
3286
3287 * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
3288 Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
3289 in that memory area are unknown to GC. Add comments.
3290
3291 * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
3292
3293 2004-06-21 Kim F. Storm <storm@cua.dk>
3294
3295 * lisp.h (MAX_ALLOCA): Define here.
3296 (safe_alloca_unwind): Add prototype.
3297 (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
3298
3299 * alloc.c (safe_alloca_unwind): New function.
3300
3301 * casefiddle.c (casify_object): Use SAFE_ALLOCA.
3302
3303 * charset.c (Fstring): Use SAFE_ALLOCA.
3304
3305 * coding.c (MAX_ALLOCA): Remove define.
3306
3307 * data.c (MAX_ALLOCA): Remove define.
3308 (Faset): Use SAFE_ALLOCA.
3309
3310 * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
3311
3312 * fns.c (string_make_multibyte, string_to_multibyte)
3313 (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
3314 (MAX_ALLOCA): Remove define.
3315 (Fbase64_encode_region, Fbase64_encode_string)
3316 (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
3317 (Fbase64_encode_region, Fbase64_encode_string): Fix potential
3318 memory leak if encoding fails.
3319
3320 * xdisp.c (add_to_log): Use SAFE_ALLOCA.
3321
3322 2004-06-21 Eli Zaretskii <eliz@gnu.org>
3323
3324 * print.c (Fwith_output_to_temp_buffer): Doc fix.
3325
3326 2004-06-20 Richard M. Stallman <rms@gnu.org>
3327
3328 * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
3329
3330 * search.c (match_limit): Cleaner err msg when no match data available.
3331
3332 * window.c (syms_of_window): Doc fix.
3333
3334 * keyboard.c (command_loop_1): Handle values `only' and `identity'
3335 for Vtransient_mark_mode.
3336
3337 * buffer.c (syms_of_buffer): Doc fix.
3338
3339 2004-06-21 David Kastrup <dak@gnu.org>
3340
3341 * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
3342 and unbinding of `case-fold-search' according to
3343 `completion-ignore-case' around calls of string-match and
3344 predicates, respectively. Should give satisfactory performance
3345 in all relevant cases.
3346
3347 2004-06-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3348
3349 * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
3350 clip_x/y_origin.
3351
3352 * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
3353
3354 * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
3355
3356 * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
3357 on Mac OSX.
3358
3359 2004-06-16 Luc Teirlinck <teirllm@auburn.edu>
3360
3361 * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
3362
3363 2004-06-16 Kim F. Storm <storm@cua.dk>
3364
3365 * dispextern.h (Vimage_types): Remove extern.
3366
3367 2004-06-16 Miles Bader <miles@gnu.org>
3368
3369 * image.c (lookup_image_type): Initialize image type if necessary.
3370
3371 2004-06-15 Kim F. Storm <storm@cua.dk>
3372
3373 * xdisp.c (try_cursor_movement): Exclude header line from scroll
3374 margin at top of window.
3375 (try_window_reusing_current_matrix): Calculate proper cursor position
3376 after scrolling up with non-zero scroll margin, as the old cursor
3377 position corresponds to value of PT before executing this command.
3378 (try_window_id): Consider scroll margin at bottom of window too;
3379 otherwise we fail to scroll when hl-line-mode is enabled.
3380
3381 * syntax.c (skip_chars): Only recognize [:class:] when it has the
3382 proper format and class is a lower-case word.
3383
3384 2004-06-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3385
3386 * gtkutil.c (xg_get_image_for_pixmap): New function.
3387 (xg_get_gdk_pixmap_and_mask): Remove.
3388 (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
3389 xg_get_gdk_pixmap_and_mask.
3390
3391 * xterm.h (struct x_display_info): Typo in comment fixed.
3392
3393 2004-06-14 Juanma Barranquero <lektu@terra.es>
3394
3395 * dispextern.h (Vimage_types): Make it conditional on
3396 HAVE_WINDOW_SYSTEM.
3397
3398 * image.c (Vimage_types): Move from xdisp.c.
3399 (Vimage_type_cache): New variable.
3400 (define_image_type): New argument indicating whether an image
3401 library was loaded; cache loaded status and return t on success,
3402 nil otherwise.
3403 (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
3404 (w32_delayed_load): New function to load an image library from a
3405 list of possible filenames.
3406 (init_xpm_functions, init_png_functions, init_jpeg_functions)
3407 (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
3408 (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
3409 (Finit_image_library): New function, extracted from `init_image'.
3410 Try to initialize an image library on demand and cache whether we
3411 were successful or not.
3412 (syms_of_image): Initialize `Vimage_types' and
3413 `Vimage_type_cache'. Add recognized image types to Vimage_types.
3414 Export `init-image-library'.
3415 (init_image): Remove initialization of all image types, except xbm
3416 and pbm.
3417
3418 * xdisp.c (Vimage_types): Delete (moved to image.c).
3419
3420 2004-06-14 Andreas Schwab <schwab@suse.de>
3421
3422 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
3423 Avoid calling specbind when completion-regexp-list is empty.
3424
3425 2004-06-13 Richard M. Stallman <rms@gnu.org>
3426
3427 * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
3428 (re_wctype, re_iswctype, re_wctype_to_bit):
3429 Non-function definitions moved here from regex.c.
3430
3431 * regex.c (re_wctype, re_iswctype): Function defs longer static.
3432 (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
3433 (re_wctype, re_iswctype, re_wctype_to_bit):
3434 Non-function definitions moved to regex.h.
3435
3436 * window.c (Fselect_window): Doc fix.
3437
3438 * syntax.c: Include regex.h.
3439 (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed.
3440 If requested, make a list of classes, then check the scanned
3441 chars for membership in them.
3442 (in_classes): New function.
3443 Doc fix.
3444
3445 * keyboard.c (cmd_error): Don't call any_kboard_state
3446 if inside a recursive edit level.
3447
3448 2004-06-13 Lorentey K\e,Aa\e(Broly <lorentey@elte.hu>
3449
3450 * keyboard.c (command_loop): Call any_kboard_state before
3451 command_loop_2 when at top level.
3452
3453 2004-06-13 Andreas Schwab <schwab@suse.de>
3454
3455 * print.c (print_object): Always use %ld for printing EMACS_INT.
3456
3457 * keyboard.c (cancel_hourglass_unwind): Return a value.
3458 (modify_event_symbol): Always use %ld for printing EMACS_INT.
3459 (Fexecute_extended_command): Likewise.
3460
3461 * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
3462 avoid clashes.
3463 (SYNTAX): Likewise.
3464 (SYNTAX_WITH_FLAGS): Likewise.
3465 (SYNTAX_MATCH): Likewise.
3466
3467 * syntax.c (char_quoted): Avoid warning about undefined operation.
3468 (find_defun_start): Likewise.
3469 (scan_lists): Likewise.
3470 (INC_FROM): Likewise.
3471 (scan_sexps_forward): Likewise.
3472
3473 * image.c: Include <ctype.h>.
3474
3475 * xfaces.c (face_attr_equal_p): Declare parameters.
3476
3477 2004-06-13 Kenichi Handa <handa@m17n.org>
3478
3479 * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
3480
3481 2004-06-12 Matthew Mundell <matt@mundell.ukfsn.org>
3482
3483 * eval.c (Fdefun): Signal an error if NAME is not a symbol.
3484
3485 2004-06-12 Kenichi Handa <handa@m17n.org>
3486
3487 * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
3488 ccl_prog_stack_struct and update it.
3489 (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
3490 (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
3491 ccl->eof_ic on EOF.
3492 (ccl_debug_hook): New function.
3493 (struct ccl_prog_stack): New member eof_ic.
3494 (ccl_driver): Handle EOF in subrountine call correctly.
3495
3496 2004-06-11 Kenichi Handa <handa@m17n.org>
3497
3498 * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
3499
3500 2004-06-11 Kim F. Storm <storm@cua.dk>
3501
3502 * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
3503
3504 2004-06-11 Juanma Barranquero <lektu@terra.es>
3505
3506 * keyboard.c (Fposn_at_point): Doc fix.
3507
3508 2004-06-11 David Kastrup <dak@gnu.org>
3509
3510 * search.c (match_limit): Don't flag an error if match-data
3511 exceeding the allocated search_regs.num_regs gets requested, just
3512 return Qnil.
3513
3514 2004-06-08 Miles Bader <miles@gnu.org>
3515
3516 * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
3517
3518 2004-06-07 Juanma Barranquero <lektu@terra.es>
3519
3520 * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
3521 (Fcurrent_time_string, Fcurrent_time_zone)
3522 (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
3523
3524 2004-06-07 Miles Bader <miles@gnu.org>
3525
3526 * xfaces.c (struct named_merge_point): New type.
3527 (push_named_merge_point): New function.
3528 (merge_named_face): New function.
3529 (merge_face_ref, face_at_buffer_position, face_at_string_position):
3530 Use `merge_named_face'.
3531 (merge_face_inheritance): Function removed.
3532 (merge_face_ref): Rename from `merge_face_vector_with_property'.
3533 Add new `err_msgs' and `named_merge_points' args. Return error
3534 status. Only print error messages if ERR_MSGS is true. Don't try to
3535 do :inherit attribute validation.
3536 (merge_face_heights): Handle `unspecified' in both directions.
3537 (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
3538 Call `merge_face_ref' instead of `merge_face_inheritance'.
3539 (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
3540 (compute_char_face, face_at_buffer_position)
3541 (face_at_string_position): Call `merge_face_ref' instead of
3542 `merge_face_vector_with_property'.
3543
3544 2004-06-07 Kenichi Handa <handa@m17n.org>
3545
3546 * coding.c (find_safe_codings): Check NILP (safe_codings) only at
3547 the necessary places.
3548
3549 2004-06-07 Kim F. Storm <storm@cua.dk>
3550
3551 * process.c (Fdelete_process): Undo 2004-05-28 change.
3552 Instead, call status_notify also for network process.
3553 (status_message): Use process instead of status as arg.
3554 Give messages "deleted" or "connection broken by remote peer" for
3555 an exited network process.
3556 (status_notify): Change call to status_message.
3557 (read_process_output): Increase readmax to 4096. Do not increase
3558 buffer size for datagram channels (default is now large enough).
3559
3560 2004-06-06 Steven Tamm <tamm@Steven-Tamms-Computer.local>
3561
3562 * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
3563 problem due to newly defined variable.
3564
3565 2004-06-06 Miles Bader <miles@gnu.org>
3566
3567 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
3568 immediately if non-interactive or not initialized.
3569
3570 2004-06-05 Richard M. Stallman <rms@gnu.org>
3571
3572 * minibuf.c (Fcompleting_read): Doc fix.
3573
3574 2004-06-05 Andreas Schwab <schwab@suse.de>
3575
3576 * macfns.c (x_create_tip_frame): Fix declaration after statement.
3577
3578 2004-06-05 Juanma Barranquero <lektu@terra.es>
3579
3580 * keymap.c (Fdescribe_vector): Fix docstring.
3581 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
3582
3583 2004-06-05 Miles Bader <miles@gnu.org>
3584
3585 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
3586 attributes have different values than the default face.
3587
3588 2004-06-04 Eli Zaretskii <eliz@gnu.org>
3589
3590 * xfaces.c (x_supports_face_attributes_p): Make this function
3591 conditional on HAVE_WINDOW_SYSTEM.
3592 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
3593 Don't call x_supports_face_attributes_p if it was not compiled in.
3594
3595 2004-06-04 Miles Bader <miles@gnu.org>
3596
3597 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
3598 from Ftty_supports_face_attributes_p.
3599 (x_supports_face_attributes_p): New function.
3600 (Ftty_supports_face_attributes_p): Function deleted.
3601 (Fdisplay_supports_face_attributes_p): New function.
3602 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
3603 (face_attr_equal_p): New function.
3604 (lface_equal_p): Use it.
3605
3606 2004-06-03 Juanma Barranquero <lektu@terra.es>
3607
3608 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
3609 (Vw32_color_map): Fix typo in docstring.
3610 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
3611 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
3612 Make argument names match their use in docstring.
3613
3614 2004-06-02 Juanma Barranquero <lektu@terra.es>
3615
3616 Work around bugs/problems with MinGW builds of graphics libraries
3617 called from MSVC builds of Emacs.
3618
3619 * image.c (lookup_image): Make pointer to img static.
3620 (png_read_from_memory): Disable "global" optimization.
3621
3622 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
3623
3624 * eval.c (Fcondition_case): Fix usage. Simplify.
3625
3626 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
3627
3628 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3629
3630 * macfns.c: Don't include ccl.h.
3631 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
3632 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
3633 TextUtils.h.
3634 (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors.
3635 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
3636 display height/width.
3637 (compute_tip_xy, Vx_max_tooltip_size): Declare.
3638 (unwind_create_tip_frame, compute_tip_xy): New functions.
3639 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
3640 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
3641 and last_show_tip_args.
3642
3643 * macgui.h [!MAC_OSX]: Include Gestalt.h.
3644 (Cursor, No_Cursor): New defines.
3645 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
3646 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
3647
3648 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
3649
3650 * macterm.c: Don't include Gestalt.h.
3651 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
3652 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
3653 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
3654 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
3655 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
3656 (construct_mouse_click, XTmouse_position)
3657 (x_scroll_bar_report_motion, x_calc_absolute_position)
3658 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
3659 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
3660 (note_mouse_movement): Clear the mouse face and reset the pointer
3661 shape when the pointer goes outside the frame without grabbing.
3662 (mac_front_window): New function.
3663 (mac_window_to_frame): New macro.
3664 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
3665 (do_window_activate, do_window_deactivate, do_app_resume)
3666 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
3667 (do_zoom_window, mac_do_receive_drag, XTread_socket)
3668 (mac_check_for_quit_char): Use mac_front_window and/or
3669 mac_window_to_frame.
3670 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
3671 scroll-bar click event.
3672 (mac_define_frame_cursor): Change the pointer shape.
3673 (x_free_frame_resources): Reset tip_window to NULL when it is disposed.
3674 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
3675 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
3676 (do_window_update): Don't do anything if the updated window is the
3677 tooltip window.
3678 (do_mouse_moved): Handle mouse movement events here (previously in
3679 XTread_socket). Clear the mouse face if
3680 dpyinfo->mouse_face_hidden is set.
3681 (do_os_event, do_events): Remove (now in XTread_socket).
3682 (XTread_socket): Immediately return if interrupt_input_blocked.
3683 Loop until all the events in the queue are processed.
3684 Rearrange codes for mouse grabbing. Add tooltip support. Include the
3685 contents of do_os_event and do_events. Remove mouse movement
3686 handling (now in do_mouse_moved). Add the case where
3687 Vmouse_highlight has an integer value.
3688 (NewMacWindow): Remove.
3689 (make_mac_frame): Do what NewMacWindow previously did. Don't do
3690 excess initializations.
3691 (make_mac_terminal_frame): Previous initializations in
3692 make_mac_frame are moved here.
3693 (mac_initialize_display_info):
3694 Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
3695
3696 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
3697 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
3698
3699 2004-05-29 Richard M. Stallman <rms@gnu.org>
3700
3701 * lisp.h (truncate_undo_list): Update decl.
3702
3703 * alloc.c (undo_outer_limit): New variable.
3704 (syms_of_alloc): Defvar it.
3705 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
3706
3707 * undo.c (truncate_undo_list): New arg LIMITSIZE.
3708
3709 * alloc.c (lisp_align_malloc): Check for base == 0
3710 regardless of HAVE_POSIX_MEMALIGN.
3711 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
3712
3713 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3714
3715 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
3716 (marker_blocks_pending_free): Remove.
3717 (Fgarbage_collect): Sweep after cleaning up undo-lists.
3718 Mark the undo lists after claning them up.
3719 Don't free block in marker_blocks_pending_free.
3720 (mark_buffer): Don't mark undo_list.
3721 (gc_sweep): Sweep hash-tables and strings first.
3722 Do free marker blocks that are empty.
3723
3724 2004-05-28 Jim Blandy <jimb@redhat.com>
3725
3726 * regex.c (print_partial_compiled_pattern): Add missing 'break'
3727 after 'case wordend'. For symbeg and symend, print to stderr,
3728 like the other cases.
3729
3730 2004-05-28 Noah Friedman <friedman@splode.com>
3731
3732 * process.c (Fdelete_process): Do not call remove_process.
3733
3734 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3735
3736 * alloc.c (struct backtrace): Remove.
3737 (Fgarbage_collect): Use the new mark_backtrace.
3738
3739 * eval.c (mark_backtrace): New function.
3740
3741 * minibuf.c (run_exit_minibuf_hook): New function.
3742 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
3743 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
3744
3745 2004-05-27 Kim F. Storm <storm@cua.dk>
3746
3747 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
3748 over display properties, e.g. images, that replace buffer text.
3749
3750 2004-05-25 Kim F. Storm <storm@cua.dk>
3751
3752 * alloc.c (marker_blocks_pending_free): New var.
3753 (gc_sweep): Store free marker blocks on that list.
3754 (Fgarbage_collect): Free them after undo-list cleanup.
3755
3756 * process.c (wait_reading_process_input): Check connect_wait_mask
3757 before actually accepting connection in case it has already been
3758 accepted due to recursion.
3759
3760 2004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
3761
3762 * coding.c (Fset_safe_terminal_coding_system_internal):
3763 Set suppress_error in safe_terminal_coding, not terminal_coding.
3764
3765 2004-05-22 Richard M. Stallman <rms@gnu.org>
3766
3767 * alloc.c (Fmake_string): Doc fix.
3768
3769 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
3770 and the alist pairs too.
3771
3772 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
3773
3774 * emacs.c (main): Update copyright year.
3775
3776 * fileio.c (Fread_file_name): Expand DIR if not absolute.
3777
3778 * insdel.c (del_range_2, replace_range): Don't write an anchor
3779 if the gap is empty.
3780
3781 * xdisp.c (try_scrolling): If scroll-up-aggressively or
3782 scroll-down-aggressively is small but positive, put point
3783 near the screen edge.
3784
3785 2004-05-22 Juanma Barranquero <lektu@terra.es>
3786
3787 * keymap.c (Fdefine_key): Doc fix.
3788
3789 2004-05-22 Kim F. Storm <storm@cua.dk>
3790
3791 * alloc.c (struct backtrace): Add debug_on_exit member.
3792 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
3793 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
3794 the removed cons cells.
3795 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
3796 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
3797 any cons cells pointing to unallocated stings.
3798 Do not lisp_free any marker blocks, as there may still be pointers
3799 to them from buffer undo lists at this stage of GC.
3800
3801 * keyboard.c (struct backtrace): Add debug_on_exit member.
3802 (Fcommand_execute): Clear it.
3803
3804 2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
3805
3806 * intervals.c (lookup_char_property): Do not prematurely return nil.
3807
3808 2004-05-19 Jim Blandy <jimb@redhat.com>
3809
3810 Add support for new '\_<' and '\_>' regexp operators, matching the
3811 beginning and end of symbols.
3812
3813 * regex.c (enum syntaxcode): Add Ssymbol.
3814 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
3815 (re_opcode_t): New opcodes `symbeg' and `symend'.
3816 (print_partial_compiled_pattern): Print the new opcodes properly.
3817 (regex_compile): Parse the new operators.
3818 (analyse_first): Skip sym(beg|end) (they match only the empty string).
3819 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
3820 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
3821 (re_match_2_internal): Match symbeg and symend.
3822
3823 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
3824
3825 2004-05-19 Kim F. Storm <storm@cua.dk>
3826
3827 * .gdbinit (xsymbol): Fix last change.
3828
3829 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
3830
3831 * .gdbinit (xprintstr): New fun.
3832 (xstring, xprintsym): Use it.
3833
3834 * w32proc.c (create_child): Use INTMASK.
3835
3836 * alloc.c (Fgarbage_collect): Do all the marking before flushing
3837 unmarked elements of the undo list.
3838
3839 2004-05-18 David Ponce <david@dponce.com>
3840
3841 * print.c (print): Reset print_depth before to call print_object.
3842
3843 2004-05-18 Jason Rumney <jasonr@gnu.org>
3844
3845 * w32console.c: Prefix RIF functions with w32con_ to avoid
3846 namespace clash with functions in term.c and w32term.c.
3847
3848 * w32menu.c (add_menu_item, w32_menu_display_help)
3849 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
3850
3851 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
3852
3853 2004-05-18 Eli Zaretskii <eliz@gnu.org>
3854
3855 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
3856
3857 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
3858 with make_number.
3859 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
3860 with XINT.
3861
3862 2004-05-18 Kim F. Storm <storm@cua.dk>
3863
3864 * blockinput.h (INPUT_BLOCKED_P): New macros.
3865
3866 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
3867 (Ftop_level): Unblock input if blocked.
3868
3869 * buffer.h (GET_OVERLAYS_AT): New macro.
3870 * msdos.c (IT_note_mouse_highlight): Use it.
3871 * textprop.c (get_char_property_and_overlay): Use it.
3872 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
3873 * xfaces.c (face_at_buffer_position): Use it.
3874
3875 * print.c (print_object): Increase buf size.
3876
3877 2004-05-17 Jason Rumney <jasonr@gnu.org>
3878
3879 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
3880 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
3881 Lisp_Object using i member.
3882 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
3883 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
3884 consistently.
3885
3886 * w32proc.c (create_child): Use make_number instead of masking pid.
3887
3888 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
3889 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
3890 Use EQ to compare Lisp_Objects.
3891 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
3892
3893 * w32term.c (w32_num_mouse_buttons): Rename from
3894 Vw32_num_mouse_buttons and make it an int.
3895
3896 * w32.c (init_environment): Use it.
3897
3898 * w32fns.c (w32_wnd_proc): Likewise.
3899
3900 * w32proc.c (w32_pipe_read_delay): Rename from
3901 Vw32_pipe_read_delay and make it an int.
3902
3903 * w32.c (_sys_read_ahead): Use it.
3904
3905 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
3906
3907 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
3908
3909 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
3910 (key_event): Don't mix Lisp_Object and int.
3911
3912 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
3913
3914 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
3915 modifiers in language change event.
3916
3917 2004-05-17 Kim F. Storm <storm@cua.dk>
3918
3919 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
3920 Such objects may be freed markers which still exist on an undo list.
3921
3922 2004-05-16 Juanma Barranquero <lektu@terra.es>
3923
3924 * data.c (Fset_default): Make argument names match their use in
3925 docstring.
3926
3927 2004-05-15 Andreas Schwab <schwab@suse.de>
3928
3929 * emacs.c (gdb_array_mark_flag): Define.
3930 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
3931
3932 2004-05-15 Eli Zaretskii <eliz@gnu.org>
3933
3934 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
3935 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
3936 defined for the MS-DOS build.
3937
3938 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
3939
3940 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
3941
3942 2004-05-14 Kenichi Handa <handa@m17n.org>
3943
3944 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
3945
3946 2004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3947
3948 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
3949 section to frame.c section.
3950 (Fxw_display_color_p, Fx_file_dialog): Declare if
3951 HAVE_WINDOW_SYSTEM defined.
3952
3953 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
3954
3955 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
3956
3957 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
3958 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
3959 (XTread_socket): Fix int/Lisp_Object mixup.
3960 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
3961
3962 * macterm.h (struct frame, struct face, struct image)
3963 (display_x_get_resource, Fx_display_color_p)
3964 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
3965 Add prototypes.
3966
3967 2004-05-14 Kim F. Storm <storm@cua.dk>
3968
3969 * process.c (wait_reading_process_input): Make reentrant.
3970 Make Available and Connecting non-static. Save and restore value
3971 of waiting_for_user_input_p.
3972
3973 2004-05-13 Kim F. Storm <storm@cua.dk>
3974
3975 * keyboard.c (mark_kboards): Don't mark x and y members
3976 that are overloaded in selection request events.
3977
3978 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
3979
3980 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
3981
3982 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
3983
3984 * window.c (Fdisplay_buffer, Fsplit_window)
3985 (split-height-threshold): Doc fix.
3986
3987 2004-05-13 Juanma Barranquero <lektu@terra.es>
3988
3989 * xfaces.c (Ftty_supports_face_attributes_p)
3990 (Finternal_copy_lisp_face): Fix typo in docstring.
3991 (Finternal_get_lisp_face_attribute): Fix docstring.
3992
3993 2004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3994
3995 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
3996
3997 2004-05-11 Steven Tamm <steventamm@mac.com>
3998
3999 * macfns.c (Fx_create_frame): Default to using tool-bar by
4000 setting tool-bar-lines to 1 in default-frame-alist.
4001
4002 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4003
4004 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
4005 (xpm_get_color_table_v, xpm_make_color_table_h)
4006 (xpm_put_color_table_h, xpm_get_color_table_h)
4007 (xpm_str_to_color_key, xpm_load_image, xpm_load)
4008 (syms_of_image): Support XPM on Carbon Emacs. Does not
4009 depend on libXpm, but only supports XPM version 3 without extensions.
4010
4011 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4012
4013 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
4014 instead of FRAME_X_P
4015
4016 2004-05-11 Kim F. Storm <storm@cua.dk>
4017
4018 * process.c (read_process_output): Grow decoding_buf when needed;
4019 this could cause a crash in allocate_string and compact_small_strings.
4020
4021 2004-04-29 Jim Blandy <jimb@redhat.com>
4022
4023 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
4024 against proper opcode.
4025
4026 2004-05-10 Juanma Barranquero <lektu@terra.es>
4027
4028 * process.c (Fstart_process): Fix docstring.
4029
4030 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
4031 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
4032 (Fsplit_char, Fchar_charset): Make argument names match their use
4033 in docstring.
4034
4035 2004-05-10 Richard M. Stallman <rms@gnu.org>
4036
4037 * print.c (print_preprocess): Use being_printed, loop_count and
4038 halftail to detect overdeep nesting and cyclic cdr chains.
4039
4040 2004-05-10 Andreas Schwab <schwab@suse.de>
4041
4042 * lisp.h (Fmake_symbolic_link): Declare.
4043
4044 * fileio.c (Frename_file): Remove extra argument in call to
4045 Fmake_symbolic_link.
4046
4047 2004-05-10 Kim F. Storm <storm@cua.dk>
4048
4049 * xdisp.c (calc_line_height_property): Use string position when
4050 object is a string.
4051
4052 2004-05-10 Kenichi Handa <handa@m17n.org>
4053
4054 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
4055 inhibit-modification-hooks to t temporarily before calling
4056 Ferase_buffer.
4057
4058 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
4059 inhibit-modification-hooks to t temporarily before calling
4060 Ferase_buffer.
4061
4062 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
4063 inhibit-modification-hooks to t temporarily before calling
4064 Ferase_buffer.
4065
4066 * fns.c (count_combining): Delete it.
4067 (concat): Don't check combining bytes.
4068
4069 2004-05-09 Jason Rumney <jasonr@gnu.org>
4070
4071 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
4072 (globals_of_w32fns): Set it.
4073
4074 2004-05-09 Piet van Oostrum <piet@cs.uu.nl>
4075
4076 * data.c (Fquo): Simplify.
4077
4078 2004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
4079
4080 * data.c (Fquo): If any argument is float, do the computation in
4081 floating point.
4082
4083 2004-05-08 Juanma Barranquero <lektu@terra.es>
4084
4085 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
4086 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
4087 Fix spelling of Emacs on docstring.
4088 (Fset_process_coding_system, Fprocess_coding_system)
4089 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
4090 Make argument names match their use in docstring.
4091 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
4092 Fix docstring.
4093
4094 * editfns.c (Finsert_buffer_substring): Make argument names match their
4095 use in docstring.
4096
4097 * syntax.c (Fmodify_syntax_entry): Fix docstring.
4098
4099 2004-05-07 Steven Tamm <steventamm@mac.com>
4100
4101 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
4102 around call to ReceiveEvent to avoid certain crashes.
4103
4104 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4105
4106 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
4107 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
4108 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
4109 Save/restore the current graphics port and device handle when
4110 drawing into an offscreen graphics world.
4111
4112 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
4113 (gif_load): Likewise.
4114
4115 2004-05-07 Juanma Barranquero <lektu@terra.es>
4116
4117 * window.c (Fset_window_buffer): Fix docstring.
4118
4119 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
4120
4121 * emacs.c (main) [VMS]: Fix var ref.
4122
4123 2004-05-06 Romain Francoise <romain@orebokech.com>
4124
4125 * data.c (Fsetq_default): Fix docstring.
4126
4127 2004-05-06 Jason Rumney <jasonr@gnu.org>
4128
4129 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
4130 to avoid name clash.
4131
4132 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4133
4134 * fileio.c (barf_or_query_if_file_exists): Use lstat.
4135 (Frename_file): Handle renaming of symlinks across file systems.
4136 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
4137
4138 2004-05-04 Kim F. Storm <storm@cua.dk>
4139
4140 * xdisp.c (Qtotal): New var.
4141 (syms_of_xdisp): Intern and staticpro it.
4142 (calc_line_height_property): New arg total. Set it if
4143 line-spacing property has format (total . VALUE).
4144 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
4145 Handle total line-spacing property.
4146
4147 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4148
4149 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
4150 "under" scroll bar when size/position changes.
4151
4152 2004-05-03 Jason Rumney <jasonr@gnu.org>
4153
4154 * makefile.nt: Remove.
4155
4156 2004-05-02 Eli Zaretskii <eliz@gnu.org>
4157
4158 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
4159 Avoid compiler warnings.
4160
4161 * Makefile.in (region-cache.o): Depend on config.h.
4162
4163 2004-05-02 Romain Francoise <romain@orebokech.com>
4164
4165 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
4166 with continuation lines, too.
4167
4168 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
4169
4170 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
4171
4172 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
4173
4174 * xdisp.c (calc_line_height_property): YAILOM (yet another
4175 int/Lisp_Object mixup).
4176
4177 2004-05-01 Eli Zaretskii <eliz@gnu.org>
4178
4179 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
4180 undo bad effect of pack(4) in some versions of system headers.
4181
4182 2004-05-01 Jason Rumney <jasonr@gnu.org>
4183
4184 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
4185
4186 2004-04-30 Kim F. Storm <storm@cua.dk>
4187
4188 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
4189 (syms_of_buffer) <cursor-type>: Doc fix.
4190
4191 * dispextern.h (struct it): Remove member use_default_face.
4192 Add members override_ascent, override_descent, override_boff.
4193
4194 * xdisp.c (init_iterator): Handle line-spacing float value.
4195 Initialize override_ascent member.
4196 (append_space_for_newline): Reset override_ascent.
4197 Remove use_default_face.
4198 (calc_line_height_property): New function to calculate value of
4199 line-height and line-spacing properties. Look at overlays, too.
4200 Set override_ascent, override_descent, override_boff members when
4201 using another face than the current face. Float values are now
4202 relative to the frame default font, by default; accept a cons
4203 of ratio and face name to specify value relative to a specific face.
4204 (x_produce_glyphs): Use calc_line_height_property.
4205 Use override_ascent etc. when set to handle different face heights.
4206 A negative line-spacing property value is interpreted as a total
4207 line height, rather than inter-line spacing.
4208 (note_mouse_highlight): Allocate room for 40 overlays initially.
4209
4210 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
4211
4212 * data.c (Fsubr_name): New fun.
4213 (syms_of_data): Defsubr it.
4214
4215 2004-04-29 Kim F. Storm <storm@cua.dk>
4216
4217 * xdisp.c (null_glyph_slice): New var.
4218 (append_glyph, append_composite_glyph, append_stretch_glyph):
4219 Use it to initialize glyph slice.
4220
4221 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
4222
4223 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
4224 (on_hot_spot_p): Make sure we always return a value.
4225 (Flookup_image_map): Remove unused var ix and iy.
4226 (note_mode_line_or_margin_highlight): Remove unused var `image'.
4227
4228 2004-04-27 Eli Zaretskii <eliz@gnu.org>
4229
4230 * msdos.c (init_environment): If one of the TMP... environment
4231 variables is set to a drive letter without a trailing slash,
4232 append a slash.
4233
4234 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
4235
4236 * editfns.c (lisp_time_argument): Provide externally.
4237
4238 * fileio.c (Fset_file_times): New function.
4239 (syms_of_fileio): Intern and staticpro it.
4240
4241 2004-04-27 Kim F. Storm <storm@cua.dk>
4242
4243 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
4244 header line strings.
4245
4246 * dispextern.h (struct it): New member use_default_face.
4247
4248 * xdisp.c (Qline_height): New variable.
4249 (syms_of_xdisp): Intern and staticpro it.
4250 (append_space_for_newline): Partially undo 2004-04-25 change;
4251 add default_face_p arg, and restore callers.
4252 Clear it->use_default_face after use.
4253 (x_produce_glyphs): Set default font for ascii char if
4254 it->use_default_font is set. Change line-spacing property to set
4255 just extra line spacing. Handle new line-height property.
4256
4257 2004-04-26 Andreas Schwab <schwab@suse.de>
4258
4259 * print.c (print_object): Print non-ascii characters in bool
4260 vector representation as octal escapes.
4261
4262 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
4263 * print.c (print_object): Use it instead of BITS_PER_CHAR for
4264 bool vectors.
4265 * lread.c (read1): Likewise.
4266 * alloc.c (Fmake_bool_vector): Likewise.
4267 * data.c (Faref, Faset): Likewise.
4268 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
4269 (mapcar1): Likewise.
4270
4271 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
4272
4273 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
4274
4275 2004-04-26 Miles Bader <miles@gnu.org>
4276
4277 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
4278
4279 2004-04-26 Juanma Barranquero <lektu@terra.es>
4280
4281 * buffer.c (Fpop_to_buffer): Fix docstring.
4282
4283 2004-04-26 Steven Tamm <steventamm@mac.com>
4284
4285 * lread.c (init_lread): Don't display missing lisp directory
4286 warnings with Carbon Emacs because self-contained bundled Emacs
4287 may be built without correct installation path.
4288
4289 2004-04-25 Kim F. Storm <storm@cua.dk>
4290
4291 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
4292
4293 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
4294
4295 * xdisp.c (append_space_for_newline): Rename from append_space.
4296 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
4297 (x_produce_glyphs): Handle line-spacing property on newline char.
4298 If value is t, adjust ascent and descent to fit current row height.
4299 If value is an integer or float, set extra_line_spacing to integer
4300 value, or to float value x current line height.
4301
4302 2004-04-23 Kenichi Handa <handa@m17n.org>
4303
4304 * fontset.c (Finternal_char_font): If POSITION is nil, return
4305 font for displaying CH with the default face.
4306
4307 2004-04-23 Juanma Barranquero <lektu@terra.es>
4308
4309 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
4310
4311 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
4312
4313 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
4314 Don't make assumptions about the relative place of i and val.
4315 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
4316
4317 2004-04-21 Kim F. Storm <storm@cua.dk>
4318
4319 * dispextern.h (struct glyph_slice): New struct.
4320 (struct glyph): New member slice.
4321 (GLYPH_SLICE_EQUAL_P): New macro.
4322 (GLYPH_EQUAL_P): Use it.
4323 (struct glyph_string): New member slice.
4324 (struct it_slice): New struct.
4325 (struct it): New member slice, add member to stack too.
4326 New member constrain_row_ascent_descent_p.
4327 (image_ascent): Add prototype.
4328
4329 * dispnew.c (buffer_posn_from_coords): Return full image width
4330 and height even for image slices (posn is relative to full image).
4331 (marginal_area_string): Adjust x0,y0 for image slice.
4332
4333 * image.c (image_ascent): Add slice arg; calculate ascent for
4334 image slice (or full image).
4335
4336 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
4337 (syms_of_keyboard): Defsubr them.
4338
4339 * lisp.h (pos_visible_p): Fix prototype.
4340
4341 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
4342 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4343 (x_draw_image_foreground, x_draw_image_relief)
4344 (x_draw_image_foreground_1, x_draw_image_glyph_string):
4345 Draw sliced images.
4346
4347 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
4348 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4349 (x_draw_image_foreground, x_draw_image_relief)
4350 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
4351 Draw sliced images.
4352
4353 * w32term.h (image_ascent): Remove prototype.
4354
4355 * window.c (Fpos_visible_in_window_p): Return pixel position if
4356 PARTIALLY arg is non-nil. Simplify. Doc fix.
4357 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
4358 to return/set vscroll in pixels.
4359
4360 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
4361
4362 * xdisp.c (Qslice): New variable.
4363 (syms_of_xdisp): Intern and staticpro it.
4364 (pos_visible_p): Return pixel position in new x and y args.
4365 (init_iterator): Reset it->slice info.
4366 (handle_display_prop): Parse (slice ...) property.
4367 (push_it, pop_it): Save/restore slice info.
4368 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
4369 force repositioning of tall row if window is vscrolled, as that
4370 would reset vscroll.
4371 (append_space): Set it->constrain_row_ascent_descent_p to avoid
4372 increasing row height if row is non-empty.
4373 (fill_image_glyph_string): Copy slice info.
4374 (take_vertical_position_into_account): Simplify.
4375 (produce_image_glyph): Handle iterator slice info, setup glyph
4376 slice info. Do not force minimum line height.
4377 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
4378 do not increase height (ascent/descent) of non-empty row when
4379 adding normal character glyph; instead reduce glyph ascent/descent
4380 appropriately; if row is higher than current glyph, adjust glyph
4381 descent/ascent to reposition glyph within the existing row.
4382 Likewise, when char is newline, only set ascent/descent if row is
4383 currently empty.
4384 (note_mouse_highlight): Handle hotspots with sliced image.
4385
4386 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
4387 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4388 (x_draw_image_foreground, x_draw_image_relief)
4389 (x_draw_image_foreground_1, x_draw_image_glyph_string):
4390 Draw sliced images.
4391
4392 * xterm.h (image_ascent): Remove prototype.
4393
4394 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
4395
4396 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
4397
4398 2004-04-20 John Paul Wallington <jpw@gnu.org>
4399
4400 * fns.c (Fassoc, Feql): Fix indentation.
4401
4402 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
4403
4404 2004-04-19 John Paul Wallington <jpw@gnu.org>
4405
4406 * fns.c (Feql): New function.
4407 (syms_of_fns): Defsubr it.
4408
4409 2004-04-18 Jason Rumney <jasonr@gnu.org>
4410
4411 * w32select.c (Fw32_set_clipboard_data): Get sequence number
4412 after closing the clipboard.
4413
4414 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
4415
4416 * buffer.c (Fbuffer_base_buffer): Doc fix.
4417
4418 2004-04-17 Kim F. Storm <storm@cua.dk>
4419
4420 * keymap.c (Fkey_description): Add optional PREFIX arg.
4421 Combine prefix with KEYS to make up the full key sequence to describe.
4422 Correlate meta_prefix_char and following (simple) key to describe
4423 as meta modifier. All callers changed.
4424 (describe_map): Rename arg `keys' to `prefix'. Remove local
4425 `elt_prefix' var. Use Fkey_description with prefix instead of
4426 elt_prefix combined with Fsingle_key_description.
4427 (describe_vector): Declare static. Replace arg `elt_prefix' with
4428 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
4429 if !KEYMAP_P. Use Fkey_description with prefix instead of
4430 Fsingle_key_description.
4431
4432 * keymap.h (Fkey_description): Fix prototype.
4433 (describe_vector): Remove prototype.
4434
4435 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
4436
4437 * image.c (PNG_BG_COLOR_SHIFT): Remove.
4438 (png_load): Fix calculation of transparent background color on X
4439 and W32 platforms.
4440
4441 2004-04-16 Juanma Barranquero <lektu@terra.es>
4442
4443 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
4444 not too large before computing how much to scroll.
4445
4446 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
4447
4448 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
4449
4450 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
4451
4452 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
4453 Add hyperlink to Elisp manual to the docstring.
4454
4455 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
4456
4457 * callint.c (fix_command): Use XDCR.
4458
4459 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
4460
4461 * window.c (Fget_lru_window): Doc fix.
4462
4463 2004-04-14 Kim F. Storm <storm@cua.dk>
4464
4465 * editfns.c (Fformat): Fix allocation size of precision array.
4466
4467 * dispnew.c (update_window): Only set changed_p if
4468 scrolling_window actually did scroll.
4469 (scrolling_window): Only return 1 if we actually did scroll.
4470
4471 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
4472 height to glyph height when cursor row is not fully visible.
4473 (make_cursor_line_fully_visible): Add FORCE_P arg to return
4474 failure in case row is higher than window. Callers changed.
4475 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
4476 Try to scroll partially visible, higher-than-window cursor row.
4477 (redisplay_window): Always try to scroll partially visible,
4478 higher-than-window cursor row - both initially and again with
4479 centering_position = 0.
4480 Clear desired matrix before retrying with centering_position = 0.
4481
4482 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
4483
4484 * syntax.c (scan_lists): Simplify backward string scan.
4485 Fix off-by-one boundary check for string and comment fences.
4486
4487 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
4488
4489 * sheap.c, unexcw.c: New files.
4490
4491 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
4492
4493 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
4494 base buffer has been killed. Correct the error message if the
4495 base buffer does not exist.
4496
4497 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
4498
4499 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
4500 Cygwin itself. Add support for Xaw3d scrollbars.
4501
4502 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
4503
4504 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
4505
4506 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
4507 before Cygwin unexec.
4508
4509 * Makefile.in: Link changes for Cygwin unexec() support.
4510
4511 2004-04-12 Andreas Schwab <schwab@suse.de>
4512
4513 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
4514
4515 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
4516
4517 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
4518 IGNORE argument equals NAME. Doc fix.
4519
4520 2004-04-11 Masatake YAMATO <jet@gyve.org>
4521
4522 * buffer.c (fix_start_end_in_overlays): Make overlays
4523 empty if they are backwards.
4524
4525 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
4526
4527 * xfaces.c (face_color_supported_p): Fix compilation without X11.
4528
4529 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
4530
4531 * doc.c (Fsnarf_documentation): Ignore new file name entries.
4532
4533 2004-04-06 Kim F. Storm <storm@cua.dk>
4534
4535 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
4536 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
4537
4538 * w32term.c (w32_read_socket): Set mouse_face_hidden after
4539 clearing highlight.
4540
4541 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
4542
4543 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
4544 clearing highlight.
4545
4546 * indent.c (vmotion): Do not reserve one column for continuation
4547 marks on window frames.
4548
4549 2004-04-04 Eli Zaretskii <eliz@gnu.org>
4550
4551 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
4552 from GCC.
4553
4554 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
4555
4556 * .gdbinit-union: Remove.
4557
4558 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
4559 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
4560 ($nonvalbits): Remove.
4561 ($valmask): Set it by calling xreload to avoid redundancy.
4562
4563 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
4564 (gdb_emacs_intbits): Remove.
4565
4566 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4567
4568 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
4569
4570 2004-03-30 Kenichi Handa <handa@m17n.org>
4571
4572 * editfns.c (Fformat): Fix initialization of the array info.
4573
4574 2004-03-30 Kim F. Storm <storm@cua.dk>
4575
4576 * xterm.c (x_mouse_click_focus_ignore_position): New var.
4577 (syms_of_xterm): DEFVAR_BOOL it.
4578 (ignore_next_mouse_click_timeout): New var.
4579 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
4580 Use it to filter mouse clicks following focus event.
4581
4582 2004-03-29 David Ponce <david@dponce.com>
4583
4584 * callint.c (Fcall_interactively): Fix last change.
4585
4586 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
4587
4588 * eval.c (Fcommandp): Simplify.
4589
4590 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
4591 Extend to handle all kinds of functions.
4592
4593 * lisp.h (Finteractive_form): Declare.
4594
4595 * callint.c (Fcall_interactively): Use it.
4596
4597 2004-03-26 Kim F. Storm <storm@cua.dk>
4598
4599 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
4600 to catch errors in calc_pixel_width_or_height during redisplay.
4601
4602 2004-03-26 Masatake YAMATO <jet@gyve.org>
4603
4604 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
4605
4606 * lisp.h (fix_start_end_in_overlays): Likewise.
4607
4608 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
4609
4610 * editfns.c (Ftranspose_regions): Likewise.
4611
4612 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4613
4614 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
4615
4616 2004-03-19 Richard M. Stallman <rms@gnu.org>
4617
4618 * s/sol2-6.h: Delete previous change.
4619
4620 2004-03-19 Kim F. Storm <storm@cua.dk>
4621
4622 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
4623 to_charpos corresponds to newline in right fringe. Use local
4624 BUFFER_POS_REACHED_P macro.
4625
4626 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4627
4628 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
4629 to compile on non-window system.
4630
4631 2004-03-19 Kim F. Storm <storm@cua.dk>
4632
4633 * dispextern.h (calc_pixel_width_or_height): Add prototype.
4634
4635 * image.c (Qcenter): Move to xdisp.c.
4636
4637 * xdisp.c (Qcenter): Declare here.
4638 (syms_of_xdisp): Intern and staticpro it.
4639 (handle_single_display_prop): Allow space display property on all
4640 platforms.
4641 (display_mode_line): Set mode_line_p before displaying line.
4642 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
4643 handling. Remove complex cases for fringes and scroll-bars.
4644 Add left, right, and center alignment positions. Add text (area)
4645 width/height. Return width or height for image specs.
4646 (produce_stretch_glyph): Improve handling of :align-to. Is now
4647 relative to left of text area by default, but other base offsets
4648 can be specified -- also for text lines.
4649
4650 * term.c (produce_glyphs): Handle IT_STRETCH.
4651 (produce_stretch_glyph): New function to handle space width and
4652 align-to display properties on non-window systems.
4653
4654 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
4655
4656 * fileio.c (Fread_file_name): Set completion-ignore-case for
4657 case-insensitive systems.
4658
4659 2004-03-14 Masatake YAMATO <jet@gyve.org>
4660
4661 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
4662 when keymap and cursor are setup.
4663
4664 2004-03-14 Steven Tamm <steventamm@mac.com>
4665
4666 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
4667
4668 2004-03-14 Kim F. Storm <storm@cua.dk>
4669
4670 * dispextern.h (x_find_image_file): Add prototype.
4671
4672 * image.c (x_find_image_file): Make extern.
4673
4674 * xfns.c (x_find_image_file): Remove prototype.
4675
4676 2004-03-13 Eli Zaretskii <eliz@gnu.org>
4677
4678 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
4679
4680 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
4681
4682 2004-03-12 Richard M. Stallman <rms@gnu.org>
4683
4684 * fns.c (internal_equal): New arg PROPS controls comparing
4685 text properties. All callers changed.
4686 (Fequal_including_properties): New function.
4687 (syms_of_fns): defsubr it.
4688
4689 2004-03-12 Kim F. Storm <storm@cua.dk>
4690
4691 Fix image support on MAC. From YAMAMOTO Mitsuharu.
4692
4693 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
4694 (image_background, image_background_transparent): Fix prototypes.
4695
4696 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
4697
4698 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
4699 (x_query_font, x_find_ccl_program, x_set_window_size)
4700 (x_make_frame_visible, mac_initialize, XCreatePixmap)
4701 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
4702 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
4703
4704 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
4705 (x_query_font, x_find_ccl_program, x_set_window_size)
4706 (x_make_frame_visible, mac_initialize, XCreatePixmap)
4707 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
4708 (mac_draw_line_to_pixmap): Add prototypes.
4709
4710 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4711
4712 * macterm.c (XTread_socket): Fix mouse click on tool bar.
4713
4714 2004-03-11 Kim F. Storm <storm@cua.dk>
4715
4716 * dispextern.h: Move image related prototypes from xfns.c section
4717 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
4718 HAVE_X_WINDOWS.
4719
4720 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
4721 Move gtkutil.o to new GTK_OBJ list.
4722 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
4723 (GTK_OBJ) [USE_GTK]: New declaration.
4724 (obj): Add $(GTK_OBJ) to list.
4725
4726 2004-03-11 Steven Tamm <steventamm@mac.com>
4727
4728 * image.c [MAC_OSX]: Include sys/stat.h
4729
4730 * macfns.c (syms_of_macfns): Remove definitions of things now
4731 defined in image.c
4732
4733 2004-03-11 Kim F. Storm <storm@cua.dk>
4734
4735 The following changes consolidates the identical/similar image
4736 support code previously found in xfns.c, w32fns.c, and macfns.c
4737 into a new file image.c.
4738
4739 * makefile.w32-in (OBJ1): Add image.o.
4740 ($(BLD)/image.$(O)): Add dependencies.
4741
4742 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
4743 (image.o): Add dependencies.
4744
4745 * image.c: New file with consolidated image support code.
4746 (COLOR_TABLE_SUPPORT): New define to control whether
4747 color table support is available (X only).
4748 (Bitmap_Record): Common name for x_bitmap_record,
4749 w32_bitmap_record, and mac_bitmap_record.
4750 (XImagePtr): Common name for pointer to XImage or equivalent.
4751 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
4752 to XImagePtr on X+MAC, and to HDC on W32.
4753 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
4754 (NO_PIXMAP): Common name for "None" or equivalent.
4755 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
4756 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
4757 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
4758 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
4759 Define with suitable equivalents on W32 and MAC for code sharing.
4760 (XDrawLine): Define on MAC for code sharing.
4761 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
4762 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
4763 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4764 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4765 (x_reference_bitmap, x_create_bitmap_from_data)
4766 (x_create_bitmap_from_file, x_destroy_bitmap)
4767 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4768 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4769 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4770 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4771 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4772 (define_image_type, lookup_image_type, valid_image_p)
4773 (image_error, enum image_value_type, struct image_keyword)
4774 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
4775 (make_image, free_image, prepare_image_for_display, image_ascent)
4776 (four_corners_best, image_background, image_background_transparent)
4777 (x_clear_image_1, x_clear_image, x_alloc_image_color)
4778 (make_image_cache, free_image_cache, clear_image_cache)
4779 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
4780 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
4781 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
4782 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
4783 (init_image_func_pointer, image_load_quartz2d)
4784 (struct ct_color, init_color_table, free_color_table)
4785 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
4786 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
4787 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
4788 (x_disable_image, x_build_heuristic_mask)
4789 (XBM support, XPM support, PBM support, PNG support, JPEG support)
4790 (TIFF support, GIF support, Ghostscript support): Consolidate image
4791 code from xfns.c, w32fns.c, and macfns.c.
4792 (syms_of_image): Consolidate image related symbol setup here.
4793 (init_image): Consolidate image related initializations here.
4794
4795 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
4796 and init_image. Remove call to init_xfns.
4797
4798 * macterm.h (struct mac_bitmap_record): Add file member.
4799 Not currently used, but simplifies code sharing.
4800
4801 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4802 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4803 (x_reference_bitmap, x_create_bitmap_from_data)
4804 (x_create_bitmap_from_file, x_destroy_bitmap)
4805 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4806 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4807 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4808 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4809 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4810 (define_image_type, lookup_image_type, valid_image_p)
4811 (image_error, enum image_value_type, struct image_keyword)
4812 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
4813 (make_image, free_image, prepare_image_for_display, image_ascent)
4814 (four_corners_best, image_background, image_background_transparent)
4815 (x_clear_image_1, x_clear_image, x_alloc_image_color)
4816 (make_image_cache, free_image_cache, clear_image_cache)
4817 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
4818 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
4819 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
4820 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
4821 (init_image_func_pointer, image_load_quartz2d)
4822 (struct ct_color, init_color_table, free_color_table)
4823 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
4824 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
4825 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
4826 (x_disable_image, x_build_heuristic_mask)
4827 (XBM support, XPM support, PBM support, PNG support, JPEG support)
4828 (TIFF support, GIF support, Ghostscript support): Merge with image
4829 code from xfns.c and macfns.c into image.c.
4830 (syms_of_xfns): Move image related symbols to image.c.
4831 (init_external_image_libraries, init_xfns): Remove; initialization
4832 moved to init_image in image.c.
4833
4834 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4835 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4836 (x_reference_bitmap, x_create_bitmap_from_data)
4837 (x_create_bitmap_from_file, x_destroy_bitmap)
4838 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4839 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4840 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4841 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4842 (define_image_type, lookup_image_type, valid_image_p)
4843 (image_error, enum image_value_type, struct image_keyword)
4844 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
4845 (make_image, free_image, prepare_image_for_display, image_ascent)
4846 (four_corners_best, image_background, image_background_transparent)
4847 (x_clear_image_1, x_clear_image, x_alloc_image_color)
4848 (make_image_cache, free_image_cache, clear_image_cache)
4849 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
4850 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
4851 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
4852 (struct ct_color, init_color_table, free_color_table)
4853 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
4854 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
4855 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
4856 (x_disable_image, x_build_heuristic_mask)
4857 (XBM support, XPM support, PBM support, PNG support, JPEG support)
4858 (TIFF support, GIF support, Ghostscript support): Merge with image
4859 code from xfns.c and macfns.c into image.c.
4860 (syms_of_xfns): Move image related symbols to image.c.
4861 (init_external_image_libraries, init_xfns): Remove; initialization
4862 moved to init_image in image.c.
4863
4864 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4865 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4866 (x_reference_bitmap, x_create_bitmap_from_data)
4867 (x_create_bitmap_from_file, x_destroy_bitmap)
4868 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4869 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4870 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4871 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4872 (define_image_type, lookup_image_type, valid_image_p)
4873 (image_error, enum image_value_type, struct image_keyword)
4874 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
4875 (make_image, free_image, prepare_image_for_display, image_ascent)
4876 (four_corners_best, image_background, image_background_transparent)
4877 (x_clear_image_1, x_clear_image, x_alloc_image_color)
4878 (make_image_cache, free_image_cache, clear_image_cache)
4879 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
4880 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
4881 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
4882 (struct ct_color, init_color_table, free_color_table)
4883 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
4884 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
4885 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
4886 (x_disable_image, x_build_heuristic_mask)
4887 (XBM support, XPM support, PBM support, PNG support, JPEG support)
4888 (TIFF support, GIF support, Ghostscript support): Merge with
4889 w32fns.c and macfns.c image code into image.c.
4890 (syms_of_xfns): Move image related symbols to image.c.
4891 (init_xfns): Remove; initialization moved to init_image in image.c.
4892
4893 * lisp.h (syms_of_image, init_image): Add protoypes.
4894 (init_xfns): Remove prototype.
4895
4896 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4897 (x_reference_bitmap, x_create_bitmap_from_data)
4898 (x_create_bitmap_from_file, x_destroy_bitmap)
4899 (x_create_bitmap_mask): Move prototypes from dispextern.h.
4900 (gamma_correct) [MAC_OS]: Add prototype.
4901
4902 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4903 (x_reference_bitmap, x_create_bitmap_from_data)
4904 (x_create_bitmap_from_file, x_destroy_bitmap)
4905 (x_create_bitmap_mask): Move prototypes to dispextern.h.
4906
4907 2004-03-09 Kenichi Handa <handa@etlken2>
4908
4909 * coding.c (decode_coding_emacs_mule): Handle insufficent source
4910 correctly.
4911
4912 2004-03-04 Richard M. Stallman <rms@gnu.org>
4913
4914 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
4915
4916 * window.c (Fdisplay_buffer): Doc fix.
4917
4918 * buffer.c (Fpop_to_buffer): Doc fix.
4919
4920 2004-03-03 Kim F. Storm <storm@cua.dk>
4921
4922 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
4923
4924 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
4925
4926 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
4927
4928 2004-03-02 Richard M. Stallman <rms@gnu.org>
4929
4930 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
4931
4932 2004-03-02 Kenichi Handa <handa@m17n.org>
4933
4934 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
4935
4936 2004-03-02 Kim F. Storm <storm@cua.dk>
4937
4938 * window.h (struct window): New member overlay_arrow_bitmap.
4939
4940 * window.c (make_window): Initialize overlay_arrow_bitmap.
4941
4942 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
4943 implement and integrate multiple overlay arrows with redisplay.
4944 (syms_of_xdisp): DEFVAR_LISP and initialize it.
4945 (last_arrow_position, last_arrow_string): Replace by properties.
4946 (Qlast_arrow_position, Qlast_arrow_string)
4947 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
4948 (syms_of_xdisp): Intern and staticpro them.
4949 (overlay_arrow_string_or_property, update_overlay_arrows)
4950 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
4951 (overlay_arrow_at_row): New functions for multiple overlay arrows.
4952 (redisplay_internal): Use them instead of directly accessing
4953 Voverlay_arrow_position etc. for multiple overlay arrows.
4954 (mark_window_display_accurate): Use update_overlay_arrows.
4955 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
4956 (try_window_id): Use overlay_arrows_changed_p.
4957 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
4958 (display_line): Use overlay_arrow_at_row to check multiple
4959 overlay arrows, and get relevant overlay-arrow-string and
4960 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
4961 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
4962 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
4963
4964 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
4965 (update_window_fringes): Remove unused code.
4966
4967 2004-03-01 Jason Rumney <jasonr@gnu.org>
4968
4969 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
4970
4971 2004-03-01 Juanma Barranquero <lektu@terra.es>
4972
4973 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
4974
4975 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
4976
4977 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4978
4979 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
4980 how many colors can be displayed.
4981
4982 2004-03-01 Kenichi Handa <handa@m17n.org>
4983
4984 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
4985 correctly.
4986
4987 2004-02-28 Kim F. Storm <storm@cua.dk>
4988
4989 * dispnew.c (update_window): Update header line also if there are
4990 no other changes in window (move code after set_cursor label).
4991
4992 * lisp.h (mark_window_display_accurate): Remove prototype.
4993
4994 * window.c (window_loop, Fforce_window_update): Force mode line
4995 updates by setting prevent_redisplay_optimizations_p and
4996 update_mode_lines.
4997
4998 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4999
5000 * xfns.c (x_window): Fix indentation.
5001
5002 * xterm.c (x_calc_absolute_position): Call x_real_positions
5003 to get WM window sizes and use those to calculate position.
5004 (x_set_offset): Remove code commented out.
5005
5006 2004-02-28 Miles Bader <miles@gnu.org>
5007
5008 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
5009
5010 2004-02-28 Kim F. Storm <storm@cua.dk>
5011
5012 * keyboard.c (kbd_buffer_store_event_hold): New function to store
5013 an event into kbd fifo, but with special handling of quit event;
5014 a quit event is saved for later, and further events are discarded
5015 until the saved quit event has been processed.
5016 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
5017 (gen_help_event): Store help event in kbd fifo.
5018 (NREAD_INPUT_EVENTS): Remove.
5019 (read_avail_input): Adapt to new read_socket_hook interface.
5020 Remove allocation and initialization of local input_event buffer,
5021 as read_socket_hook stores events directly in fifo. Allocate and
5022 initialize local hold_quit event to handle postponed quit event
5023 (and store it if set by kbd_buffer_store_event_hold).
5024
5025 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
5026 (gen_help_event): Fix prototype.
5027
5028 * macterm.c (XTread_socket): Remove bufp_r and
5029 numcharsp args. Add hold_quit arg.
5030 Rework to use just one, local, inev input_event. Store inev
5031 directly in fifo using kbd_buffer_store_event_hold.
5032
5033 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
5034 (read_input_waiting): Adapt to new read_socket_hook interface.
5035 Remove allocation and initialization of local input_event buffer,
5036 as read_socket_hook stores events directly in fifo. Allocate and
5037 initialize local hold_quit event to handle postponed quit event
5038 (and store it if set by kbd_buffer_store_event_hold).
5039
5040 * term.c (read_socket_hook): Fix arg list.
5041
5042 * termhooks.h (read_socket_hook): Fix prototype.
5043
5044 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
5045 numcharsp args. Add hold_quit arg.
5046 Rework to use just one, local, inev input_event. Store inev
5047 directly in fifo using kbd_buffer_store_event_hold.
5048
5049 * w32inevt.h (w32_console_mouse_position): Fix prototype.
5050
5051 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
5052 Add hold_quit arg. Rework to use just one, local, inev
5053 input_event. Store inev directly in fifo using
5054 kbd_buffer_store_event_hold. Update count in one place.
5055 Postpone call to gen_help_event until inev is stored; use new
5056 local do_help for this.
5057 Remove local emacs_event in handing of ButtonPress event; just use
5058 inev instead (so no reason to copy it later).
5059
5060 * xsmfns.c (x_session_check_input): Remove numchars arg.
5061
5062 * xterm.c (x_focus_changed, x_detect_focus_change):
5063 Remove numchars arg. Always store event into bufp arg.
5064 Return nothing. Callers changed accordingly.
5065 (glyph_rect): Simplify.
5066 (STORE_KEYSYM_FOR_DEBUG): New macro.
5067 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
5068 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
5069 (current_hold_quit) [USE_GTK]: Add.
5070 (event_handler_gdk): Adapt to new handle_one_xevent.
5071 (handle_one_xevent): Remove bufp_r and numcharsp args.
5072 Add hold_quit arg. Rework to use just one, local, inev
5073 input_event. Store inev directly in fifo using
5074 kbd_buffer_store_event_hold. Update count in one place.
5075 Postpone call to gen_help_event until inev is stored; use new
5076 local do_help for this.
5077 Simplify handling of keysyms (consolidate common code). Fix bug
5078 where count was updated with nchars instead of nbytes.
5079 Remove local emacs_event in handing of ButtonPress event; just use
5080 inev instead (so no reason to copy it later).
5081 Remove `out' label. Rename label `ret' to `done'; add various
5082 `goto done' to clarify code flow in deeply nested blocks.
5083 (x_dispatch_event): Simplify as handle_one_xevent now calls
5084 kbd_buffer_store_event itself.
5085 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
5086 arg. Call handle_one_xevent with new arglist. Store event from
5087 x_session_check_input in fifo.
5088 [USE_GTK]: Setup current_hold_quit.
5089 Decrement handling_signal before unblocking input.
5090 (x_initialize) [USE_GTK]: Initialize current_count.
5091
5092 * xterm.h (x_session_check_input): Fix prototype.
5093
5094 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5095
5096 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
5097
5098 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
5099 macgui.h).
5100
5101 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
5102
5103 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
5104 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
5105 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
5106 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
5107 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
5108 (Bitmap): Remove typedef.
5109 (Pixmap): Change int to GWorldPtr.
5110
5111 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5112
5113 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5114 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
5115 New #define to extract 16-bit depth color components from unsigned
5116 long representation.
5117 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
5118 colors used for masks.
5119 (struct mac_display_info): Add color_p. Remove n_cbits.
5120
5121 * macfns.c: Include sys/types.h and sys/stat.h.
5122 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
5123 Include QuickTime/QuickTime.h.
5124 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5125 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
5126 functions defined in macterm.c.
5127 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
5128 (ZPixmap): New #define for compatibility with xfns.c.
5129 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5130 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
5131 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
5132 New functions.
5133 (four_corners_best, x_create_x_image_and_pixmap)
5134 (x_destroy_x_image, unwind_create_frame, x_disable_image)
5135 (x_edge_detection, init_color_table, colors_in_color_table)
5136 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
5137 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
5138 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
5139 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
5140 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
5141 long mixup.
5142 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
5143 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
5144 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
5145 (x_set_cursor_type, Fxw_color_values, valid_image_p)
5146 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
5147 (x_alloc_image_color, clear_image_cache, lookup_image)
5148 (x_find_image_file, xbm_read_bitmap_file_data)
5149 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
5150 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
5151 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
5152 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
5153 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
5154 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
5155 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
5156 #if 0.
5157 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
5158 #if 0. Free white_relief.gc and black_relief.gc.
5159 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
5160 New functions (from xfns.c).
5161 (Fx_create_frame): Record unwind_create_frame.
5162 (Fxw_display_color_p): Use dpyinfo->color_p.
5163 (Fx_display_grayscale_p, Fx_display_planes): Don't use
5164 dpyinfo->n_cbits.
5165 (Fx_display_color_cells): Use dpyinfo->n_planes;
5166 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
5167 (Qheuristic, cross_disabled_images, emboss_matrix)
5168 (laplace_matrix): New variables (from xfns.c).
5169 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
5170 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
5171 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
5172 (image_background_transparent): New function (from xfns.c).
5173 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5174 (image_load_quicktime): Add declaration.
5175 [MAC_OSX] (image_load_quartz2d): Likewise.
5176 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
5177 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
5178 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
5179 (xbm_load_image_from_file, x_laplace_read_row)
5180 (x_laplace_write_row, pbm_read_file): Remove functions.
5181 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
5182 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
5183 (colors_in_color_table): Sync with xfns.c (although not used).
5184 (lookup_rgb_color): Don't lookup color table. Just do gamma
5185 correction.
5186 (COLOR_INTENSITY): New #define (from xfns.c).
5187 (x_disable_image): New function (from xfns.c).
5188 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5189 (x_build_heuristic_mask): Sync with xfns.c.
5190 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5191 (HAVE_PBM): Remove #ifdef.
5192 (pbm_load): Sync with xfns.c. Set img->width and img->height
5193 before IMAGE_BACKGROUND.
5194 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
5195 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
5196 Don't enclose with #if HAVE_PNG.
5197 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
5198 symbol _CGImageCreateWithPNGDataProvider is defined.
5199 Otherwise use image_load_quicktime.
5200 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
5201 [HAVE_PNG] (png_load): Sync with xfns.c.
5202 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5203 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
5204 HAVE_JPEG.
5205 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
5206 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
5207 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
5208 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
5209 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
5210 (tiff_image_p, tiff_load): Don't enclose declarations with #if
5211 HAVE_TIFF.
5212 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
5213 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
5214 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
5215 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
5216 New functions (from xfns.c).
5217 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
5218 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
5219 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
5220 Don't enclose with #if HAVE_GIF.
5221 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
5222 animated gif. Otherwise use image_load_quicktime.
5223 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
5224 gif_DrawText to avoid conflict with QuickdrawText.h.
5225 [HAVE_GIF] (gif_load): Sync with xfns.c.
5226 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
5227 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
5228 Ghostscript is not supported yet).
5229 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
5230 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
5231 cross_disabled_images (from xfns.c). Remove #if 0 for supported
5232 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
5233 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
5234 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
5235 HAVE_PNG. Call EnterMovies to support animated gifs.
5236 Call init_image_func_pointer to bind a symbol
5237 _CGImageCreateWithPNGDataProvider if it is defined.
5238
5239 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5240 (x_draw_bar_cursor): Sync declaration with xterm.c.
5241 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
5242 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
5243 graphics).
5244 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
5245 (mac_draw_line_to_pixmap, XCreatePixmap)
5246 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
5247 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
5248 New functions.
5249 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
5250 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
5251 Cast bits to char *.
5252 (reflect_byte): New function (from w32fns.c).
5253 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
5254 due to byte alignment.
5255 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
5256 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
5257 (XSetForeground): Remove static (now used in macfns.c).
5258 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
5259 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
5260 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
5261 (x_draw_glyph_string_box, x_draw_image_foreground)
5262 (x_draw_image_foreground_1, x_draw_image_glyph_string)
5263 (x_draw_stretch_glyph_string, x_draw_glyph_string)
5264 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
5265 Sync with xterm.c.
5266 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
5267 than the xterm.c version when a strictly horizontal or vertical
5268 line is drawn.
5269 (XTset_terminal_window): Add static.
5270 (x_make_frame_visible): Add UNBLOCK_INPUT.
5271 (x_free_frame_resources): New funcion (from xterm.c).
5272 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
5273 occurs in tool bar area.
5274 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
5275 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
5276 Initialize image cache.
5277 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
5278 Enclose unused functions with #if 0.
5279 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
5280 (decode_mac_font_name): New function to apply code conversions
5281 from a mac font name to an XLFD font name according to its script code.
5282 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
5283 font name to a mac font name according to REGISTRY and ENCODING fields.
5284 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
5285 whose name starts with `.'.
5286 (init_font_name_table): Use decode_mac_font_name. Add both
5287 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
5288 of a font is smJapanese.
5289 (mac_do_list_fonts): New function to list fonts that match a given
5290 pattern.
5291 (x_list_fonts, XLoadQueryFont): Use it.
5292 (XLoadQueryFont): Set rbearing field for each variable width
5293 character to avoid needless redraw.
5294 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
5295
5296 2004-02-26 Kim F. Storm <storm@cua.dk>
5297
5298 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
5299 as read_socket_hook handler on X aborts if buffer is too small
5300 and W32 handler doesn't always check buffer limit.
5301
5302 * xdisp.c (handle_single_display_prop): Handle left-fringe and
5303 right-fringe similar to a display margin image. Specifically,
5304 the characters having the fringe prop are no longer shown, and
5305 we use IT_IMAGE/next_element_from_image with image_id = -1 to
5306 do this. Set fringe bitmap face_id in it->face_id.
5307 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
5308 still realize it->face (i.e. the fringe bitmap face).
5309
5310 2004-02-25 Miles Bader <miles@gnu.org>
5311
5312 * xdisp.c (check_it): Check string/string_pos consistency.
5313 (init_iterator): Initialize string-related fields properly.
5314
5315 2004-02-11 Miles Bader <miles@gnu.org>
5316
5317 * xdisp.c (produce_image_glyph): Force negative descents to zero.
5318
5319 2004-02-10 Miles Bader <miles@gnu.org>
5320
5321 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
5322 BLOCK_INPUT can be nested, so it doesn't make much sense.
5323
5324 2004-02-24 Michael Mauger <mmaug@yahoo.com>
5325
5326 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
5327 (xbm_read_bitmap_data): Use unsigned char for image data.
5328
5329 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
5330
5331 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
5332
5333 2004-02-22 Jason Rumney <jasonr@gnu.org>
5334
5335 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
5336 correctly over other bitmaps.
5337
5338 2004-02-21 Eli Zaretskii <eliz@gnu.org>
5339
5340 * emacs.c (USAGE1): Split into two halves.
5341 (USAGE2): Second half of the old USAGE1.
5342 (USAGE3): Rename from USAGE2.
5343 (USAGE4): Rename from USAGE3.
5344
5345 2004-02-21 Juri Linkov <juri@jurta.org>
5346
5347 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
5348 Fix --multibyte. Move --help, --version to USAGE2. Add alias
5349 --file. Fix -f, -l. Sort options. Untabify.
5350 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
5351
5352 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
5353
5354 * category.c (Fdefine_category, Fcategory_docstring)
5355 (Fget_unused_category, Fset_category_table)
5356 (Fcategory_set_mnemonics): Doc fixes.
5357
5358 2004-02-20 Kim F. Storm <storm@cua.dk>
5359
5360 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
5361 The following changes are relative to the 2004-01-21 revision.
5362 (NREAD_INPUT_EVENTS): Define as max number of input events to read
5363 in one call to read_socket_hook. Value is 8.
5364 (read_avail_input): Separate and rework handling of read_socket_hook
5365 and non-read_socket_hook cases. Use smaller input_event buffer
5366 in read_socket_hook case, and repeat if full buffer is read.
5367 Use new local variable 'discard' to skip input after C-g.
5368 In non-read_socket_hook case, just use a single input_event, and
5369 call kbd_buffer_store_event on the fly for each character.
5370
5371 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
5372
5373 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
5374 Remove unused `gu' alternative.
5375
5376 2004-02-19 Andreas Schwab <schwab@suse.de>
5377
5378 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
5379 warning.
5380
5381 2004-02-18 Kim F. Storm <storm@cua.dk>
5382
5383 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
5384 Fix last change.
5385
5386 2004-02-17 Kim F. Storm <storm@cua.dk>
5387
5388 * xdisp.c (fast_find_position): Fix return value of new version;
5389 it was inverted compared to the 21.1 version.
5390 (get_window_cursor_type): Don't look at glyph if NULL.
5391 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
5392
5393 * keyboard.c: Rework previous change; it didn't consider that the
5394 buf array was allocated on the stack.
5395 (prev_read): Remove variable.
5396 (read_avail_input_buf): New static event buffer array.
5397 (in_read_avail_input): New static variable to handle re-entrancy.
5398 (read_avail_input): Change buf to pinter to read_avail_input_buf.
5399 Use in_read_avail_input to handle re-entrance; when re-entered,
5400 fully initialize and use tmp_buf array instead of read_avail_input_buf.
5401 Do not initialize read_avail_input_buf in full here; instead assume it
5402 is always cleared on entry. To ensure that, we clear (just) the
5403 entries that were used before we return.
5404 (init_keyboard): Initialize read_avail_input_buf here.
5405
5406 2004-02-16 Jesper Harder <harder@ifa.au.dk>
5407
5408 * cmds.c (Fend_of_line): Doc fix.
5409
5410 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
5411
5412 * keyboard.c (prev_read): New static variable.
5413 (read_avail_input): Use it to zero out only those slots in buf[]
5414 that were used last time we were called.
5415
5416 2004-02-16 Eli Zaretskii <eliz@gnu.org>
5417
5418 * Makefile.in (obj): Move fringe.o from here...
5419 (XOBJ, MAC_OBJ): ...to here.
5420
5421 2004-02-16 Stephen Eglen <stephen@gnu.org>
5422
5423 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
5424
5425 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
5426
5427 * data.c (Fbyteorder):
5428 * fringe.c (Fdefine_fringe_bitmap):
5429 * xdisp.c (handle_single_display_prop):
5430 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
5431
5432 2004-02-16 Jason Rumney <jasonr@gnu.org>
5433
5434 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
5435
5436 2004-02-15 Steven Tamm <steventamm@mac.com>
5437
5438 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
5439 controlling emulation of a three button mouse with option and
5440 command keys.
5441 (Qreverse, mac_get_enumlated_btn): Handle the emulation
5442 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
5443
5444 2004-02-15 Kim F. Storm <storm@cua.dk>
5445
5446 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
5447
5448 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
5449 Perform byte-swapping.
5450
5451 2004-02-14 Kim F. Storm <storm@cua.dk>
5452
5453 * dispextern.h (struct draw_fringe_bitmap_params): Change member
5454 bits from char to short to facilitate wider bitmaps.
5455 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
5456 member.
5457
5458 * fringe.c (struct fringe_bitmap): Change member bits from char to
5459 short to facilitate 16 bits wide bitmaps. Modify all standard
5460 bitmaps accordingly.
5461 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
5462 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
5463 (draw_fringe_bitmap): Ditto.
5464 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
5465 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
5466 handle up to 16 bits wide bitmaps.
5467 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
5468 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
5469
5470 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
5471 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
5472 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
5473
5474 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
5475 so it is no longer necessary to expand them here.
5476
5477 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
5478
5479 2004-02-12 Kim F. Storm <storm@cua.dk>
5480
5481 * window.c (Fwindow_fringes): Doc fix.
5482
5483 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5484
5485 * xselect.c (x_get_foreign_selection): Add new optional parameter
5486 time_stamp.
5487 (Fx_get_selection_internal): Ditto, pass time_stamp to
5488 x_get_foreign_selection.
5489
5490 * data.c (Fbyteorder): New function.
5491
5492 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5493
5494 * atimer.c: Move include stdio.h to same place as in other files.
5495
5496 * region-cache.c: Ditto.
5497
5498 * sysdep.c: Ditto.
5499
5500 * xfaces.c: Ditto.
5501
5502 2004-02-09 Sam Steingold <sds@gnu.org>
5503
5504 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
5505
5506 2004-02-09 Kim F. Storm <storm@cua.dk>
5507
5508 * fringe.c: New file. Move original fringe related declarations
5509 and code from dispextern.h and xdisp.c here.
5510 Rework code to support user defined fringe bitmaps, redefining
5511 standard bitmaps, ability to overlay user defined bitmap with
5512 overlay arrow bitmap, and add faces to bitmaps.
5513 (Voverflow_newline_into_fringe): Declare here.
5514 (enum fringe_bitmap_align): New enum.
5515 (..._bits): All bitmaps are now defined without bitswapping; that
5516 is now done in init_fringe_once (if necessary).
5517 (standard_bitmaps): New array with specifications for the
5518 standard fringe bitmaps.
5519 (fringe_faces): New array.
5520 (valid_fringe_bitmap_id_p): New function.
5521 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
5522 (draw_fringe_bitmap): New function which draws fringe bitmap,
5523 possibly overlaying bitmap with cursor in right fringe or the
5524 overlay arrow in the left fringe.
5525 (update_window_fringes): Do not handle overlay arrow here.
5526 Compare and copy fringe bitmap faces.
5527 (init_fringe_bitmap): New function.
5528 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
5529 define and destroy user defined fringe bitmaps.
5530 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
5531 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
5532 (syms_of_fringe): New function. Defsubr new DEFUNs.
5533 DEFVAR_LISP Voverflow_newline_into_fringe.
5534 (init_fringe_once, init_fringe): New functions.
5535 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
5536
5537 * Makefile.in (obj): Add fringe.o.
5538 (fringe.o): New dependencies.
5539
5540 * dispextern.h (FRINGE_ID_BITS): New definition for number of
5541 bits allocated to hold a fringe number. Increase number of bits
5542 from 4 to 8 to allow user defined fringe bitmaps.
5543 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
5544 left_user_fringe_face_id, right_user_fringe_bitmap,
5545 right_user_fringe_face_id.
5546 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
5547 Move to new file fringe.c.
5548 (MAX_FRINGE_BITMAPS): Define here.
5549 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
5550 and overlay_p. Change member which to int.
5551 (struct redisplay_interface): New members define_fringe_bitmap
5552 and destroy_fringe_bitmap.
5553 (valid_fringe_bitmap_id_p): Add prototype.
5554 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
5555
5556 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
5557 arrows.
5558 (update_frame): Do flush_display if force_flush_display_p to
5559 ensure display (specifically fringes) are updated in a timely
5560 manner when resizing the frame by dragging the mouse.
5561 (update_window_line): Update row if overlay arrow changed.
5562 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
5563 or overlay arrow changed.
5564
5565 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
5566 syms_of_fringe, and init_fringe.
5567
5568 * frame.h (struct frame): New member force_flush_display_p.
5569
5570 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
5571 Add prototypes.
5572
5573 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
5574 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
5575 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
5576 Use cursor color for displaying cursor in fringe.
5577 (x_redisplay_interface): Add null handlers for
5578 define_fringe_bitmap and destroy_fringe_bitmap functions.
5579
5580 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
5581 xterm.c to handle overlayed fringe bitmaps and to use cursor color
5582 for displaying cursor in fringe.
5583 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
5584 specific functions to define and destroy fringe bitmaps in fringe_bmp.
5585 (w32_redisplay_interface): Add them to redisplay_interface.
5586 (w32_term_init): Call w32_init_fringe instead of explicitly
5587 defining fringe bitmaps in fringe_bmp array.
5588 (x_delete_display): Call w32_reset_fringes instead of explicitly
5589 destroying fringe bitmaps in fringe_bmp array.
5590
5591 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
5592 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
5593 (continued_bits, continuation_bits, ov_bits, first_line_bits)
5594 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
5595 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
5596 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
5597 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
5598 Move fringe handling vars and code to new file fringe.c.
5599 (handle_display_prop): Handle left-fringe and right-fringe
5600 display properties; store user fringe bitmaps in iterator.
5601 (move_it_in_display_line_to): Handle cursor in fringe at eob.
5602 (clear_garbaged_frames): Set force_flush_display_p if resized.
5603 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
5604 (display_line): Handle cursor in fringe at eob.
5605 (display_line): Set row user fringe bitmaps from iterator.
5606
5607 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
5608 Use cursor color for displaying cursor in fringe.
5609 (x_redisplay_interface): Add null handlers for
5610 define_fringe_bitmap and destroy_fringe_bitmap functions.
5611
5612 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5613
5614 * macfns.c (Fx_change_window_property): Make doc string and
5615 parameters same as for X version.
5616
5617 * w32fns.c (Fx_change_window_property): Ditto.
5618
5619 2004-02-07 Kim F. Storm <storm@cua.dk>
5620
5621 * xdisp.c (hscroll_window_tree): Position cursor near to right
5622 margin in hscrolled window when jumping to end of line (rather
5623 than centering cursor).
5624
5625 * process.c (wait_reading_process_input): Don't do adaptive read
5626 buffering if waiting for a specific process.
5627
5628 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
5629
5630 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
5631 (Fread_minibuffer, Feval_minibuffer)
5632 (Fread_string, Fread_no_blanks_input)
5633 (Fcompleting_read): Doc fixes.
5634 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
5635 completion-regexp-list. Define Qcase_fold_search and staticpro it.
5636 (read_minibuf): Fix initial comment.
5637 (Ftry_completion, Fall_completions, Ftest_completion): Bind
5638 case-fold-search to the value of completion-ignore-case when
5639 checking completion-regexp-list.
5640 (Fdisplay_completion_list): Make it handle arguments that are
5641 symbols. Doc fix.
5642
5643 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5644
5645 * xterm.h: Add declaration of free_frame_menubar.
5646
5647 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
5648 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
5649 (Fx_change_window_property): Add declaration of parameters type and
5650 format. Remove unused variable cons.
5651
5652 * xselect.c: Include stdio,h.
5653
5654 2004-02-05 Kenichi Handa <handa@m17n.org>
5655
5656 * fns.c (Fset_char_table_range): Fix previous change.
5657
5658 * buffer.c (Fset_buffer_multibyte): Fix docstring.
5659
5660 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
5661
5662 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
5663
5664 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
5665
5666 * keymap.c (Vmouse_events): Rename from Vmenu_events.
5667 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
5668
5669 2004-02-04 Kenichi Handa <handa@m17n.org>
5670
5671 * fns.c (Fset_char_table_range): Handle charsets ascii,
5672 eight-bit-control, and eight-bit-graphic correctly.
5673
5674 2004-02-03 Jason Rumney <jasonr@gnu.org>
5675
5676 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
5677
5678 * w32fns.c (x_to_w32_font): Likewise.
5679
5680 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5681
5682 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
5683 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
5684
5685 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
5686 ClientMessages.
5687
5688 * xselect.c: Include termhooks.h and X11/Xproto.h
5689 (x_check_property_data, x_fill_property_data)
5690 (x_property_data_to_lisp, mouse_position_for_drop)
5691 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
5692 (Fx_send_client_event): Move here from xfns.c.
5693 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
5694
5695 * xfns.c (x-send-client-message): Move to xselect.c
5696 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
5697 OUTER_P.
5698 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
5699 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
5700 if vector_ret_p is true.
5701 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
5702
5703 2004-02-02 Eli Zaretskii <eliz@gnu.org>
5704
5705 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
5706 basename of FILE relative to it, not FILE itself.
5707
5708 2004-02-02 Kenichi Handa <handa@m17n.org>
5709
5710 * coding.c (coding_restore_composition): Check invalid
5711 composition data more rigidly.
5712
5713 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
5714
5715 * fileio.c (Fread_file_name_internal): Correctly handle the case
5716 where insert-default-directory is nil.
5717 (Fread_file_name): Always return an empty string if the user exits
5718 with an empty minibuffer. Adapt the docstring accordingly.
5719 (syms_of_fileio): Adapt the docstring of insert-default-directory
5720 to the change in Fread_file_name.
5721
5722 2004-01-29 Eli Zaretskii <eliz@gnu.org>
5723
5724 * alloca.c [!alloca]: Fix the prototype for xfree.
5725
5726 2004-01-29 Kenichi Handa <handa@m17n.org>
5727
5728 * fns.c (string_char_to_byte): Optimize for ASCII only string.
5729 (string_byte_to_char): Likewise.
5730
5731 2004-01-28 Peter Runestig <peter@runestig.com>
5732
5733 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
5734
5735 2004-01-27 Steven Tamm <steventamm@mac.com>
5736
5737 * unexmacosx.c (unexec_copy): Do not copy more than was
5738 requested to prevent overwriting during unexec.
5739
5740 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5741
5742 * process.c (sigchld_handler): Add comment about not calling malloc.
5743
5744 * process.h: Add extern to synch_process_termsig.
5745
5746 2004-01-27 Steven Tamm <steventamm@mac.com>
5747
5748 * macterm.c (make_mac_frame, make_mac_terminal_frame):
5749 Move setting of scroll bars from make_mac_frame to
5750 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
5751
5752 2004-01-26 Richard M. Stallman <rms@gnu.org>
5753
5754 * search.c (Freplace_match): Handle nonexistent
5755 back-references properly.
5756
5757 2004-01-03 Richard M. Stallman <rms@gnu.org>
5758
5759 * window.c (decode_any_window): New function.
5760 (Fwindow_height, Fwindow_width, Fwindow_edges)
5761 (Fwindow_pixel_edges, Fwindow_inside_edges)
5762 (Fwindow_inside_pixel_edges): Use decode_any_window.
5763
5764 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5765
5766 * process.h: synch_process_termsig new variable.
5767
5768 * callproc.c: Define synch_process_termsig.
5769 (Fcall_process): Initiate synch_process_termsig to zero and
5770 check if non-zero and get signal name after subprocess has ended.
5771
5772 * process.c (sigchld_handler): Set synch_process_termsig
5773 if terminated by a signal. synch_process_death setting removed.
5774
5775 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
5776
5777 2004-01-26 Andreas Schwab <schwab@suse.de>
5778
5779 * print.c (print_preprocess): Declare size as EMACS_INT to not
5780 lose bits.
5781 (print_object): Likewise.
5782 * alloc.c (Fpurecopy): Likewise.
5783
5784 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
5785
5786 * window.c (Fwindow_minibuffer_p): Doc fix.
5787
5788 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
5789
5790 * editfns.c (Fformat): Make both passes accept the same set of flags.
5791
5792 2004-01-23 Kenichi Handa <handa@m17n.org>
5793
5794 * fns.c (Fmd5): If OBJECT is a buffer different from the current
5795 one, set buffer to OBJECT temporarily.
5796
5797 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
5798
5799 * keyboard.c (kbd_buffer_gcpro): Remove.
5800 (kbd_buffer_store_event, clear_event, Fdiscard_input)
5801 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
5802 Don't initialize and/or maintain the variable any more. It was made
5803 redundant by my commit of 2003-06-15.
5804
5805 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
5806
5807 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5808
5809 * lisp.h: Add undef DECL_ALIGN.
5810
5811 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
5812
5813 * process.c (wait_reading_process_input) [SYNC_INPUT]:
5814 Check interrupt_input_pending explicitly.
5815
5816 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
5817
5818 * keyboard.c (handle_async_input): New fun,
5819 extracted from input_available_signal.
5820 (input_available_signal, reinvoke_input_signal): Use it.
5821
5822 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
5823
5824 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
5825
5826 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
5827 manipulation macros for when tags are in the lower bits.
5828 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
5829 (DECL_ALIGN): New macro.
5830 (DEFUN): Use it.
5831
5832 * lisp.h [ENABLE_CHECKING]: Don't force union type.
5833
5834 * s/darwin.h (__attribute__): Remove outdated workaround.
5835
5836 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
5837
5838 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
5839 Don't check range of malloc address.
5840 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
5841
5842 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
5843
5844 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
5845
5846 2004-01-19 Kenichi Handa <handa@m17n.org>
5847
5848 * fontset.c (fontset_font_pattern): Fix previous change.
5849
5850 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
5851
5852 * xdisp.c (Voverflow_newline_into_fringe)
5853 (move_it_in_display_line_to, redisplay_internal)
5854 (update_window_fringes, redisplay_window, display_line, window):
5855 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
5856 that it compiles without a window-system.
5857 * dispnew.c (direct_output_for_insert, update_window): Likewise.
5858
5859 2004-01-16 Kim F. Storm <storm@cua.dk>
5860
5861 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
5862
5863 * buffer.c (init_buffer_once): Set buffer_defaults and
5864 buffer_local_flags for indicate_buffer_boundaries.
5865 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
5866 default- variable for it.
5867
5868 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
5869 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
5870 New members exact_window_width_line_p and cursor_in_fringe_p for
5871 overflowing newlines into right fringe.
5872 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
5873 and indicate_bottom_line_p for buffer boundaries and scrolling.
5874 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
5875 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
5876 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
5877 and HOLLOW_SQUARE_BITMAP.
5878 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
5879 Add prototypes.
5880
5881 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
5882 instead of related indicator fields.
5883 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
5884 (direct_output_for_insert): Handle exact width lines like
5885 contined lines. Call update_window_fringes.
5886 (update_window): Call update_window_fringes.
5887 (scrolling_window): Don't skip desired rows with changed bitmaps.
5888 Check if fringe bitmaps changes when assigning scrolled rows.
5889
5890 * xdisp.c (Voverflow_newline_into_fringe): New variable.
5891 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
5892 (move_it_in_display_line_to): Overflow newline into fringe for
5893 rows that are exactly as wide as the window.
5894 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
5895 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
5896 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
5897 (fringe_bitmaps): Add new bitmaps.
5898 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
5899 Select proper bitmap for cursor in fringe when appropriate.
5900 Handle alignment of bitmap to top or bottom of row.
5901 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
5902 done by update_window_fringes.
5903 (update_window_fringes, draw_window_fringes): New functions.
5904 (redisplay_internal): Call update_window_fringes in case only
5905 cursor row is updated.
5906 (redisplay_window): Call update_window_fringes.
5907 Explicitly call draw_window_fringes if redisplay was done using
5908 the current matrix or the overlay arrow is in the window.
5909 (try_window_reusing_current_matrix): Mark scrolled rows for
5910 fringe update (to update buffer-boundaries / scrolling icons).
5911 (find_last_unchanged_at_beg_row): Handle exact width lines line
5912 continued lines.
5913 (display_line): Overflow newline into fringe for rows that are
5914 exactly as wide as the window. Don't append space for newline
5915 in this case.
5916 (notice_overwritten_cursor): Explicitly clear cursor bitmap
5917 in fringe as if it had been overwritten.
5918 (erase_phys_cursor): Erase cursor bitmap in fringe.
5919 (syms_of_xdisp): Mark show-trailing-whitespace and
5920 void-text-area-pointer as user options.
5921 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
5922
5923 * xterm.c (x_update_window_end): Call draw_window_fringes.
5924 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
5925 in row instead of actually drawing fringe bitmaps.
5926 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
5927 (x_draw_window_cursor): Draw cursor in fringe.
5928
5929 * w32term.c (x_update_window_end): Call draw_window_fringes.
5930 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
5931 in row instead of actually drawing fringe bitmaps.
5932 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
5933 (w32_draw_window_cursor): Draw cursor in fringe.
5934
5935 * macterm.c (x_update_window_end): Call draw_window_fringes.
5936 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
5937 in row instead of actually drawing fringe bitmaps.
5938 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
5939 (mac_draw_window_cursor): Draw cursor in fringe.
5940
5941 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5942
5943 * xterm.c (handle_one_xevent): Don't handle characters that are part
5944 of an old style (XLookupString) compose sequence.
5945
5946 2004-01-15 Kenichi Handa <handa@m17n.org>
5947
5948 * search.c (Freplace_match): Use make_multibyte_string or
5949 make_unibyte_string according to the buffer multibyteness.
5950
5951 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
5952
5953 * alloc.c (struct interval_block, struct string_block)
5954 (struct symbol_block, struct marker_block, live_string_p)
5955 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
5956 Better preserve alignment for objects in blocks.
5957 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
5958
5959 * lread.c (defvar_per_buffer): Remove dead declaration.
5960
5961 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
5962 space size.
5963
5964 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5965
5966 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
5967 if a key press should pop down. Only pop down if a key is pressed
5968 outside the menu/dialog.
5969 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
5970 popup_get_selection.
5971 (create_and_show_dialog): Pass 1 for down_on_keypress to
5972 popup_get_selection.
5973
5974 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5975
5976 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
5977 BLOCK/UNBLOCK_INPUT.
5978
5979 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5980
5981 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
5982 specified.
5983
5984 2004-01-08 Kenichi Handa <handa@m17n.org>
5985
5986 * editfns.c (Fformat): Fix '&' to '&&'.
5987
5988 2004-01-08 Andreas Schwab <schwab@suse.de>
5989
5990 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
5991 size if PSEUDOVECTOR_FLAG is set.
5992
5993 2004-01-07 Kenichi Handa <handa@m17n.org>
5994
5995 * charset.c (Fdeclare_equiv_charset): Fix docstring.
5996
5997 * fontset.c (fontset_ref_via_base): Fix previous change.
5998
5999 2004-01-07 Kim F. Storm <storm@cua.dk>
6000
6001 * process.c (read_process_output): Only activate adaptive
6002 buffering if we read less than 256 bytes at a time.
6003
6004 2004-01-06 Kim F. Storm <storm@cua.dk>
6005
6006 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
6007 object and image object. Return glyph width and height.
6008 (mode_line_string, marginal_area_string): Ditto.
6009
6010 * dispextern.h (buffer_posn_from_coords, mode_line_string)
6011 (marginal_area_string): Fix prototypes.
6012
6013 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
6014 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
6015 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
6016
6017 * keyboard.c (make_lispy_position): Use modified mode_line_string,
6018 buffer_posn_from_coords, and marginal_area_string functions to
6019 include both string object and image object in the lispy position.
6020 Also add actual glyph width and height to position.
6021 (read_key_sequence): Use real buffer position from mouse
6022 event to find keymap property even when click is in marginal area.
6023
6024 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
6025 mode_line_string and marginal_area_string functions to handle
6026 both string object and image object properties.
6027
6028 2004-01-06 Andreas Schwab <schwab@suse.de>
6029
6030 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
6031 character.
6032
6033 2004-01-02 Andreas Schwab <schwab@suse.de>
6034
6035 * macterm.c (emacs_options, x_initialized, same_x_server):
6036 Remove unused (and duplicated) definitions.
6037
6038 2004-01-02 Kim F. Storm <storm@cua.dk>
6039
6040 * process.h (struct Lisp_Process): New members for adaptive read
6041 buffering: adaptive_read_buffering, read_output_delay, and
6042 read_output_skip.
6043
6044 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
6045 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
6046 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
6047 (process_output_delay_count, process_output_skip): New vars.
6048 (Vprocess_adaptive_read_buffering): New variable.
6049 (make_process): Initialize adaptive read buffering members.
6050 (Fstart_process): Set adaptive_read_buffering member.
6051 (deactivate_process): Cleanup adaptive read buffering.
6052 (wait_reading_process_input): Temporarily omit delayed
6053 subprocesses from the set of file descriptors to read from;
6054 adjust the select timeout if we skipped any subprocesses.
6055 (read_process_output): Increase adaptive read buffering delay if
6056 we read less than a full buffer; reduce delay when we read a
6057 full buffer.
6058 (send_process): Simplify using local Lisp_Process var.
6059 Reset adaptive read buffering delay after write.
6060 (init_process): Initialize process_output_delay_count and
6061 process_output_skip.
6062 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
6063
6064 2004-01-01 Jason Rumney <jasonr@gnu.org>
6065
6066 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
6067
6068 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
6069
6070 * print.c (Ferror_message_string): Add hyperlink in the docstring
6071 to the definition of `signal' in the Elisp manual.
6072 * eval.c (Fsignal): Ditto.
6073
6074 2003-12-29 James Clark <jjc@jclark.com>
6075
6076 * fns.c (internal_equal): Return t for two NaN arguments.
6077
6078 2003-12-29 Richard M. Stallman <rms@gnu.org>
6079
6080 * data.c (store_symval_forwarding): Handle setting
6081 default-fill-column, etc., by changing the value in
6082 buffers that use the default.
6083
6084 * minibuf.c (Fset_minibuffer_window): Doc fix.
6085
6086 * fileio.c (choose_write_coding_system): Ignore auto_saving
6087 if using the visited file for auto saves.
6088 (Fwrite_region): Don't update SAVE_MODIFF
6089 if auto-saving in visited file.
6090
6091 2003-12-29 Kenichi Handa <handa@m17n.org>
6092
6093 * dispextern.h (face_font_available_p): Extern it.
6094
6095 * fontset.c (Voverriding_fontspec_alist): New variable.
6096 (lookup_overriding_fontspec): New function.
6097 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
6098 (fontset_font_pattern): Likewise.
6099 (regulalize_fontname): New function.
6100 (Fset_fontset_font): Call regulalize_fontname.
6101 (Fset_overriding_fontspec_internal): New function.
6102 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
6103 Defsubr Sset_overriding_fontspec_internal.
6104
6105 * xfaces.c (face_font_available_p): New function.
6106
6107 2003-12-28 Richard M. Stallman <rms@gnu.org>
6108
6109 * buffer.c (Fother_buffer): Don't crash if BUF is nil
6110 or if its name is nil.
6111
6112 * buffer.c (Fkill_buffer): Don't delete auto-save file
6113 if it's the same as the visited file.
6114
6115 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
6116
6117 * coding.c (Fcheck_coding_system): Doc fix.
6118
6119 2003-12-28 Kim F. Storm <storm@cua.dk>
6120
6121 * Makefile.in (eval.o): Depend on dispextern.h.
6122
6123 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
6124 image glyph using image's ascent.
6125 (mode_line_string): Return image glyph as object clicked on.
6126 Adjust y0 for image glyph using image's ascent.
6127
6128 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
6129 (struct glyph): New members, ascent and descent. Used to save
6130 this glyph's ascent and descent, instead of having.
6131 (struct glyph): Declare member face_id using FACE_ID_BITS.
6132 (find_hot_spot): Add prototype.
6133
6134 * keyboard.c (Qimage): Remove extern (now in lisp.h).
6135 (QCmap): Declare extern.
6136 (make_lispy_position): When position is inside image hot-spot,
6137 use hot-spot element's id as posn element.
6138
6139 * lisp.h (IMAGEP): New macro to test for image object type.
6140 (Qimage): Declare extern.
6141
6142 * macfns.c (Qimage): Remove extern (now in lisp.h).
6143 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6144
6145 * macterm.c (Qface, Qmouse_face): Remove unused externs.
6146
6147 * w32fns.c (Qimage): Remove extern (now in lisp.h).
6148 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6149
6150 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
6151
6152 * w32term.c (Qface, Qmouse_face): Remove unused externs.
6153
6154 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
6155 pointer types.
6156 (Qrelative_width, Qalign_to): Remove unused variables.
6157 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
6158 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
6159 image maps.
6160 (x_y_to_hpos_vpos): Return glyph relative coordinates through
6161 new dx and dy args.
6162 Remove buffer_only_p arg (always 0). Simplify code accordingly.
6163 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
6164 than row's ascent and height, to get sensible height on tall rows.
6165 (build_desired_tool_bar_string): Remove Qimage extern.
6166 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
6167 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
6168 image glyph is alone on the last line.
6169 (append_glyph, append_composite_glyph, produce_image_glyph)
6170 (append_stretch_glyph): Set glyph's ascent and descent.
6171 (on_hot_spot_p): New function to check if position is inside an
6172 rectangular, circular, or polygon-shaped image hot-spot,
6173 (find_hot_spot): New function to search for image hot-spot.
6174 (Flookup_image_map): New defun to search for image hot-spot.
6175 (define_frame_cursor1): New aux function to determine frame pointer.
6176 (note_mode_line_or_margin_highlight, note_mouse_highlight):
6177 Handle `pointer' text property and :pointer image property to
6178 control frame pointer shape. Detect image hot-spots for pointer
6179 and help_echo properties. Use define_frame_cursor1.
6180 (note_mouse_highlight): Use Vvoid_text_area_pointer.
6181 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
6182 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
6183
6184 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
6185
6186 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
6187 (Qimage): Remove extern (now in lisp.h).
6188 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6189
6190 * xmenu.c (show_help_event): Remove unused code.
6191
6192 * xterm.c (Qface, Qmouse_face): Remove unused externs.
6193 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
6194 row's ascent and descent, to get a sensible height on tall rows.
6195
6196 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
6197
6198 * minibuf.c (Fcompleting_read): Undo previous change.
6199
6200 2003-12-25 Lars Hansen <larsh@math.ku.dk>
6201
6202 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
6203 Arguments GCPRO'ed in call to file name handler.
6204
6205 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
6206
6207 * termcap.c (tgetst1): Scan for "%pN"; if all
6208 N are continuous in [1,9], remove all "%pN".
6209
6210 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6211
6212 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
6213
6214 * xfaces.c (lface_fully_specified_p): Take into account that
6215 MAC OS always have unspecified stipple.
6216
6217 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
6218
6219 * tparam.c (tparam1): Add handling for `%pN', which
6220 means use param N for the next substitution.
6221
6222 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
6223
6224 * xfaces.c (Fcolor_gray_p): Fix omission bug:
6225 In case `frame' is nil, consult the selected frame.
6226 (Fcolor_supported_p): Likewise.
6227
6228 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
6229
6230 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
6231 Doc fixes.
6232
6233 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
6234 and an integer. Adapt the introductory comment accordingly.
6235 (Fread_from_minibuffer): Delete code moved into read_minibuf.
6236 Doc fix.
6237 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
6238 read_minibuf.
6239 (Fcompleting_read): Delete code moved into read_minibuf.
6240 (Ftest_completion): Make it handle obarrays and hash tables correctly.
6241
6242 2003-12-03 Kenichi Handa <handa@m17n.org>
6243
6244 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
6245 encoding sequence.
6246
6247 2003-12-01 Kenichi Handa <handa@m17n.org>
6248
6249 * composite.c (syms_of_composite): Don't make the compostion hash
6250 table week.
6251
6252 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
6253
6254 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
6255 * textprop.c (Fget_char_property_and_overlay): New function.
6256 (syms_of_textprop): Defsubr it.
6257
6258 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6259
6260 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
6261 to compile on terminal configuration.
6262
6263 * fileio.c (Fread_file_name): Check use_file_dialog also before
6264 calling Fx_file_dialog.
6265
6266 * fns.c: use_file_dialog: New variable.
6267 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
6268
6269 2003-11-29 Kim F. Storm <storm@cua.dk>
6270
6271 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
6272 (syms_of_msdos): Don't intern and staticpro them.
6273
6274 2003-11-27 Kim F. Storm <storm@cua.dk>
6275
6276 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
6277 coordinates relative to glyph at posn. If glyph is an image,
6278 return that as object at posn. Callers changed.
6279 (mode_line_string, marginal_area_string): Calculate and return
6280 pixel coordinates relative to glyph. Callers changed.
6281
6282 * dispextern.h (buffer_posn_from_coords, mode_line_string)
6283 (marginal_area_string): Fix prototypes.
6284 (window_box_left_offset, window_box_right_offset): Add prototypes.
6285
6286 * frame.h (get_specified_cursor_type, get_window_cursor_type):
6287 Remove prototypes.
6288
6289 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
6290
6291 * keyboard.c (make_lispy_position): Add x and y coordinates
6292 relative to the current glyph as 7th element of position.
6293 If glyph is an image, return it in the object element.
6294 (read_key_sequence): Skip checks for keymap property in cases
6295 where POSN_STRING is not a string (e.g. an image).
6296
6297 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
6298 (Vshow_text_cursor_in_void): New variable.
6299 (glyph_to_pixel_coords): Don't use negative hpos.
6300 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
6301 (append_stretch_glyph): Change ascent arg to be actual value
6302 in pixels rather than ratio to height. Callers changed.
6303 (calc_pixel_width_or_height): New aux function, implementing
6304 pixel based artihmetic for glyph widths and heights.
6305 (produce_stretch_glyph): Use calc_pixel_width_or_height for
6306 :width, :height, :align-to, and :ascent, thus allowing these to
6307 be specified in pixels as well as multiples of characters.
6308 Don't produce stretch glyphs with zero width or height.
6309 (get_specified_cursor_type): Declare static.
6310 (get_window_cursor_type): Declare static. Add glyph arg to be
6311 able to know when cursor is on an image; always substitute
6312 hollow-box cursor for filled-box cursor on images, to avoid
6313 negative images and flicker when blinking the cursor.
6314 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
6315 (note_mode_line_or_margin_highlight): Use non-text cursor rather
6316 than vertical scroll-bar cursor in display margins.
6317 (note_mouse_highlight): Use non-text cursor rather than text
6318 cursor in fringes and over images in the text area.
6319 Use non-text cursor when mouse pointer is outside editable text,
6320 i.e. in the void after end-of-line or end-of-buffer; this was
6321 already done for W32, but is now standard for all systems --
6322 user can toggle show-text-cursor-in-void to get old behaviour.
6323 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
6324 Vdisplay_pixels_per_inch.
6325
6326 2003-11-25 Andreas Schwab <schwab@suse.de>
6327
6328 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
6329 EMACS_INT to not lose bits.
6330 (Ffillarray): Don't set bits beyond the size of a bool vector.
6331
6332 2003-11-25 Kim F. Storm <storm@cua.dk>
6333
6334 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
6335 define this defun on systems that cannot use stderr as lvalue.
6336
6337 2003-11-24 Gerd Moellmann <gerd@gnu.org>
6338
6339 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
6340 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
6341 ld's default is incompatible with unexec.
6342
6343 2003-11-23 Kim F. Storm <storm@cua.dk>
6344
6345 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
6346 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
6347 (Fforce_window_update): New defun.
6348 (syms_of_window): Defsubr it.
6349 (Fset_window_margins, Fset_window_fringes): Doc fix.
6350
6351 * print.c (Fredirect_debugging_output): New defun.
6352 (syms_of_print): Defsubr it.
6353
6354 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
6355
6356 * fns.c (Fset_char_table_parent): Doc fix.
6357
6358 2003-11-22 Kim F. Storm <storm@cua.dk>
6359
6360 * dispnew.c (buffer_posn_from_coords): Return actual row/column
6361 for glyph clicked on, rather than (unused) pixel positions.
6362 (mode_line_string, marginal_area_string): Change X and Y args to
6363 pointers for returning actual row/column for glyph clicked on.
6364 Simplify and optimize loops.
6365
6366 * dispextern.h (mode_line_string, marginal_area_string):
6367 Update prototypes.
6368
6369 * keyboard.c (make_lispy_position): New function for generating
6370 mouse click positions from frame and pixel coordinates.
6371 Enhanced to return buffer position and actual row/column for
6372 events outside the text area using updated mode_line_string and
6373 marginal_area_string functions.
6374 Return left-fringe and right-fringe clicks as such, rather than
6375 clicks in text area.
6376 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
6377 pixel_to_glyph_coords, as we never use the results.
6378 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
6379 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
6380 Eliminate unused code in WHEEL_EVENT handling.
6381 (make_lispy_movement): Use make_lispy_position.
6382
6383 * window.c (coordinates_in_window): Remove redundant tests.
6384 Fix returned X pixel value for left-margin.
6385
6386 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
6387 mode_line_string and marginal_area_string parameters.
6388
6389 2003-11-22 Lars Hansen <larsh@math.ku.dk>
6390
6391 * w32.c (struct the_group, getgrgid): Add.
6392 * mac.c (struct my_group, getgrgid): Add.
6393
6394 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
6395
6396 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
6397
6398 2003-11-21 Lars Hansen <larsh@math.ku.dk>
6399
6400 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
6401 include in call to file name handler. Optionally translate numeric
6402 UID and GID to strings. Update docstring.
6403 (directory_files_internal): Add parameter ID-FORMAT.
6404 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
6405 include in call to file name handler and call to
6406 directory_files_internal. Update Docstring.
6407 (Fdirectory_files): Add dummy parameter in call to
6408 directory_files_internal.
6409 * lisp.h (Qinteger): Add.
6410 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
6411 (Ffile_attributes): Add parameter.
6412 * data.c (Qinteger): Export.
6413
6414 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
6415
6416 * fns.c (Freverse, Fnreverse): Doc fixes.
6417
6418 2003-11-19 Kim F. Storm <storm@cua.dk>
6419
6420 * xdisp.c (init_iterator): Initialize it->start to position
6421 before reseating (in case start position is invisible).
6422 (init_to_row_start): Set it->start to row-start.
6423 (redisplay_window): Accept optional_new_start if start position
6424 is invisible (in which case IT_CHARPOS overshoots PT).
6425 (display_line): Setup row->start from it->start (rather than
6426 it->current which is wrong if first char on line is invisible).
6427 When done, reseat it->start to it->current (= start of next row).
6428 (expose_area): Fix exposure of text area when first char (e.g. TAB)
6429 is only partially visible.
6430
6431 * dispextern.h (struct it): New member start.
6432
6433 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
6434
6435 * alloc.c (make_float, Fcons): Clear the markbit at init time.
6436 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
6437 of block_index outside of the macro call.
6438 (Fgarbage_collect): Remove null code.
6439
6440 * m/amdx86-64.h: Don't redefine XPNTR.
6441
6442 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
6443 of VALMASK.
6444
6445 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
6446 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
6447 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
6448
6449 * lisp.h (VALMASK): Only define for non-union type.
6450 (MARKBIT): Remove.
6451 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
6452 (XTYPE): Define unconditionally.
6453 (XSETTYPE): Remove one more remnant.
6454 (EQ): Define differently for the union and non-union cases.
6455 (INTMASK): New bit mask.
6456 (struct Lisp_Marker): Move down to prepare for upcoming patch.
6457 (GC_EQ): Delegate to EQ.
6458
6459 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
6460
6461 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6462
6463 * xterm.c (x_window_to_scroll_bar): Move check of display to
6464 where window_id is compared.
6465
6466 2003-11-17 Kim F. Storm <storm@cua.dk>
6467
6468 * dispextern.h (struct it): New member first_vpos.
6469
6470 * xdisp.c (start_display): Set it->first_vpos.
6471 (try_window_id): Use first_vpos to start display in first _text_
6472 line if no reusable lines at start of window with header line.
6473
6474 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6475
6476 * w32fns.c (XPutPixel):
6477 * w32bdf.c (w32_init_bdf_font):
6478 * sunfns.c (sel_read):
6479 * process.c (Fmake_network_process):
6480 * frame.c (store_frame_param):
6481 * fontset.c (Fset_fontset_font):
6482 * emacs.c (shut_down_emacs):
6483 * ccl.c (ccl_driver): Remove period at end of error message.
6484
6485 * config.in: Regenerate.
6486
6487 * xfns.c (x_window_to_frame, x_any_window_to_frame)
6488 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
6489 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
6490 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
6491 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
6492
6493 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
6494
6495 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
6496 (XTmouse_position, handle_one_xevent): Pass Display* to
6497 x_window_to_scroll_bar.
6498 (x_window_to_scroll_bar): Take a Display* argument.
6499 Check that display for frame is equal to Display* argument.
6500 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
6501 x_display_info_for_display instead. Use Display in xev instead
6502 of GDK_DISPLAY.
6503 (x_dispatch_event): Call x_display_info_for_display.
6504 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
6505 (x_connection_closed): Call xg_display_close for GTK.
6506 (x_term_init): Call xg_display_open for additional displays.
6507 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
6508 for GTK.
6509
6510 * xmenu.c (single_menu_item, mouse_position_for_popup)
6511 (x_activate_menubar): Formatting adjustments.
6512
6513 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
6514 adjustments.
6515
6516 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
6517 (xg_display_close, xg_create_default_cursor)
6518 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
6519 handling.
6520 (xg_left_ptr_cursor): Remove.
6521 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
6522 cursor here.
6523 (xg_win_to_widget): Take Display* argument, call
6524 gdk_xid_table_lookup_for_display.
6525 (xg_create_frame_widgets, xg_get_file_name, create_menus)
6526 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
6527 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
6528 in FRAME_X_DISPLAY_INFO.
6529 (xg_get_scroll_id_for_window): Take Display* argument.
6530 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
6531 (xg_initialize): Remove xg_left_ptr_cursor.
6532
6533 * gtkutil.h (xg_get_scroll_id_for_window, xg_win_to_widget): Add
6534 Display* argument.
6535 (xg_display_open, xg_display_close, xg_create_default_cursor): Declare.
6536
6537 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6538
6539 * xterm.c (x_detect_focus_change): Do not change focus frame for
6540 Enter/LeaveNotify if the current focus frame has explicit focus.
6541
6542 2003-11-14 Kim F. Storm <storm@cua.dk>
6543
6544 * dispnew.c (update_text_area): Fix redisplay error when hscroll
6545 is active and first glyph is only partially visible.
6546
6547 2003-11-13 Kenichi Handa <handa@m17n.org>
6548
6549 * xdisp.c (select_frame_for_redisplay): New function.
6550 (redisplay_internal): Record also selected_frame for
6551 unwind_redisplay. Call select_frame_for_redisplay before
6552 redrawing each frame.
6553 (unwind_redisplay): Argument changed to a cons.
6554
6555 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
6556
6557 * fns.c (Fstring_to_multibyte): Doc fix.
6558
6559 2003-11-11 Kenichi Handa <handa@m17n.org>
6560
6561 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
6562
6563 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6564
6565 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
6566 program specified positions.
6567
6568 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6569
6570 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
6571
6572 2003-11-08 Kenichi Handa <handa@m17n.org>
6573
6574 * Makefile.in (lisp): Add kannada.el.
6575 (shortlisp): Likewise.
6576
6577 2003-11-07 Kenichi Handa <handa@m17n.org>
6578
6579 * coding.c (coding_allocate_composition_data):
6580 Reset coding->composing to COMPOSITION_NO.
6581 (coding_restore_composition): Detect invalid composition data.
6582 Give Fstring and Fvector a Lispy integer, not C int.
6583
6584 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
6585
6586 * floatfns.c (Flogb): Don't use VALMASK.
6587
6588 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
6589 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
6590
6591 * lisp.h (XINT): Move the cast to clarify what is going on.
6592 (GCTYPEMASK, XSETTYPE): Remove.
6593 (XGCTYPE): Make it an alias of XTYPE.
6594
6595 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6596
6597 * xterm.c (x_term_init): Fix formatting.
6598
6599 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6600
6601 * gtkutil.h (xg_have_tear_offs): Declare.
6602 (xg_keep_popup, xg_did_tearoff): Remove.
6603
6604 * gtkutil.c: Remove variable xg_did_tearoff.
6605 (xg_have_tear_offs): New function.
6606 (tearoff_remove): Just decrease xg_detached_menus.
6607 (tearoff_activate): Increase xg_detached_menus and call
6608 tearoff_remove when tearoff is removed.
6609 (xg_keep_popup): Remove function.
6610 (create_menus): Give add_tearoff_p as argument to recursive
6611 call to create_menus.
6612 (xg_create_widget): Use variables instead of multiple
6613 strcmp. Tell create_menus to create tear off only for
6614 menu bar menus.
6615 (xg_update_menubar): Change title for a detached menu also.
6616 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
6617 of deep_p.
6618 (xg_initialize): Initialize xg_detached_menus, remove
6619 initialization of xg_did_tearoff.
6620
6621 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
6622 xg_have_tear_offs returns non-zero.
6623 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
6624 call to xg_keep_popup.
6625
6626 2003-11-01 Andrew Choi <akochoi@shaw.ca>
6627
6628 * macterm.c (XTread_socket): Handle menubar selection and grow
6629 window only for mouseDown events.
6630
6631 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6632
6633 * xterm.c (x_term_init): For GTK part, increase x_initialized
6634 to check for more than one display. Use error instead of return 0.
6635
6636 2003-10-31 Andrew Choi <akochoi@shaw.ca>
6637
6638 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
6639 (copy_dysymtab): Call it.
6640
6641 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
6642
6643 * eval.c (Fdefvaralias): Doc fix.
6644
6645 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
6646
6647 * data.c (Fsetplist): Doc fix.
6648
6649 2003-10-14 Lute Kamstra <lute@gnu.org>
6650
6651 * window.c (Fset_window_fringes): Clarify docstring.
6652
6653 2003-10-14 Kim F. Storm <storm@cua.dk>
6654
6655 * window.c (Fset_window_margins): Simplify arg checking.
6656
6657 2003-10-13 Richard M. Stallman <rms@gnu.org>
6658
6659 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
6660 (print_partial_compiled_pattern): Replace assert with a printout.
6661 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
6662
6663 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
6664
6665 * window.c (Fset_window_margins): Allow only integers as args.
6666 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
6667 Doc fixes.
6668
6669 2003-10-13 Lute Kamstra <lute@gnu.org>
6670
6671 * window.c (Fset_window_fringes): Elaborate docstring.
6672
6673 2003-10-12 Andrew Choi <akochoi@shaw.ca>
6674
6675 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
6676
6677 * s/darwin.h (GC_MARK_STACK): Define.
6678
6679 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6680
6681 * window.c (shrink_windows): New function.
6682 (size_window): Call shrink_windows to calculate window sizes when
6683 shrinking frame with more than one window.
6684
6685 2003-10-12 Kim F. Storm <storm@cua.dk>
6686
6687 * xdisp.c (compute_fringe_widths): Doc fix.
6688
6689 2003-10-08 Kenichi Handa <handa@m17n.org>
6690
6691 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
6692
6693 2003-10-07 Kenichi Handa <handa@m17n.org>
6694
6695 * coding.c (Qcoding_system_define_form): New variable.
6696 (syms_of_coding): Intern and staticpro it.
6697 (Fcheck_coding_system): Try to autoload the definition of
6698 CODING-SYSTEM.
6699
6700 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
6701
6702 * fns.c (Frequire): Doc fix.
6703
6704 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6705
6706 * xfns.c (Fx_send_client_event): New function as a base for
6707 manipulating extended window manager hints.
6708 (Fx_send_client_event): Remove unused variable s.
6709
6710 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
6711 that function is removed.
6712
6713 * xterm.c (x_set_offset): Use move_offset_left/top instead of
6714 x/y_pixels_outer_diff.
6715 (x_check_expected_move): Calculate move_offset_left/top.
6716
6717 * xterm.h (struct x_output): New members: move_offset_top/left.
6718
6719 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
6720 call x_set_offset directly.
6721
6722 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
6723
6724 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
6725
6726 * xterm.c (x_delete_display): Free font names and font_encoder
6727 in dpyinfo->font_table.
6728
6729 * xfns.c (Fx_close_connection): Only call XFreeFont here.
6730 Move xfree of font names to x_delete_display.
6731
6732 * xterm.h (struct x_display_info): New member, wm_type.
6733 (struct x_output): New members, expected_top/left and
6734 check_expected_move.
6735
6736 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
6737 is received.
6738 (handle_one_xevent): Rename x_check_expected_move from
6739 x_check_fullscreen_move.
6740 (x_set_offset): Only add WM decoration sizes to modified_top/left
6741 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
6742 (x_check_expected_move): Rename from x_check_fullscreen_move.
6743 Removed fullscreen specific code. Use check_expected_move,
6744 expected_left/top instead. Also, set wm_type.
6745 (x_term_init): Initialize wm_type to unknown.
6746
6747 * frame.c (x_fullscreen_move): Remove addition of WM decoration
6748 sizes to move_x/y.
6749
6750 2003-10-03 Kenichi Handa <handa@m17n.org>
6751
6752 * macterm.c (x_load_font): Clear all members of FONTP before start
6753 filling them.
6754
6755 2003-10-02 Kenichi Handa <handa@m17n.org>
6756
6757 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
6758 before calling find_ccl_program_func. Call find_ccl_program_func
6759 only when fontp->font_encoder is not NULL.
6760
6761 * xterm.c (x_load_font): Clear all members of FONTP before start
6762 filling them.
6763
6764 2003-10-03 John Paul Wallington <jpw@gnu.org>
6765
6766 * keymap.c (map_keymap): Don't abort when binding is a vector.
6767
6768 2003-10-02 Jason Rumney <jasonr@gnu.org>
6769
6770 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
6771 Sync dependencies with Makefile.in.
6772 (alloca.o): Remove.
6773
6774 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
6775 filling them.
6776
6777 * w32bdf.c (w32_load_bdf_font): Likewise.
6778
6779 2003-09-30 Richard M. Stallman <rms@gnu.org>
6780
6781 * term.c (set_tty_color_mode): Calculate current_mode_spec
6782 regardless of value of VAL.
6783
6784 * intervals.c (graft_intervals_into_buffer):
6785 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
6786 Handle over_used when splitting UNDER.
6787
6788 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6789
6790 * regex.c (regex_compile): Free the stack when returning from function.
6791
6792 2003-09-28 Kenichi Handa <handa@m17n.org>
6793
6794 * fontset.c (Finternal_char_font): Change return value to
6795 cons (FONT-NAME . GLYPH-CODE).
6796
6797 2003-09-28 Eli Zaretskii <eliz@gnu.org>
6798
6799 * term.c (tty_setup_colors): Treat any negative argument as -1.
6800
6801 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
6802
6803 * process.c (send_process): Delete unused temp_buf.
6804
6805 2003-09-26 Dave Love <fx@gnu.org>
6806
6807 * xterm.c (x_bitmap_mask): Declare.
6808
6809 2003-09-25 Dave Love <fx@gnu.org>
6810
6811 * Makefile.in (fns.o): Depend on md5.h.
6812
6813 2003-09-25 Kim F. Storm <storm@cua.dk>
6814
6815 * window.c (set_window_buffer): Fix redisplay problems when
6816 switching between buffers with different display margin widths.
6817
6818 2003-09-23 Kim F. Storm <storm@cua.dk>
6819
6820 * process.c (set_socket_option): Fix :bindtodevice option.
6821 (Fset_network_process_option): Update process contact list when
6822 setting option succeeds.
6823 (Fmake_network_process): Doc fix.
6824
6825 2003-09-23 Dave Love <fx@gnu.org>
6826
6827 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
6828
6829 2003-09-22 Eli Zaretskii <eliz@gnu.org>
6830
6831 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
6832 color mode is an integer number (it could be -1).
6833
6834 2003-09-22 Richard M. Stallman <rms@gnu.org>
6835
6836 * intervals.c (graft_intervals_into_buffer): Correct the main loop
6837 in the case where OVER is longer than UNDER.
6838
6839 2003-09-22 Masatake YAMATO <jet@gyve.org>
6840
6841 * window.c (Fset_window_scroll_bars): Validate the value of
6842 `vertical_type'.
6843
6844 2003-09-21 Kim F. Storm <storm@cua.dk>
6845
6846 * frame.c (Vdefault_frame_scroll_bars): New variable.
6847 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
6848 (syms_of_frame): DEFVAR_LISP it, and initialize according to
6849 window-system default scroll bar position.
6850
6851 * window.c (Fwindow_scroll_bars): Doc fix.
6852
6853 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6854
6855 * xterm.c (x_set_offset): Take window manager decorations into account.
6856
6857 2003-09-19 Richard M. Stallman <rms@gnu.org>
6858
6859 * atimer.h: Don't include lisp.h.
6860 (P_): Define it here (as well as elsewhere).
6861
6862 * print.c (Fprin1_to_string): Move the PRINTPREPARE
6863 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
6864
6865 * data.c (Fvariable_binding_locus): New function.
6866 (syms_of_data): defsubr it.
6867 (Flocal_variable_p): Delete duplicate call to indirect_variable.
6868
6869 2003-09-18 Dave Love <fx@gnu.org>
6870
6871 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
6872
6873 * process.c (Fnetwork_interface_info): Fix type error.
6874 (Fnetwork_interface_list): Doc fix.
6875 (read_process_output, read_process_output): Delete unused var.
6876
6877 2003-09-17 Kim F. Storm <storm@cua.dk>
6878
6879 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
6880 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
6881 (Fnetwork_interface_info): Check that ifreq struct has required
6882 fields before accessing them; this requires that those fields are
6883 defined as macros, which may be too restrictive on some platforms,
6884 but it is better than failing on other platforms.
6885 (syms_of_process): Only defsubr above fns when included.
6886
6887 2003-09-17 Dave Love <fx@gnu.org>
6888
6889 * unexalpha.c: Don't include varargs.h.
6890
6891 2003-09-17 Kim F. Storm <storm@cua.dk>
6892
6893 * process.c (Fset_process_sentinel): Add sentinel to childp plist
6894 for network process.
6895 (socket_options): Add `:' prefix to option names. Add optbit field.
6896 (set_socket_option): Remove no_error arg and special handling of s < 0.
6897 Return 1<<optbit for known option, 0 for unknown.
6898 Do not interpret 0 as false for boolean option (only nil).
6899 Pass failed option and value to report_file_error.
6900 (Fset_network_process_options): Replace by Fset_network_process_option.
6901 (Fset_network_process_option): New function to set just one option.
6902 (Fmake_network_process): Allow :coding arg to be a cons.
6903 Allow :server arg to be an integer specifying backlog size.
6904 Remove :options arg, and allow options to be specified directly
6905 as :KEY, VALUE pairs. Parse these options before binding socket.
6906 As before, :reuseaddr t is default for a server process, but this
6907 can now be disabled by specifying :reuseaddr nil.
6908 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
6909 (init_process): Availability of network options is now checked with
6910 simpler syntax (featurep 'make-network-process :OPTION); use loop to
6911 setup features.
6912 (syms_of_process): Fix defsubr's for the replaced functions.
6913
6914 2003-09-16 Dave Love <fx@gnu.org>
6915
6916 * Makefile.in: Depend on coding.h.
6917
6918 2003-09-14 Kim F. Storm <storm@cua.dk>
6919
6920 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
6921 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
6922 (syms_of_process): Defsubr them.
6923
6924 * config.in: Regenerate.
6925
6926 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
6927
6928 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
6929 * m/news-r6.h (XUNMARK): Remove.
6930 * m/mips.h (XUNMARK): Remove.
6931 * m/mips-siemens.h (XUNMARK): Remove.
6932 * m/iris4d.h (XUNMARK): Remove.
6933 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
6934
6935 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
6936
6937 * lisp.h (VALBITS): Don't remove 1 for the markbit.
6938 (union Lisp_Object): Use unsigned int for types. Remove markbit.
6939 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
6940 (XTYPE): Use unsigned right-shift.
6941 (XMARKBIT, XMARK, XUNMARK): Remove.
6942
6943 * alloc.c (init_intervals, init_symbol, init_marker):
6944 Don't preallocate anything.
6945 (Fgarbage_collect, mark_object): Ignore the markbit.
6946
6947 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
6948
6949 2003-09-08 Lute Kamstra <lute@gnu.org>
6950
6951 * xdisp.c (pint2hrstr): New function.
6952 (decode_mode_spec): Add `%i' and `%I' specs.
6953 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
6954 for `mode-line-format'.
6955
6956 2003-09-07 Andreas Schwab <schwab@suse.de>
6957
6958 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
6959 avoid warning.
6960
6961 2003-09-07 Eli Zaretskii <eliz@gnu.org>
6962
6963 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
6964
6965 2003-09-03 Kim F. Storm <storm@cua.dk>
6966
6967 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
6968 change (superseded by 2002-08-30 change); the default blink-off
6969 cursor is now again "no cursor".
6970
6971 2003-09-01 Jason Rumney <jasonr@gnu.org>
6972
6973 * makefile.w32-in (alloca.o): Remove.
6974 (coding.o): Depend on intervals.h
6975 (emacs.o, bytecode.o): Depend on window.h
6976
6977 2003-09-01 Dave Love <fx@gnu.org>
6978
6979 * Makefile.in (alloca.o): Remove commands.
6980 (coding.o): Depend on intervals.h composite.h window.h.
6981 (emacs.o): Depend on window.h keyboard.h keymap.h.
6982 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
6983 (bytecode.o): Depend on window.h.
6984
6985 2003-08-31 Jason Rumney <jasonr@gnu.org>
6986
6987 * w32term.c (w32_per_char_metric): Allow cached metrics to be
6988 returned even when font_type is unknown.
6989
6990 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
6991
6992 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6993
6994 * xterm.c (x_term_init): Initialize new fields in x_display_info.
6995
6996 * xterm.h (struct x_display_info): Add red/green/blue_bits and
6997 *_offset.
6998
6999 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
7000 calculate pixel value.
7001
7002 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
7003
7004 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
7005 Don't tell redisplay display is accurate when it's actually been
7006 paused for pending input.
7007
7008 2003-08-29 Richard M. Stallman <rms@gnu.org>
7009
7010 * dispnew.c (adjust_glyph_matrix): Call window_box
7011 whenever W is nonzero.
7012
7013 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
7014 (Fkill_local_variable, Fmake_variable_frame_local)
7015 (Flocal_variable_p, Flocal_variable_if_set_p):
7016 Use indirect_variable to trace thru variable aliases.
7017
7018 * config.in: Updated.
7019
7020 * callint.c (Fcall_interactively): Save and restore
7021 Vthis_command, Vthis_original_command, real_this_command,
7022 and current_kboard->Vlast_command.
7023
7024 * abbrev.c (Fexpand_abbrev): Insert before deleting.
7025
7026 2003-08-29 Gerd Moellmann <gerd@gnu.org>
7027
7028 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
7029
7030 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
7031
7032 * coding.c (decode_coding_iso2022): Initialize local variable c2.
7033 (decode_coding_sjis_big5): Likewise.
7034
7035 2003-08-27 Jason Rumney <jasonr@gnu.org>
7036
7037 * w32.c (sys_pipe): Protect against file descriptor overflow.
7038
7039 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
7040
7041 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
7042
7043 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
7044
7045 * xfns.c (Vgtk_version_string): New variable.
7046 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
7047
7048 2003-08-24 Eli Zaretskii <eliz@gnu.org>
7049
7050 * term.c (term_init): Remove `const' from buffer_size's declaration.
7051
7052 * Makefile.in (msdos.o): Depend on intervals.h.
7053
7054 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
7055
7056 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7057
7058 * xterm.h (struct x_display_info): New fields: client_leader_window
7059 and Xatom_wm_client_leader.
7060
7061 * xterm.c (x_initialize): Move call to x_session_initialize to ...
7062 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
7063
7064 * xsmfns.c (create_client_leader_window): New function.
7065 (x_session_initialize): Call create_client_leader_window, take
7066 dpyinfo as argument.
7067
7068 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
7069
7070 * Makefile.in (xsmfns.o): Add more depenedencies.
7071
7072 2003-08-21 Dave Love <fx@gnu.org>
7073
7074 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
7075
7076 2003-08-21 Kenichi Handa <handa@m17n.org>
7077
7078 * term.c (term_init): Fix previous change; don't rely on the
7079 length of `buffer' if TERMINFO is defined.
7080
7081 2003-08-20 Dave Love <fx@gnu.org>
7082
7083 * atimer.h: Include lisp.h.
7084
7085 * lisp.h (EMACS_LISP_H): New.
7086 (popup_activated_flag): Don't declare.
7087
7088 * alloca.c: Some merging with gnulib. Change logic and doc
7089 concerning (x)malloc/(x)free -- no longer Emacs-specific.
7090 [DO_BLOCK_INPUT]: Don't include lisp.h.
7091 (xmalloc, xfree): Declare.
7092 (malloc): Don't declare.
7093
7094 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
7095 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
7096 atimer.h, blockinput.h.
7097
7098 * alloc.c (lisp_align_malloc): Change type of `aligned'.
7099
7100 * alloca.s: Remove.
7101
7102 2003-08-19 Gerd Moellmann <gerd@gnu.org>
7103
7104 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
7105 use -lncurses.
7106
7107 * term.c (term_init): Use a buffer of size 4096 for tgetent since
7108 FreeBSD returns something longer than 2044. Abort if the end of
7109 the buffer is overwritten.
7110
7111 2003-08-19 Miles Bader <miles@gnu.org>
7112
7113 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
7114
7115 2003-08-19 Gerd Moellmann <gerd@gnu.org>
7116
7117 * alloc.c (lisp_align_malloc): Check for memory full when
7118 allocating ablocks, which also avoids freeing a pointer into an
7119 ablocks structure.
7120
7121 * puresize.h (BASE_PURESIZE): Increase to 1100000.
7122
7123 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
7124
7125 2003-08-16 Richard M. Stallman <rms@gnu.org>
7126
7127 * editfns.c (Fencode_time): Doc fix.
7128
7129 2003-08-16 David Ponce <david@dponce.com>
7130
7131 * fileio.c (Fwrite_region): Fix conditional expression to issue
7132 the right message.
7133
7134 2003-08-16 Juri Linkov <juri@jurta.org>
7135
7136 * syntax.c (Fforward_word): Argument changed to optional.
7137 Set default value to 1.
7138
7139 2003-08-15 Kenichi Handa <handa@m17n.org>
7140
7141 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
7142 what autoscaled.
7143 (best_matching_font): Once we find a better scalable font, set
7144 non_scalable_has_exact_height_p to 1.
7145 (try_font_list): Call try_alternative_families to try any family
7146 with the given registry.
7147
7148 2003-08-09 Andreas Schwab <schwab@suse.de>
7149
7150 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
7151
7152 * print.c (print_string): Fix printing of multibyte string with
7153 nontrivial printcharfun.
7154
7155 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7156
7157 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
7158
7159 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
7160
7161 2003-07-31 Kenichi Handa <handa@m17n.org>
7162
7163 * process.c (read_process_output): Return the actually read bytes
7164 instead of the result of decoding.
7165
7166 2003-07-31 Kenichi Handa <handa@m17n.org>
7167
7168 * xterm.h (struct x_bitmap_record): New member have_mask.
7169
7170 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
7171 to 0.
7172 (x_create_bitmap_from_file): Likewise.
7173 (x_destroy_bitmap): Check have_mask member before freeing a mask.
7174 (x_destroy_all_bitmaps): Likewise.
7175 (x_create_bitmap_mask): Set have_mask member to 1.
7176
7177 2003-07-30 Richard M. Stallman <rms@gnu.org>
7178
7179 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
7180
7181 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7182
7183 * gtkutil.c (xg_mark_data): Update calls to mark_object.
7184
7185 2003-07-29 Richard M. Stallman <rms@gnu.org>
7186
7187 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
7188 Conditionalize XIM code on HAVE_XIM.
7189
7190 * fns.c (Fclear_string): New function.
7191 (syms_of_fns): defsubr it.
7192
7193 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
7194
7195 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
7196
7197 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
7198
7199 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
7200
7201 * buffer.c (delete_all_overlays): New function.
7202 * buffer.h (delete_all_overlays): Declare.
7203 * coding.c (run_pre_post_conversion_on_str):
7204 * print.c (temp_output_buffer_setup):
7205 * fileio.c (Finsert_file_contents):
7206 * minibuf.c (get_minibuffer): Use it.
7207
7208 2003-07-22 Andrew Choi <akochoi@shaw.ca>
7209
7210 * unexmacosx.c (unexec_regions_sort_compare):
7211 (unexec_regions_merge): New functions. Sort and merge unexec
7212 regions before dumping them.
7213
7214 2003-07-22 Dave Love <fx@gnu.org>
7215
7216 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
7217
7218 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
7219
7220 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
7221 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
7222 MARKBIT as the gcmarkbit for strings.
7223
7224 2003-07-21 Richard M. Stallman <rms@gnu.org>
7225
7226 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
7227
7228 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
7229 (syms_of_fns): Corresponding change.
7230
7231 * alloc.c (syms_of_alloc): Doc fixes.
7232
7233 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
7234
7235 * s/netbsd.h: Use -Wl syntax.
7236
7237 2003-07-17 Richard M. Stallman <rms@gnu.org>
7238
7239 * xterm.c (xim_initialize): Redo 6/24 change.
7240
7241 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
7242
7243 * buffer.c (copy_overlays): Use EMACS_INT for positions.
7244 (Fswitch_to_buffer): Don't signal an error when switching to the same
7245 buffer in a dedicated window.
7246
7247 * alloc.c: Use bitmaps for cons, as was done for floats.
7248 (init_float, init_cons): Let the normal code allocate the first block.
7249 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
7250 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
7251 New macros.
7252 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
7253 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
7254 (live_cons_p): Check the pointer is not past the `conses' array.
7255 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
7256 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
7257 (survives_gc_p): Use CONS_MARKED_P and simplify.
7258 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
7259
7260 2003-07-13 Paul Eggert <eggert@twinsun.com>
7261
7262 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
7263 puts it into BSS instead, at least on Solaris 8 and 9.
7264 This is a valid optimization, and it may occur on other platforms,
7265 so Emacs should not assume that initializing a static variable to
7266 zero puts it into data.
7267 * alloc.c (pure, staticvec):
7268 Initialize these arrays to nonzero, so that they're not
7269 put into BSS by that optimization.
7270
7271 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
7272
7273 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
7274 (lisp_align_malloc): Use posix_memalign is available.
7275 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
7276 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
7277 for consistency. Update users.
7278
7279 2003-07-13 Richard M. Stallman <rms@gnu.org>
7280
7281 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
7282
7283 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
7284
7285 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
7286 and use the Gtk+ function gtk_window_icon_from_file if available.
7287
7288 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
7289 handle mask of bitmaps.
7290 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
7291 mask property.
7292 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
7293
7294 * xterm.h (xg_set_icon): New function.
7295
7296 2003-07-12 Paul Eggert <eggert@twinsun.com>
7297
7298 * unexelf.c (unexec): Consider a section to precede the .bss
7299 section if its addresses overlap that of .bss.
7300
7301 2003-07-12 Richard M. Stallman <rms@gnu.org>
7302
7303 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
7304
7305 * config.in (HAVE_CRTIN): Add #undef.
7306 (INLINE): Really inline only if OPTIMIZE is defined.
7307
7308 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
7309 END_FILES_1.
7310 (START_FILES_1, END_FILES_1): New macros (conditional).
7311 (LD_SWITCH_SYSTEM_TEMACS): Define.
7312
7313 * s/openbsd.h: Don't include bsd4-3.h.
7314 (TERMINFO): Define.
7315 (LIBS_TERMCAP): Define.
7316 (LD_SWITCH_SYSTEM): Define (two definitions).
7317
7318 * xfns.c: Include libpng/png.h instead of png.h.
7319
7320 2003-07-11 Andreas Schwab <schwab@suse.de>
7321
7322 * buffer.c (modify_overlay): Update prototype.
7323 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
7324 Likewise.
7325
7326 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7327
7328 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
7329 (struct interval): Move to intervals.h.
7330 (struct Lisp_Marker): Use EMACS_INT for position info.
7331 (forward_point): Remove prototype of defunct function.
7332 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
7333 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
7334 (syms_of_textprop, set_text_properties): Remove prototypes that are
7335 already in intervals.h.
7336
7337 * intervals.h (struct interval): Move from lisp.h.
7338 Use EMACS_INT for position and size info.
7339
7340 * coding.c: Include intervals.h for Fset_text_properties.
7341
7342 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
7343 position and length information.
7344
7345 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7346
7347 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
7348 position and length information.
7349
7350 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7351
7352 Change overlays_after and overlays_before so the overlays themselves
7353 are linked into lists, rather than using cons cells. After all each
7354 Lisp_Misc already occupies 5 words, so we can add a `next' field to
7355 Lisp_Overlay for free and save up one cons cell per overlay (not
7356 to mention one indirection when traversing the list of overlay).
7357
7358 * lisp.h (struct Lisp_Overlay): New field `next'.
7359
7360 * buffer.h (struct buffer): Change overlays_before and overlays_after
7361 from Lisp lists of overlays to pointers to overlays.
7362
7363 * buffer.c (overlay_strings, recenter_overlay_lists):
7364 Fix typo in eassert in last commit.
7365 (unchain_overlay): New function.
7366 (add_overlay_mod_hooklist): Use AREF.
7367 (copy_overlays, reset_buffer, overlays_at, overlays_in)
7368 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
7369 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
7370 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
7371 (report_overlay_modification, evaporate_overlays, init_buffer_once):
7372 Adjust to new type of overlays_(before|after).
7373
7374 * alloc.c (mark_object): Mark the new `next' field of overlays.
7375 (mark_buffer): Manually mark the overlays_(after|before) fields.
7376
7377 * coding.c (run_pre_post_conversion_on_str):
7378 * editfns.c (overlays_around):
7379 * xdisp.c (load_overlay_strings):
7380 * fileio.c (Finsert_file_contents):
7381 * indent.c (current_column):
7382 * insdel.c (signal_before_change, signal_after_change):
7383 * intervals.c (set_point_both):
7384 * print.c (temp_output_buffer_setup): Use new type for
7385 overlays_(before|after).
7386
7387 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
7388
7389 * buffer.c (report_overlay_modification): Don't run hooks while
7390 traversing the list of overlays.
7391
7392 * buffer.h (struct buffer): Use an int for overlay_center.
7393 (overlays_at, evaporate_overlays, recenter_overlay_lists)
7394 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
7395
7396 * buffer.c (reset_buffer, recenter_overlay_lists)
7397 (adjust_overlays_for_insert, adjust_overlays_for_delete)
7398 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
7399 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
7400 (overlays_at, evaporate_overlays, recenter_overlay_lists)
7401 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
7402
7403 * xdisp.c (fast_find_position): Remove unused var.
7404
7405 * cmds.c (Qexpand_abbrev): New sym.
7406 (syms_of_cmds): Initialize it.
7407 (internal_self_insert): Use it to call expand-abbrev.
7408
7409 2003-07-09 Kim F. Storm <storm@cua.dk>
7410
7411 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
7412 was configured with --without-xim.
7413 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
7414
7415 2003-07-07 Richard M. Stallman <rms@gnu.org>
7416
7417 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
7418
7419 * alloc.c (Fgarbage_collect): Doc fix.
7420
7421 2003-07-07 Nozomu Ando <nand@mac.com>
7422
7423 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
7424
7425 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
7426
7427 * minibuf.c (read_minibuf): UNGCPRO before returning.
7428 (Ftry_completion, Fall_completions): Doc fix.
7429
7430 * alloc.c (live_float_p): Check that p is not past the `floats' array,
7431 now that `floats' is not the last element of the struct any more.
7432
7433 2003-07-06 Jason Rumney <jasonr@gnu.org>
7434
7435 * w32term.h (ClipboardSequence_Proc): New type.
7436
7437 * w32fns.c (clipboard_sequence_fn): New variable.
7438 (globals_of_w32fns): Initialize it.
7439
7440 * w32select.c (last_clipboard_sequence_number): New variable.
7441 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
7442 number if possible.
7443
7444 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
7445
7446 * m/amdx86-64.h (MARKBIT):
7447 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
7448 MARKBIT and ARRAY_MARK_FLAG any more.
7449
7450 * m/hp800.h (XSETMARKBIT):
7451 * m/sr2k.h (XSETMARKBIT):
7452 * lisp.h (XSETMARKBIT): Remove unused macro.
7453
7454 * lisp.h (mark_object): Change prototype.
7455
7456 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
7457 (last_marked): Change accordingly.
7458 (mark_interval, mark_maybe_object, mark_maybe_pointer)
7459 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
7460 (mark_buffer): Update calls to mark_object.
7461
7462 * bytecode.c (mark_byte_stack):
7463 * fns.c (sweep_weak_table):
7464 * keyboard.c (mark_kboards): Update calls to mark_object.
7465
7466 2003-07-06 Jason Rumney <jasonr@gnu.org>
7467
7468 * alloc.c (struct ablock): Only include padding when there is some.
7469
7470 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
7471
7472 * alloc.c (ALIGN): Add casts to simplify usage.
7473 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
7474 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
7475 (struct ablock, struct ablocks): New types.
7476 (free_ablock): New global var.
7477 (lisp_align_malloc, lisp_align_free): New functions.
7478 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
7479 (struct float_block): Reorder and add gcmarkbits.
7480 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
7481 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
7482 (init_float, make_float): Use lisp_align_malloc.
7483 (free_float, live_float_p): Don't use `type' any more.
7484 (make_float): Use FLOAT_UNMARK to access to mark bit.
7485 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
7486 Use FLOAT_MARKED_P to access the mark bit.
7487 (pure_alloc): Simplify use of ALIGN.
7488 (mark_object): Use FLOAT_MARK to access the mark bit.
7489 (gc_sweep): Use new macros to access the float's mark bit.
7490 (init_alloc_once): Init free_ablock.
7491
7492 * lisp.h (struct Lisp_Float): Remove unused field `type'.
7493
7494 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
7495
7496 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
7497 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
7498 (allocate_buffer): Move.
7499 (string_bytes): Don't mask markbit of `size_byte'.
7500 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
7501 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
7502 Use the `size' field of buffers (rather than the `name' field) for
7503 the mark bit, as is done for all other vectorlike objects.
7504 Use the new macros to access the mark bit of vectorlike objects.
7505
7506 2003-06-26 Richard M. Stallman <rms@gnu.org>
7507
7508 * puresize.h (BASE_PURESIZE): Increment base size.
7509
7510 * xdisp.c (fast_find_position): Enable Gerd's new definition.
7511
7512 * xterm.c (xim_initialize): Undo previous change.
7513
7514 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
7515
7516 * alloc.c (survives_gc_p): Simplify.
7517
7518 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
7519
7520 * window.c (Fset_window_dedicated_p): Simplify.
7521 (display_buffer_1): Don't raise the win from which minibuf was entered.
7522 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
7523 (Fminibuffer_selected_window): Simplify.
7524
7525 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
7526
7527 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
7528 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
7529
7530 * insdel.c (check_markers, adjust_markers_for_delete)
7531 (adjust_markers_for_insert, adjust_markers_for_replace)
7532 (prepare_to_modify_buffer, RESTORE_VALUE):
7533 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
7534 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
7535 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
7536 * alloc.c (Fmake_marker, free_marker, gc_sweep):
7537 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
7538 * editfns.c (save_excursion_restore, transpose_markers):
7539 * window.c (delete_window):
7540 * xdisp.c (message_dolog): Update for new types.
7541
7542 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7543
7544 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
7545 (realize_default_face): Use default_face_done_p for the force_p
7546 argument to set_lface_from_font_name. Set default_face_done_p to one.
7547
7548 * frame.c (make_frame): Initialize default_face_done_p.
7549
7550 * frame.h (struct frame): Add default_face_done_p.
7551
7552 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
7553 will be defined.
7554
7555 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
7556
7557 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
7558 Initialize the new field `gcmarkbit'.
7559 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
7560 (mark_interval_tree): Don't mark the tree separately from the nodes.
7561 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
7562 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
7563 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
7564
7565 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
7566 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
7567 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
7568 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
7569 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
7570
7571 2003-06-24 Dave Love <fx@gnu.org>
7572
7573 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
7574
7575 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
7576 from gnulib.
7577
7578 2003-06-21 Richard M. Stallman <rms@gnu.org>
7579
7580 * fileio.c (Fwrite_region): Alternate messages
7581 for append and partial write.
7582
7583 * keyboard.c (read_key_sequence): When converting upcase fn key to
7584 downcase, update fkey and keytran so `backspace' gets translated.
7585
7586 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
7587
7588 * process.c (wait_reading_process_input): Don't signal SIGIO
7589 in batch mode.
7590
7591 2003-06-17 Kenichi Handa <handa@m17n.org>
7592
7593 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
7594 composite.h.
7595
7596 * xselect.c: Don't include charset.h, coding.h, composite.h.
7597 (Qforeign_selection): New variable.
7598 (syms_of_xselect): Intern and static it.
7599 (selection_data_to_lisp_data): Return a unibyte string made from
7600 data with `foreign-selection' text property.
7601
7602 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
7603
7604 * termhooks.h (EVENT_INIT): New macro.
7605
7606 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
7607
7608 * alloc.c (mark_kboards): Move to keyboard.c.
7609
7610 * keyboard.c (record_asynch_buffer_change, read_avail_input):
7611 * xterm.c (x_dispatch_event):
7612 * xmenu.c (find_and_call_menu_selection):
7613 * xdisp.c (handle_tool_bar_click):
7614 * w32menu.c (menubar_selection_callback):
7615 * sysdep.c (kbd_input_ast, read_input_waiting):
7616 * msdos.c (dos_rawgetc):
7617 * macterm.c (mac_check_for_quit_char):
7618 * macmenu.c (menubar_selection_callback):
7619 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
7620 data to kbd_buffer_store_event.
7621
7622 2003-06-15 Kim F. Storm <storm@cua.dk>
7623
7624 * xdisp.c (x_fix_overlapping_area): Always use area relative X
7625 to fix redisplay problem with tall characters (such as \e,AC\e(B).
7626
7627 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
7628
7629 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
7630
7631 2003-06-12 Kenichi Handa <handa@m17n.org>
7632
7633 * fileio.c (Fwrite_region): Save and restore restriction.
7634
7635 2003-06-12 Dave Love <fx@gnu.org>
7636
7637 * alloca.c (alloca): Declare arg as size_t.
7638
7639 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
7640 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
7641
7642 2003-06-11 Dave Love <fx@gnu.org>
7643
7644 * search.c (shrink_regexp_cache): Use xrealloc.
7645 (syms_of_search): Use xmalloc.
7646
7647 2003-06-10 Kim F. Storm <storm@cua.dk>
7648
7649 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
7650 Adjust phys_cursor.x to be relative to window box, rather than
7651 text area before checking -- to ensure cursor is redrawn when
7652 exposing window.
7653 Note: This also fixes a similar (older) bug if display margins
7654 are present.
7655
7656 2003-06-06 Kenichi Handa <handa@m17n.org>
7657
7658 * coding.c (encoding_buffer_size): If coding->type is
7659 coding_type_ccl, double magnification on CRLF encoding.
7660
7661 2003-06-06 Jason Rumney <jasonr@gnu.org>
7662
7663 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
7664 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
7665
7666 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
7667 Mac too.
7668
7669 2003-06-05 Dave Love <fx@gnu.org>
7670
7671 * strftime.c: Merge changes from gnulib.
7672
7673 * mktime.c (__mktime_internal): Merge changes from gnulib
7674 involving year 69 and dst2.
7675
7676 Changes to merge with gnulib version and be consistent with the
7677 autoconf test:
7678
7679 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
7680 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
7681 [HAVE_LOCALE_H]: Include locale.h.
7682 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
7683
7684 2003-06-05 Kim F. Storm <storm@cua.dk>
7685
7686 * window.c (coordinates_in_window): Convert X and Y to window
7687 relative coordinates inside mode-line and header-line parts.
7688 Convert X and Y to margin area relative coordinates inside left
7689 and right display margin parts.
7690
7691 2003-06-05 Jason Rumney <jasonr@gnu.org>
7692
7693 * w32fns.c (add_system_logical_colors_to_map): New function.
7694 (Fx_open_connection): Use it.
7695
7696 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
7697
7698 * process.c (allocate_pty): Revert part of the previous patch.
7699 (Faccept_process_output): Simplify.
7700
7701 2003-06-04 Jason Rumney <jasonr@gnu.org>
7702
7703 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
7704
7705 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
7706 (lispy_mouse_wheel_names): Remove.
7707 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
7708 Always define drag_and_drop_syms.
7709
7710 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
7711 WHEEL_EVENT events.
7712
7713 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
7714
7715 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
7716
7717 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
7718
7719 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7720
7721 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
7722 menu item label.
7723
7724 2003-06-03 Richard M. Stallman <rms@gnu.org>
7725
7726 * window.c (Fwindow_edges): Doc fix.
7727 (Fwindow_pixel_edges, Fwindow_inside_edges)
7728 (Fwindow_inside_pixel_edges): New functions.
7729 (syms_of_window): defsubr them.
7730
7731 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
7732 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
7733
7734 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
7735
7736 * dispnew.c (Fsit_for): Don't lie about the number of args.
7737
7738 2003-06-02 Dave Love <fx@gnu.org>
7739
7740 * callproc.c: Use HAVE_FCNTL_H, not USG5.
7741 (syms_of_callproc) <process-environment>: Doc fix.
7742
7743 * doc.c: Use HAVE_FCNTL_H, not USG5.
7744
7745 * xfaces.c (font_rescale_ratio): Fix for K&R.
7746
7747 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
7748
7749 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
7750
7751 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
7752
7753 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
7754 (xg_create_frame_widgets): Use ENCODE_UTF_8.
7755
7756 * xterm.c (Qutf_8): Move to coding.c
7757
7758 * xmenu.c (ENCODE_MENU_STRING): New.
7759 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
7760 Use it.
7761
7762 * coding.h (ENCODE_UTF_8): New.
7763 (Qutf_8): Declare.
7764
7765 * coding.c (Qutf_8): New.
7766 (syms_of_coding): Intern it.
7767
7768 * fns.c: Doc fixes.
7769
7770 2003-06-02 Kenichi Handa <handa@m17n.org>
7771
7772 * buffer.c (Fset_buffer_multibyte): Fix previous change.
7773
7774 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
7775
7776 * lread.c (openp): Make sure STR is a string.
7777
7778 2003-06-01 David Ponce <david@dponce.com>
7779
7780 * termhooks.h (enum event_kind): Add new WHEEL_EVENT event.
7781 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
7782
7783 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
7784 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
7785 (discard_mouse_events): Discard WHEEL_EVENT events too.
7786 (lispy_wheel_names, wheel_syms): New.
7787 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
7788 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX defined.
7789 (make_lispy_event): Add WHEEL_EVENT handler.
7790
7791 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
7792 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
7793 WHEEL_EVENT events.
7794
7795 2003-05-31 John Paul Wallington <jpw@gnu.org>
7796
7797 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
7798 timer are in lisp/emacs-lisp.
7799
7800 2003-05-31 Kenichi Handa <handa@m17n.org>
7801
7802 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
7803 region when a buffer is changed to unibyte.
7804
7805 * charset.h (VALID_LEADING_CODE_P): New macro.
7806 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
7807
7808 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
7809 is nonzero, accept multibyte form of eight-bit-control chars.
7810 (decode_composition_emacs_mule): Likewise.
7811 (decode_coding_emacs_mule): Likewise.
7812 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
7813 multibyte form of eight-bit-control chars.
7814
7815 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
7816 (Finsert_file_contents): If coding-system-for-read is bound to
7817 Qauto_save_coding, use the coding system emacs-mule with special
7818 setting for recovering a file.
7819 (choose_write_coding_system): On auto saving, use the coding
7820 system emacs-mule with special setting for auto saving.
7821 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
7822
7823 2003-05-30 Kenichi Handa <handa@m17n.org>
7824
7825 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
7826 properly before calling ccl_driver.
7827
7828 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
7829
7830 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is nonzero.
7831 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
7832 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
7833
7834 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
7835
7836 * xfaces.c (realize_default_face): Do not abort if lface is
7837 non-existent - reverts change from 2003-05-19.
7838
7839 2003-05-29 Kenichi Handa <handa@m17n.org>
7840
7841 * coding.c (decode_coding_iso2022): Pay attention to the byte
7842 sequence of CTEXT extended segment, and retain those bytes as is.
7843
7844 2003-05-28 Kenichi Handa <handa@m17n.org>
7845
7846 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjust for the name change
7847 of CODING_REPLACEMENT_CHARACTER.
7848 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
7849 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
7850 check this flag on encoding.
7851 (encode_coding_sjis_big5):
7852 Check CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
7853 (Fset_terminal_coding_system_internal):
7854 Set CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
7855 instead of setting CODING_FLAG_ISO_SAFE flag in terminal_coding.flags.
7856
7857 * coding.h (CODING_REPLACEMENT_CHARACTER): Rename from
7858 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
7859 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
7860
7861 2003-05-28 Richard M. Stallman <rms@gnu.org>
7862
7863 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
7864
7865 * eval.c (unbind_to): Move init of this_binding to separate statement.
7866
7867 2003-05-28 Kim F. Storm <storm@cua.dk>
7868
7869 * xdisp.c (expose_window): Fix error in calculation of
7870 window relative coordinates of area to redisplay.
7871
7872 2003-05-27 Jason Rumney <jasonr@gnu.org>
7873
7874 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
7875
7876 2003-05-27 David Ponce <david@dponce.com>
7877
7878 Handle W32 mouse wheel events as mouse click events, like in X.
7879
7880 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
7881 MOUSE_WHEEL_EVENT anymore.
7882
7883 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
7884 Scrolling down/up the mouse wheel is respectively mapped to mouse
7885 button 4 and 5.
7886 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
7887 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
7888 WM_MOUSEWHEEL events.
7889
7890 2003-05-27 Andreas Schwab <schwab@suse.de>
7891
7892 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
7893
7894 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
7895 partially visible line.
7896
7897 * alloc.c (Fgarbage_collect): Fix last change.
7898
7899 2003-05-26 John Paul Wallington <jpw@gnu.org>
7900
7901 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
7902
7903 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
7904
7905 * window.c (Fset_window_buffer): Add type of `keep_margins'.
7906 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
7907
7908 * window.h (window_box_text_cols): Declare.
7909
7910 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
7911 (x_draw_vertical_border): Remove unused var `f'.
7912
7913 * xfaces.c (build_scalable_font_name): Remove `unused var
7914 pixel_size' warning.
7915
7916 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
7917
7918 * unexelf.c (unexec): Remove `unused var n' warning.
7919
7920 * strftime.c (my_strftime_localtime_r): Remove `defined but
7921 unused' warning.
7922
7923 * process.c (allocate_pty): Remove `unused var stb' and
7924 `cp might be used uninitialized' warnings.
7925
7926 * dispnew.c (mode_line_string): Remove unused var `f'.
7927
7928 * coding.c (find_safe_codings): Remove unused var `i'.
7929
7930 * bytecode.c (Fbyte_code): Remove `unused val' warning.
7931
7932 * buffer.c (Fkill_buffer): Remove unused var `list'.
7933
7934 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
7935
7936 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7937
7938 * frame.c (make_frame): Condition want_fullscreen with
7939 HAVE_WINDOW_SYSTEM.
7940
7941 2003-05-25 Juanma Barranquero <lektu@terra.es>
7942
7943 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
7944 (Fwindow_scroll_bars): Fix typo in docstring.
7945
7946 2003-05-24 Kim F. Storm <storm@cua.dk>
7947
7948 The following changes serve several purposes:
7949
7950 1) Swap the position of fringes and display margins in windows, i.e.
7951 the fringes are now displayed between the margins and the text area
7952 (by default).
7953
7954 2) Allow fringe and scroll bar parameters to be set per-buffer and
7955 per-window (like display margins). Such settings are now stored
7956 in window configurations, preserved when frames are resized, and
7957 copied when windows are split vertically or horizontally.
7958 Several bugs related to display margins have been fixed.
7959
7960 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
7961
7962 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
7963 rather than FRAME_WIDTH (FRAME_FONT (f)).
7964
7965 5) Introduce a consistent naming of variables, members and macros
7966 depending on whether their value is measured in pixels or in
7967 canonical columns/lines. Pixel dimensions are named *_width and
7968 *_height, while canonical columns/lines are named *_cols and
7969 *_lines. Pixel positions are named *_x and *_y, while column/line
7970 positions are named *_col and *_line.
7971
7972 6) Consolidate more of the X, W32, and MAC gui code by moving
7973 common data into struct frame, and generalize it for the non-gui
7974 case by using suitable defaults.
7975
7976 7) Cleanup and consolidate the macros controlling frame and window
7977 layout into frame.h and window.h, and generalize the use of the
7978 various window_box_* functions (enhanced to handle the new fringe
7979 position and the per-window fringe and scroll bar settings).
7980
7981 * frame.h (struct frame): Rename members height to text_lines,
7982 width to text_cols, window_height to total_lines, window_width to
7983 total_cols, new_height to new_text_lines, new_width to
7984 new_text_cols. All uses changed.
7985 (struct frame): New members which consolidate common members of
7986 x_output, w32_output, and mac_output structures: left_pos,
7987 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
7988 win_gravity, size_hint_flags, border_width, internal_border_width,
7989 line_height, fringe_cols, left_fringe_width, right_fringe_width,
7990 want_fullscreen. All uses changed.
7991 (struct frame): New member column_width contaning the canonical
7992 column width, analogue to line_height. All uses changed.
7993 (struct frame): Rename members scroll_bar_pixel_width to
7994 config_scroll_bar_width, and scroll_bar_cols to
7995 config_scroll_bar_cols. All uses changed.
7996 (struct frame): New member scroll_bar_actual_width which
7997 consolidates and renames the vertical_scroll_bar_extra member of
7998 x_output, w32_output, and mac_output structures. All uses changed.
7999 (FRAME_PIXEL_HEIGHT): Rename from PIXEL_HEIGHT and moved
8000 from x/w32/macterm.h files. All uses changed. Also change code
8001 which referred to f->output_data...->pixel_height.
8002 (FRAME_PIXEL_WIDTH): Rename from PIXEL_WIDTH and moved
8003 from x/w32/macterm.h files. All uses changed. Also change code
8004 which referred to f->output_data...->pixel_width.
8005 (FRAME_LINES): Rename from FRAME_HEIGHT. All uses changed.
8006 Also change code which referred to f->height.
8007 (FRAME_COLS): Rename from FRAME_WIDTH. All uses changed.
8008 Also change code which referred to f->width.
8009 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
8010 to update new_text_lines and new_text_cols members directly.
8011 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Rename from
8012 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
8013 (FRAME_CONFIG_SCROLL_BAR_COLS): Rename from
8014 FRAME_SCROLL_BAR_COLS. All uses changed.
8015 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
8016 Rename from FRAME_LEFT_SCROLL_BAR_WIDTH and
8017 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
8018 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
8019 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
8020 (FRAME_TOTAL_COLS): Rename from FRAME_WINDOW_WIDTH.
8021 (SET_FRAME_COLS): Rename from SET_FRAME_WIDTH.
8022 (FRAME_TOTAL_COLS_ARG): Rename from FRAME_WINDOW_WIDTH_ARG.
8023 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
8024 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
8025 (FRAME_LINE_HEIGHT): Rename from CANON_Y_UNIT.
8026 Unconditionally return line_height member (it now has proper value
8027 also for non-window frames).
8028 (FRAME_COLUMN_WIDTH): Rename from CANON_X_UNIT. Unconditionally
8029 return new column_width member (rather than the default font width).
8030 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
8031 (FRAME_RIGHT_FRINGE_WIDTH): Rename from FRAME_X_... and moved
8032 from x/w32/macterm.h files. Unconditionally return corresponding
8033 member of frame structure (they now have proper values also for
8034 non-window frames).
8035 (FRAME_TOTAL_FRINGE_WIDTH): Rename from FRAME_FRINGE_WIDTH.
8036 Calculate return value from left and right widths.
8037 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
8038 internal_border_width member (has proper value for non-window frame).
8039 (FRAME_PIXEL_X_FROM_CANON_X): Rename from PIXEL_X_FROM_CANON_X.
8040 (FRAME_PIXEL_Y_FROM_CANON_Y): Rename from PIXEL_Y_FROM_CANON_Y.
8041 (FRAME_CANON_X_FROM_PIXEL_X): Rename from CANON_X_FROM_PIXEL_X.
8042 (FRAME_CANON_Y_FROM_PIXEL_Y): Rename from CANON_Y_FROM_PIXEL_Y.
8043 (FRAME_LINE_TO_PIXEL_Y): Rename from CHAR_TO_PIXEL_ROW,
8044 consolidated from xterm.h, macterm.h, and w32term.h.
8045 (FRAME_COL_TO_PIXEL_X): Rename from CHAR_TO_PIXEL_COL,
8046 consolidated from xterm.h, macterm.h, and w32term.h.
8047 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rename from
8048 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
8049 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Rename from
8050 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
8051 (FRAME_PIXEL_Y_TO_LINE): Rename from PIXEL_TO_CHAR_ROW
8052 consolidated from x/mac/w32term.h.
8053 (FRAME_PIXEL_X_TO_COL): Rename from PIXEL_TO_CHAR_COL
8054 consolidated from x/mac/w32term.h.
8055 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Rename from
8056 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
8057 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Rename from
8058 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
8059
8060 * window.h (struct window): Rename members left to left_col,
8061 top to top_line, height to total_lines, width to total_cols,
8062 left_margin_width to left_margin_cols, right_margin_width to
8063 right_margin_cols, orig_height to orig_total_lines, orig_top to
8064 orig_top_line. All uses changed.
8065 (struct window): New members left_fringe_width, right_fringe_width,
8066 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
8067 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
8068 New macros primarily used to simplify other macros.
8069 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
8070 referred to XINT (w->width).
8071 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
8072 referred to XINT (w->height).
8073 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
8074 referred to XINT (w->width) * canon_x_unit.
8075 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
8076 referred to XINT (w->height) * canon_y_unit.
8077 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
8078 referred to XINT (w->left).
8079 (WINDOW_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_EDGE. Change
8080 all uses and code that referred to XINT (w->left) + XINT (w->width).
8081 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
8082 referred to XINT (w->top).
8083 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
8084 referred to XINT (w->top) + XINT (w->height).
8085 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
8086 referred to XINT (w->left) * canon_x_unit.
8087 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
8088 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
8089 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
8090 referred to XINT (w->top) * canon_y_unit.
8091 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
8092 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
8093 (WINDOW_LEFTMOST_P): New macro.
8094 (WINDOW_BOX_LEFT_EDGE_COL): Rename from WINDOW_LEFT_MARGIN.
8095 All uses changed.
8096 (WINDOW_BOX_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_MARGIN.
8097 All uses changed.
8098 (WINDOW_BOX_LEFT_EDGE_X): Rename from
8099 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
8100 Do not exclude left fringe width.
8101 (WINDOW_BOX_RIGHT_EDGE_X): Rename from
8102 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
8103 Do not exclude fringe widths.
8104 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
8105 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
8106 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
8107 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
8108 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
8109 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
8110 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
8111 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
8112 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
8113 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
8114 New macros. Change code which referenced corresponding
8115 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
8116 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
8117 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
8118 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
8119 allow per-window scroll-bar settings.
8120 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
8121 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
8122 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
8123 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
8124 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
8125 FRAME_SCROLL_BAR_WIDTH.
8126 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
8127 (WINDOW_SCROLL_BAR_AREA_X): New macros.
8128 (WINDOW_HEADER_LINE_HEIGHT): Rename from
8129 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
8130 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Rename from
8131 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
8132 (WINDOW_BOX_TEXT_HEIGHT): Rename from
8133 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
8134 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
8135 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
8136 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Move here from dispextern.h.
8137 (WINDOW_LEFT_MARGIN_WIDTH): Rename from
8138 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
8139 (WINDOW_RIGHT_MARGIN_WIDTH): Rename from
8140 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
8141 (window_from_coordinates): Update prototype.
8142 (Fset_window_buffer): Update EXFUN.
8143 (set_window_buffer): Update prototype.
8144
8145 * dispextern.h (struct glyph_matrix): Rename members window_left_x
8146 to window_left_col, window_top_y to window_top_line. All uses
8147 changed.
8148 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
8149 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
8150 internal_border_width is now set to 0 for non-window frames.
8151 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
8152 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
8153 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
8154 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
8155 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
8156 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
8157 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
8158 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
8159 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
8160 Move to window.h and renamed [see window.h changes].
8161 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
8162 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
8163 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
8164 Use WINDOW_TOTAL_LINES.
8165 (frame_update_line_height): Remove prototype.
8166
8167 * buffer.h (struct buffer): Rename members measured in columns:
8168 left_margin_width to left_margin_cols, right_margin_width to
8169 right_margin_cols. All uses changed.
8170 New members left_fringe_width, right_fringe_width,
8171 fringes_outside_margins for per-buffer fringe settings.
8172 New members scroll_bar_width and vertical_scroll_bar_type for
8173 per-buffer scroll bar settings.
8174
8175 * buffer.c (init_buffer_once): Set buffer_defaults and
8176 buffer_local_flags for new buffer-local variables
8177 left_fringe_width, right_fringe_width, fringes_outside_margins,
8178 scroll_bar_width, and vertical_scroll_bar_type.
8179 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
8180 default-* variables for them.
8181
8182 * dispnew.c: Make (many) trivial substitutions for renamed and
8183 new macros in dispextern.h, frame.h and window.h.
8184 (mode_line_string): No need to adjust width for mode lines, as it
8185 is already adjusted by the caller.
8186 (marginal_area_string): Handle fringes inside/outside margins.
8187
8188 * frame.c: Make (many) trivial substitutions for renamed and
8189 new macros in dispextern.h, frame.h and window.h.
8190 (make_frame): Initialize left_fringe_width, right_fringe_width,
8191 fringe_cols, scroll_bar_actual_width, border_width,
8192 internal_border_width, column_width, line_height, x_pixels_diff,
8193 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
8194 members with values suitable for a non-window frames.
8195
8196 * gtkutil.c: Make (many) trivial substitutions for renamed and
8197 new macros in dispextern.h, frame.h and window.h.
8198
8199 * indent.c: Make (few) trivial substitutions for renamed and
8200 new macros in dispextern.h, frame.h and window.h.
8201
8202 * keyboard.c: Make (many) trivial substitutions for renamed and
8203 new macros in dispextern.h, frame.h and window.h.
8204 (make_lispy_event): Use window positions returned from
8205 window_from_coordinates when constructing the lisp event for
8206 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
8207 (incorrect) values locally.
8208 (make_lispy_movement): Use window positions returned from
8209 window_from_coordinates when constructing the lisp event, rather
8210 than calculating (incorrect) values locally.
8211
8212 * scroll.c: Make (some) trivial substitutions for renamed and
8213 new macros in dispextern.h, frame.h and window.h.
8214
8215 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
8216 scroll-bars.
8217
8218 * sysdep.c: Make (few) trivial substitutions for renamed and
8219 new macros in dispextern.h, frame.h and window.h.
8220
8221 * term.c: Make (some) trivial substitutions for renamed and
8222 new macros in dispextern.h, frame.h and window.h.
8223
8224 * widget.c: Make (few) trivial substitutions for renamed and
8225 new macros in dispextern.h, frame.h and window.h.
8226
8227 * window.c: Make (many) trivial substitutions for renamed and
8228 new macros in dispextern.h, frame.h and window.h.
8229 (make_window): Initialize new members
8230 left_margin_cols, right_margin_cols, left_fringe_width,
8231 right_fringe_width, fringes_outside_margins, scroll_bar_width,
8232 and vertical_scroll_bar_type.
8233 (coordinates_in_window): Adapt to new fringe/margin positions
8234 and per-window fringes and scroll-bars.
8235 Fix bug related to incorrectly adjusting coordinates by
8236 frame's internal_border_width (the effect normally negible since
8237 the internal_border_width is typically 0 or 1 pixel, but very
8238 noticeable for an internal_border_width of e.g. 25 pixels).
8239 Upon successful return (other than ON_NOTHING), the coordinates
8240 are now always properly converted to window relative for the
8241 given display element.
8242 (window_from_coordinates): Add new parameters wx and wy to
8243 return the window relative x and y position in the returned
8244 window and part. A null arg means, don't return the position.
8245 All callers changed.
8246 (adjust_window_margins): New function which may reduce the width
8247 of the display margins if a window's text area is too small after
8248 resizing or splitting windows.
8249 (size_window): Fix bug that did not account for display margin
8250 widths when checking the minimum width of a window; use
8251 adjust_window_margins.
8252 (set_window_buffer): Call Fset_window_fringes and
8253 Fset_window_scroll_bars to setup per-window elements.
8254 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
8255 existing display margin, fringe widths, and scroll bar settings
8256 (e.g. after splitting a window or resizing the frame).
8257 All callers changed.
8258 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
8259 (Fsplit_window): Duplicate original window's display margin,
8260 fringe, and scroll-bar settings; then call Fset_window_buffer with
8261 KEEP_MARGINS non-nil. This fixes a bug which caused a split
8262 window to only preserve the display margins in one of the windows.
8263 When splitting horizontally, call adjust_window_margins on both
8264 windows to ensure that the text area of the new windows is non too
8265 narrow. This fixes a bug which could cause Emacs to trap if the
8266 width of the split window was less than the width of the display
8267 margins.
8268 (window_box_text_cols): Rename from window_internal_width.
8269 All uses changed. Adapt to per-window fringes and scroll bars.
8270 Fix bug that caused vertical separator to be subtracted also on
8271 window frames. Fix another bug that did not reduce the returned
8272 value by the columns used for display margins.
8273 (window_scroll_line_based): Fix bug related to scrolling too much
8274 when display margins are present (implicitly fixed by the fix to
8275 window_box_text_cols).
8276 (scroll_left, scroll_right): Fix bug related to scrolling too far
8277 by default when display margins are present (implicitly fixed by
8278 the fix to window_box_text_cols).
8279 (struct saved_window): Rename members left to left_col, top to
8280 top_line, width to total_cols, height to total_lines, orig_top to
8281 orig_top_line, orig_height to orig_total_lines. All uses changed.
8282 New members left_margin_cols, right_margin_cols,
8283 left_fringe_width, right_fringe_width, fringes_outside_margins,
8284 scroll_bar_width, and vertical_scroll_bar_type for saving
8285 per-window display elements.
8286 (Fset_window_configuration): Restore display margins, fringes,
8287 and scroll bar settings. This fixes a bug which caused display
8288 margins to be discarded when saving and restoring a window
8289 configuration.
8290 (save_window_save): Save display margins, fringes, and scroll bar
8291 settings. This fixes a bug which caused display margins to be
8292 discarded when saving and restoring a window configuration.
8293 (Fset_window_margins): Do nothing if display margins are not
8294 really changed. Otherwise, call adjust_window_margins to ensure
8295 the text area doesn't get too narrow. This fixes a bug which
8296 could cause Emacs to trap if setting display margins wider than
8297 the width of the window.
8298 (Fset_window_fringes): New defun to allow user to specifically set
8299 this window's fringe widths and position vs. display margins.
8300 (Fwindow_fringes): New defun to return window's actual fringe settings.
8301 (Fset_window_scroll_bars): New defun to allow user to specifically
8302 set this window's scroll bar width and position.
8303 (Fwindow_scroll_bars): New defun to return window's actual scroll
8304 bar settings.
8305 (compare_window_configurations): Also compare display margins,
8306 fringes, and scroll bar settings.
8307 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
8308
8309 * xdisp.c: Make (many) trivial substitutions for renamed and
8310 new macros in dispextern.h, frame.h and window.h.
8311 (window_box_width): Adapt to per-window fringes and scroll bars,
8312 and new fringe vs. display margin position. Note that returned
8313 value is no longer guaranteed to be a whole multiple of the frame
8314 column width, since per-window fringes may now be any width.
8315 (window_box_left_offset): New function like window_box_left, but
8316 value is relative to left border of window (rather than frame).
8317 (window_box_right_offset): New function like window_box_right,
8318 but value is relative to left border of window.
8319 (window_box_left): Adapt to per-window fringes and scroll bars,
8320 and new fringe vs. display margin position. Simplify by using
8321 WINDOW_LEFT_EDGE_X and window_box_left_offset.
8322 (window_box): Allow null args for unnecessary return values;
8323 change/simplify relevant callers.
8324 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
8325 and new fringe vs. display margin position.
8326 Use window_box_left_offset and window_box_right_offset
8327 (get_glyph_string_clip_rect): Adapt to per-window fringes and
8328 scroll bars, and new fringe vs. display margin position.
8329 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
8330 (draw_fringe_bitmap): Rework to handle per-window fringes and new
8331 fringe vs. display margin position.
8332 (hscroll_window_tree): Use window_box_width instead of window_box.
8333 (redisplay_window): Adapt to per-window scroll bars.
8334 (draw_glyphs): Rework to handle per-window fringes and scroll
8335 bars, and new fringe vs. display margin position.
8336 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
8337 (x_clear_end_of_line): Adapt to per-window fringes and scroll
8338 bars, and new fringe vs. display margin position. Fix bug which
8339 increased total width of full_width rows by width of scroll bars
8340 although window's total width already includes that.
8341 (x_fix_overlapping_area): Simplify using window_box_left_offset.
8342 (expose_area): Simplify using window_box_left_offset.
8343 (x_draw_vertical_border): Handle per-window scroll bar settings,
8344 mixing windows with left, right and no scroll bars.
8345
8346 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
8347 where it's used in x_list_fonts (for clarity).
8348 (frame_update_line_height): Remove unused function; functionality
8349 is now done directly when setting the default font in x_set_font.
8350
8351 * xfns.c: Make (many) trivial substitutions for renamed and
8352 new macros in dispextern.h, frame.h and window.h.
8353
8354 * xmenu.c: Make (some) trivial substitutions for renamed and
8355 new macros in dispextern.h, frame.h and window.h.
8356
8357 * xterm.h (struct x_output): Move members left_pos, top_pos,
8358 border_width, pixel_height, pixel_width, line_height,
8359 internal_border_width, vertical_scroll_bar_extra,
8360 left_fringe_width, right_fringe_width, fringe_cols,
8361 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8362 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
8363 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8364 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8365 (PIXEL_WIDTH, PIXEL_HEIGHT)
8366 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8367 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8368 frame.h and renamed [see frame.h changes].
8369 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8370 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8371 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8372 and renamed [see frame.h changes].
8373
8374 * xterm.c: Make (several) trivial substitutions for renamed and
8375 new macros in dispextern.h, frame.h and window.h.
8376 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
8377 (scroll_run): Adapt to new fringe position.
8378 (glyph_rect): Use window coordinates returned from
8379 window_from_coordinates rather than frame_to_window_pixel_xy.
8380 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
8381 scroll-bars.
8382 (handle_one_xevent): Simplify a USE_GTK conditional.
8383 (x_clip_to_row): Remove superfluous whole_line_p arg and code
8384 (fringes are now inside margins, i.e. always in the clipping area).
8385 All callers changed.
8386 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
8387 directly, then call compute_fringe_widths. Don't call
8388 frame_update_line_height.
8389
8390 * w32term.h (struct w32_output): Move members left_pos, top_pos,
8391 border_width, pixel_height, pixel_width, line_height,
8392 internal_border_width, vertical_scroll_bar_extra,
8393 left_fringe_width, right_fringe_width, fringe_cols,
8394 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8395 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
8396 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8397 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8398 (PIXEL_WIDTH, PIXEL_HEIGHT)
8399 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8400 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8401 frame.h and renamed [see frame.h changes].
8402 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8403 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8404 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8405 and renamed [see frame.h changes].
8406
8407 * w32term.c: Make (several) trivial substitutions for renamed and
8408 new macros in dispextern.h, frame.h and window.h.
8409 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
8410 (glyph_rect): Use window coordinates returned from
8411 window_from_coordinates rather than frame_to_window_pixel_xy.
8412 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
8413 scroll-bars.
8414 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
8415 (fringes are now inside margins, i.e. always in the clipping area).
8416 All callers changed.
8417 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
8418 directly, then call compute_fringe_widths. Don't call
8419 frame_update_line_height.
8420
8421 * w32console.c: Make (few) trivial substitutions for renamed and
8422 new macros in dispextern.h, frame.h and window.h.
8423
8424 * w32fns.c: Make (many) trivial substitutions for renamed and
8425 new macros in dispextern.h, frame.h and window.h.
8426
8427 * w32menu.c: Make (few) trivial substitutions for renamed and
8428 new macros in dispextern.h, frame.h and window.h.
8429
8430 * macterm.h (struct mac_output): Move members left_pos, top_pos,
8431 border_width, pixel_height, pixel_width, line_height,
8432 internal_border_width, vertical_scroll_bar_extra,
8433 left_fringe_width, right_fringe_width, fringe_cols,
8434 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8435 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
8436 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8437 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8438 (PIXEL_WIDTH, PIXEL_HEIGHT)
8439 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8440 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8441 frame.h and renamed [see frame.h changes].
8442 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8443 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8444 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8445 and renamed [see frame.h changes].
8446
8447 * macterm.c: Make (several) trivial substitutions for renamed and
8448 new macros in dispextern.h, frame.h and window.h.
8449 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
8450 (glyph_rect): Use window coordinates returned from
8451 window_from_coordinates rather than frame_to_window_pixel_xy.
8452 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
8453 scroll-bars.
8454 (x_clip_to_row): Remove superfluous whole_line_p arg and code
8455 (fringes are now inside margins, i.e. always in the clipping area).
8456 All callers changed.
8457 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
8458 directly, then call compute_fringe_widths. Don't call
8459 frame_update_line_height.
8460
8461 * macfns.c: Make (several) trivial substitutions for renamed and
8462 new macros in dispextern.h, frame.h and window.h.
8463 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
8464
8465 * macmenu.c: Make (few) trivial substitutions for renamed and
8466 new macros in dispextern.h, frame.h and window.h.
8467
8468 * msdos.h (struct x_output): Remove members left_pos, top_pos,
8469 and line_height, and use corresponding new members in struct
8470 frame. All uses changed.
8471 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
8472 superseeded by corresponding macros in frame.h.
8473
8474 * msdos.c: Make (several) trivial substitutions for renamed and
8475 new macros in dispextern.h, frame.h and window.h.
8476 (IT_note_mouse_highlight): Use updated window coordinates returned
8477 by window_from_coordinates, rather than adjusting them locally.
8478 (internal_terminal_init): No need to initialize line_height here;
8479 it now defaults to 1.
8480
8481 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
8482
8483 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
8484 dropping `down' events.
8485
8486 2003-05-24 Andreas Schwab <schwab@suse.de>
8487
8488 * coding.c (find_safe_codings): Fix last change.
8489
8490 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
8491
8492 * xfns.c (x_window): Fix typo from 2003-05-21 change.
8493
8494 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
8495
8496 * xdisp.c (display_mode_element): Increase max depth.
8497 Simplify the error handling code. Use a different error string
8498 for the case where we hit the depth limit.
8499
8500 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
8501
8502 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
8503
8504 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
8505
8506 * intervals.c (get_local_map): Don't get char-property of previous
8507 point any more: get_pos_property already does it and better.
8508
8509 2003-05-21 Dave Love <fx@gnu.org>
8510
8511 [Merged from unicode branch.]
8512
8513 * xfns.c (x_window, x_window): Use use_xim.
8514
8515 * xterm.c (use_xim): Initialize.
8516 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
8517 (x_term_init): Maybe set use_xim.
8518
8519 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
8520
8521 2003-05-21 Jason Rumney <jasonr@gnu.org>
8522
8523 * unexw32.c (_start): Remove _fmode initialization.
8524
8525 * emacs.c (main) [WINDOWSNT]: Move it here.
8526
8527 2003-05-20 Dave Love <fx@gnu.org>
8528
8529 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
8530
8531 2003-05-19 Richard M. Stallman <rms@gnu.org>
8532
8533 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
8534 as value for QCfont attribute.
8535 (realize_default_face): lface should already exist; crash if not.
8536 Specify 0 for FORCE_P when calling set_lface_from_font_name.
8537
8538 * frame.c (Fignore_event): Doc fix.
8539
8540 2003-05-19 Kenichi Handa <handa@m17n.org>
8541
8542 * coding.c (decode_coding_string): Handle post-read-conversion
8543 even if the coding doesn't require decoding.
8544
8545 2003-05-18 Richard M. Stallman <rms@gnu.org>
8546
8547 * callproc.c (Fcall_process_region): Doc fix.
8548
8549 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
8550
8551 * lread.c (Fload): Print a message if package is obsolete.
8552
8553 * window.c (Fselect_window): Add optional `norecord' arg.
8554 (select_window_1): Fold into Fselect_window.
8555 (select_window_norecord): New function.
8556 (temp_output_buffer_show): Use it. Preserve current buffer.
8557
8558 * window.h (Fselect_window): Update declaration.
8559
8560 * window.c (delete_window, Fother_window, Fset_window_configuration):
8561 * minibuf.c (read_minibuf):
8562 * macterm.c (x_new_focus_frame):
8563 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
8564 * callint.c (Fcall_interactively):
8565 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
8566
8567 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
8568
8569 2003-05-17 David Kastrup <dak@gnu.org>
8570
8571 * process.c (read_process_output): Back out change from 2003-03-09.
8572
8573 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
8574
8575 * editfns.c (get_pos_property): Don't assume that `object' = nil.
8576
8577 * textprop.c (text_property_stickiness): New arg `buffer'.
8578
8579 * intervals.h (text_property_stickiness): New arg `buffer'.
8580 (get_pos_property): Declare.
8581
8582 * intervals.c (get_local_map): Use get_pos_property, to obey
8583 stickiness and empty overlays.
8584 (create_root_interval, graft_intervals_into_buffer): Use BEG.
8585 (merge_properties, intervals_equal, merge_properties_sticky):
8586 Use XCAR, XCDR.
8587 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
8588
8589 2003-05-17 Richard M. Stallman <rms@gnu.org>
8590
8591 * minibuf.c (read_minibuf): If buffer is empty, record the default
8592 in the history.
8593 (Fminibuffer_complete_word): When deleting the overlap, take account
8594 of its real position.
8595
8596 * fns.c (map_char_table): Fix previous change.
8597
8598 * syntax.c (find_defun_start):
8599 When open_paren_in_column_0_is_defun_start,
8600 return beginning of buffer.
8601
8602 * lisp.h (map_char_table): Declare added arg.
8603
8604 * fns.c (map_char_table): New arg TABLE gets the master table.
8605 All calls changed.
8606 Process default and inheritance, resorting to Faref if necessary.
8607
8608 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
8609 (Faccessible_keymaps): Pass new arg to map_char_table.
8610
8611 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
8612
8613 * casetab.c (set_case_table): Pass new arg to map_char_table.
8614
8615 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
8616
8617 * lisp.h (specbinding_func): New typedef.
8618 (struct specbinding): Use specbinding_func, to put the `volatile'
8619 in the right place.
8620
8621 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
8622 to avoid GCC warning.
8623
8624 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org>
8625
8626 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
8627
8628 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
8629
8630 * keyboard.c (apply_modifiers): Don't fill the other cache.
8631
8632 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
8633
8634 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
8635
8636 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
8637 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
8638 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
8639 (Fset_window_configuration, Fcurrent_window_configuration)
8640 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
8641 (Fpos_visible_in_window_p, mark_window_cursors_off)
8642 (window_internal_height, window_internal_width, Frecenter)
8643 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
8644 (replace_buffer_in_all_windows, init_window_once, init_window)
8645 (syms_of_window, keys_of_window): Move from lisp.h.
8646 * lisp.h: Move window.c declarations to window.h.
8647
8648 * bytecode.c: Include window.h.
8649 * emacs.c: Include window.h.
8650
8651 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
8652 (keyremap): Add `parent' field.
8653 (keyremap_step): Use it. Remove `parent' argument.
8654 (read_key_sequence): Setup and use the new `parent' field.
8655
8656 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
8657
8658 * keyboard.c (adjust_point_for_property): Ensure termination.
8659
8660 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
8661
8662 * keyboard.c (follow_key): Remove dead variable `did_meta'.
8663 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
8664 duplicated handling of function-key-map and key-translation-map
8665 in read_key_sequence.
8666 (read_key_sequence): Use them.
8667
8668 * keyboard.c (adjust_point_for_property): Try harder to move point
8669 to the non-sticky end of an invisible property.
8670
8671 * xdisp.c (single_display_prop_intangible_p): Make `space' display
8672 property intangible as well.
8673
8674 2003-05-10 Andreas Schwab <schwab@suse.de>
8675
8676 * xmenu.c (single_menu_item): Change last parameter to void* to
8677 avoid warning.
8678
8679 2003-05-09 Richard M. Stallman <rms@gnu.org>
8680
8681 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
8682 Bind Qinhibit_modification_hooks to t so there will be no GC.
8683 Rename local `tem' to `save_deactivate_mark'.
8684
8685 * eval.c (specpdl_ptr): Declare volatile.
8686 (unbind_to): Copy the whole binding and decrement specpdl_ptr
8687 before doing the work of unbinding it.
8688
8689 * lisp.h (struct specbinding): Declare elements volatile.
8690 (specpdl_ptr): Declare volatile.
8691
8692 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
8693
8694 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
8695 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
8696
8697 2003-05-08 Dave Love <fx@gnu.org>
8698
8699 * coding.c (Vlast_coding_system_used): Doc fix.
8700
8701 2003-05-07 Jason Rumney <jasonr@gnu.org>
8702
8703 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
8704 when system does not support them.
8705
8706 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
8707
8708 * fileio.c (Qwrite_region_annotate_functions): New var.
8709 (build_annotations): Use it to process the global part of the hook.
8710 (syms_of_fileio): Init and staticpro it.
8711
8712 * keyboard.c (safe_run_hooks_error): Display a message instead of
8713 silently ignoring the error.
8714
8715 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
8716
8717 * keyboard.c (input_available_signal): Mark static.
8718 (menu_bar_items): Use map_keymap.
8719 (menu_bar_one_keymap): Remove.
8720 (menu_bar_item): Adjust arglist (for use in map_keymap).
8721 Properly hide a second binding when not both are keymaps.
8722
8723 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
8724 (single_keymap_panes): Use it and map_keymap.
8725 (single_menu_item): Use skp as well.
8726
8727 * keymap.h (map_keymap_function_t): New type.
8728 (map_keymap): Declare.
8729
8730 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
8731 (map_keymap_call, Fmap_keymap): New functions.
8732 (syms_of_keymap): Defsubr map-keymap.
8733
8734 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8735
8736 * gtkutil.c (create_dialog, make_widget_for_menu_item)
8737 (make_menu_item, create_menus, xg_update_menu_item): Don't call
8738 ..._with_mnemonic functions for menu items.
8739
8740 2003-05-01 Kenichi Handa <handa@m17n.org>
8741
8742 * coding.c (coding_system_accept_latin_extra_p): Delete this
8743 function.
8744 (find_safe_codings): Pay attention to
8745 the property tranlsation-table-for-encode of each codings.
8746 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
8747
8748 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
8749
8750 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
8751
8752 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
8753
8754 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
8755
8756 * lisp.h (CHECK): Wrap args in parenthesis.
8757 (specbind): Fix doc: symbol = Qnil is not supported any more.
8758
8759 * bytecode.c (Fbyte_code) <unwind-protect>:
8760 Use Fprogn rather than 0 and Qnil.
8761
8762 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
8763 `double', and `triple' modifiers as well.
8764
8765 2003-04-30 Richard M. Stallman <rms@gnu.org>
8766
8767 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
8768
8769 * alloc.c (abort_on_gc): New variable.
8770 (Fgarbage_collect): Abort if abort_on_gc is set.
8771
8772 * lisp.h (abort_on_gc): Add decl.
8773
8774 * eval.c (Fsignal): Clear abort_on_gc.
8775
8776 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
8777 Reinit FORMAT_START and END before second scan.
8778
8779 * xdisp.c (move_it_vertically_backward): Do the final big else
8780 even if nlines is 0.
8781
8782 * xdisp.c (redisplay_internal): Finish the per-frame loop
8783 even if redisplay is suspended by input.
8784
8785 2003-04-24 Andrew Choi <akochoi@shaw.ca>
8786
8787 * macterm.c (x_list_fonts): Return all fonts that match if
8788 maxnames = -1.
8789
8790 2003-04-25 Kenichi Handa <handa@m17n.org>
8791
8792 * syntax.c (skip_chars): Fix previous change.
8793
8794 2003-04-24 Kenichi Handa <handa@m17n.org>
8795
8796 * syntax.c (skip_chars): Make the code faster by using the common
8797 technique of *p, *stop, and *endp.
8798
8799 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8800
8801 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
8802 tool_bar_items so GTK tool bar expose callback does not access items
8803 being updated.
8804
8805 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
8806
8807 * eval.c (Fapply): Undo last change and add a comment about why.
8808
8809 2003-04-18 Miles Bader <miles@gnu.org>
8810
8811 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
8812 pickier PARSE_MULTIBYTE_SEQ.
8813
8814 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
8815
8816 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
8817 Use XCDR, XCAR, CONSP.
8818 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
8819 (Fapply): Remove unnecessary GCPRO.
8820
8821 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
8822
8823 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
8824
8825 * buffer.h: Don't hardcode BEG==1.
8826
8827 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
8828
8829 2003-04-16 Richard M. Stallman <rms@gnu.org>
8830
8831 * xdisp.c (try_window, try_window_reusing_current_matrix):
8832 When at end of window, set window_end_pos to Z-ZV.
8833
8834 * buffer.c (Foverlay_recenter): Doc fix.
8835
8836 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
8837
8838 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
8839
8840 2003-04-14 Andrew Choi <akochoi@shaw.ca>
8841
8842 * macterm.c (mac_check_for_quit_char): Don't check more often than
8843 once a second.
8844
8845 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
8846
8847 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
8848 specially, so that they can't hide an implicit switch-frame event.
8849 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
8850 (head_table): Use switch-frame as event_kind for select-window.
8851 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
8852
8853 * editfns.c (Fformat): Lisp_Object/int mixup.
8854 (format2): Remove unused var numargs.
8855
8856 2003-04-11 Kenichi Handa <handa@m17n.org>
8857
8858 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
8859 (Qafter_insert_file_set_coding): New variable.
8860 (syms_of_fileio): Initialize and staticpro it. Delete declaration
8861 for after-insert-file-adjust-coding-function.
8862 (Finsert_file_contents): Call Qafter_insert_file_set_coding
8863 instead of Vafter_insert_file_adjust_coding_function.
8864
8865 2003-04-11 Kenichi Handa <handa@m17n.org>
8866
8867 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
8868
8869 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
8870 string. Callers changed.
8871
8872 2003-04-10 Kenichi Handa <handa@m17n.org>
8873
8874 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
8875 (syms_of_fileio): Declare it as a lisp variable.
8876 (Finsert_file_contents):
8877 Call Vafter_insert_file_adjust_coding_function before calling
8878 decode-format.
8879
8880 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8881
8882 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
8883 get GtkAdjustment as widget now is a GtkRange.
8884
8885 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
8886 GtkRange to avoid memory leak.
8887
8888 2003-04-09 Kenichi Handa <handa@m17n.org>
8889
8890 * xfaces.c (Vface_font_rescale_alist): New variable.
8891 (struct font_name): New member rescale_ratio.
8892 (font_rescale_ratio): New function.
8893 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
8894 (better_font_p): On comparing point sized, pay attention to
8895 recale_ratio member of fonts.
8896 (build_scalable_font_name): Reflect font->rescale_ratio in the
8897 font name.
8898 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
8899
8900 * lread.c (read1): Before calling index, check if the 2nd
8901 arguemnt is in ASCII range.
8902
8903 2003-04-08 Richard M. Stallman <rms@gnu.org>
8904
8905 * fileio.c (Ffile_symlink_p): Doc fix.
8906
8907 * editfns.c (Fformat): Translate positions of text properties
8908 in the format string to apply them to the result.
8909
8910 * fileio.c (Finsert_file_contents): Doc fix.
8911 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
8912
8913 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
8914
8915 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
8916
8917 2003-04-08 Steven Tamm <steventamm@mac.com>
8918
8919 * mac.c (init_mac_osx_environment): Switch libexec and bin so
8920 that self-contained application finds libexec files.
8921
8922 2003-04-08 Kenichi Handa <handa@m17n.org>
8923
8924 * coding.c (code_convert_region_unwind):
8925 Set Vlast_coding_system_used to the argument.
8926 (code_convert_region): If post-read-conversion function changed
8927 the value of last-coding-sytem, keep the new value in
8928 coding->symbol so that it won't be overridden.
8929 (run_pre_post_conversion_on_str): Likewise.
8930 (coding_system_accept_latin_extra_p): New function.
8931 (find_safe_codings): Pay attention to characters registered in
8932 latin-extra-code-table.
8933
8934 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
8935
8936 * Makefile.in (md5.o): Add missing dependency info.
8937
8938 2003-04-06 Richard M. Stallman <rms@gnu.org>
8939
8940 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
8941
8942 * marker.c (verify_bytepos): New function.
8943
8944 * intervals.c (set_intervals_multibyte_1): When becoming
8945 multibyte, adjust right and left child sizes to a whole set of
8946 characters. If an interval gets zero total-length, delete it.
8947 If an interval consists of just its children, delete one of them.
8948
8949 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
8950 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
8951
8952 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
8953 All calls deleted.
8954 (lisp_malloc): Do the work here directly.
8955
8956 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
8957
8958 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
8959 char tables.
8960
8961 2003-04-04 Kenichi Handa <handa@m17n.org>
8962
8963 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
8964 destructively change "%S" to "%s".
8965
8966 2003-04-03 Miles Bader <miles@gnu.org>
8967
8968 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
8969 always set.
8970
8971 2003-04-01 Dave Love <fx@gnu.org>
8972
8973 * xfns.c (xpm_lookup_color): Grok "opaque".
8974
8975 2003-03-31 Andrew Choi <akochoi@shaw.ca>
8976
8977 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
8978 parent window ID.
8979
8980 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
8981
8982 * macterm.h (struct mac_output): Define x_pixels_diff and
8983 y_pixels_diff.
8984
8985 2003-03-31 Juanma Barranquero <lektu@terra.es>
8986
8987 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
8988 blockinput.h and files included from it.
8989
8990 2003-03-31 Kim F. Storm <storm@cua.dk>
8991
8992 The following changes consolidates the common code related to
8993 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
8994 files into frame.c.
8995
8996 * frame.c: Include blockinput.h.
8997 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
8998 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
8999 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
9000 related vars here.
9001 (struct frame_parm_table, frame_parms): New table for describing
9002 frame parameters and their associated Q-variable.
9003 The order of the parameters corresponds to the sequence of the
9004 frame_parm_handlers table in redisplay_interface.
9005 (x_fullscreen_move, x_set_frame_parameters)
9006 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
9007 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
9008 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9009 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
9010 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
9011 Generic functions for processing of frame parameters.
9012 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
9013 (display_x_get_resource, x_get_resource_string): Functions for
9014 generic access to X resources.
9015 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
9016 (x_default_parameter, Fx_parse_geometry): Functions for generic
9017 access to frame parameters.
9018 (x_figure_window_size): Generic calculation of frame size.
9019 Fixed to add space needed for tool bar. Also setup size_hint_flags.
9020 (syms_of_frame): Intern and staticpro frame parameter variables.
9021 Defvar_lisp Vx_resource_class and Vx_resource_name here.
9022 Defsubr Sx_get_resource and Sx_parse_geometry.
9023
9024 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
9025 parameter related vars defined in frame.c.
9026 (EMACS_CLASS): Define here.
9027 (enum FULLSCREEN_*): Define here.
9028 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
9029 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
9030 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
9031 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
9032 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
9033 (x_set_visibility, x_set_autoraise, x_set_autolower)
9034 (x_set_unsplittable, x_set_vertical_scroll_bars)
9035 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
9036 (x_figure_window_size): Add prototypes.
9037
9038 * dispextern.h (frame_parm_handler): New typedef.
9039 (struct redisplay_interface): New member frame_parm_handlers.
9040 (enum resource_types): Move declaration here.
9041 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
9042 (x_default_parameter): Add prototypes.
9043
9044 * window.c: Remove extern decl for frame parameter vars.
9045 (change_window_heights): New generic function;
9046 replaces x_change_window_heights. All users changed.
9047
9048 * window.h (change_window_heights): Add prototype.
9049
9050 * xfaces.c: Remove extern decl for frame parameter vars.
9051
9052 * xterm.h (EMACS_CLASS): Remove. Use generic define.
9053 (struct w32_display_info): Fix type of xrdb member.
9054 (enum FULLSCREEN_*): Remove.
9055 Remove prototypes for generic functions (in frame.h).
9056
9057 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9058 parameters now defined in frame.h and frame.c.
9059 (Vx_resource_name): Remove. Use generic var.
9060 (enum x_frame_parms): Remove (bogus, unused enum).
9061 (check_x_display_info): Make non-static (for frame.c).
9062 (struct x_frame_parm_table, x_frame_parms): Remove.
9063 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9064 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9065 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9066 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9067 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9068 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9069 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9070 Remove. Use generic functions instead.
9071 (enum resource_types): Remove.
9072 (x_set_scroll_bar_default_width): New global function (for frame.c).
9073 (Fx_create_frame): Depend on x_figure_window_size to add space for
9074 toolbar and setup size_hint_flags.
9075 (x_frame_parm_handlers): New table for redisplay_interface.
9076 (syms_of_xfns): Don't intern/staticpro removed vars.
9077
9078 * xterm.c: Remove unnecessary extern declarations.
9079 (x_fullscreen_adjust): Remove. Use generic instead.
9080 (x_redisplay_interface): Add x_frame_parm_handlers member.
9081
9082 * w32gui.h (XrmDatabase): New (dummy) typedef.
9083
9084 * w32term.h (EMACS_CLASS): Remove. Use generic define.
9085 (struct w32_display_info): Fix type of xrdb member.
9086 (enum FULLSCREEN_*): Remove.
9087 (x_fullscreen_adjust): Remove prototype.
9088
9089 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9090 parameters now defined in frame.h and frame.c.
9091 (Vx_resource_name): Remove. Use generic var.
9092 (enum x_frame_parms): Remove (bogus, unused enum).
9093 (check_x_display_info): Make non-static (for frame.c).
9094 (struct x_frame_parm_table, x_frame_parms): Remove.
9095 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9096 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9097 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9098 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9099 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9100 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9101 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9102 Remove. Use generic functions instead.
9103 (enum resource_types): Remove.
9104 (x_set_scroll_bar_default_width): New global function (for frame.c).
9105 (Fx_create_frame): Depend on x_figure_window_size to add space for
9106 toolbar and setup size_hint_flags.
9107 (w32_frame_parm_handlers): New table for redisplay_interface.
9108 (syms_of_w32fns): Don't intern/staticpro removed vars.
9109
9110 * w32term.c: Remove unnecessary extern declarations.
9111 (x_fullscreen_adjust): Remove. Use generic instead.
9112 (x_redisplay_interface): Add w32_frame_parm_handlers member.
9113
9114 * w32reg.c (x_get_string_resource): Use XrmDatabase.
9115
9116 * macgui.h (XrmDatabase): New (dummy) typedef.
9117
9118 * macterm.h (EMACS_CLASS): Remove.
9119 (struct mac_display_info): Add xrdb member.
9120 (struct mac_output): Add want_fullscreen member.
9121
9122 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9123 parameters now defined in frame.h and frame.c.
9124 (Vx_resource_name): Remove. Use generic var.
9125 (check_x_display_info): Make non-static (for frame.c).
9126 (struct x_frame_parm_table, x_frame_parms): Remove.
9127 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9128 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9129 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9130 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9131 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9132 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9133 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9134 Remove. Use generic functions instead.
9135 (enum resource_types): Remove.
9136 (x_set_scroll_bar_default_width): New global function (for frame.c).
9137 (mac_frame_parm_handlers): New table for redisplay_interface.
9138 (syms_of_macfns): Don't intern/staticpro removed vars.
9139
9140 * macterm.c: Remove unnecessary extern declarations.
9141 (x_redisplay_interface): Add mac_frame_parm_handlers member.
9142
9143 * Makefile.in (frame.o): Add dependency on blockinput.h and files
9144 included from it (atimer.h and systime.h).
9145
9146 2003-03-30 Andreas Schwab <schwab@suse.de>
9147
9148 * xdisp.c (x_insert_glyphs): Fix swapped width and height
9149 parameters for shift_glyphs_for_insert.
9150
9151 * macterm.c (x_redisplay_interface): Add missing entry for
9152 draw_vertical_window_border.
9153
9154 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
9155
9156 * fileio.c (Fexpand_file_name): In the no-handler case, after
9157 expanding, look again for a handler and invoke it. This is needed
9158 for filenames like "/foo/../user@host:/bar/../baz" -- the first
9159 expansion produces "/user@host:/bar/../baz" which needs to be
9160 expanded again for the finame result "/user@host:/baz".
9161
9162 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9163
9164 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
9165 of area to be redrawn for better performance.
9166
9167 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
9168
9169 * xterm.c (take_vertical_position_into_account): Remove.
9170 (xt_action_hook): Call set_vertical_scroll_bar if needed.
9171 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
9172 (xm_scroll_callback, x_create_toolkit_scroll_bar)
9173 (x_set_toolkit_scroll_bar_thumb): Simplify.
9174 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
9175 (XTread_socket): Remove unused var.
9176 (x_make_frame_invisible): Replace goto with else.
9177
9178 * xdisp.c (set_vertical_scroll_bar): New fun.
9179 (redisplay_window): Use it.
9180
9181 2003-03-26 Richard M. Stallman <rms@gnu.org>
9182
9183 * xdisp.c (update_tool_bar): Recompute tool bar if
9184 update_mode_lines is set. Set w->update_mode_line
9185 only if the tool bar contents actually change.
9186 (update_menu_bar): Undo previous change.
9187
9188 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9189
9190 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
9191 (xg_frame_set_char_size): Calculate scroll bar width before frame
9192 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
9193 (xg_separator_p): Check for all documented separator types.
9194 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
9195 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
9196
9197 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
9198 so tool bar gets updated.
9199
9200 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
9201
9202 * data.c (store_symval_forwarding): Re-instate part of the code
9203 that was deleted with too much enthusiasm.
9204
9205 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
9206
9207 * data.c (store_symval_forwarding): Delete special read-only
9208 hack for type == -1, since we now use ->constant instead.
9209 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
9210
9211 * buffer.c (overlays_in): Declare static.
9212 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
9213 `constant' field rather than the variable's `type' field.
9214
9215 2003-03-24 Andrew Choi <akochoi@shaw.ca>
9216
9217 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
9218
9219 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
9220
9221 * fns.c [MAC_OSX]: Do not redefine vector.
9222
9223 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
9224
9225 * macgui.h: Remove definition of No_Cursor.
9226
9227 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
9228
9229 * xdisp.c: Define No_Cursor.
9230 (x_write_glyphs, notice_overwritten_cursor)
9231 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
9232 (note_mouse_highlight): Remove Mac-specific code.
9233 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
9234
9235 2003-03-24 John Paul Wallington <jpw@gnu.org>
9236
9237 * xdisp.c (redisplay_window): If mini window's buffer is not
9238 empty, then redisplay it like other windows.
9239
9240 2003-03-23 Kim F. Storm <storm@cua.dk>
9241
9242 * w32term.c (w32_draw_window_cursor): Fix last change.
9243
9244 2003-03-23 Kenichi Handa <handa@m17n.org>
9245
9246 * alloc.c (make_string_from_bytes, make_specified_string):
9247 Add `const' for the arg CONTENTS.
9248
9249 * lisp.h (make_string_from_bytes, make_specified_string):
9250 Prototypes adjusted.
9251
9252 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9253
9254 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
9255
9256 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
9257 (XG_SB_RANGE): New define.
9258
9259 * gtkutil.c (xg_fixed_handle_expose): New function.
9260 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
9261 expose events.
9262 (xg_update_scrollbar_pos): Take two more arguments, left and width
9263 of scroll bar including borders.
9264 Clear left and right part outside scroll bar separately as some
9265 themes have bars that are not an even number of pixels.
9266 Don't set reallocate_redraws, don't call
9267 gdk_window_process_all_updates.
9268 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
9269 so no need to change it. Calculate size and value with XG_SB_RANGE.
9270
9271 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
9272 Pass left and width of scroll bar including borders to
9273 xg_update_scrollbar_pos.
9274
9275 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
9276
9277 * Makefile.in: Make sure space precedes end-of-line backslashes.
9278
9279 2003-03-22 Kim F. Storm <storm@cua.dk>
9280
9281 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
9282 Add generic versions here. Remove system specific versions
9283 defined elsewhere.
9284
9285 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
9286 Add prototypes.
9287
9288 * xterm.h (STORE_NATIVE_RECT): New macro.
9289
9290 2003-03-21 Kim F. Storm <storm@cua.dk>
9291
9292 * xdisp.c (get_glyph_string_clip_rect):
9293 Use FRAME_INTERNAL_BORDER_WIDTH.
9294
9295 * dispextern.h (struct redisplay_interface): Add active_p
9296 argument to draw_window_cursor member. All uses changed.
9297
9298 2003-03-21 Kim F. Storm <storm@cua.dk>
9299
9300 The following changes consolidate code related to writing and
9301 inserting glyphs, exposing frame, the tool bar, the mouse face,
9302 the output cursor, and help echo from xterm.c, w32term.c and
9303 macterm.c into xdisp.c. It also generalizes the use of the
9304 window_part enum instead of using numeric values throughout.
9305
9306 * xdisp.c: Consolidate gui-independent code here.
9307 Include keymap.h.
9308 (Qhelp_echo): Import.
9309 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
9310 (help_echo_string, help_echo_window, help_echo_object)
9311 (previous_help_echo_string, help_echo_pos): Declare here.
9312 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
9313 (estimate_mode_line_height): Define here. Handle windowing
9314 systems directly (without using estimate_mode_line_height_hook).
9315 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
9316 (update_window_cursor, update_cursor_in_window_tree)
9317 (fast_find_position, fast_find_string_pos)
9318 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
9319 (expose_area, expose_line, expose_overlaps, expose_window)
9320 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
9321 declared static as they are only used locally in xdisp.c.
9322 (draw_glyphs): Rename from x_draw_glyphs and make static.
9323 (tool_bar_item_info, notice_overwritten_cursor): Make static.
9324 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
9325 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
9326 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
9327 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
9328 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
9329 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
9330 (note_mouse_highlight, x_clear_window_mouse_face)
9331 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
9332 (x_intersect_rectangles): New generic functions for use by xdisp.c
9333 and GUI front-ends.
9334 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
9335 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
9336
9337 * dispextern.h (Display_Info): Generic typedef for *_display_info.
9338 (NativeRectangle): Generic typedef for rectangle type.
9339 (enum window_part): Move here from window.c.
9340 (struct redisplay_interface): New members flush_display_optional,
9341 define_frame_cursor, clear_frame_area, draw_window_cursor,
9342 draw_vertical_window_border, shift_glyphs_for_insert.
9343 Rename member clear_mouse_face to clear_window_mouse_face.
9344 (estimate_mode_line_height_hook): Remove hook.
9345 (auto_raise_tool_bar_buttons_p): Don't declare extern.
9346 (tool_bar_item_info): Remove prototype.
9347 (help_echo_string, help_echo_window, help_echo_object)
9348 (previous_help_echo_string, help_echo_pos)
9349 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
9350 (x_stretch_cursor_p, output_cursor): Declare extern.
9351 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
9352 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
9353 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
9354 (display_and_set_cursor, set_output_cursor, x_cursor_to)
9355 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
9356 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
9357 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
9358 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
9359 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
9360 Add prototypes.
9361 (mode_line_string, marginal_area_string): Fix prototypes.
9362
9363 * window.c (enum window_part): Move to dispextern.h.
9364 (coordinates_in_window): Use enum window_part member names
9365 instead of numbers to describe return value.
9366 (struct check_window_data): Change part member to window_part.
9367 (check_window_containing): Return window_part unaltered.
9368 (window_from_coordinates): Change part arg from int to enum
9369 window_part. Allow part arg to be null. All users changed.
9370
9371 * window.h (window_from_coordinates): Fix prototype.
9372
9373 * term.c (estimate_mode_line_height): Move to xdisp.c.
9374
9375 * keyboard.c (make_lispy_event): Use enum window_part.
9376
9377 * dispnew.c (mode_line_string, marginal_area_string): Use enum
9378 window_part instead of int in arg list. Users changed.
9379
9380 * xterm.h (No_Cursor): Declare as None for X.
9381 (struct mac_output): Replace member cross_cursor by hand_cursor.
9382
9383 * xterm.c: Remove consolidated defines and code.
9384 (BETWEEN): Remove unused macro.
9385 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
9386 (x_define_frame_cursor, x_clear_frame_area)
9387 (x_draw_window_cursor): New X-specific functions for RIF.
9388 (x_redisplay_interface): Add new members.
9389
9390 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
9391
9392 * w32term.h (struct w32_output): Remove cross_cursor member.
9393
9394 * w32term.c: Remove consolidated defines and code.
9395 (BETWEEN): Remove unused macro.
9396 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
9397 (w32_define_frame_cursor, w32_clear_frame_area)
9398 (w32_draw_window_cursor): New W32-specific functions for RIF.
9399 (w32_redisplay_interface): Add new members.
9400
9401 * w32gui.h (No_Cursor): Define as 0 for W32.
9402 (XRectangle): Add X compatible rectangle type.
9403 (NativeRectangle): Declare as RECT for W32.
9404 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
9405
9406 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
9407
9408 * w32console.c: Remove consolidated defines and code.
9409
9410 * msdos.h (Display_Info): Add generic typedef.
9411
9412 * msdos.c: Remove consolidated defines and code.
9413 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
9414
9415 * macterm.h (struct mac_output): Replace member cross_cursor by
9416 hand_cursor.
9417 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
9418
9419 * macterm.c: Remove consolidated defines and code.
9420 (BETWEEN): Remove unused macro.
9421 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
9422 (mac_define_frame_cursor, mac_clear_frame_area)
9423 (mac_draw_window_cursor): New Mac-specific functions for RIF.
9424 (x_redisplay_interface): Add new members.
9425
9426 * macgui.h (No_Cursor): Define as 0 for Mac.
9427 (XRectangle): Add X compatible rectangle type.
9428 (NativeRectangle): Declare as Rect for Mac.
9429 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
9430
9431 * macfns.c (x_set_mouse_color): Setup hand_cursor.
9432 (x_set_cursor_color): Use x_display_and_set_cursor.
9433
9434 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
9435 included from it. Add dependency on keymap.h.
9436
9437 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
9438
9439 2003-03-21 Kenichi Handa <handa@m17n.org>
9440
9441 * fileio.c (Fexpand_file_name): Fix previous change.
9442
9443 2003-03-19 Kenichi Handa <handa@m17n.org>
9444
9445 * fileio.c (Ffile_name_directory): Reconstruct file name by
9446 make_specified_string.
9447 (Ffile_name_nondirectory, Ffile_name_as_directory)
9448 (Fdirectory_file_name, Fexpand_file_name)
9449 (Fsubstitute_in_file_name): Likewise.
9450 (Fread_file_name): Compare decoded homedir with DIR and
9451 DEFAULT_FILENAME.
9452
9453 * alloc.c (make_specified_string): If NCHARS is negative, count
9454 the number of characters.
9455
9456 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9457
9458 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
9459 all widgets.
9460
9461 * gtkutil.h: Removed xg_ignore_next_thumb.
9462
9463 2003-03-18 Kenichi Handa <handa@m17n.org>
9464
9465 * coding.c (Vchar_coding_system_table): Remove this variable.
9466 (Vcoding_system_safe_chars): New variable.
9467 (intersection): Remove this function.
9468 (find_safe_codings): Don't use Vchar_coding_system_table, but try
9469 all codings in SAFE_CODINGS.
9470 (Ffind_coding_systems_region_internal): Adjust for the change of
9471 find_safe_codings. Get generic coding systems from
9472 Vcoding_system_safe_chars.
9473 (Fdefine_coding_system_internal): New function.
9474 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
9475 Initialize and staticpro Vcoding_system_safe_chars.
9476
9477 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9478
9479 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
9480 equal old values before updating.
9481
9482 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
9483
9484 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
9485
9486 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9487
9488 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
9489 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
9490 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
9491 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
9492 (xg_create_scroll_bar): Pass bar to button event callback.
9493 (xg_find_top_left_in_fixed): New function.
9494 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
9495 whole scroll bar area. Get old position with
9496 xg_find_top_left_in_fixed, calculate and only clear needed areas.
9497 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
9498 dragging is in progress. Calculate whole as for Motif.
9499 Remove code that saved last values. Call gtk_range functions to
9500 set scroll bar sizes.
9501
9502 * gtkutil.h: Removed xg_ignore_next_thumb.
9503
9504 2003-03-17 Juanma Barranquero <lektu@terra.es>
9505
9506 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
9507 and files included from it.
9508
9509 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
9510
9511 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
9512 multiple occurrences of the same keymap under different prefixes.
9513 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
9514
9515 2003-03-16 Jason Rumney <jasonr@gnu.org>
9516
9517 * w32gui.h: Use HDC for Display.
9518
9519 * w32term.c (w32_encode_char): Prevent double-byte chars from
9520 crashing Emacs.
9521
9522 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
9523 as binary.
9524
9525 2003-03-16 Juanma Barranquero <lektu@terra.es>
9526
9527 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
9528
9529 2003-03-16 Kim F. Storm <storm@cua.dk>
9530
9531 The following changes consolidate some of the gui-independent
9532 parts of the processing and drawing of "glyph strings" from
9533 xterm.c, w32term.c, and macterm.c into xdisp.c.
9534
9535 * dispextern.h (struct glyph): Reduce face_id member from 22 to
9536 21 bits (this reduces number of faces from 4M to 2M).
9537 Replace W32 specific w32_font_type member (2 bits) by generic
9538 font_type member (3 bits) for portability.
9539 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
9540 (enum draw_glyphs_face): Define here.
9541 (struct glyph_string): Define here. Merge W32 and X versions.
9542 (struct redisplay_interface): New members per_char_metric,
9543 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
9544 (VCENTER_BASELINE_OFFSET): Define here.
9545 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
9546 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
9547
9548 * xdisp.c: Consolidate gui-independent "glyph string" code here.
9549 (dump_glyph_string): Moved here.
9550 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
9551 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
9552 (fill_composite_glyph_string, fill_glyph_string)
9553 (fill_image_glyph_string, fill_stretch_glyph_string)
9554 (left_overwritten, left_overwriting, right_overwritten)
9555 (right_overwriting, get_char_face_and_encoding)
9556 (set_glyph_string_background_width, compute_overhangs_and_x)
9557 (append_glyph, append_composite_glyph, produce_image_glyph)
9558 (take_vertical_position_into_account, append_stretch_glyph)
9559 (produce_stretch_glyph): New generic functions (based on X version).
9560 Call platform specific functions through rif.
9561 (INIT_GLYPH_STRING): New macro, hides W32 details.
9562 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
9563 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
9564 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
9565 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
9566 (notice_overwritten_cursor):
9567 Generic functions exported to platform modules. Users changed.
9568
9569 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
9570 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
9571 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
9572 New macros for consolidated code.
9573
9574 * xterm.c: Remove consolidated defines and code.
9575 (x_per_char_metric, x_encode_char)
9576 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
9577 (x_redisplay_interface): Add new members.
9578
9579 * w32gui.h (Display): Add dummy typedef for consolidation.
9580 (XChar2b): Define alias for wchar_t for consolidation.
9581 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
9582
9583 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
9584 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
9585 New macros for consolidation.
9586
9587 * w32term.c: Remove consolidated defines and code.
9588 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
9589 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
9590 (w32_per_char_metric): Change font_type arg to int for RIF.
9591 (w32_encode_char): Return int according to RIF requirements.
9592 (w32_compute_glyph_string_overhangs): Adapt to RIF.
9593 (w32_get_glyph_overhangs): New function for RIF. Uses generic
9594 x_get_glyph_overhangs.
9595 (w32_redisplay_interface): Add new members.
9596
9597 * macgui.h (XChar2b): Move typedef here for consolidation.
9598 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
9599
9600 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
9601 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
9602 consolidation.
9603
9604 * macterm.c: Remove consolidated defines and code.
9605 (mac_per_char_metric): New function for RIF.
9606 (mac_encode_char): Adapt to new RIF requirements.
9607 (mac_compute_glyph_string_overhangs): Adapt for RIF.
9608 (x_redisplay_interface): Add new members.
9609
9610 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
9611
9612 * keymap.c (Vmenu_events): New var.
9613 (syms_of_keymap): Initialize it.
9614 (where_is_internal): Check more carefully what is a menu event.
9615
9616 2003-03-14 Richard M. Stallman <rms@gnu.org>
9617
9618 * lread.c (read1): After #!, exit loop on eof.
9619
9620 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9621
9622 * gtkutil.h: Add declaration for xg_frame_cleared.
9623
9624 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
9625
9626 * gtkutil.c (struct xg_last_sb_pos): New structure.
9627 (handle_fixed_child): New function.
9628 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
9629 and force a redraw on them.
9630 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
9631 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
9632 so we can avoid unneeded redraws.
9633 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
9634 and force a redraw on the scroll bar.
9635 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
9636 if xg_last_sb_pos shows the positions are up to date.
9637 (xg_frame_cleared): New function.
9638
9639 2003-03-13 Kenichi Handa <handa@m17n.org>
9640
9641 * coding.c (Fdetect_coding_region): Fix docstring.
9642 (Fdetect_coding_string): Fix docstring.
9643
9644 2003-03-13 Andreas Schwab <schwab@suse.de>
9645
9646 * gtkutil.c: Add prototype for create_menus.
9647
9648 * data.c (long_to_cons): Fix type of top.
9649
9650 * xselect.c (selection_data_to_lisp_data): Use int instead of
9651 long for an integer of size 4.
9652
9653 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
9654 (xg_tool_bar_help_callback): Likewise.
9655
9656 2003-03-12 Andreas Schwab <schwab@suse.de>
9657
9658 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
9659
9660 2003-03-12 Kim F. Storm <storm@cua.dk>
9661
9662 The following changes consolidate the fringe handling from
9663 xterm.c, w32term.c, and macterm.c into xdisp.c.
9664
9665 * xdisp.c: Consolidate fringe handling code here.
9666 (left_bits, right_bits, continued_bits, continuation_bits)
9667 (ov_bits, zv_bits): Define fringe bitmaps.
9668 (fringe_bitmaps): New array holding fringe bitmaps.
9669 (draw_fringe_bitmap): Draw a specific bitmap; call display
9670 specific drawing routine via rif->draw_fringe_bitmap.
9671 (draw_row_fringe_bitmaps): Generic replacement for
9672 x_draw_row_fringe_bitmaps; all callers changed.
9673 (compute_fringe_widths): Generic replacement for
9674 x_compute_fringe_widths; all callers changed.
9675
9676 * dispextern.h (enum fringe_bitmap_type): Define here.
9677 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
9678 (fringe_bitmaps): Declare extern.
9679 (struct redisplay_interface): New member draw_fringe_bitmap.
9680 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
9681
9682 * xterm.c: Remove generic fringe code.
9683 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
9684 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
9685
9686 * w32term.c: Remove generic fringe code.
9687 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
9688 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
9689
9690 * macterm.c: Remove generic fringe code.
9691 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
9692 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
9693
9694 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
9695
9696 * print.c (Fprin1_to_string): Return unibyte string if possible.
9697
9698 2003-03-09 David Kastrup <dak@gnu.org>
9699
9700 * process.c (read_process_output): We have allocated enough space
9701 for readmax and carryover, so actually use the alloted space.
9702
9703 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9704
9705 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
9706 toolkit scrollbar click.
9707
9708 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
9709 for USE_GTK.
9710 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
9711 also.
9712 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
9713 scrollbar and control is pressed, call x_scroll_bar_handle_click.
9714
9715 * gtkutil.h (xg_get_scroll_id_for_window): Declare.
9716
9717 * gtkutil.c (xg_get_scroll_id_for_window): New function.
9718 (xg_tool_bar_item_expose_callback): New function.
9719 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
9720 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
9721 on the tool bar widget.
9722 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
9723 to expose on the tool bar item widgets.
9724
9725 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9726
9727 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
9728 struct image* when deciding to update (struct image* may have been
9729 deleted from the image cache).
9730
9731 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
9732 the event isn't for a frame (i.e. for dialogs).
9733
9734 2003-03-07 Kenichi Handa <handa@m17n.org>
9735
9736 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
9737 composition components reaches the limit, terminate composing.
9738 (COMPOSITION_OK): New macro.
9739 (detect_coding_iso2022): Use it if an escape sequence for
9740 composition is found.
9741 (coding_restore_composition): Adjust the number of composition
9742 components if it is not sane.
9743
9744 2003-03-06 Juanma Barranquero <lektu@terra.es>
9745
9746 * w32term.h (struct w32_display_info): Add xrdb member to support
9747 passing resources via -xrm on Windows.
9748
9749 * w32term.c (w32_make_rdb): New function.
9750 (w32_term_init): Use it to initialize xrdb member of w32_display_info
9751 struct. Delete leftover code.
9752
9753 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
9754 for resources passed on the command line.
9755
9756 * w32reg.c (w32_get_rdb_resource): New function.
9757 (x_get_string_resource): Use it, so resources passed with -xrm
9758 supercede the ones in the registry.
9759
9760 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9761
9762 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
9763 instead of x_top_window_to_frame.
9764
9765 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9766
9767 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
9768 when restarting Emacs.
9769
9770 2003-03-03 Richard M. Stallman <rms@gnu.org>
9771
9772 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
9773 to run kill-buffer-query-functions.
9774 (Qkill_buffer_query_functions): New var.
9775 (syms_of_buffer): Init and staticpro it.
9776
9777 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9778
9779 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
9780
9781 2003-02-25 Kim F. Storm <storm@cua.dk>
9782
9783 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
9784 If centering point failed to make whole line visible and vscroll
9785 is non-zero, disable vscroll and try centering point again.
9786
9787 * lread.c (read1): Accept `single space' syntax like (? x).
9788
9789 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9790
9791 * keyboard.c (cancel_hourglass_unwind): Surround with
9792 #ifdef HAVE_X_WINDOWS
9793
9794 2003-02-25 Kenichi Handa <handa@m17n.org>
9795
9796 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
9797 process only when "subprocesses" is defined.
9798
9799 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
9800
9801 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
9802
9803 2003-02-24 Juanma Barranquero <lektu@terra.es>
9804
9805 * callint.c (fix_command): Declare as static void and move before
9806 Fcall_interactively.
9807
9808 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
9809 (syms_of_xdisp): Don't initialize Qwhen.
9810
9811 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9812
9813 * keyboard.c (cancel_hourglass_unwind): New function.
9814 (command_loop_1): Cancel hourglass with unwind-protect.
9815
9816 2003-02-23 Richard M. Stallman <rms@gnu.org>
9817
9818 * callint.c (fix_command): New subroutine, from Fcall_interactively.
9819 Detect (when ... (region-beginning)) etc.
9820 (Fcall_interactively): Call fix_command.
9821 (Qif, Qwhen): New variables.
9822 (syms_of_callint): Init and staticpro them.
9823
9824 * regex.c (print_partial_compiled_pattern): Output to stderr.
9825
9826 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
9827
9828 * dired.c (directory_files_internal): Don't expand directory.
9829 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
9830 instead. From Lars Hansen <larsh@math.ku.dk>.
9831
9832 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
9833
9834 * fns.c (string_to_multibyte): Remove unused var i.
9835 (Flanginfo): Fix int/Lisp_Object mixup.
9836 (void_call2): New fun.
9837 (Fmap_char_table): Use it in place of call2.
9838
9839 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
9840
9841 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
9842
9843 * keymap.c (copy_keymap_1): Make it static.
9844
9845 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
9846
9847 2003-02-22 David Ponce <david@dponce.com>
9848
9849 * lread.c (Fload): Don't check STRING_MULTIBYTE.
9850
9851 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9852
9853 * process.h: Removed subtty field from struct Lisp_Process.
9854
9855 * process.c (create_process): Remove setting of subtty.
9856 (emacs_get_tty_pgrp): New function.
9857 (Fprocess_running_child_p, process_send_signal):
9858 Call emacs_get_tty_pgrp instead of ioctl.
9859 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
9860
9861 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
9862
9863 * keymap.c (Fdefine_key): Doc fix.
9864
9865 2003-02-21 Juanma Barranquero <lektu@terra.es>
9866
9867 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
9868
9869 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
9870 POLLING_PROBLEM_IN_SELECT.
9871
9872 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
9873 Delete #undef of POLLING_PROBLEM_IN_SELECT.
9874
9875 * s/hpux10-20.h: New file.
9876
9877 * process.c (wait_reading_process_input):
9878 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
9879
9880 2003-02-20 Kenichi Handa <handa@m17n.org>
9881
9882 * fontset.c (check_fontset_name): If NAME is nil, return the
9883 default fontset.
9884 (override_font_info): New function.
9885 (Fset_fontset_font): Document that NAME nil means the default fontset.
9886 (Ffontset_info): If FONTSET is not the default fontset, merge
9887 FONTSET onto the copy of the default fontset, and work on that
9888 copy. Document that NAME nil means the default fontset.
9889 (Ffontset_font): Document that NAME nil means the default fontset.
9890
9891 * process.c (setup_process_coding_systems): If the process's
9892 in/out descriptor is -1, do nothing.
9893
9894 2003-02-19 Andreas Schwab <schwab@suse.de>
9895
9896 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
9897 Add prototypes.
9898
9899 2003-02-19 Kenichi Handa <handa@m17n.org>
9900
9901 * xfaces.c (try_alternative_families): Try all scalable fonts if
9902 Vscalable_fonts_allowed is not Qt.
9903
9904 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9905
9906 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
9907
9908 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9909
9910 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
9911 names.
9912
9913 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
9914 (sorted_font_list): Move allocation of struct font_name to
9915 x_face_list_fonts.
9916 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
9917 (Fx_list_fonts): Set maxnames to -1 to get all font names.
9918
9919 2003-02-18 Kim F. Storm <storm@cua.dk>
9920
9921 * lread.c (read1): Fix last change.
9922 "`" is not always special. Allow "?" after a character constant.
9923
9924 2003-02-18 Andrew Choi <akochoi@shaw.ca>
9925
9926 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
9927
9928 2003-02-18 Andreas Schwab <schwab@suse.de>
9929
9930 * window.c (window_scroll_pixel_based): Move outside a
9931 multi-glyph character before setting new window start.
9932
9933 * xdisp.c (in_display_vector_p): New function.
9934 * dispextern.h (in_display_vector_p): Declare.
9935
9936 2003-02-18 Kim F. Storm <storm@cua.dk>
9937
9938 * lread.c (read1): Fix and relax read syntax.
9939 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
9940 Only recognize "," after dotted-pair dot if inside backquote.
9941 Never include "`" or "," (inside backquote) in a symbol.
9942 Allow dotted-pair dot after a character constant.
9943 Allow "`" and "," (inside backquote) after a character constant.
9944
9945 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9946
9947 * gtkutil.c (xg_tool_bar_expose_callback): New function.
9948 (xg_create_tool_bar): Force style of tool bar to be horizontal with
9949 icons. Set name of tool bar to emacs-toolbar.
9950 (update_frame_tool_bar): Connect expose event to
9951 xg_tool_bar_expose_callback.
9952
9953 2003-02-17 Richard M. Stallman <rms@gnu.org>
9954
9955 * keyboard.c (this_command_key_count_reset): New variable.
9956 Initiatize to 0 where this_command_key_count is set.
9957 (read_char): Save and restore this_command_key_count_reset
9958 around input method code.
9959 (read_char): If this_command_key_count_reset, echo reread commands.
9960 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
9961
9962 2003-02-17 Kenichi Handa <handa@m17n.org>
9963
9964 * fns.c (string_to_multibyte): Always return a multibyte string.
9965
9966 2003-02-16 Jason Rumney <jasonr@gnu.org>
9967
9968 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
9969 Negative max_fonts parameter means list all.
9970
9971 2003-02-14 Dave Love <fx@gnu.org>
9972
9973 * fns.c (Flanginfo): Doc fix.
9974
9975 2003-02-13 Kim F. Storm <storm@cua.dk>
9976
9977 * lread.c (read_escape): Interpret \s as a SPACE character, except
9978 for \s-X in a character constant which still is the super modifier.
9979 (read1): Signal an `invalid read syntax' error if a character
9980 constant is immediately followed by a digit or symbol character.
9981
9982 * search.c (Fmatch_data): Doc fix. Explicitly state that
9983 match-data is undefined if last search failed.
9984
9985 * keymap.c (Fcommand_remapping): Rename from Fremap_command.
9986 All uses changed.
9987
9988 2003-02-12 Juanma Barranquero <lektu@terra.es>
9989
9990 * eval.c (Fdefmacro): Fix typo.
9991
9992 2003-02-12 Kim F. Storm <storm@cua.dk>
9993
9994 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
9995 macro is a string, convert meta modifiers in string when copying
9996 the string into a vector.
9997
9998 2003-02-11 Kim F. Storm <storm@cua.dk>
9999
10000 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
10001
10002 2003-02-11 Kenichi Handa <handa@m17n.org>
10003
10004 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
10005
10006 2003-02-10 Kim F. Storm <storm@cua.dk>
10007
10008 * process.c: Doc fixes.
10009 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
10010
10011 2003-02-10 Kenichi Handa <handa@m17n.org>
10012
10013 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
10014
10015 * process.c (QCfilter_multibyte): New variable.
10016 (setup_process_coding_systems): New function.
10017 (Fset_process_buffer, Fset_process_filter):
10018 Call setup_process_coding_systems.
10019 (Fstart_process): Initialize the member `filter_multibyte' of
10020 struct Lisp_Process.
10021 (create_process): Call setup_process_coding_systems.
10022 (Fmake_network_process): New keyward `:filter-multibyte'.
10023 Initialize the member `filter_multibyte' of struct Lisp_Process.
10024 Call setup_process_coding_systems.
10025 (server_accept_connection): Call setup_process_coding_systems.
10026 (read_process_output): If the process has a filter, decide the
10027 multibyteness of a string to given to the filter by
10028 `filter_multibyte' member of the process. If the process doesn't
10029 have a filter and the result of conversion is unibyte, use
10030 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
10031 multibyte form.
10032 (Fset_process_coding_system): Call setup_process_coding_systems.
10033 (Fset_process_filter_multibyte): New function.
10034 (Fprocess_filter_multibyte_p): New function.
10035 (syms_of_process): Intern and staticpro QCfilter_multibyte.
10036 Defsubr Sset_process_filter_multibyte and
10037 Sprocess_filter_multibyte_p.
10038
10039 * process.h (struct Lisp_Process): New member filter_multibyte.
10040
10041 * lisp.h (setup_process_coding_systems): Add prototype.
10042
10043 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
10044 process, update coding systems for the process.
10045
10046 2003-02-09 Kenichi Handa <handa@m17n.org>
10047
10048 * fns.c (string_to_multibyte): New function.
10049 (Fstring_to_multibyte): New function.
10050 (syms_of_fns): Defsubr it.
10051
10052 2003-02-08 Andreas Schwab <schwab@suse.de>
10053
10054 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
10055 instead of the substitution.
10056
10057 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10058
10059 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
10060
10061 * xmenu.c (menu_position_func): Adjust menu popup position so that
10062 the menu is fully visible.
10063
10064 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10065
10066 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
10067 (x_make_frame_invisible, x_wm_set_icon_position):
10068 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
10069
10070 * xfns.c (x_set_name, x_set_title): Ditto.
10071
10072 2003-02-04 Richard M. Stallman <rms@gnu.org>
10073
10074 * keyboard.c (echo_now): Update before_command_echo_length.
10075 (Freset_this_command_lengths): Reset this_command_key_count etc.
10076 immediately rather than arranging to do it later.
10077 (before_command_key_count_1, before_command_echo_length_1)
10078 (before_command_restore_flag): Vars deleted.
10079 (add_command_key): Don't handle before_command_restore_flag.
10080 (read_char, record_menu_key): Don't update before_command_key_count or
10081 before_command_echo_length.
10082 (read_char): Don't handle before_command_restore_flag.
10083
10084 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
10085 in direct-output clauses if it wouldn't be called in the ordinary case.
10086
10087 2003-02-04 Kim F. Storm <storm@cua.dk>
10088
10089 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
10090
10091 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10092
10093 * gtkutil.c (remove_from_container): Copying list is not needed.
10094 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
10095 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
10096 on list returned from gtk_container_get_children to avoid memory leak.
10097
10098 2003-02-01 Jason Rumney <jasonr@gnu.org>
10099
10100 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
10101 local malloc.
10102 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
10103 definitions in xpm.h.
10104 (init_xpm_functions): New function.
10105 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
10106 (init_external_image_libraries): Try to load libXpm.dll.
10107
10108 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
10109 timestamp.
10110
10111 2003-01-31 Dave Love <fx@gnu.org>
10112
10113 * syntax.c (Fskip_chars_forward)
10114 (open-paren-in-column-0-is-defun-start): Doc fix.
10115
10116 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
10117
10118 * fileio.c: Support // at start of name for Cygwin (just added proper
10119 preprocessor tests).
10120
10121 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
10122
10123 * Makefile.in: Use @EXEEXT@ for Cygwin.
10124
10125 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
10126
10127 * s/cygwin.h: Added for Cygwin port.
10128
10129 2003-01-31 Juanma Barranquero <lektu@terra.es>
10130
10131 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
10132 when including gif_lib.h.
10133 (init_gif_functions, init_tiff_functions): New functions.
10134 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
10135 Windows. Disable color table lookups. Call library functions
10136 through pointers determined at runtime.
10137 (init_external_image_libraries): Try to load libungif.dll and
10138 libtiff.dll.
10139
10140 2003-01-31 Kenichi Handa <handa@m17n.org>
10141
10142 * xdisp.c (SKIP_GLYPHS): New macro.
10143 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
10144
10145 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10146
10147 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
10148
10149 2003-01-30 Dave Love <fx@gnu.org>
10150
10151 * alloc.c (Vgc_elapsed, gcs_done): New variables.
10152 (Fgarbage_collect): Use them.
10153 (init_alloc, syms_of_alloc): Set them up.
10154
10155 2003-01-30 Juanma Barranquero <lektu@terra.es>
10156
10157 * w32fns.c (init_external_image_libraries): Add missing operator.
10158
10159 2003-01-29 Jason Rumney <jasonr@gnu.org>
10160
10161 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
10162 an alternative name for jpeg.dll.
10163
10164 2003-01-29 Kenichi Handa <handa@m17n.org>
10165
10166 * xdisp.c (set_cursor_from_row): Pay attention to string display
10167 properties.
10168
10169 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
10170
10171 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
10172 <escape>.
10173 (keycode_to_xkeysym_table): Reformat and add more comments.
10174 (XTread_socket): Drop special case for backspace.
10175
10176 2003-01-28 Andrew Choi <akochoi@shaw.ca>
10177
10178 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
10179 values in old-style RGB specs.
10180
10181 2003-01-27 Juanma Barranquero <lektu@terra.es>
10182
10183 * w32fns.c (init_external_image_libraries): Try alternate names for the
10184 jpeg dll.
10185
10186 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10187
10188 * gtkutil.c (create_dialog, xg_separator_p)
10189 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
10190 before calling strcmp or strlen.
10191
10192 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10193
10194 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
10195 and handle image load failure.
10196
10197 2003-01-26 Jason Rumney <jasonr@gnu.org>
10198
10199 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
10200 New functions.
10201 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
10202 Disable color table lookups. Call jpeg library functions
10203 through pointers determined at runtime.
10204 (init_external_image_libraries): Try to load jpeg.dll.
10205
10206 2003-01-25 Richard M. Stallman <rms@gnu.org>
10207
10208 * lisp.h: Declare format2 instead of format1.
10209
10210 * fileio.c (barf_or_query_if_file_exists):
10211 Call format2 instead of format1.
10212
10213 * editfns.c (format2): New function, replaces format1
10214 but takes exactly two Lisp Objects as format args.
10215
10216 * buffer.c (Fkill_buffer): Call format2 instead of format1.
10217
10218 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10219
10220 * xterm.h: Change to return value of x_dispatch_event to int.
10221
10222 * xterm.c (x_filter_event): New function.
10223 (event_handler_gdk, XTread_socket): Call x_filter_event.
10224 (x_dispatch_event): Change to return value of finish.
10225 (event_handler_gdk): Use return value from x_dispatch_event.
10226
10227 * xfns.c (x_window): Call create_frame_xic for GTK version to
10228 initialize input methods.
10229
10230 * gtkutil.h: Add (void) prototypes.
10231
10232 * gtkutil.c (create_menus): Remove code that puts the help menu to
10233 the right.
10234
10235 2003-01-25 Jason Rumney <jasonr@gnu.org>
10236
10237 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
10238 [HAVE_PNG]: Sync with xfns.c version.
10239 (png_load): Adjust colors for Windows. Use Windows
10240 bitmaps. Disable color table lookups.
10241 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
10242 (init_png_functions): New function.
10243 (png_read_from_memory, png_load): Call png library functions
10244 through pointers determined at runtime.
10245 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
10246 (init_external_image_libraries): New function.
10247 (init_xfns): Call it.
10248
10249 2003-01-24 Andreas Schwab <schwab@suse.de>
10250
10251 * minibuf.c (Fminibuffer_message): Verify type of parameter.
10252
10253 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10254
10255 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
10256 of static initializer.
10257
10258 2003-01-24 Dave Love <fx@gnu.org>
10259
10260 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
10261 architectures.
10262
10263 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
10264 Use __alignof__.
10265
10266 2003-01-24 Kenichi Handa <handa@m17n.org>
10267
10268 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
10269 It it is nonzero, don't pretend that an invisible area doesn't exist.
10270 (command_loop_1): Call adjust_point_for_property with proper
10271 second arg.
10272
10273 2003-01-22 Jason Rumney <jasonr@gnu.org>
10274
10275 Sync changes with xterm.c and xfns.c.
10276
10277 * w32term.c (x_draw_glyph_string_foreground)
10278 (x_draw_composite_glyph_string_foreground): Implement overstriking.
10279
10280 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
10281 phys_cursor's hpos is overwritten. This is still not completely
10282 correct, as it doesn't really make sense to use hpos at all to
10283 get the cursor glyph (as that is relative to the width of the
10284 characters on the line, which may have changed during the update).
10285
10286 * w32term.c (notice_overwritten_cursor): Handle the special case
10287 of the cursor being in the first blank non-text line at the
10288 end of a window.
10289
10290 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
10291 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
10292 Compute from the x position returned by x_draw_glyphs.
10293
10294 (x_display_and_set_cursor): Don't set phys_cursor_width here,
10295 except for NO_CURSOR and system caret, to make phys_cursor_width
10296 contain what its name suggests.
10297 (notice_overwritten_cursor): Consider the cursor image erased if
10298 the output area intersects the cursor image in y-direction.
10299
10300 * w32term.c (note_mode_line_or_margin_highlight): Rename from
10301 note_mode_line_highlight and extend.
10302
10303 * w32term.c (last_window): New variable.
10304 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
10305 (note_mouse_movement): Remove reimplemented code in #if 0.
10306
10307 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
10308 not update_mode_lines, and always set it to 1.
10309
10310 2003-01-21 Jason Rumney <jasonr@gnu.org>
10311
10312 * w32fns.c (IDC_HAND): Define it if system headers don't.
10313
10314 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
10315
10316 * w32term.h (struct w32_output): New member hand_cursor.
10317 (WM_EMACS_SETCURSOR): New message definition.
10318
10319 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
10320 function w32_define_cursor.
10321 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
10322 position, change member name output_data.x to output_data.w32 and
10323 add function w32_define_cursor.
10324 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
10325 and change member name output_data.x to output_data.w32.
10326 (w32_initialize_display_info):
10327 Setup dpyinfo->vertical_scroll_bar_cursor.
10328
10329 * w32fns.c (Vx_hand_shape): New variable.
10330 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
10331 WM_EMACS_SETCURSOR.
10332 (x-create-frame): Setup Cursor types.
10333
10334 2003-01-21 David Ponce <david@dponce.com>
10335
10336 * w32term.c (w32_encode_char): For DIM=1 charset, set
10337 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
10338 x_encode_char change by Kenichi Handa <handa@m17n.org> on
10339 2002-09-30.)
10340 (w32_draw_relief_rect): Declare all args.
10341 (w32_define_cursor): New.
10342
10343 * w32fns.c (w32_load_cursor): New function.
10344 (w32_init_class): Use it.
10345 (x_put_x_image): Declare all args.
10346
10347 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk>
10348
10349 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
10350
10351 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10352
10353 * gtkutil.c: Must include stdio.h before termhooks.h
10354
10355 2003-01-21 Dave Love <fx@gnu.org>
10356
10357 * alloc.c (Fgc_status): Print zombie list.
10358 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
10359 Fix assignment of zombies.
10360 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
10361 Don't take car of non-cons.
10362
10363 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10364
10365 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10366
10367 2003-01-20 David Ponce <david@dponce.com>
10368
10369 * w32menu.c (digest_single_submenu): Declare all args.
10370
10371 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
10372 changes in xmenu.c:
10373
10374 (parse_single_submenu): Use individual keymap's prompt
10375 string as pane name, if there is one.
10376 (set_frame_menubar): Save menu_items_n_panes from each call to
10377 parse_single_submenu and use it when calling digest_single_submenu.
10378
10379 2003-01-20 Steven Tamm <steventamm@mac.com>
10380
10381 * macterm.c (XTread_socket): Checks for valid, visible window
10382 before sending a scroll-wheel event.
10383
10384 2003-01-20 Richard M. Stallman <rms@gnu.org>
10385
10386 * xdisp.c (redisplay_window): If mini window's buffer is not
10387 a minibuffer, then redisplay it like other windows.
10388
10389 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10390
10391 * gtkutil.c (xg_create_frame_widgets): Check if there is an
10392 external tool bar before setting tool bar height.
10393
10394 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10395
10396 * xterm.c (handle_one_xevent): Surround popup_activated
10397 with #ifdef:s for non-toolkit version.
10398
10399 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
10400 (gtkutil.o): New file.
10401 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
10402 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
10403
10404 * gtkutil.c: New file for GTK version.
10405
10406 * gtkutil.h: New file for GTK version.
10407
10408 * xterm.h: Add xt_or_gtk_widget.
10409 Include gtk files for USE_GTK.
10410 (struct x_output): Add toolbar_height.
10411 (struct x_output): Add GTK widgets and Gdk size_hints.
10412 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
10413 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
10414 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
10415
10416 * xterm.c: Include gtkutil.h for USE_GTK.
10417 (free_frame_menubar): Declare extern void for USE_GTK.
10418 (note_mouse_highlight): Check popup_activated for USE_GTK.
10419 (xt_action_hook): Don't compile if USE_GTK.
10420 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
10421 (xg_scroll_callback): New function.
10422 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
10423 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
10424 for USE_GTK.
10425 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
10426 xg_show_scroll_bar for USE_GTK.
10427 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
10428 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
10429 (event_handler_gdk): New function for USE_GTK.
10430 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
10431 (handle_one_xevent): Make sure widget is mapped before
10432 calling x_real_positions for USE_GTK.
10433 (XTread_socket): Add GTK event loop for USE_GTK.
10434 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
10435 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
10436 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
10437 (x_iconify_frame): Add code for USE_GTK.
10438 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
10439 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
10440 is in gtkutil.c.
10441 (x_term_init): Add initialization for GTK.
10442 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
10443
10444 * xmenu.c: Include gtkutil.h for USE_GTK.
10445 (Fx_popup_menu): Use current position if x and y is NIL.
10446 (single_menu_item, single_menu_item, Fx_popup_dialog):
10447 Check for USE_GTK.
10448 (popup_widget_loop): New function for USE_GTK.
10449 (x_activate_menubar): Add code for USE_GTK.
10450 (popup_activate_callback, popup_deactivate_callback)
10451 (menu_highlight_callback, menubar_selection_callback):
10452 Add USE_GTK versions.
10453 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
10454 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
10455 (free_frame_menubar): Only compile if not USE_GTK. GTK version
10456 is in gtkutil.c.
10457 (popup_selection_callback): New version for USE_GTK.
10458 (create_and_show_popup_menu): New fuction, one USE_GTK version and
10459 one USE_X_TOOLKIT version.
10460 (xmenu_show): Call create_and_show_popup_menu.
10461 (dialog_selection_callback): New version for USE_GTK.
10462 (create_and_show_dialog): New fuction, one USE_GTK version and
10463 one USE_X_TOOLKIT version.
10464 (xdialog_show): Call create_and_show_dialog.
10465
10466 * xfns.c: Include gtkutil for USE_GTK.
10467 (x_window_to_frame, x_any_window_to_frame)
10468 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
10469 (x_top_window_to_frame): Add code for USE_GTK.
10470 (x_set_background_color): Call xg_set_background_color for GTK.
10471 (x_set_menu_bar_lines): Check for USE_GTK.
10472 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
10473 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
10474 (x_window): Call xg_create_frame_widgets for USE_GTK.
10475 (Fx_create_frame): Check for USE_GTK
10476 (Fx_file_dialog): New implementation for USE_GTK.
10477
10478 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
10479 (update_menu_bar): Add check for USE_GTK.
10480 (update_tool_bar): Add check for USE_GTK and external tool bar.
10481 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
10482 (redisplay_internal): Add check for USE_GTK and popup_activated.
10483 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
10484 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
10485 (display_menu_bar): Add check for USE_GTK
10486
10487 * lisp.h (Vx_resource_name): Declare extern.
10488
10489 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
10490 for USE_GTK.
10491 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
10492
10493 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
10494 (FRAME_EXTERNAL_TOOL_BAR): New macro.
10495 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
10496
10497 * fileio.c (Fread_file_name): Add check for USE_GTK.
10498
10499 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
10500 Add check for USE_GTK.
10501
10502 * config.in: Added HAVE_GTK
10503
10504 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
10505
10506 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
10507
10508 * charset.h (Funibyte_char_to_multibyte): Export.
10509
10510 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10511
10512 * xmenu.c (mouse_position_for_popup): New function.
10513 (Fx_popup_menu): Call mouse_position_for_popup for X and
10514 mouse_position_hook for others.
10515
10516 2003-01-17 Kim F. Storm <storm@cua.dk>
10517
10518 * editfns.c (Finsert): Mention `string-make-multibyte' and
10519 `string-as-multibyte' in doc string.
10520
10521 2003-01-17 Kenichi Handa <handa@m17n.org>
10522
10523 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
10524
10525 * editfns.c (Fformat): Convert an unibyte char argument that is
10526 formatted by "%c" to multibyte if the total result must be a
10527 multibyte string.
10528
10529 2003-01-16 Kim F. Storm <storm@cua.dk>
10530
10531 * process.c (set-process-filter): Document unibyte/multibyte-ness
10532 of string argument.
10533
10534 2003-01-16 Kenichi Handa <handa@m17n.org>
10535
10536 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
10537
10538 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
10539 (re_search_2): Likewise.
10540
10541 2003-01-15 Kenichi Handa <handa@m17n.org>
10542
10543 * xdisp.c (message_dolog): Fix bug of the case that *Message*
10544 buffer is unibyte.
10545
10546 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
10547
10548 * fns.c (Fsubstring): Clarify doc string.
10549
10550 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
10551 (Fprevious_char_property_change)
10552 (Fnext_single_char_property_change)
10553 (Fprevious_single_char_property_change, Fnext_property_change)
10554 (Fnext_single_property_change, Fprevious_property_change)
10555 (Fprevious_single_property_change, Fadd_text_properties)
10556 (Fput_text_property, Fset_text_properties)
10557 (Fremove_text_properties, Fremove_list_of_text_properties)
10558 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
10559
10560 2003-01-14 Kim F. Storm <storm@cua.dk>
10561
10562 * process.h (struct Lisp_Process): New member plist replaces old
10563 member private_vars. All uses changed.
10564
10565 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
10566 (QCplist): Rename from QCvars. Change all uses.
10567 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
10568 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
10569 (syms_of_process): Intern, staticpro, defsubr these.
10570 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
10571
10572 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
10573
10574 * m/delta.h: Remove (obsolete).
10575
10576 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
10577
10578 * fileio.c (Fdelete_directory, Fdelete_file): Document the
10579 behaviour in front of symlinks.
10580 (Fdelete_file): Raise an error on directories.
10581
10582 2003-01-13 Dave Love <fx@gnu.org>
10583
10584 * fns.c (Freverse): Use QUIT.
10585
10586 2003-01-13 Richard M. Stallman <rms@gnu.org>
10587
10588 * minibuf.c (minibuffer_completion_contents):
10589 Error if point is inside prompt.
10590
10591 * keyboard.c (command_loop_1): Don't redisplay directly
10592 if there's a post-command-hook.
10593
10594 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
10595 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
10596
10597 2003-01-12 Kim F. Storm <storm@cua.dk>
10598
10599 * process.h (struct Lisp_Process): New member private_vars.
10600
10601 * process.c (QCvars): New variable.
10602 (syms_of_process): Intern and staticpro it.
10603 (Fset_process_contact): Removed function.
10604 (Fprocess_variable, Fset_process_variable): New functions.
10605 (syms_of_process): Defsubr them.
10606 (Fstart_process): Initialize private_vars plist to nil.
10607 (Fmake_network_process): New arg :vars to setup the private
10608 variables for new network process.
10609 (server_accept_connection): Copy server's private variables to
10610 client process.
10611
10612 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
10613 crashes). Code rewritten and simplified. Now directly aligns the
10614 pointer and recalculates pure_bytes_used, rather than aligning the
10615 size and adjusting the pointer.
10616
10617 2003-01-11 Kim F. Storm <storm@cua.dk>
10618
10619 * process.c (Fset_process_contact): New function.
10620 (syms_of_process): defsubr it.
10621 (make-network-process): Update doc.
10622
10623 2003-01-10 Andreas Schwab <schwab@suse.de>
10624
10625 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
10626 Reported by Berthold Gunreben <b.gunreben@web.de>.
10627
10628 2003-01-10 Dave Love <fx@gnu.org>
10629
10630 * composite.c (syms_of_composite): Make composition_hash_table weak.
10631
10632 2003-01-09 Kim F. Storm <storm@cua.dk>
10633
10634 * process.c (Fmake_network_process): Convert new port number
10635 to host byte order for `:service t' case. From Mario Lang.
10636
10637 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10638
10639 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
10640 instead of XtAppProcessEvent.
10641
10642 * xterm.c (handle_one_xevent): New function.
10643 (x_dispatch_event): New function.
10644 (XTread_socket): Call handle_one_xevent.
10645
10646 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
10647
10648 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
10649 call XQueryPointer to get coordinates.
10650 (popup_get_selection): Do not set popup_activated_flag to zero,
10651 let popup_deactivate_callback do that. Needed for Motif.
10652 Call x_dispatch_event instead of XtDispatchEvent.
10653 (xmenu_show): Calculate root coordinate from frame top/left position.
10654
10655 2003-01-08 Kim F. Storm <storm@cua.dk>
10656
10657 * process.c (server_accept_connection): Fix recording of new
10658 connection's local address in :local property of contact info.
10659 (Fmake_network_process): Record local network address for new
10660 client processes in :local property of contact info.
10661 (format-network-address): Add arg OMIT-PORT. Change callers.
10662
10663 2003-01-07 Dave Love <fx@gnu.org>
10664
10665 * Makefile.in (fns.o): Depend on coding.h.
10666
10667 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
10668
10669 * minibuf.c (Fread_variable): Doc fix.
10670
10671 * eval.c (Fuser_variable_p): Doc change. For custom variables,
10672 use the same test as for custom-variable-p.
10673
10674 2003-01-05 Richard M. Stallman <rms@gnu.org>
10675
10676 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
10677 Count LAST_LINE_MISFIT in scroll margin for end of window.
10678 Move label too_near_end before setting SCROLL_MARGIN_POS.
10679 Set LAST_LINE_MISFIT before jumping there.
10680
10681 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
10682 scroll_conservatively case. If scrolling that much doesn't change
10683 STARTP, move it down one line.
10684
10685 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
10686 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
10687
10688 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
10689 selected frame.
10690
10691 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
10692 (syms_of_keymap): Staticpro them.
10693 (Fapropos_internal): Initialize them and clear them out.
10694 Don't GCPRO them.
10695
10696 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
10697 Doc fixes.
10698
10699 * lisp.h: New misc type Lisp_Save_Value.
10700 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
10701 (XSAVE_VALUE): New macro.
10702 (struct Lisp_Save_Value): New data type.
10703 (union Lisp_Misc): Add u_save_value alternative.
10704 (make_save_value): Declare.
10705
10706 * alloc.c (make_save_value): New function.
10707
10708 * xterm.c (x_catch_errors): Save dpy using make_save_value.
10709 (x_catch_errors_unwind): Call XSync.
10710
10711 2003-01-01 Richard M. Stallman <rms@gnu.org>
10712
10713 * window.c (window_scroll_pixel_based): Partially undo last change.
10714
10715 * keyboard.c (command_loop_1): Call adjust_point_for_property
10716 in direct action cases for Qforward_char and Qbackward_char.
10717 Set already_adjusted so it won't be done twice.
10718
10719 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk>
10720
10721 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
10722 type definition of size_t.
10723
10724 2003-01-02 Steven Tamm <steventamm@mac.com>
10725
10726 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
10727 distinguish Carbon GUI builds from X11 builds on darwin.
10728
10729 2002-12-30 Steven Tamm <steventamm@mac.com>
10730
10731 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
10732 to default to t.
10733
10734 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
10735
10736 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
10737
10738 2002-12-28 Steven Tamm <steventamm@mac.com>
10739
10740 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
10741 allow building in a different directory than source. Uses some
10742 GNU Make extensions, but there is no other make on Mac OS X.
10743
10744 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
10745
10746 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
10747 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
10748 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
10749 (Fstring_to_number): Mention the returned value in the doc strings.
10750
10751 2002-12-23 Richard M. Stallman <rms@gnu.org>
10752
10753 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
10754 <scroll-down-aggressively>: Doc fix.
10755
10756 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
10757 string as pane name, if there is one.
10758 (set_frame_menubar): Save menu_items_n_panes from each call to
10759 parse_single_submenu and use it when calling digest_single_submenu.
10760
10761 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
10762 Don't try to make last line fully visible if it is past end of window.
10763
10764 2002-12-22 Steven Tamm <steventamm@mac.com>
10765
10766 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
10767 (mac_menu_show): Add support for hierarchical popup menus.
10768 (add_menu_item): Remove indentation support.
10769 (fill_submenu, fill_menu): Create hierarchical menus
10770 instead of using indentation.
10771
10772 2002-12-22 Richard M. Stallman <rms@gnu.org>
10773
10774 * xdisp.c (try_cursor_movement): Don't call try_window here.
10775 (redisplay_window): Never redisplay minibuffer when inactive.
10776
10777 * window.c (select_window_1): Undo 9/21 change.
10778
10779 2002-12-22 Steven Tamm <steventamm@mac.com>
10780
10781 * macterm.c (XTread_socket): Call KeyTranslate for control and
10782 meta to deal correctly shifted non-alpha characters, like C-S-5
10783 being treated like C-%. Does not look for shift key to deal
10784 with masking off control-key with mac-reverse-ctrl-meta.
10785
10786 2002-12-21 Richard M. Stallman <rms@gnu.org>
10787
10788 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
10789 If it is non-nil, run timers. Use an unwind-protect to requeue
10790 the events that were read ahead.
10791 (popup_get_selection_unwind): New subroutine.
10792 (popup_get_selection_queue): File-scope variable now holds that queue.
10793 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
10794 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
10795 Use an unwind-protect to pop down the dialog box.
10796 (xdialog_show_unwind): New subroutine implements that.
10797
10798 * xdisp.c (row_containing_pos): Change exit test using last_y.
10799 (try_window_id): Abort if row_containing_pos returns null.
10800
10801 * lread.c (load_error_handler): New function.
10802 (Fload): Handle errors in Fsubstitute_in_file_name.
10803 Don't expect Fsignal to return.
10804
10805 * eval.c: Errors and throws work right with interrupt blocking.
10806 (struct catchtag): New elt interrupt_input_blocked.
10807 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
10808 (internal_catch, Fcondition_case, internal_condition_case)
10809 (internal_condition_case_1, internal_condition_case_2): Save it.
10810 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
10811
10812 * editfns.c (Fformat): Add parens.
10813
10814 * dired.c (file_name_completion): Fix that change.
10815 Delete special quit-handling code; just use QUIT.
10816
10817 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com>
10818
10819 * dired.c (file_name_completion): Close directory on error
10820 just as in directory_files_internal.
10821
10822 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
10823
10824 * window.c (Fset_window_configuration): Set old_point to correct
10825 value when new_current_buffer == current_buffer.
10826
10827 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
10828
10829 Revisited my earlier fix for the following entry in etc/PROBLEMS:
10830 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
10831 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
10832
10833 These changes were in part based upon suggestions made by Peter
10834 'Luna' Runestig [peter@runestig.com].
10835
10836 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
10837 g_b_init_get_token_information, g_b_init_lookup_account_sid,
10838 g_b_init_get_sid_identifier_authority ): Add several static
10839 global variables.
10840
10841 * w32.c (globals_of_w32): New function. Used to initialize those
10842 global variables that must always be initialized on startup even
10843 when the global variable initialized is non zero. Its primary
10844 purpose at this time is to set the global variables
10845 g_b_init_is_windows_9x, g_b_init_open_process_token,
10846 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
10847 g_b_init_get_sid_identifier_authority to 0 on startup.
10848 Called from main.
10849
10850 * w32.c (is_windows_9x): Perform initialization only if
10851 g_b_init_is_windows_9x is equal to 0. On initialization set
10852 g_b_init_is_windows_9x equal to 1.
10853
10854 * w32.c (open_process_token): Perform initialization only if
10855 g_b_init_open_process_token is equal to 0. On initialization set
10856 g_b_init_open_process_token equal to 1.
10857
10858 * w32.c (get_token_information): Perform initialization only if
10859 g_b_init_get_token_information is equal to 0. On initialization
10860 set g_b_init_get_token_information equal to 1.
10861
10862 * w32.c (lookup_account_sid): Perform initialization only if
10863 g_b_init_lookup_account_sid is equal to 0. On initialization
10864 set g_b_init_lookup_account_sid equal to 1.
10865
10866 * w32.c (get_sid_identifier_authority): Perform initialization
10867 only if g_b_init_get_sid_identifier_authority is equal to 0.
10868 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
10869
10870 * w32fns.c (globals_of_w32fns): New function. Used to initialize
10871 those global variables that must always be initialized on startup
10872 even when the global variable initialized is non zero.
10873 Its primary purpose at this time is to initialize the global variable
10874 track_mouse_event_fn.
10875
10876 * w32fns.c (w32_wnd_proc): Remove initialization of
10877 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
10878
10879 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
10880
10881 * w32menu.c (globals_of_w32menu): New function. Used to
10882 initialize those global variables that must always be initialized
10883 on startup even when the global variable initialized is non zero.
10884 Its primary purpose at this time is to initialize the global
10885 variables get_menu_item_info and set_menu_item_info.
10886
10887 * w32menu.c (initialize_frame_menubar): Remove initialization of
10888 get_menu_item_info and set_menu_item_info.
10889
10890 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
10891
10892 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
10893 Declare them.
10894
10895 * emacs.c (main): Call globals_of_w32 prior to calling
10896 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
10897 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
10898 is defined.
10899
10900 * w32term.c (x_update_window_begin): Fix Windows API error
10901 detected by BoundsChecker. Test to determine if
10902 w32_system_caret_hwnd is NULL prior to attempting to use
10903 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
10904
10905 * w32term.c (x_update_window_end): Fix Windows API error
10906 detected by BoundsChecker. Test to determine if
10907 w32_system_caret_hwnd is NULL prior to attempting to use
10908 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
10909
10910 2002-12-17 Kenichi Handa <handa@m17n.org>
10911
10912 * coding.c (coding_system_require_warning): New variable.
10913 (syms_of_coding): DEFVAR it.
10914
10915 * coding.h (coding_system_require_warning): Extern it.
10916
10917 * fileio.c (choose_write_coding_system): Even if
10918 Vcoding_system_for_write is non-nil, if
10919 coding_system_require_warning is nonzero, call
10920 Vselect_safe_coding_system_function.
10921
10922 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
10923
10924 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
10925 (lisp): Add font-core.
10926
10927 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
10928
10929 * textprop.c (text_read_only): New arg `propval'.
10930 (get_char_property_and_overlay): Remove unused var `next_overlay'.
10931 (verify_interval_modification): Use text_read_only's new arg.
10932
10933 2002-12-13 Kenichi Handa <handa@m17n.org>
10934
10935 * coding.c (Funencodable_char_position): Set pend correctly.
10936
10937 2002-12-12 Jason Rumney <jasonr@gnu.org>
10938
10939 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
10940 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
10941 Be more careful about when help_events are generated.
10942
10943 2002-12-12 Steven Tamm <steventamm@mac.com>
10944
10945 * macterm.c (mac_check_for_quit_char): Correctly set the
10946 modifiers of the event to 0.
10947 * mac.c (sys_select): Duplicate rfds before calling select to
10948 ensure that rfds survive the while loop.
10949
10950 2002-12-11 Kim F. Storm <storm@cua.dk>
10951
10952 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
10953 row_containing_pos returned NULL.
10954
10955 2002-12-10 Steven Tamm <steventamm@mac.com>
10956
10957 * mac.c (sys_read): Fix sys_read to not call select if IO is
10958 non-blocking.
10959 (sys_select): Fix sys_select to not use a timeout larger than
10960 the one given.
10961
10962 2002-12-10 Juanma Barranquero <lektu@terra.es>
10963
10964 * editfns.c (Fformat): Use alloca, not _alloca.
10965
10966 2002-12-09 Richard M. Stallman <rms@gnu.org>
10967
10968 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
10969 as the last thing.
10970
10971 2002-12-09 Dave Love <fx@gnu.org>
10972
10973 * s/sol2-8.h: Removed. (Not necessary.)
10974
10975 2002-12-09 Matthew Swift <swift@alum.mit.edu>
10976
10977 * editfns.c (Fformat): Handle precision in string conversion
10978 specifiers like libc functions do (ie, print at most that many
10979 characters).
10980
10981 2002-12-08 Richard M. Stallman <rms@gnu.org>
10982
10983 * xdisp.c (row_containing_pos): Check more carefully
10984 whether charpos is really in the row before returning it.
10985
10986 2002-12-07 Steven Tamm <steventamm@mac.com>
10987
10988 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
10989
10990 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
10991 each stack frame. This may change as it could be time consuming.
10992
10993 * macterm.c (mac_check_for_quit_char, quit_char_comp)
10994 (init_quit_char_handler, mac_determine_quit_char_modifiers)
10995 (mac_initialize): Add code to check for pressing of quit_char
10996 in the OS event queue.
10997
10998 * mac.c (sys_select): Call mac_check_for_quit_char every second
10999 while blocking on select.
11000
11001 * mac.c (sys_read): Use sys_select to test for input first
11002 before calling read, to allow C-g to break.
11003
11004 2002-12-07 Richard M. Stallman <rms@gnu.org>
11005
11006 * minibuf.c (Fcompleting_read): Doc fix.
11007
11008 * lread.c (syms_of_lread) <load-history>: Doc fix.
11009
11010 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
11011
11012 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
11013 autoload.
11014
11015 * data.c (Fdefalias): Record in load-history redefining an autoload.
11016
11017 * alloca.c: Undo ifdef change accidentally made on 12-04.
11018
11019 2002-12-06 Francesco Potorti` <pot@gnu.org>
11020
11021 * xfns.c (png_load): Avoid double gamma correction for PNG images.
11022
11023 2002-12-04 Richard M. Stallman <rms@gnu.org>
11024
11025 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
11026
11027 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
11028
11029 * alloca.c: Don't use #error.
11030
11031 2002-12-03 Dave Love <fx@gnu.org>
11032
11033 * buffer.c (Qucs_set_table_for_input): New.
11034 (Fget_buffer_create): Use it.
11035 (Qset_buffer_major_mode_hook): Deleted.
11036 (Fset_buffer_major_mode): Revert previous change.
11037 (init_buffer_once): Intern ucs-set-table-for-input.
11038 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
11039 Add &Qucs_set_table_for_input.
11040
11041 2002-12-03 Andreas Schwab <schwab@suse.de>
11042
11043 * callint.c (Fcall_interactively): Use next_event only if less
11044 than key_count.
11045
11046 2002-12-02 Andrew Choi <akochoi@shaw.ca>
11047
11048 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
11049 names to 255 characters.
11050
11051 * macterm.c (XTread_socket): If all frames have been collapsed,
11052 expand the first one before handling drag-and-drop events.
11053
11054 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
11055 which is detected by autoconf.
11056
11057 2002-12-01 Steven Tamm <steventamm@mac.com>
11058
11059 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
11060 offset in two hints table to allow prebinding to be redone and
11061 allow the executable to be stripped.
11062
11063 2002-11-29 Dave Love <fx@gnu.org>
11064
11065 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
11066 already provided.
11067
11068 2002-11-29 Richard M. Stallman <rms@gnu.org>
11069
11070 * xdisp.c (start_display): Check more intelligently for
11071 whether the line is continued.
11072 (move_it_vertically_backward): Clear it->continuation_lines_width.
11073
11074 2002-11-28 Dave Love <fx@gnu.org>
11075
11076 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
11077 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
11078
11079 2002-11-27 Steven Tamm <steventamm@mac.com>
11080
11081 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
11082 more descriptive error output from lread.c:Fload upon most require
11083 cycles during boostrapping.
11084
11085 2002-11-27 Jason Rumney <jasonr@gnu.org>
11086
11087 * fileio.c (Finsert_file_contents): Give a more appropriate error
11088 for files bigger than 2Gb when off_t is 32 bit.
11089
11090 * dired.c (Ffile_attributes): Don't return negative file sizes for
11091 files bigger than 2Gb when off_t is 32 bit.
11092
11093 2002-11-27 Dave Love <fx@gnu.org>
11094
11095 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11096
11097 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
11098 Test GETPGRP_VOID instead.
11099 [BSD_TERMIOS]: Remove definitions (never used).
11100
11101 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
11102 Don't define.
11103 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11104
11105 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
11106
11107 2002-11-25 Jason Rumney <jasonr@gnu.org>
11108
11109 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
11110 supported.
11111
11112 2002-11-25 Dave Love <fx@gnu.org>
11113
11114 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
11115
11116 * Makefile.in (TEMACS_LDFLAGS): Update last change.
11117
11118 2002-11-25 Andreas Schwab <schwab@suse.de>
11119
11120 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
11121
11122 2002-11-24 Steven Tamm <steventamm@mac.com>
11123
11124 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
11125 determine the size of pointers alloced in unexed space instead
11126 of using possibly invalid emacs_zone pointers. This fixes the
11127 binary incompatibility problems caused by updates to libSystem.B.
11128
11129 2002-11-24 Richard M. Stallman <rms@gnu.org>
11130
11131 * search.c (Fstring_match): Doc fix.
11132
11133 * callint.c (Fcall_interactively): If a command fails because
11134 `*' detects a read-only buffer, but RECORD_FLAG is set,
11135 record it anyway if the args don't actually do tty input.
11136
11137 2002-11-22 Dave Love <fx@gnu.org>
11138
11139 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
11140
11141 * keyboard.c (interrupt_signal): Provide forward declaration.
11142 (kbd_buffer_store_event): Don't declare interrupt_signal.
11143
11144 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
11145
11146 2002-11-21 Richard M. Stallman <rms@gnu.org>
11147
11148 * eval.c (interactive_p): Skip any number of bytecode
11149 and special form frames, in any order.
11150
11151 2002-11-20 Jason Rumney <jasonr@gnu.org>
11152
11153 * w32fns.c (convert_mono_to_color_image): New function.
11154 (xbm_load, xbm_load_image): Use it when foreground or background
11155 is explicitly set.
11156
11157 2002-11-19 Dave Love <fx@gnu.org>
11158
11159 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
11160
11161 2002-11-18 Jason Rumney <jasonr@gnu.org>
11162
11163 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
11164 (XPutPixel): Swap blue and red.
11165 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
11166 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11167 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
11168 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
11169
11170 2002-11-18 Dave Love <fx@gnu.org>
11171
11172 * m/orion105.h (HAVE_ALLOCA): Don't define.
11173
11174 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
11175
11176 * m/intel386.h: Don't include alloca.h or define alloca.
11177
11178 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
11179 malloc, realloc, calloc.
11180
11181 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
11182 (bcmp): Don't define.
11183
11184 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
11185
11186 * m/amdahl.h: Don't define LIB_STANDARD.
11187
11188 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
11189
11190 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
11191
11192 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
11193 Don't include alloca.h.
11194
11195 * s/aix3-2.h (HAVE_FSYNC): Don't define.
11196
11197 * regex.c (_GNU_SOURCE): Don't define.
11198
11199 * process.c (_GNU_SOURCE): Don't define.
11200
11201 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
11202
11203 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
11204
11205 * s/sol2-8.h: Include sol2-6.h.
11206
11207 2002-11-18 Miles Bader <miles@gnu.org>
11208
11209 * dispextern.h (struct face): Add `overstrike' field.
11210 * xterm.c (x_draw_glyph_string_foreground)
11211 (x_draw_composite_glyph_string_foreground): Implement overstriking.
11212 * xfaces.c (load_face_font): Set `face->overstrike' based on
11213 result from choose_face_font.
11214 (best_matching_font, choose_face_font): Add `needs_overstrike'
11215 argument, and use it to return whether overstriking is desirable
11216 for this face/font combo.
11217 (set_font_frame_param: Pass new argument to choose_face_font.
11218
11219 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
11220
11221 This change is my fix for the following entry in etc/PROBLEMS:
11222 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
11223 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
11224
11225 * w32.c: Added wrapper functions around the win32 API functions
11226 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
11227 GetSidIdentifierAuthority. These wrapper functions serve two
11228 purposes:
11229 1. They ensure that the wrapped function can never be called
11230 when Emacs is running on an operating system on which they are
11231 not supported (Microsoft Windows 95 / 98 / ME).
11232 2. They call the wrapped functions via function pointers rather
11233 than calling them directly. This avoids taking advantage of the
11234 undocumented fact that although these functions are not supported
11235 in the 9x branch of Microsoft Windows, the functions do exist in
11236 the version of advapi32.dll that is found in the 9x branch of
11237 Microsoft Windows.
11238
11239 * w32.c (init_user_info): Replace the calls to the win32 API
11240 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
11241 and GetSidIdentifierAuthority with calls to the newly added
11242 wrapper functions.
11243
11244 * w32.h: Added extern declarations for the following functions:
11245 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
11246 syms_of_w32menu, and void syms_of_fontset.
11247
11248 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
11249 function pointer track_mouse_event_fn in the handler for the
11250 WM_SETFOCUS message.
11251
11252 * w32menu.c (initialize_frame_menubar): Add code to
11253 reinitialize the function pointers set_menu_item_info and
11254 get_menu_item_info.
11255
11256 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
11257
11258 * sound.c: Added a partial implementation of play-sound-internal
11259 for Microsoft Windows. Added various #ifdef / #else / #endif
11260 code blocks to separate the code that will compile under
11261 Microsoft Windows from the code that is specific to Gnu/Linux.
11262 Moved several blocks of code around to make this separation of code
11263 into Windows compatible and Gnu/Linux compatible code blocks easier.
11264
11265 * makefile.w32-in: Include sound.c and link with WinMM.lib.
11266
11267 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
11268 added support for play-sound-internal under Windows would be
11269 included in the build of Emacs.
11270
11271 2002-11-16 Jason Rumney <jasonr@gnu.org>
11272
11273 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
11274
11275 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
11276
11277 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
11278
11279 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
11280 (adjust_point_for_property): Move out of display and invisible even if
11281 we were already inside before (in case a property was added while
11282 we weren't looking). Be more careful when handling invisible props.
11283 Skip invisible text as if it really wasn't there at all.
11284
11285 2002-11-15 Jason Rumney <jasonr@gnu.org>
11286
11287 * w32term.c (x_draw_image_foreground)
11288 (w32_draw_image_foreground_1): Use standard copy and invert
11289 operations to draw images.
11290
11291 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
11292 depth of 1.
11293 (xbm_read_bitmap_data): Invert bits as xbm is read in.
11294 (XPutPixel): Don't invert bits here.
11295
11296 2002-11-15 Jason Rumney <jasonr@gnu.org>
11297
11298 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
11299 (w32_draw_image_foreground_1): Handle image masks.
11300 (x_draw_image_glyph_string): Don't BitBlt transparently.
11301
11302 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
11303 (x_from_xcolors): Adjust RGB values for W32.
11304 (image_background, image_background_transparent)
11305 (postprocess_image, x_to_xcolors, x_disable_image)
11306 (x_build_heuristic_mask): Adapt for W32 and enable.
11307 (x_create_x_image_and_pixmap): Mark images with palettes as such.
11308 (xbm_load): Remove unused variable.
11309
11310 2002-11-14 Richard M. Stallman <rms@gnu.org>
11311
11312 * buffer.c (syms_of_buffer): Doc fix.
11313
11314 2002-11-14 Dave Love <fx@gnu.org>
11315
11316 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
11317
11318 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
11319 * xmenu.c (unuse_menu_items, digest_single_submenu):
11320 * xfns.c (x_put_x_image):
11321 * xdisp.c (message2_nolog, set_message):
11322 * undo.c (record_point):
11323 * terminfo.c (tparam):
11324 * syntax.c (scan_sexps_forward):
11325 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11326 * composite.c (update_compositions):
11327 * cm.c (calccost, cmgoto):
11328 * charset.c (c_string_width): Declare all args (per C99).
11329
11330 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
11331
11332 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
11333 Don't declare.
11334
11335 * emacs.c (main) [!VMS]: Avoid third arg.
11336
11337 * fns.c (Fcopy_sequence): Doc fix.
11338 (Fmap_char_table): Cast `call2'.
11339
11340 2002-11-14 Francesco Potorti` <pot@gnu.org>
11341
11342 * s/sol2-8.h: New file.
11343
11344 2002-11-14 Kim F. Storm <storm@cua.dk>
11345
11346 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
11347 dependency on `risky-local-variable' and the :propertize form.
11348
11349 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
11350
11351 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
11352
11353 * syntax.c (scan_sexps_forward): Undo last patch.
11354 Use a more obvious fix: check eob before updating the syntax table.
11355
11356 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
11357
11358 * syntax.c (scan_sexps_forward): Update syntax table before reading
11359 a char rather than after so we don't update the table past eob.
11360
11361 2002-11-09 Dave Love <fx@gnu.org>
11362
11363 * buffer.c (Fset_buffer_major_mode): Fix last change.
11364
11365 * regex.c (regexec): Fix pmatch declaration.
11366
11367 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
11368
11369 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
11370 to self-inserting characters.
11371 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
11372
11373 * coding.c (Vtranslation_table_for_input): New.
11374 (syms_of_coding): DEFVAR it.
11375
11376 2002-11-08 Juanma Barranquero <lektu@terra.es>
11377
11378 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
11379 window.
11380
11381 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11382
11383 * process.c (Fformat_network_address): Remove unused locals p,
11384 cp, and i.
11385
11386 2002-11-06 Dave Love <fx@gnu.org>
11387
11388 * buffer.c (Qset_buffer_major_mode_hook): New.
11389 (Fset_buffer_major_mode): Use it.
11390
11391 2002-11-06 Richard M. Stallman <rms@gnu.org>
11392
11393 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
11394 and stop_polling.
11395
11396 * process.c (wait_reading_process_input):
11397 Test POLLING_PROBLEM_IN_SELECT, not hpux.
11398 Avoid initialization for auto Lisp_Object var.
11399
11400 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
11401
11402 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
11403
11404 2002-11-05 Richard M. Stallman <rms@gnu.org>
11405
11406 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
11407
11408 * callint.c (Fcall_interactively): New local filter_specs.
11409 (Fcall_interactively): Check for progn as well as let.
11410 Add a gcpro.
11411 (Qprogn): New variable.
11412 (syms_of_callint): Staticpro and init Qprogn.
11413
11414 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
11415
11416 * lread.c (Feval_buffer): Doc fix.
11417
11418 2002-11-04 Dave Love <fx@gnu.org>
11419
11420 * keyboard.c (read_char): Always translate iff
11421 Vkeyboard_translate_table is a char table and c is valid.
11422
11423 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11424 and fix C types.
11425
11426 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
11427
11428 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
11429
11430 * editfns.c (get_pos_property): Don't hardcode Qfield.
11431
11432 * keyboard.c (adjust_point_for_property): Handle `display' prop on
11433 overlays. Also handle `invisible' prop.
11434
11435 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
11436
11437 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
11438 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
11439
11440 2002-11-01 Andreas Schwab <schwab@suse.de>
11441
11442 * editfns.c (Fmessage): Revert last change to properly handle %%.
11443
11444 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
11445
11446 * xmenu.c (unuse_menu_items): New fun.
11447 (menu_items_inuse): New var.
11448 (syms_of_xmenu): Initialize it.
11449 (init_menu_items): Use it to detect re-entrance.
11450 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
11451 (Fx_popup_menu): Remove spurious XSETFRAME.
11452
11453 * editfns.c (find_field): Make an exception for nil fields.
11454
11455 2002-11-01 Dave Love <fx@gnu.org>
11456
11457 * m/gec63.h: Deleted.
11458
11459 2002-10-31 Dave Love <fx@gnu.org>
11460
11461 * xterm.c (XTread_socket): Fix last change.
11462 (xaw_scroll_callback): Cast call_data to long to avoid warning.
11463
11464 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
11465
11466 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
11467
11468 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
11469
11470 * editfns.c (overlays_around, get_pos_property): New funs.
11471 (find_field): Use them.
11472 Also be careful not to modify POS before its last use.
11473 (Fmessage): Don't Fformat if there's nothing to format.
11474
11475 2002-10-30 Dave Love <fx@gnu.org>
11476
11477 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
11478 [HAVE_PTY_H]; Include pty.h.
11479
11480 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
11481
11482 * xterm.c (Qeql): Declare.
11483 (Vx_keysym_table): New.
11484 (syms_of_xterm): Initialize it.
11485 (XTread_socket): Use it. Deal with ASCII keysyms.
11486 (XSetIMValues) [HAVE_X11R6]: Prototype.
11487
11488 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
11489 (lispy_kana_keys): Comment out.
11490 (make_lispy_event) [XK_kana_A]: Comment out.
11491 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
11492 Fix sprintf call.
11493
11494 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
11495 regexp.h change).
11496 (TERMINFO, LIBS_TERMCAP): Define.
11497
11498 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
11499 (bcmp): Define conditional on HAVE_BCMP.
11500 (NO_SIOCTL_H): Don't define.
11501 (TIOCSIGSEND): Don't make conditional on IRIX6.
11502
11503 * s/sol2-5.h: Don't include strings.h.
11504 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
11505
11506 * s/irix6-0.h (IRIX6): Don't define.
11507 (bcopy, bcmp, bzero): Don't undef.
11508
11509 * s/irix6-5.h: Don't include strings.h.
11510 (IRIX6): Don't define.
11511 (bcopy, bcmp, bzero): Don't undef.
11512
11513 * syntax.c (Fforward_comment): Doc fix.
11514
11515 2002-10-29 Kim F. Storm <storm@cua.dk>
11516
11517 * process.c (Fsignal_process): Allow PROCESS to be specified by
11518 name in addition to pid (as integer or string).
11519
11520 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
11521
11522 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
11523 environments.
11524
11525 2002-10-27 Kim F. Storm <storm@cua.dk>
11526
11527 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
11528
11529 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
11530
11531 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
11532
11533 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
11534
11535 2002-10-26 Richard M. Stallman <rms@gnu.org>
11536
11537 * editfns.c (Fformat): Detect invalid format letters for floats.
11538
11539 2002-10-25 Kenichi Handa <handa@m17n.org>
11540
11541 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
11542 (x_set_title): Likewise.
11543
11544 2002-10-25 Juanma Barranquero <lektu@terra.es>
11545
11546 * macgui.h:
11547 * w32gui.h: Remove definition of XColor.
11548
11549 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
11550
11551 2002-10-24 Kim F. Storm <storm@cua.dk>
11552
11553 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
11554 Callers changed (supply dummy arg).
11555
11556 * lisp.h (get_window_cursor_type): Update prototype.
11557
11558 * w32term.c (x_display_and_set_cursor): Get active_cursor from
11559 get_window_cursor_type to track system caret.
11560
11561 2002-10-24 Kim F. Storm <storm@cua.dk>
11562
11563 * process.c (Fformat_network_address): New function.
11564 (syms_of_process): Defsubr it.
11565 (list_processes_1): Use it to format :local/:remote address if
11566 service/host is not set; before Emacs would crash in that case.
11567 (Fmake_network_process): Don't use Ffind_operation_coding_system
11568 to setup coding system if host or service is not set.
11569
11570 2002-10-23 Juanma Barranquero <lektu@terra.es>
11571
11572 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
11573
11574 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
11575 COLORREF.
11576
11577 * macgui.h:
11578 * w32gui.h: Add definition of XColor.
11579
11580 * macfns.c:
11581 * w32fns.c:
11582 * xfaces.c: Remove definition of XColor.
11583
11584 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
11585
11586 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
11587
11588 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
11589 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
11590 window if it is dedicated.
11591 (Fshrink_window): Add preserve_before as was done for enlarge_window.
11592 (Vspecial_display_function): Update docstring.
11593
11594 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
11595 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
11596 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
11597
11598 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
11599
11600 * casefiddle.c (casify_region): Don't treat a prefix char as part
11601 of a word when at the beginning.
11602
11603 2002-10-17 Juanma Barranquero <lektu@terra.es>
11604
11605 * lread.c (syms_of_lread): Fix typos.
11606
11607 2002-10-17 Dave Love <fx@gnu.org>
11608
11609 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
11610
11611 2002-10-16 Richard M. Stallman <rms@gnu.org>
11612
11613 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
11614
11615 2002-10-14 Juanma Barranquero <lektu@terra.es>
11616
11617 * w16select.c (syms_of_win16select): Fix docstring for
11618 `selection-coding-system'.
11619
11620 * w32select.c (syms_of_w32select): Likewise.
11621
11622 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
11623
11624 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
11625 a backslash-quoted char.
11626 (scan_lists, scan_sexps_forward): Pacify the compiler.
11627
11628 2002-10-13 Richard M. Stallman <rms@gnu.org>
11629
11630 * window.c (window_scroll): Set immediate_quit.
11631
11632 * print.c (print): When backquote form is the car of a list,
11633 output in old style. Use old_backquote_output to output all
11634 comma forms inside it in old style too.
11635
11636 * buffer.h (struct buffer): Move `undo_list' down below `name'.
11637
11638 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
11639
11640 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
11641 batch mode).
11642
11643 * lread.c (Fload): Doc fix (load-suffixes).
11644
11645 2002-10-10 Steven Tamm <steventamm@mac.com>
11646
11647 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
11648 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
11649 Also switch the default to Qnil from Qt.
11650
11651 2002-10-08 Kenichi Handa <handa@m17n.org>
11652
11653 * coding.c (code_convert_region): When we need more GAP for
11654 conversion, pay attention to the case that coding->produced is not
11655 greater than coding->consumed.
11656
11657 2002-10-07 Richard M. Stallman <rms@gnu.org>
11658
11659 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
11660
11661 2002-10-06 Andrew Choi <akochoi@shaw.ca>
11662
11663 * macmenu.c (mac_menu_show): Add j to count menu items; match
11664 menu_item_selection to it to find selected item.
11665
11666 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11667
11668 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
11669 cases. The correct fix is to pass ReparentNotify to Xt.
11670 The shell widget interprets ConfigureNotify differently depending
11671 on if it has been reparented or not.
11672
11673 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
11674
11675 * editfns.c (Fformat_time_string): Doc fix.
11676
11677 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
11678
11679 * fns.c (Flength): Doc fix.
11680
11681 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
11682
11683 * keyboard.c (keyremap): New struct.
11684 (read_key_sequence): Use it: globally replace keytran_foo with
11685 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
11686 keytran_next and fkey_next to just `next'.
11687
11688 2002-10-04 Steven Tamm <steventamm@mac.com>
11689
11690 * macterm.c (keycode_to_xkeysym_table): Change return to be
11691 treated like an X keysym.
11692
11693 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11694
11695 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
11696 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
11697 This is to also handle x/y changes that occur because of a resize.
11698
11699 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
11700
11701 * frame.c (Vdelete_frame_functions): New variable.
11702 (syms_of_frame): Initialize and defvar it.
11703 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
11704 it when frame's `tooltip' parameter is non-nil.
11705
11706 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
11707
11708 * w32fns.c (x_create_tip_frame): Likewise.
11709
11710 * macfns.c (x_create_tip_frame): Likewise.
11711
11712 2002-09-30 Kenichi Handa <handa@m17n.org>
11713
11714 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
11715 -1 before calling ccl_driver.
11716
11717 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
11718 Only when it is non-nil, handle composition sequence.
11719 (setup_coding_system) <0>: Don't force composition handling.
11720
11721 * Makefile.in (lisp, shortlisp): Add utf-16.elc
11722
11723 2002-09-29 Richard M. Stallman <rms@gnu.org>
11724
11725 * search.c (Freplace_match): Adjust match data for the substitution
11726 just made in the buffer.
11727
11728 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
11729 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
11730
11731 2002-09-27 Richard M. Stallman <rms@gnu.org>
11732
11733 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
11734 (read_char): Use them. Do all exits thru the end of the function.
11735
11736 2002-09-27 Kenichi Handa <handa@etl.go.jp>
11737
11738 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
11739 is nil.
11740
11741 2002-09-26 Richard M. Stallman <rms@gnu.org>
11742
11743 * regex.h (__restrict_arr): Don't define if already defined.
11744
11745 * coding.c (run_pre_post_conversion_on_str):
11746 Save and restore Vdeactivate_mark.
11747
11748 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
11749
11750 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
11751
11752 2002-09-26 Kenichi Handa <handa@etl.go.jp>
11753
11754 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
11755 nonzero, try face's family at first. Otherwise try FAMILY at first.
11756 (choose_face_font): If C is a single byte char or latin-1, call
11757 try_font_list with PREFER_FACE_FAMILY 1.
11758
11759 2002-09-21 Richard M. Stallman <rms@gnu.org>
11760
11761 * window.c (select_window_1): Don't select frame.
11762 Set frame's selected window only when frame itself is selected.
11763 (Fselect_window): Doc fix.
11764
11765 2002-09-18 Kim F. Storm <storm@cua.dk>
11766
11767 * process.c (make-network-process): Doc fix (there is no
11768 network-server-log-function hook).
11769
11770 2002-09-18 Richard M. Stallman <rms@gnu.org>
11771
11772 * print.c (print): Clear out the unused parts of Vprint_number_table.
11773 (syms_of_print): Doc fix for `print-number-table'.
11774
11775 * unexelf.c (unexec): Undo previous change.
11776
11777 2002-09-17 Andreas Schwab <schwab@suse.de>
11778
11779 * m/alpha.h [LINUX]: Don't define DATA_START.
11780
11781 2002-09-16 Dave Love <fx@gnu.org>
11782
11783 * unexelf.c (unexec): Deal with .got, reinstating change from
11784 25-08-1999.
11785
11786 2002-09-13 Richard M. Stallman <rms@gnu.org>
11787
11788 * s/sol2-6.h (UNEXEC): Comment out definition.
11789
11790 * unexsol.c (unexec): Don't downcase first letter of error msg.
11791
11792 * xfaces.c (Fcolor_supported_p): Just one arg is required.
11793
11794 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
11795
11796 * unexsol.c: Include buffer.h, charset.h, coding.h.
11797
11798 2002-09-11 Richard M. Stallman <rms@gnu.org>
11799
11800 * unexsol.c: Don't use report_file_error; do it by hand
11801 using dlerror.
11802
11803 * process.c (wait_reading_process_input, both versions):
11804 Before calling turn_on_atimers, call stop_polling.
11805
11806 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
11807
11808 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
11809 we go to too_near_end, call clear_glyph_matrix.
11810 (redisplay_window): After make_cursor_line_fully_visible,
11811 call clear_glyph_matrix and bypass `goto done'.
11812
11813 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
11814 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
11815
11816 2002-09-10 Richard M. Stallman <rms@gnu.org>
11817
11818 * fileio.c (Fdo_auto_save): Catch error making directory.
11819 Only call push_message if we need to.
11820 At the same time, make an unwind-protect to pop it.
11821 Rename local message_p to old_message_p.
11822 (do_auto_save_make_dir, do_auto_save_eh): New functions.
11823 (do_auto_save_unwind): Don't call pop_message.
11824
11825 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
11826
11827 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
11828
11829 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
11830
11831 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
11832
11833 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
11834
11835 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
11836 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
11837 (re_match_2_internal): Be more careful with infinite loops.
11838
11839 2002-09-10 Kim F. Storm <storm@cua.dk>
11840
11841 * macros.c (end_kbd_macro): New function.
11842 (Fend_kbd_macro): Use it.
11843
11844 * macros.h (end_kbd_macro): Declare extern.
11845
11846 * keyboard.c (Fdiscard_input): If defining keyboard macro,
11847 end and save it instead of discarding it.
11848
11849 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
11850
11851 * s/sol2-6.h: Fix typo. Add comment.
11852
11853 2002-09-09 Richard M. Stallman <rms@gnu.org>
11854
11855 * regex.c (regnum_t): Use signed int, not unsigned int.
11856
11857 * s/sol2-6.h: New file.
11858
11859 * s/sol2-5.h (UNEXEC): Definition deleted.
11860
11861 2002-09-08 Kim F. Storm <storm@cua.dk>
11862
11863 * macros.c (executing_macro_index): Change type to EMACS_INT.
11864 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
11865
11866 * macros.h (executing_macro_index): Change type to EMACS_INT.
11867
11868 2002-09-06 Richard M. Stallman <rms@gnu.org>
11869
11870 * casetab.c (set_case_table): Make canon table point to eqv table.
11871
11872 2002-09-06 Juanma Barranquero <lektu@terra.es>
11873
11874 * coding.c (syms_of_coding): Fix spacing.
11875
11876 * composite.c (Fcompose_region_internal)
11877 (Fcompose_string_internal): Likewise.
11878
11879 * data.c (Flsh): Likewise.
11880
11881 * fontset.c (Fset_fontset_font): Likewise.
11882
11883 * macfns.c (Fx_server_max_request_size): Likewise.
11884
11885 * w16select.c (syms_of_win16select): Likewise.
11886
11887 * w32select.c (syms_of_w32select): Likewise.
11888
11889 * xselect.c (syms_of_xselect): Likewise.
11890
11891 2002-09-05 Richard M. Stallman <rms@gnu.org>
11892
11893 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
11894 call EXTEND_RANGE_TABLE and return a proper value.
11895 (set_image_of_range): Don't call set_image_of_range_1
11896 if no TRANSLATE or if range includes all of Latin-1.
11897 Only call it for the Latin-1 part of the range.
11898 For other cases, make two separate ranges,
11899 one for the original specified characters and one for
11900 their case-conversions.
11901
11902 2002-09-04 Richard M. Stallman <rms@gnu.org>
11903
11904 * s/sol2-5.h (UNEXEC): Use unexsol.o.
11905
11906 * window.c (displayed_window_lines): Correct for one-off bug
11907 in HEIGHT on non-window displays.
11908
11909 * regex.c (set_image_of_range_1): New function.
11910 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
11911 Return a value to indicate running out of memory.
11912 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
11913 (extend_range_table_work_area): New subroutine.
11914 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
11915 Different calling conventions, and used from set_image_of_range{,_1}.
11916 (IMMEDIATE_QUIT_CHECK): Definitions moved.
11917
11918 2002-09-04 Juanma Barranquero <lektu@terra.es>
11919
11920 * makefile.w32-in: All dependencies updated.
11921
11922 2002-09-01 Richard M. Stallman <rms@gnu.org>
11923
11924 * unexsol.c: New file.
11925
11926 * xfns.c (Qbox): Declare external, don't define.
11927
11928 * xdisp.c (redisplay_window) <force-start case>:
11929 If point is on semi-visible last line, reposition
11930 it at previous line.
11931
11932 * alloc.c (display_malloc_warning): Use display-warning.
11933 (malloc_warning_1): Function deleted.
11934
11935 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
11936
11937 * lread.c (read1): Handle #! by skipping the line.
11938
11939 2002-08-31 Richard M. Stallman <rms@gnu.org>
11940
11941 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
11942 Don't include LDFLAGS.
11943 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
11944
11945 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
11946
11947 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
11948 member of x_display_info unless we compile for some window system.
11949
11950 2002-08-31 Kim F. Storm <storm@cua.dk>
11951
11952 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
11953 (get_window_cursor_type): Don't use them.
11954 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
11955
11956 2002-08-30 Kenichi Handa <handa@etl.go.jp>
11957
11958 * xdisp.c (get_next_display_element): Fix previous change.
11959
11960 2002-08-30 Andrew Choi <akochoi@shaw.ca>
11961
11962 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
11963 (expose_window): Use it to fix the display of overlapping
11964 rows (merge code from xterm.c).
11965
11966 * macfns.c (Qbox): Add extern declaration.
11967
11968 2002-08-30 Juanma Barranquero <lektu@terra.es>
11969
11970 * w32fns.c (Qbox): Make extern.
11971 (syms_of_w32fns): Remove initialization of Qbox.
11972
11973 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
11974
11975 * xfns.c (Fx_open_connection): Fix error message.
11976
11977 2002-08-30 Kim F. Storm <storm@cua.dk>
11978
11979 The following changes consolidates the handling of the cursor
11980 type in xdisp.c, moving duplicate code and functionality from
11981 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
11982
11983 * frame.h (enum text_cursor_kinds): Consolidated here.
11984 Added DEFAULT_CURSOR value.
11985 (struct frame) <desired_cursor, cursor_width>
11986 <blink_off_cursor, blink_off_cursor_width>: New fields.
11987 Consolidated from output_x, output_w32 and output_mac structs.
11988 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
11989 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
11990
11991 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
11992 Variables consolidated here.
11993 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
11994 (Vcursor_in_non_selected_windows): Renamed from
11995 cursor_in_non_selected_windows and changed to Lisp_Object.
11996 (syms_of_xdisp): Define and staticpro new and moved variables.
11997 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
11998 consolidated here. Recognize Qhollow setting.
11999 (set_frame_cursor_types): New function to set frame cursor types
12000 based on the frame parameters.
12001 (get_window_cursor_type): New function to calculate new cursor
12002 type and width for the specified window. Based on duplicated
12003 code consolidated here.
12004 Enhancements: cursor-in-non-selected-windows may be a cursor type,
12005 check buffer-local alternate-cursor-type and blink-cursor-alist
12006 before using built-in blink off methods.
12007
12008 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
12009
12010 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
12011 (get_specified_cursor_type, get_window_cursor_type)
12012 (set_frame_cursor_types): Added prototypes.
12013
12014 * macfns.c (x_specified_cursor_type): Removed.
12015 (x_set_cursor_type): Use set_frame_cursor_types.
12016 (Qbar, Qbox): Removed.
12017 (syms_of_macfns): Don't intern or staticpro them.
12018
12019 * macterm.c (x_specified_cursor_type): Remove prototype.
12020 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12021 (x_display_and_set_cursor): Use get_window_cursor_type.
12022 Remove unused local variables cursor_non_selected, active_cursor.
12023 Redraw cursor if hbar cursor width changes.
12024 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
12025
12026 * macterm.h (enum text_cursor_kinds): Removed.
12027 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
12028 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12029 (FRAME_DESIRED_CURSOR): Macro removed.
12030
12031 * w32fns.c (Vblink_cursor_alist): Removed.
12032 (Qbar, Qhbar, Qbox, Qhollow): Removed.
12033 (syms_of_w32fns): Don't intern, staticpro, or define them.
12034 (x_specified_cursor_type): Removed.
12035 (x_set_cursor_type): Use set_frame_cursor_types.
12036
12037 * w32term.c (x_specified_cursor_type): Remove prototype.
12038 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12039 (x_display_and_set_cursor): Use get_window_cursor_type.
12040 Remove unused local variables cursor_off_state.
12041 Redraw cursor if hbar cursor width changes.
12042 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
12043
12044 * w32term.h (enum text_cursor_kinds): Removed.
12045 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
12046 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12047 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12048 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
12049 (struct w32_display_info) <x_highlight_frame>: Renamed member from
12050 w32_highlight_frame.
12051
12052 * xfns.c (Vblink_cursor_alist): Removed.
12053 (Qbar, Qhbar, Qbox, Qhollow): Removed.
12054 (syms_of_xfns): Don't intern, staticpro, or define them.
12055 (x_specified_cursor_type): Removed.
12056 (x_set_cursor_type): Use set_frame_cursor_types.
12057
12058 * xterm.c (x_specified_cursor_type): Remove prototype.
12059 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12060 (x_display_and_set_cursor): Use get_window_cursor_type.
12061 Remove unused local variables cursor_off_state.
12062 Redraw cursor if hbar cursor width changes.
12063
12064 * xterm.h (enum text_cursor_kinds): Removed.
12065 (struct output_x) <current_cursor, desired_cursor, cursor_width>
12066 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12067 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12068 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
12069 (x_specified_cursor_type): Remove prototype.
12070
12071 2002-08-28 Richard M. Stallman <rms@gnu.org>
12072
12073 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
12074 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
12075 (Vblink_cursor_alist): New variable.
12076 (syms_of_w32fns): Initialize and defvar it.
12077 (x_specified_cursor_type): Recognize Qbox for filled box.
12078 Exceptions are hollow boxes.
12079 (Qbox, Qhollow): New variables.
12080 (syms_of_w32fns): Initialize and staticpro them.
12081
12082 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
12083 New macros.
12084 (struct w32_output): New fields blink_off_cursor,
12085 blink_off_cursor_width.
12086 (FRAME_CURSOR_WIDTH): New macro.
12087
12088 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
12089 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
12090
12091 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
12092 for bar cursor.
12093
12094 * w32term.c (expose_overlaps): New function.
12095 (expose_window): Use it to fix the display of overlapping rows.
12096
12097 2002-08-28 Simon Josefsson <jas@extundo.com>
12098
12099 * xfns.c (Fx_open_connection): Improve help when X connection
12100 fails, xhost is insecure and xauth is better.
12101
12102 2002-08-28 Juanma Barranquero <lektu@terra.es>
12103
12104 * makefile.w32-in: Add missing dependencies on w32term.h and
12105 composite.h.
12106
12107 * emacs.c (USAGE1): Add missing newline.
12108
12109 2002-08-27 Andrew Choi <akochoi@shaw.ca>
12110
12111 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
12112
12113 2002-08-27 Richard M. Stallman <rms@gnu.org>
12114
12115 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
12116 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
12117 (Vblink_cursor_alist): New variable.
12118 (syms_of_xfns): Initialize and defvar it.
12119 (x_specified_cursor_type): Recognize Qbox for filled box.
12120 Exceptions are hollow boxes.
12121 (Qbox, Qhollow): New variables.
12122 (syms_of_xfns): Initialize and staticpro them.
12123
12124 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
12125 New macros.
12126 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
12127
12128 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
12129 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
12130
12131 * emacs.c (main): Handle --script.
12132 (USAGE1): Mention --script.
12133 (standard_args): Define sort order for --script.
12134
12135 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
12136
12137 * xdisp.c (redisplay_updating_p): Variable removed.
12138 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
12139 New variables.
12140 (init_iterator): Don't free realized faces if
12141 inhibit_free_realized_faces is set.
12142 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
12143 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
12144 initialize Qinhibit_free_realized_faces.
12145
12146 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
12147 when iterator is adding glyphs to a glyph matrix.
12148
12149 2002-08-27 Kenichi Handa <handa@etl.go.jp>
12150
12151 * xdisp.c (get_next_display_element): In unibyte case, don't use
12152 octal form for such eight-bit characters that can be converted to
12153 multibyte char.
12154
12155 2002-08-26 Kim F. Storm <storm@cua.dk>
12156
12157 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize
12158 foreground and background colors. From Joe Buehler.
12159
12160 2002-08-26 Miles Bader <miles@gnu.org>
12161
12162 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
12163
12164 2002-08-25 Andrew Choi <akochoi@shaw.ca>
12165
12166 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
12167 defined instead of MAC_OSX.
12168
12169 * s/darwin.h (select): Define select to sys_select only if
12170 HAVE_CARBON is defined.
12171 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
12172 (DONT_REOPEN_PTY): #def it.
12173
12174 * macterm.c (XTread_socket): Remove code to call
12175 SendEventToEventTarget for keys with command modifiers when
12176 mac_command_key_is_meta is nil.
12177
12178 2002-08-24 Andreas Schwab <schwab@suse.de>
12179
12180 * eval.c (Fdefvar): Fix last change.
12181
12182 2002-08-23 Richard M. Stallman <rms@gnu.org>
12183
12184 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
12185 Record variables in load history as (defvar . VAR).
12186 (Fdefvar): Don't record in load history if no initial value.
12187 (Qdefvar): New variable.
12188 (syms_of_eval): Init and staticpro it.
12189
12190 * lread.c (syms_of_lread): Doc fix.
12191 (build_load_history): Use Fmember to see if a definition
12192 is already in the Vload_history element.
12193
12194 * process.c (Fstart_process): Remove /: from program name.
12195
12196 * emacs.c (decode_env_path): Don't add /: if file name handler
12197 has a `safe-magic' property.
12198
12199 * callproc.c (Fcall_process): Remove /: from program name.
12200
12201 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
12202
12203 * regex.c (PATFETCH): Remove the translating fetch.
12204 (PATFETCH_RAW): Rename to PATFETCH.
12205 (set_image_of_range): New fun.
12206 (SET_RANGE_TABLE_WORK_AREA): Use it.
12207 (regex_compile): Don't translate the pattern chars so eagerly.
12208 Only do it when inserting an `exactn' bytecode or when handling
12209 a char-range.
12210 (mutually_exclusive_p): Avoid empty statement.
12211
12212 2002-08-22 Kim F. Storm <storm@cua.dk>
12213
12214 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
12215 end up on a partially visible line; this reverts a specific part
12216 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
12217 display error which has been reported several times now.
12218 However it introduces the problem that changes was supposed to fix.
12219 See my comments in the source if you want to debug this further.
12220
12221 2002-08-20 Kenichi Handa <handa@etl.go.jp>
12222
12223 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12224
12225 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
12226
12227 * msdos.c (croak): Add `void' to definition.
12228
12229 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
12230 Don't define them, they are defined in msdos.c.
12231
12232 * mem-limits.h [MSDOS]: Declare etext.
12233
12234 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
12235 `const' since CORRECT_DIR_SEPS modifies its target.
12236
12237 2002-08-19 Kim F. Storm <storm@cua.dk>
12238
12239 * keyboard.c (Fclear_this_command_keys): Add optional arg
12240 KEEP-RECORD to avoid clearing lossage when we just want to clear
12241 the current key sequence (kmacro needs this).
12242
12243 2002-08-19 Kenichi Handa <handa@localhost>
12244
12245 * composite.c (run_composition_function): Call FUNC if it is fboundp.
12246
12247 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
12248 cons, return Qnil.
12249
12250 2002-08-17 Richard M. Stallman <rms@gnu.org>
12251
12252 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
12253
12254 * sysdep.c [!VMS]: Include sys/files.h.
12255
12256 * editfns.c (save_restriction_restore): Defend from unchained marker.
12257
12258 * buffer.c (overlays_at): Handle extending vec uniformly.
12259 (overlays_in): Handle extending vec from length 0 as in overlays_at.
12260
12261 2002-08-15 Andrew Choi <akochoi@shaw.ca>
12262
12263 * mac.c (init_mac_osx_environment): New function.
12264
12265 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
12266
12267 2002-08-14 Kim F. Storm <storm@cua.dk>
12268
12269 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
12270 executing macro before appending to it (when used from Lisp).
12271 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
12272 which is called prior to each iteration of macro (for kmacro.el).
12273 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
12274
12275 * lisp.h (Fexecute_kbd_macro): Update prototype.
12276
12277 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
12278
12279 2002-08-14 Kenichi Handa <handa@etl.go.jp>
12280
12281 * xselect.c (QUTF8_STRING): New variable.
12282 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
12283 (x_atom_to_symbol): Likewise.
12284 (x_get_local_selection): New argument local_request. If it is
12285 nonzero, call handler_fn with the second arg nil.
12286 (x_handle_selection_request): Call x_get_local_selection with
12287 local_request 0.
12288 (lisp_data_to_selection_data): Don't encode the string here.
12289 (Fx_get_selection_internal): Call x_get_local_selection with
12290 local_request 1.
12291 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
12292
12293 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
12294
12295 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
12296
12297 2002-08-13 Richard M. Stallman <rms@gnu.org>
12298
12299 * minibuf.c (Fminibufferp): New function.
12300 (syms_of_minibuf): Defsubr it.
12301 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
12302
12303 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
12304
12305 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
12306
12307 2002-08-12 Richard M. Stallman <rms@gnu.org>
12308
12309 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
12310 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
12311 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
12312 already.
12313
12314 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
12315
12316 2002-08-11 Andrew Choi <akochoi@shaw.ca>
12317
12318 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
12319 (Vmac_pass_command_to_system): New variable.
12320 (Vmac_pass_control_to_system): New variable.
12321 (do_mouse_moved): Check wp with is_emacs_window.
12322 (XTread_socket): Check window_ptr with is_emacs_window.
12323 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
12324 events back to Mac Toolbox for processing, depending on values of
12325 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
12326 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
12327 Vmac_pass_control_to_system.
12328
12329 2002-08-10 Kenichi Handa <handa@etl.go.jp>
12330
12331 * coding.c (unencodable_char_position): New function.
12332 (Funencodable_char_position): New function.
12333 (syms_of_coding): Defsubr Funencodable_char_position.
12334
12335 2002-08-10 Andrew Choi <akochoi@shaw.ca>
12336
12337 * mac.c (sys_select) [MAC_OSX]: New function.
12338
12339 * macterm.c (MakeMeTheFrontProcess): New function.
12340 (mac_initialize): Call MakeMeTheFrontProcess.
12341
12342 * s/darwin.h: Define select to sys_select.
12343
12344 2002-08-09 Richard M. Stallman <rms@gnu.org>
12345
12346 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
12347
12348 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
12349
12350 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
12351 end of the buffer.
12352
12353 2002-08-08 Ken Raeburn <raeburn@mit.edu>
12354
12355 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
12356
12357 * puresize.h (BASE_PURESIZE): Increase to 910000.
12358
12359 2002-08-08 Kenichi Handa <handa@etl.go.jp>
12360
12361 * coding.c (Ffind_operation_coding_system): For write-region, if
12362 VISIT is a filename, make it the target.
12363
12364 2002-08-07 Richard M. Stallman <rms@gnu.org>
12365
12366 * alloc.c (mark_object): Detect long lists for debugging.
12367 (mark_object_loop_halt): New variable.
12368
12369 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
12370
12371 * data.c (Fmake_variable_frame_local): Doc fix.
12372
12373 2002-08-01 David Ponce <david@dponce.com>
12374
12375 * w32menu.c (local_heap, local_alloc, local_free): New macros.
12376 (malloc_widget_value, free_widget_value)
12377 (w32_free_submenu_strings): Use them.
12378
12379 (push_submenu_start, push_submenu_end, push_left_right_boundary)
12380 (push_menu_pane, push_menu_item, single_keymap_panes)
12381 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
12382 (single_submenu, set_frame_menubar)
12383 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
12384
12385 (Fx_popup_menu): Don't show pop up menu until preceding one is
12386 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
12387
12388 * w32menu.c: Changes adapted from xmenu.c
12389 (set_frame_menubar): First parse all submenus,
12390 then make widget_value trees from them.
12391 Don't allocate any widget_value objects
12392 until we are done with the parsing.
12393 (parse_single_submenu): New function.
12394 (digest_single_submenu): New function.
12395 (single_submenu): Function deleted, replaced by those two.
12396
12397 2002-08-04 Andrew Choi <akochoi@shaw.ca>
12398
12399 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
12400 returns a valid window pointer before proceeding for keyDown and
12401 autoKey events.
12402
12403 2002-08-03 Andrew Choi <akochoi@shaw.ca>
12404
12405 * macterm.c (USE_CARBON_EVENTS): New macro.
12406 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
12407 (x_iconify_frame): Call CollapseWindow.
12408 (Vmac_reverse_ctrl_meta): New variable.
12409 (Vmac_wheel_button_is_mouse_2): New variable.
12410 (init_mac_drag_n_drop): New function.
12411 (mac_do_receive_drag): New function.
12412 (mac_handle_service_event): New function.
12413 (init_service_handler): New function.
12414 (mac_to_emacs_modifiers): New function.
12415 (mac_event_to_emacs_modifiers): New function.
12416 (mac_get_mouse_btn): New function.
12417 (mac_convert_event_ref): New function.
12418 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
12419 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
12420 mac_get_mouse_btn.
12421 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
12422
12423 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
12424 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
12425 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
12426 TOOL_BAR_EVENT for MAC_OS as well.
12427 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
12428 as for WINDOWS_NT.
12429 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
12430
12431 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
12432
12433 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
12434
12435 * xdisp.c (forward_to_next_line_start): Fix a condition that
12436 lead to a newline being skipped.
12437
12438 2002-08-02 Andrew Choi <akochoi@shaw.ca>
12439
12440 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
12441
12442 2002-08-01 Richard M. Stallman <rms@gnu.org>
12443
12444 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
12445
12446 2002-07-31 Andrew Choi <akochoi@shaw.ca>
12447
12448 * macfns.c: #undef init_process before #define-ing it.
12449
12450 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
12451 HAVE_CARBON is defined.
12452
12453 2002-07-31 Richard M. Stallman <rms@gnu.org>
12454
12455 * xmenu.c (set_frame_menubar): First parse all submenus,
12456 then make widget_value trees from them.
12457 Don't allocate any widget_value objects
12458 until we are done with the parsing.
12459 (parse_single_submenu): New function.
12460 (digest_single_submenu): New function.
12461 (single_submenu): Function deleted, replaced by those two.
12462
12463 2002-07-30 Juanma Barranquero <lektu@terra.es>
12464
12465 * w32proc.c (syms_of_ntproc): Fix docstring of
12466 `w32-get-true-file-attributes'.
12467
12468 2002-07-28 Richard M. Stallman <rms@gnu.org>
12469
12470 * s/hpux8.h (HPUX8): Define this before including hpux.h.
12471 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
12472
12473 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
12474
12475 * keyboard.c (make_lispy_event):
12476 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
12477 Explicitly clear up_modifier in event->modifiers.
12478
12479 2002-07-27 Richard M. Stallman <rms@gnu.org>
12480
12481 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
12482
12483 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
12484 for bar cursor.
12485
12486 2002-07-26 Kenichi Handa <handa@etl.go.jp>
12487
12488 * coding.c (detect_coding_iso2022): While checking a byte sequence
12489 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
12490 it in the normal loop.
12491
12492 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
12493
12494 * xterm.c (expose_overlaps): New function.
12495 (expose_window): Use it to fix the display of overlapping rows.
12496
12497 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
12498
12499 2002-07-23 Ken Raeburn <raeburn@gnu.org>
12500
12501 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
12502 since it only depends on XUINT.
12503
12504 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
12505 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
12506 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
12507 Macros deleted.
12508
12509 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
12510 its value over other approaches.
12511 * sysdep.c (start_of_data): Don't define the function if a macro
12512 form has been defined.
12513
12514 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
12515
12516 * xdisp.c (redisplay_updating_p): New variable.
12517 (init_iterator): Don't free realized faces when
12518 redisplay_updating_p is set.
12519 (redisplay_internal): Set redisplay_updating_p while updating
12520 the display.
12521
12522 2002-07-23 Richard M. Stallman <rms@gnu.org>
12523
12524 * editfns.c (Fmessage): Treat "" like nil.
12525
12526 2002-07-23 Kenichi Handa <handa@etl.go.jp>
12527
12528 * xdisp.c (face_before_or_after_it_pos):
12529 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12530
12531 2002-07-22 Juanma Barranquero <lektu@terra.es>
12532
12533 * callproc.c (init_callproc) [DOS_NT]:
12534 Initialize Vshared_game_score_directory to nil.
12535 (syms_of_callproc) [DOS_NT]: Likewise.
12536
12537 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
12538
12539 * xdisp.c (display_line): Replace an abort with xassert.
12540
12541 2002-07-21 Richard M. Stallman <rms@gnu.org>
12542
12543 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
12544 and END_UNCHANGED when setting buffer_unchanged_p.
12545 Use current_matrix_up_to_date_p to decide whether to use
12546 try_cursor_movement.
12547
12548 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
12549
12550 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
12551
12552 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
12553 Set to nil if dir does not exist.
12554 (syms_of_callproc): Init unconditionally and simply.
12555
12556 * buffer.c (Fbuffer_list): Doc fix.
12557
12558 2002-07-21 Ken Raeburn <raeburn@gnu.org>
12559
12560 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
12561
12562 * buffer.c (mmap_realloc): When shrinking, make sure number of
12563 pages to unmap is rounded towards zero.
12564
12565 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
12566 (XSETINT): Deleted.
12567
12568 * m/att3b.h (XINT): Don't define.
12569 (VALBITS, VALMASK, XTYPE): Deleted.
12570 (DATA_SEG_BITS): Define.
12571 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
12572 ARRAY_MARK_FLAG): Deleted.
12573 (DATA_SEG_BITS): Define.
12574 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
12575 (DATA_SEG_BITS): Define.
12576
12577 2002-07-20 Richard M. Stallman <rms@gnu.org>
12578
12579 * print.c (print_error_message): New args CONTEXT and CALLER.
12580 Calls changed.
12581
12582 * lisp.h (print_error_message): Declare new args.
12583
12584 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
12585 and CONTEXT to print_error_message, don't print them here.
12586 For a Quit, don't use Vsignaling_function.
12587 Call message_log_maybe_newline.
12588
12589 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
12590
12591 2002-07-20 Kim F. Storm <storm@cua.dk>
12592
12593 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
12594
12595 2002-07-19 Ken Raeburn <raeburn@gnu.org>
12596
12597 * bytecode.c (struct byte_stack): Pointers into byte string now
12598 point to const.
12599 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
12600 const.
12601 * charset.h (BCOPY_SHORT): Source pointer now points to const.
12602 * coding.c (encode_eol, detect_coding, detect_eol):
12603 (decode_coding, encode_coding, detect_coding_system):
12604 Source strings now treated as const.
12605 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
12606 modify Lisp string contents.
12607 * coding.h (decode_coding, encode_coding, detect_coding,
12608 detect_eol): Declarations updated.
12609 * composite.c (compose_chars_in_text): Treat Lisp string contents
12610 as const.
12611 * dispnew.c (safe_bcopy): Source pointer now points to const.
12612 * lisp.h (STRING_COPYIN): New macro.
12613 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
12614 (internal_with_output_to_temp_buffer): Declarations updated.
12615 * print.c (temp_output_buffer_setup):
12616 (internal_with_output_to_temp_buffer): Buffer name argument is now
12617 pointer to const.
12618 * sound.c (struct sound_device): Function pointer field "write"
12619 buffer argument now points to const.
12620 (vox_write): Buffer argument points to const.
12621 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
12622 contents as const.
12623 * sysdep.c (emacs_write): Buffer pointer now const.
12624 * term.c (encode_terminal_code): Buffer pointer now const.
12625 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
12626 (x_face_list_fonts, x_update_menu_appearance):
12627 (hash_string_case_insensitive): Treat Lisp string contents as const.
12628
12629 2002-07-19 Juanma Barranquero <lektu@terra.es>
12630
12631 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
12632
12633 * fileio.c (syms_of_fileio): Likewise.
12634 (Ffile_name_as_directory): Fix argument name in docstring.
12635 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
12636
12637 2002-07-18 Richard M. Stallman <rms@gnu.org>
12638
12639 * data.c (Fdefalias): Doc fix.
12640
12641 2002-07-17 Dave Love <fx@gnu.org>
12642
12643 * intervals.h (text_property_stickiness): Use P_.
12644
12645 * ccl.c: Remove `emacs' conditionals.
12646 (ccl_backtrace_table): Fix size spec.
12647 (ccl_driver): Fix type errors.
12648
12649 2002-07-16 Ken Raeburn <raeburn@gnu.org>
12650
12651 * alloc.c (xstrdup, make_string, make_unibyte_string)
12652 (make_multibyte_string, build_string): String pointer args now
12653 point to const.
12654 * charset.c (find_charset_in_text, c_string_width):
12655 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
12656 * fileio.c (report_file_error):
12657 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
12658 (count_combining_before, count_combining_after, insert_1_both):
12659 (insert, insert_and_inherit, insert_string):
12660 (insert_before_markers, insert_before_markers_and_inherit):
12661 * lread.c (intern, oblookup, hash_string):
12662 * minibuf.c (temp_echo_area_glyphs):
12663 * search.c (fast_c_string_match_ignore_case):
12664 * sysdep.c (emacs_open, set_file_times):
12665 * xfaces.c (xstricmp):
12666 * xdisp.c (store_frame_title, string_char_and_length):
12667 (message_dolog, message2, message2_nolog, set_message): Likewise.
12668 (set_message_1): Cast message string argument to const pointer.
12669 * editfns.c (general_insert_function): Insertion function now
12670 takes pointer to const for input data.
12671 * charset.h (find_charset_in_text, c_string_width):
12672 (parse_str_as_multibyte): Declarations updated.
12673 * dispextern.h (xstricmp): Declaration updated.
12674 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
12675 (count_size_as_multibyte, count_combining_before):
12676 (count_combining_after, insert_1, insert_1_both, message_dolog):
12677 (insert, insert_and_inherit, insert_before_markers)
12678 (insert_before_markers_and_inherit, set_message, message2):
12679 (message2_dolog, build_string, make_string, make_unibyte_string):
12680 (make_multibyte_string, intern, oblookup, report_file_error):
12681 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
12682 (emacs_open, xstrdup): Declarations updated.
12683 * systime.h (set_file_times): Declaration updated.
12684
12685 * charset.c (find_charset_in_text, lisp_string_width): Use const
12686 for pointer to lisp string data.
12687 * charset.h (FETCH_STRING_CHAR_ADVANCE):
12688 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
12689 * coding.c (Ffind_coding_systems_region_interval):
12690 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
12691 (Fmake_directory_internal, Fdelete_directory):
12692 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
12693 * fontset.c (font_family_registry, fs_query_fontset):
12694 (list_fontsets):
12695 * frame.c (Fframe_parameter):
12696 * keyboard.c (cmd_error_internal):
12697 * keymap.c (Fdescribe_buffer_bindings):
12698 * lread.c (complete_filename_p, openp):
12699 * minibuf.c (Fminibuffer_complete_word):
12700 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
12701 (face_before_or_after_it_pos, next_element_from_string):
12702 (get_overlay_arrow_glyph_row, display_mode_element):
12703 (decode_mode_spec_coding):
12704 * xterm.c (same_x_server): Likewise.
12705
12706 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
12707 settings of non-existent fields.
12708
12709 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
12710 copy a lisp value.
12711
12712 * lread.c (Fintern_soft): Use string macros instead of
12713 Lisp_String fields.
12714 * keyboard.c (echo_char, parse_modifiers_uncached):
12715 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
12716 * textprop.c (validate_interval_range, interval_of): Likewise.
12717
12718 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
12719
12720 * charset.h (FETCH_STRING_CHAR_ADVANCE)
12721 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
12722 XSTRING()->size_byte.
12723
12724 * lisp.h (SDATA, SREF): Produce rvalue.
12725 (SSET): New macro.
12726 * alloc.c (make_event_array): Use SSET for storing into a string.
12727 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
12728 a string.
12729 * casefiddle.c (casify_object): Use SSET.
12730 * charset.h (FETCH_STRING_CHAR_ADVANCE)
12731 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
12732 address of string contents.
12733 * data.c (Faref): Use SDATA.
12734 (Faset): Use SDATA, SSET.
12735 * dired.c (directory_files_internal): Use SSET.
12736 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
12737 (Fread_file_name): Use SREF, SSET.
12738 * fns.c (concat): Use SSET.
12739 (concat, Fdelete): Use SDATA.
12740 * insdel.c (insert_from_string_1): Use SDATA.
12741 * keyboard.c (Fevent_convert_list): Use SREF.
12742 * lread.c (Fload): Use SDATA, SSET.
12743 * macfns.c (validate_x_resource_name): Use SSET.
12744 * process.c (status_message): Use SSET.
12745 * search.c (wordify): Use SDATA.
12746 (Freplace_match): Use SREF.
12747 * w32fns.c (validate_x_resource_name): Use SSET.
12748 * xfns.c (validate_x_resource_name): Use SSET.
12749 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
12750
12751 2002-07-16 Richard M. Stallman <rms@gnu.org>
12752
12753 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
12754
12755 * xdisp.c (reconsider_clip_changes):
12756 Don't test prevent_redisplay_optimizations_p.
12757 (redisplay_internal): Test prevent_redisplay_optimizations_p
12758 along with clip_changed in some cases.
12759 (try_window_id): Likewise.
12760 (redisplay_window): New local var buffer_unchanged_p.
12761
12762 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
12763
12764 * process.c (create_process): Test USG_SUBTTY_WORKS.
12765 (process_send_signal): Clean up handling of GID.
12766 Detect errors in ioctls meant to set GID.
12767
12768 * window.c (temp_output_buffer_show):
12769 Don't set prevent_redisplay_optimizations_p.
12770
12771 2002-07-15 Juanma Barranquero <lektu@terra.es>
12772
12773 * eval.c (Fdefvaralias): Add docstring argument.
12774
12775 2002-07-15 Ken Raeburn <raeburn@gnu.org>
12776
12777 * lisp.h (STRING_INTERVALS): Produce rvalue.
12778 (STRING_SET_INTERVALS): New macro.
12779 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
12780 * fns.c (Fstring_as_multibyte): Likewise.
12781 * intervals.c (balance_possible_root_interval, delete_interval)
12782 (create_root_interval, copy_intervals_to_string): Likewise.
12783 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
12784 instead of 0.
12785
12786 2002-07-14 Ken Raeburn <raeburn@gnu.org>
12787
12788 * lisp.h (STRING_SET_CHARS): New macro.
12789 (SCHARS, SBYTES): Produce rvalues.
12790 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
12791 * fns.c (concat): Likewise.
12792 * lread.c (read_vector): Likewise.
12793
12794 * lisp.h (SMBP): Delete. All uses changed to STRING_MULTIBYTE.
12795 (STRING_SET_UNIBYTE): New macro.
12796 (SET_STRING_BYTES): Delete. Callers (all of which supplied a
12797 length of -1) changed to use STRING_SET_UNIBYTE.
12798 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
12799 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
12800 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
12801 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
12802 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
12803 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
12804 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
12805 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
12806 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
12807 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
12808 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
12809 STRING_BYTES or indirection changed to SCHARS, SBYTES,
12810 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
12811 unchanged for now.
12812
12813 2002-07-13 Kim F. Storm <storm@cua.dk>
12814
12815 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
12816
12817 2002-07-12 Richard M. Stallman <rms@gnu.org>
12818
12819 * fileio.c (Fwrite_region): Doc fix.
12820
12821 * print.c (print_error_message): Don't handle Vsignaling_function here.
12822
12823 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
12824 (command_loop_1): Avoid certain actions after memory-full error.
12825
12826 * eval.c (Fsignal): Don't call cancel_hourglass.
12827 For a memory-full error, don't call Vsignal_hook_function
12828 and don't set Vsignaling_function.
12829
12830 * process.c (process_send_signal): Add abort call.
12831
12832 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
12833
12834 * keymap.c (Fkey_binding): Fix typo.
12835
12836 2002-07-11 Richard M. Stallman <rms@gnu.org>
12837
12838 * alloc.c (Vmemory_full): New variable.
12839 (Vmemory_signal_data): Rename from memory_signal_data.
12840 Uses changed.
12841 (syms_of_alloc): Defvar them.
12842 (memory_full, buffer_memory_full): Set Vmemory_full.
12843
12844 * lisp.h (Vmemory_full): Add declaration.
12845 (current_column, indented_beyond_p): Change declaration.
12846
12847 * indent.c (last_known_column): Declare as double, not float.
12848 (current_column, current_column_1, string_display_width)
12849 (position_indentation): Return `double'.
12850 (indented_beyond_p): Arg `column' is `double'. Callers changed.
12851
12852 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
12853 (back_to_previous_visible_line_start)
12854 (reseat_at_next_visible_line_start, next_element_from_buffer):
12855 Use `double', not `float', when calling indented_beyond_p.
12856
12857 * s/hpux11.h (BROKEN_SA_RESTART): Define.
12858
12859 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
12860
12861 2002-07-11 Juanma Barranquero <lektu@terra.es>
12862
12863 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
12864 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
12865 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
12866 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
12867 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
12868 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
12869
12870 2002-07-10 Juanma Barranquero <lektu@terra.es>
12871
12872 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
12873 All callers changed.
12874
12875 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
12876
12877 * data.c (Fdefalias): Add an optional `docstring' argument.
12878 (set_internal, Fsetq_default): Use XCAR/XCDR.
12879
12880 * composite.c (HASH_VALUE, HASH_KEY):
12881 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
12882
12883 2002-07-09 Kenichi Handa <handa@etl.go.jp>
12884
12885 * callproc.c (Fcall_process): Fix previous change.
12886
12887 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
12888
12889 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
12890 Add support for hash-tables.
12891 (Ftry_completion): Return t even if the string appears multiple times.
12892
12893 * fns.c (Fnconc): Use XCDR.
12894 (Fprovide): Use CONSP and XCDR.
12895 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
12896 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
12897 (Fmake_hash_table): Accept `:size nil'.
12898 (Fmakehash): Delete: moved to subr.el.
12899 (syms_of_fns): Don't defsubr makehash.
12900
12901 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
12902 (HASH_TABLE_SIZE): Move from fns.c.
12903
12904 2002-07-07 Richard M. Stallman <rms@gnu.org>
12905
12906 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
12907 Instead just return 0 when there is something to be done.
12908 (try_scrolling): If make_cursor_line_fully_visible returns 0,
12909 retry scrolling as if cursor were off the bottom.
12910 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
12911 return CURSOR_MOVEMENT_MUST_SCROLL.
12912 (redisplay_window): If make_cursor_line_fully_visible returns 0,
12913 go to try_to_scroll.
12914
12915 * buffer.c (Fbuffer_local_value): Store current value into its binding
12916 so we get the up-to-date value for the binding that is loaded.
12917
12918 * eval.c (Fdefmacro): Doc fix.
12919
12920 2002-07-05 Dave Love <fx@gnu.org>
12921
12922 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
12923 correctly.
12924
12925 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
12926 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
12927 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
12928 CCL_LookupCharConstTbl.
12929 (syms_of_ccl): Defvar translation-hash-table-vector.
12930
12931 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12932
12933 * xdisp.c: Remove unused variable `face'.
12934
12935 2002-07-04 Juanma Barranquero <lektu@terra.es>
12936
12937 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
12938 obsolescence information.
12939
12940 2002-07-03 Andrew Choi <akochoi@shaw.ca>
12941
12942 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
12943 pattern. Search cache first.
12944 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
12945 for Japanese font.
12946 (XLoadQueryFont): Use it.
12947
12948 2002-07-02 Richard M. Stallman <rms@gnu.org>
12949
12950 * keymap.c (Fdefine_key): Doc fix.
12951
12952 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
12953
12954 2002-07-02 Juanma Barranquero <lektu@terra.es>
12955
12956 * keymap.c (syms_of_keymap): Fix typo.
12957
12958 2002-07-01 Andrew Choi <akochoi@shaw.ca>
12959
12960 * s/darwin.h: Define POSIX_SIGNALS.
12961
12962 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
12963 and FSRefMakePath to convert FSSpec returned with Apple Event to
12964 Posix pathname.
12965 (mac_initialize) [TARGET_API_MAC_CARBON]:
12966 Call init_required_apple_events and disable the `Quit' menu item
12967 provided automatically by the Carbon Toolbox.
12968
12969 2002-07-01 Dave Love <fx@gnu.org>
12970
12971 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12972 for K&R.
12973
12974 * xterm.c: Fix prototype for K&R.
12975
12976 * term.c (costs_set): Declare static, non-initialized for pcc.
12977
12978 2002-07-01 Richard M. Stallman <rms@gnu.org>
12979
12980 * keyboard.c (timer_last_idleness_start_time): New variable.
12981 (timer_start_idle): Set that.
12982 (read_key_sequence): Use that to reset timer_idleness_start_time
12983 to previous value.
12984
12985 * window.c (Frecenter): With arg, set optional_new_start.
12986
12987 * xdisp.c (redisplay_internal): Make optional_new_start really work.
12988
12989 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
12990 buffer for completion.
12991
12992 2002-06-29 Ken Raeburn <raeburn@gnu.org>
12993
12994 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
12995
12996 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12997
12998 * keyboard.c (readable_filtered_events): New function that filters
12999 FOCUS_IN_EVENT depending on parameter.
13000 (readable_events): Calls readable_filtered_events, not filtering
13001 FOCUS_IN_EVENT.
13002 (get_filtered_input_pending): New function, filtering parameter passed
13003 to readable_filtered_events.
13004 (get_input_pending): Calls get_filtered_input_pending, not filtering
13005 FOCUS_IN_EVENT.
13006 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
13007 FOCUS_IN_EVENT.
13008
13009 * xterm.h (struct x_output): Add focus_state.
13010
13011 * xterm.c (x_focus_changed): New function.
13012 (x_detect_focus_change): New function.
13013 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
13014 EnterNotify and LeaveNotify to track X focus changes.
13015
13016 2002-06-28 Andreas Schwab <schwab@suse.de>
13017
13018 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
13019
13020 2002-06-27 Kim F. Storm <storm@cua.dk>
13021
13022 * xdisp.c: (mode_line_string_list, mode_line_string_face)
13023 (mode_line_string_face_prop): New variables.
13024 (store_mode_line_string): New function.
13025 (display_mode_element): Use store_mode_line_string to
13026 add mode-line string elements to mode_line_string_list
13027 when mode_line_string_list is non-nil.
13028 (Fformat_mode_line): Now returns propertized string by
13029 default. New arg NO-PROPS to ignore properties.
13030 (decode_mode_spec): Only add two dashes for %- in propertized
13031 mode-line string.
13032 (syms_of_xdisp): Init and staticpro mode_line_string_list.
13033
13034 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
13035
13036 * minibuf.c (minibuffer_completion_contents): Add return type.
13037
13038 2002-06-27 Juanma Barranquero <lektu@terra.es>
13039
13040 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
13041
13042 2002-06-26 Juanma Barranquero <lektu@terra.es>
13043
13044 * fileio.c (read_file_name_cleanup): Add missing return.
13045
13046 2002-06-26 Richard M. Stallman <rms@gnu.org>
13047
13048 * window.c (Frecenter): Don't set force_start flag.
13049
13050 * minibuf.c (do_completion, Fminibuffer_complete_word)
13051 (Fminibuffer_completion_help): Complete just the text before point.
13052 (minibuffer_completion_contents): New function.
13053
13054 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
13055
13056 * frame.c (frames_bury_buffer): Function deleted.
13057
13058 2002-06-25 Miles Bader <miles@gnu.org>
13059
13060 * callint.c (Fcall_interactively): When checking to see if doprnt hit
13061 the end of callint_message, allow for a terminating '\0'.
13062
13063 2002-06-24 Juanma Barranquero <lektu@terra.es>
13064
13065 * w32select.c: Include composite.h
13066
13067 * w16select.c: Likewise.
13068
13069 2002-06-24 Kenichi Handa <handa@etl.go.jp>
13070
13071 * callproc.c (Fcall_process): If code detection is necessary,
13072 call detect_coding directly here.
13073
13074 * coding.c (detect_eol): Preserve coding->cmp_data.
13075
13076 * w16select.c (Fw16_get_clipboard_data):
13077 * w32fns.c (w32_to_x_font):
13078 * w32select.c (Fw32_get_clipboard_data):
13079 * xselect.c (selection_data_to_lisp_data):
13080 * xterm.c (XTread_socket): Disable composition handling.
13081
13082 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
13083
13084 * print.c (temp_output_buffer_setup): Kill all local variables.
13085
13086 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
13087
13088 * lread.c (Fread): Remove redundant and imprecise declaration.
13089
13090 * xfns.c (check_x_display_info): Use check_x_frame.
13091
13092 * .gdbinit (xprintsym): Use the new `xname' field.
13093 (xsymbol): Use it.
13094
13095 2002-06-22 Jason Rumney <jasonr@gnu.org>
13096
13097 * w32fns.c (file_dialog_callback): New function.
13098 (Fx_file_dialog): Allow selecting directories as well as files.
13099
13100 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13101
13102 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
13103 OpenBSD. Add support for mipseb-*-netbsd* machines.
13104
13105 2002-06-17 Andrew Choi <akochoi@shaw.ca>
13106
13107 * macterm.c (mac_scroll_area): Set foreground and backcolor to
13108 black and white before scrolling. Restore frame background and
13109 foreground color after scrolling.
13110 (do_window_update): Call XClearWindow before calling expose_frame.
13111 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
13112 FRAME_FOREGROUND_PIXEL of frame.
13113
13114 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
13115 test Mac command key as <ALT> key.
13116
13117 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
13118
13119 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
13120
13121 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
13122 Lookup keys in function-key-map immediately so that key-translation-map
13123 can be applied earlier.
13124 Remove function_key_possible and key_translation_possible, replaced
13125 by checking `keytran_start < t'.
13126
13127 * .gdbinit (xsymbol): Use the new `xname' field.
13128
13129 2002-06-17 Andrew Choi <akochoi@shaw.ca>
13130
13131 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
13132 test Mac command key as <ALT> key.
13133
13134 * mac.c (do_applescript): Call initialize_applescript if necessary
13135 when first called. Dispose of result_desc only when there is no error.
13136 (Fdo_applescript): Use %d format specifier instead of %ld.
13137
13138 2002-06-16 Andrew Choi <akochoi@shaw.ca>
13139
13140 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
13141 of FrontWindow for cases keyDown and autoKey.
13142
13143 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
13144 Vdefault_fontset to Monaco with mac-roman coding.
13145
13146 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
13147 init_process before and after inclusion of Carbon/Carbon.h, resp.
13148
13149 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
13150 cursor_gc.
13151 (add_font_name_table_entry): New function.
13152 (init_font_name_table): Use add_font_name_table_entry; add italic,
13153 bold, and bold-italic entries for truetype fonts.
13154
13155 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
13156 for Mac too.
13157 (try_font_list) [MAC_OS]: If no font matches given registry, try
13158 fonts with any registry matching face_family.
13159 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
13160
13161 * s/darwin.h: If autoconf detects the Ncurses library, define
13162 LIBS_TERMCAP to -lncurses to use it.
13163
13164 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
13165
13166 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
13167
13168 2002-06-15 Richard M. Stallman <rms@gnu.org>
13169
13170 * window.c (Fset_window_configuration): Explicitly preserve
13171 the point value that new_current_buffer had at the start.
13172
13173 2002-06-14 Juanma Barranquero <lektu@terra.es>
13174
13175 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
13176 Fix typos.
13177
13178 2002-06-14 Kim F. Storm <storm@cua.dk>
13179
13180 * insdel.c (insert_1_both, insert_from_string_1)
13181 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
13182 insert happened in the end_unchanged region. Otherwise, the
13183 redisplay may be confused and duplicate the last line in the
13184 buffer [seen after save-buffer when require-final-newline==t].
13185
13186 2002-06-13 Jason Rumney <jasonr@gnu.org>
13187
13188 * w32.c (init_environment): Remove EMACSLOCKDIR.
13189 (stat): Swap _S_IFDIR and _S_IFREG.
13190
13191 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13192
13193 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
13194 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
13195 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
13196 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
13197 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
13198 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
13199 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
13200 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
13201 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
13202 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
13203 SELECTION_REQUEST_EVENT, selection_clear_event to
13204 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
13205 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
13206 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
13207 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
13208 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
13209 no_event to NO_EVENT.
13210
13211 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13212
13213 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
13214
13215 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
13216
13217 * intervals.c (textget): Don't forget to `return'.
13218 (lookup_char_property): Use XCAR/XCDR.
13219
13220 2002-06-12 Juanma Barranquero <lektu@terra.es>
13221
13222 * xdisp.c (Fformat_mode_line): Fix typo.
13223
13224 2002-06-12 Kim F. Storm <storm@cua.dk>
13225
13226 * xdisp.c (Fformat_mode_line): New function.
13227 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
13228 (store_frame_title_char, store_frame_title): Use unconditionally.
13229 (init_xdisp): Defsubr Fformat_mode_line.
13230 Initialize frame_title_buf etc. unconditionally.
13231
13232 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
13233
13234 * keyboard.c (read_key_sequence):
13235 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
13236 things through those maps after downcasing events.
13237 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
13238 applies after function-key-map.
13239 Make sure that keytran can be done in the middle in the sequence.
13240 Be careful not to throw away events past the one we downcase.
13241
13242 * lread.c (read_integer): Remove unused var `tem'.
13243 (read1): Fix int/Lisp_Object mixup.
13244
13245 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
13246
13247 2002-06-11 Richard M. Stallman <rms@gnu.org>
13248
13249 * keyboard.c (readable_events): Ignore any number of
13250 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
13251
13252 2002-06-09 Miles Bader <miles@gnu.org>
13253
13254 * xfaces.c (Ftty_supports_face_attributes_p): New function.
13255 (parse_rgb_list, tty_lookup_color): New functions.
13256 (tty_defined_color): Use `tty_lookup_color' to do all the work.
13257 (color_distance, Fcolor_distance): New functions.
13258 (TTY_SAME_COLOR_THRESHOLD): New macro.
13259 (Qtty_color_standard_values): New variable.
13260 (syms_of_xfaces): Initialize new vars & functions.
13261
13262 2002-06-08 Colin Walters <walters@verbum.org>
13263
13264 * textprop.c (Vchar_property_alias_alist): New variable.
13265 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
13266
13267 * intervals.c (lookup_char_property): New function for looking up
13268 overlay and text properties, created from textget.
13269 (textget): Use it.
13270
13271 * intervals.h (lookup_char_property): Declare.
13272 (Vchar_property_alias_alist): Declare.
13273
13274 * buffer.c (Foverlay_get): Use lookup_char_property.
13275
13276 2002-06-07 Sam Steingold <sds@gnu.org>
13277
13278 * xselect.c (lisp_data_to_selection_data): Fix last change:
13279 *data_ret is not a Lisp string, while unibyte_string is.
13280
13281 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
13282
13283 * xselect.c (lisp_data_to_selection_data): Fix last change:
13284 set size_ret.
13285
13286 2002-06-07 Andreas Schwab <schwab@suse.de>
13287
13288 * m/amdx86-64.h: New file.
13289
13290 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
13291
13292 * fns.c (Fstring_make_unibyte): Doc fix.
13293
13294 * xselect.c (lisp_data_to_selection_data): If the requested type
13295 is STRING, call string_make_unibyte to encode the selected text
13296 as a string.
13297
13298 * window.c (Fset_window_hscroll): Doc fix.
13299
13300 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13301
13302 * fileio.c (choose_write_coding_system):
13303 Call select-safe-coding-system properly.
13304
13305 2002-06-03 Richard M. Stallman <rms@gnu.org>
13306
13307 * xdisp.c (message_with_string): Error if STRING is not a string.
13308
13309 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
13310
13311 * fileio.c (choose_write_coding_system): Pass FILE arg to
13312 Vselect_safe_coding_system_function.
13313
13314 2002-06-03 Ken Raeburn <raeburn@gnu.org>
13315
13316 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
13317
13318 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
13319
13320 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
13321 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
13322 * keymap.c (describe_command): Likewise.
13323 * minibuf.c (read_minibuf): Likewise.
13324
13325 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
13326 Cast `current_column' return value to int.
13327 (back_to_previous_visible_line_start)
13328 (reseat_at_next_visible_line_start, next_element_from_buffer):
13329 Cast `indented_beyond_p' 3rd arg to float.
13330
13331 * indent.c (last_known_column): Now a float.
13332 (current_column_1, position_indentation, current_column)
13333 (string_display_width): Return float.
13334 (Fcurrent_column): Cast `current_column' return value to int.
13335 (Fcurrent_indentation): Cast `position_indentation' retval to int.
13336 (indented_beyond_p): Third arg now a float.
13337 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
13338
13339 * lisp.h (current_column): Now returns float.
13340 (indented_beyond_p): 3rd arg now a float.
13341
13342 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
13343
13344 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
13345 is Qcompound_text_with_extensions.
13346
13347 * xselect.c (lisp_data_to_selection_data): Always set selection
13348 type as string if x_encode_text returns streingp non-NULL.
13349
13350 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
13351
13352 2002-05-30 Richard M. Stallman <rms@gnu.org>
13353
13354 * window.c (Fset_window_configuration): Correct the handling
13355 of point in current buffer, to work with multiple windows.
13356
13357 2002-05-29 Colin Walters <walters@verbum.org>
13358
13359 * lread.c (Fread_from_string): Don't depend on order of evaluation
13360 for C function parameters.
13361
13362 2002-05-28 Richard M. Stallman <rms@gnu.org>
13363
13364 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
13365 way for blinked-off state and for a nonselected window.
13366
13367 * window.c (window_scroll_pixel_based): Don't call Fbolp;
13368 instead, see if the new start pos is at beginning of line.
13369
13370 * fileio.c (Fwrite_region): If START is a string, don't
13371 make any annotations.
13372
13373 * eval.c (syms_of_eval): Doc fix.
13374
13375 2002-05-28 Colin Walters <walters@debian.org>
13376
13377 * emacs.c (USAGE1): Add --no-splash.
13378 (standard_args): Ditto.
13379
13380 2002-05-28 Colin Walters <walters@gnu.org>
13381
13382 * lread.c (readchar_count): New variable.
13383 (readchar): Increment it.
13384 (unreadchar): Decrement it.
13385 (read_multibyte): Decrement it.
13386 (Vread_with_symbol_positions): New variable.
13387 (Vread_symbol_positions_list): New variable.
13388 (read_internal_start): New function, created from Fread and
13389 Fread_from_string. Handle Vread_symbol_positions_list and
13390 Vread_with_symbol_positions.
13391 (readevalloop, Fread, Fread_from_string): Use it.
13392 (read1): Use readchar_count to add symbol positions to
13393 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
13394 (syms_of_lread): DEFVAR_LISP and initialize them.
13395
13396 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
13397 (substitute_object_recurse, substitute_object_in_subtree)
13398 (substitute_in_interval): Prototype.
13399 (read_multibyte): Return c if it's less than zero.
13400
13401 2002-05-28 Kim F. Storm <storm@cua.dk>
13402
13403 * fileio.c (Fread_file_name_internal): Added brute-force
13404 speed up for using predicate file-directory-p.
13405
13406 2002-05-28 Kim F. Storm <storm@cua.dk>
13407
13408 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
13409 New variables.
13410 (syms_of_fileio): DEFVAR_LISP them.
13411 (read_file_name_cleanup): New unwind function.
13412 (Fread_file_name_internal): Only return completions satifying
13413 Vread_file_name_predicate. Temporarily unwind protect and rebind
13414 default-directory while checking completions against the predicate.
13415 (Fread_file_name): Added PREDICATE argument. Specbind it to
13416 Vread_file_name_predicate during completion.
13417 Call Vread_file_name_function to read the file name if non-nil.
13418
13419 * lisp.h (Fread_file_name): Now has 6 args.
13420
13421 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
13422 predicate for Fread_file_name when reading directory name.
13423 Supply Qnil for predicate in other calls to Fread_file_name.
13424
13425 2002-05-26 Miles Bader <miles@gnu.org>
13426
13427 * term.c (tty_capable_p): New function.
13428 * dispextern.h (tty_capable_p): New function declaration.
13429 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
13430 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
13431
13432 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
13433
13434 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
13435 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
13436 (Vwrite_region_annotate_functions): Docstring fix.
13437
13438 2002-05-23 Kim F. Storm <storm@cua.dk>
13439
13440 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
13441 phys_cursor's hpos is overwritten. This is still not completely
13442 correct, as it doesn't really make sense to use hpos at all to
13443 get the cursor glyph (as that is relative to the width of the
13444 characters on the line, which may have changed during the update).
13445
13446 2002-05-22 Jason Rumney <jasonr@gnu.org>
13447
13448 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
13449 Lisp_Object.
13450 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
13451 Use modified enumfont_t struct.
13452
13453 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
13454
13455 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
13456 Handle the `hbar' cursor type.
13457 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
13458
13459 * w32fns.c (Qhbar): New variable.
13460 (x_specified_cursor_type): Use it.
13461
13462 2002-05-21 Ken Raeburn <raeburn@gnu.org>
13463
13464 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
13465 now, when the address is needed.
13466
13467 2002-05-21 Colin Walters <walters@gnu.org>
13468
13469 * Makefile.in (shortlisp): Add font-core.el.
13470
13471 2002-05-20 Richard M. Stallman <rms@gnu.org>
13472
13473 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
13474
13475 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
13476 equivalent key bindings here.
13477
13478 2002-05-20 Ken Raeburn <raeburn@gnu.org>
13479
13480 Change symbol structure to contain a lisp object for the symbol
13481 name:
13482 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
13483 object field named "xname".
13484 (SYMBOL_NAME): New macro.
13485 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
13486 name field.
13487 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
13488 (mark_object, gc_sweep): Use symbol xname field and XSTRING
13489 instead of name field.
13490 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
13491 SYMBOL_NAME instead of XSYMBOL and name field.
13492 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
13493 instead of XSYMBOL and name field.
13494 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
13495 and SYMBOL_NAME instead of XSYMBOL and name field.
13496 * coding.c (Fread_coding_system, code_convert_region1)
13497 (code_convert_string1, code_convert_string_norecord)
13498 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
13499 XSYMBOL and name field.
13500 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
13501 (Fmake_variable_buffer_local, Fmake_local_variable)
13502 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
13503 of XSYMBOL and name field.
13504 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
13505 XSYMBOL and name field.
13506 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
13507 instead of XSYMBOL and name field.
13508 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
13509 XSYMBOL and name field.
13510 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
13511 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
13512 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
13513 instead of XSYMBOL and name field.
13514 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
13515 (parse_modifiers, apply_modifiers, Fevent_convert_list)
13516 (parse_solitary_modifier, Fexecute_extended_command):
13517 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
13518 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
13519 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
13520 of XSYMBOL and name field.
13521 (describe_command, describe_translation): Use SYMBOL_NAME and
13522 assignment instead of XSYMBOL and name field and XSETSTRING.
13523 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
13524 instead of XSYMBOL and name field.
13525 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
13526 name field and XSETSTRING.
13527 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
13528 of XSYMBOL and name field.
13529 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
13530 assignment instead of XSYMBOL and name field and XSETSTRING.
13531 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
13532 XSTRING instead of XSYMBOL and name field.
13533 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
13534 and XSTRING instead of XSYMBOL and name field.
13535 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
13536 and XSTRING instead of XSYMBOL and name field.
13537 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
13538 XSTRING instead of XSYMBOL and name field.
13539 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
13540 of XSYMBOL and name field.
13541 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
13542 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
13543
13544 2002-05-19 Ken Raeburn <raeburn@gnu.org>
13545
13546 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
13547 and XCDR real rvalues in most configurations.
13548
13549 * buffer.c (fix_overlays_in_range, fix_overlays_before):
13550 Don't take the address of the cdr part of a cons cell; instead, track
13551 the parent cell and call XSETCDR, or set the variable for the head
13552 of the list if we haven't started down the list yet.
13553
13554 2002-05-19 Richard M. Stallman <rms@gnu.org>
13555
13556 * doc.c (reread_doc_file): Don't ask for confirmation.
13557
13558 2002-05-18 Jason Rumney <jasonr@gnu.org>
13559
13560 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
13561 (xbm_load_image): Use it.
13562 (xbm_load): Ditto.
13563 (xbm_read_bitmap_data): Reverted to xfns.c version.
13564 From David Ponce <david@dponce.com>.
13565
13566 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
13567
13568 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
13569 2.02 and later.
13570
13571 2002-05-16 Juanma Barranquero <lektu@terra.es>
13572
13573 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
13574
13575 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
13576
13577 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
13578 meaningful test.
13579 (read_char_minibuf_menu_prompt): Fix typo.
13580
13581 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
13582
13583 * eval.c (Fcommandp): Doc fix.
13584
13585 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
13586
13587 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
13588 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
13589 (Fset_keymap_parent): Gcpro a bit more.
13590 (access_keymap): Gcpro around meta_map call and around the main loop.
13591 (get_keyelt): Gcpro when following indirect references.
13592 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
13593 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
13594 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
13595 Remove useless ad-hoc remap code.
13596
13597 2002-05-13 Richard M. Stallman <rms@gnu.org>
13598
13599 * search.c (search_buffer): Give up boyer moore search if inverse
13600 translation change charset_base.
13601
13602 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
13603
13604 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
13605 characters is carried over from the previous block of text, adjust
13606 coding->produced to account for the extra character.
13607
13608 2002-05-11 Andreas Schwab <schwab@suse.de>
13609
13610 * coding.c (intersection): Keep the elements of the returned list
13611 in the same order as in the first list.
13612
13613 2002-05-11 Kim F. Storm <storm@cua.dk>
13614
13615 * keymap.c (current_minor_maps): Fix resizing of cmm_maps;
13616 only update cmm_size if realloc actually succeeds.
13617 Testing with initial size of 2 elements revealed that using
13618 realloc on GNU/Linux would cause a random trap in xmalloc
13619 later on, so I rewrote the code to use malloc/bcopy/free instead
13620 of realloc.
13621
13622 2002-05-10 Jason Rumney <jasonr@gnu.org>
13623
13624 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
13625
13626 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
13627
13628 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
13629 parens, to ensure correct evaluation order.
13630
13631 2002-05-10 Kim F. Storm <storm@cua.dk>
13632
13633 * keymap.c (Vemulation_mode_map_alists): New variable.
13634 (syms_of_keymap): DEFVAR_LISP it.
13635 (current_minor_maps): Process keymap alists in that list before
13636 minor-mode-overriding-map-alist and minor-mode-map-alist.
13637
13638 2002-05-09 Richard M. Stallman <rms@gnu.org>
13639
13640 * search.c (Freplace_match): Doc fix.
13641
13642 2002-05-09 Kim F. Storm <storm@cua.dk>
13643
13644 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
13645 Enlarge cursor rectangle drawn around image with non-zero relief.
13646
13647 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
13648 Enlarge cursor rectangle drawn around image with non-zero relief.
13649
13650 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
13651 Enlarge cursor rectangle drawn around image with non-zero relief.
13652
13653 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
13654
13655 * xselect.c (lisp_data_to_selection_data): Don't set selection
13656 type if comes from the Lisp object's car. If the selection
13657 contains a pure ASCII text, always return QSTRING as its type.
13658
13659 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13660
13661 * mac.c (mac-cut-function): Doc fix.
13662
13663 2002-05-05 Richard M. Stallman <rms@gnu.org>
13664
13665 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
13666
13667 2002-05-04 Jason Rumney <jasonr@gnu.org>
13668
13669 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
13670 for event-click-count.
13671
13672 * process.c (init_process): Only add server subfeature if we can
13673 use non-blocking I/O.
13674
13675 2002-05-04 Andrew Choi <akochoi@shaw.ca>
13676
13677 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
13678 repeatedly.
13679
13680 2002-05-03 Jason Rumney <jasonr@gnu.org>
13681
13682 * process.c (Fmake_network_process): Only support server sockets
13683 when we can make them non-blocking.
13684
13685 * s/ms-w32.h (HAVE_SELECT): Define.
13686
13687 * w32.h (FILE_NDELAY): New flag.
13688
13689 * w32.c (sys_getpeername, fcntl): New functions.
13690 (_sys_read_ahead): Temporarily block on non-blocking sockets.
13691
13692 * w32proc.c: include sys/file.h.
13693
13694 2002-05-03 Colin Walters <walters@verbum.org>
13695
13696 * callproc.c (Vgame_score_directory): Renamed to
13697 Vshared_game_score_directory.
13698
13699 2002-04-30 Richard M. Stallman <rms@gnu.org>
13700
13701 * s/gnu.h [emacs]: Include stdio.h.
13702 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
13703
13704 * eval.c (do_autoload): Error if called while preparing to dump.
13705
13706 * fns.c (Frequire): Error if need to load while preparing to dump.
13707
13708 2002-04-28 Colin Walters <walters@verbum.org>
13709
13710 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
13711 Default to "~/.emacs.d/games".
13712
13713 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
13714
13715 * lread.c (openp): Change arg exec_only to predicate.
13716 (build_load_history): Use XCAR/XCDR.
13717 (Flocate_file_internal): New fun.
13718 (syms_of_lread): Defsubr it.
13719 (Fload): Update call to openp.
13720
13721 * lisp.h (openp): Update prototype.
13722
13723 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
13724 * w32proc.c (sys_spawnve):
13725 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
13726 * w32.c (check_windows_init_file):
13727 * sound.c (Fplay_sound_internal):
13728 * process.c (Fstart_process):
13729 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
13730 * mac.c (run_mac_command):
13731 * emacs.c (init_cmdargs):
13732 * callproc.c (Fcall_process): Update call to openp.
13733
13734 * textprop.c (remove_properties): Don't use XCAR without CONSP.
13735
13736 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
13737
13738 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13739
13740 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
13741 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
13742
13743 2002-04-28 Richard M. Stallman <rms@gnu.org>
13744
13745 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
13746
13747 * eval.c (Fcommandp): New arg for_call_interactively.
13748 * lisp.h (Fcommandp): Declare new arg.
13749
13750 2002-04-28 Jason Rumney <jasonr@gnu.org>
13751
13752 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
13753
13754 * w32.c (stat, fstat): Use file index information to generate
13755 inodes for directories where available.
13756
13757 2002-04-26 Andrew Choi <akochoi@shaw.ca>
13758
13759 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
13760 [HAVE_CARBON]: Include Mac object files.
13761
13762 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
13763 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
13764 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
13765 MAC_OSX, and MAC_OS instead of macintosh.
13766
13767 * editfns.c [MAC_OS8]: Include stdio.h.
13768
13769 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
13770
13771 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
13772 Apple Monaco.
13773
13774 * process.c (QCfamily, QCfilte): Declare extern.
13775 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
13776 calling select.
13777
13778 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
13779
13780 * tparam.c [MAC_OSX]: Don't define BC and UP.
13781
13782 * config.in [HAVE_CARBON]: Add.
13783
13784 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
13785 Move here from mac/src and mac/inc.
13786
13787 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
13788
13789 2002-04-26 Gerd Moellmann <gerd@gnu.org>
13790
13791 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
13792 Compute phys_cursor_width from the x position returned
13793 by x_draw_glyhs, which is cheaper.
13794 (x_display_and_set_cursor): Compute the buffer-local value
13795 of `cursor-in-non-selected-windows' only when needed.
13796
13797 2002-04-25 Gerd Moellmann <gerd@gnu.org>
13798
13799 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
13800 cursor on a stretch glyph has a width that depends on
13801 x_stretch_cursor_p.
13802
13803 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13804
13805 * abbrev.c (abbrev-start-location): Doc fix.
13806
13807 * indent.c (Fvertical_motion): Fix last change.
13808
13809 2002-04-25 Gerd Moellmann <gerd@gnu.org>
13810
13811 * indent.c (Fvertical_motion): Move to the start of the line
13812 containing PT before moving up or down.
13813
13814 2002-04-24 Gerd Moellmann <gerd@gnu.org>
13815
13816 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
13817 case of writing a whole row, more or less analogous to the case of
13818 writing only parts of a row.
13819
13820 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
13821 0 for NO_CURSOR.
13822
13823 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
13824
13825 2002-04-23 Colin Walters <walters@verbum.org>
13826
13827 * buffer.c (syms_of_buffer): Doc fix.
13828
13829 2002-04-23 Gerd Moellmann <gerd@gnu.org>
13830
13831 * xterm.c (notice_overwritten_cursor): Handle the special case
13832 of the cursor being in the first blank non-text line at the
13833 end of a window.
13834
13835 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
13836 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
13837 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
13838 bar cursors only, to make phys_cursor_width contain what its name
13839 suggests.
13840 (notice_overwritten_cursor): Consider the cursor image erased if
13841 the output area intersects the cursor image in y-direction.
13842
13843 2002-04-23 Simon Marshall <simon@gnu.org>
13844
13845 * xfns.c (x_set_mouse_color): Change default for cross_cursor
13846 to XC_hand2.
13847
13848 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13849
13850 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
13851
13852 2002-04-22 Kim F. Storm <storm@cua.dk>
13853
13854 * textprop.c (remove_properties): Fixed trap for malformed plist.
13855
13856 2002-04-22 Richard M. Stallman <rms@gnu.org>
13857
13858 * cmds.c (Fend_of_line): Handle intangible text in mid line.
13859
13860 * window.c (make_window): Initialize height_fixed_p,
13861 last_cursor_off_p, and p->cursor_off_p slots.
13862
13863 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13864
13865 * fns.c (use-dialog-box): Doc fix.
13866
13867 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13868
13869 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
13870 variables `row', `i' and `area'.
13871 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
13872 toolkit library.
13873
13874 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
13875
13876 * xfaces.c (clear_font_table): Don't free the default font of
13877 a frame even if it's on another display.
13878 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
13879 that could be Qt.
13880
13881 2002-04-19 Juanma Barranquero <lektu@terra.es>
13882
13883 * indent.c (Fmove_to_column): Remove unused local variable
13884 `next_boundary_byte'.
13885 (current_column_1): Likewise.
13886
13887 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
13888
13889 * msdos.c (Qhbar): New variable.
13890 (syms_of_msdos): Intern and staticpro it.
13891 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
13892 cursor type.
13893
13894 2002-04-19 Dave Lambert <dlambert@acm.org>
13895
13896 Theses change implement an underscore-like (`hbar') cursor.
13897
13898 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
13899
13900 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
13901 Handle the `hbar' cursor type.
13902 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
13903
13904 * xfns.c (Qhbar): New variable.
13905 (syms_of_xfns): Intern and staticpro it.
13906 (x_specified_cursor_type): Handle `hbar' cursor.
13907
13908 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
13909 not defined.
13910
13911 2002-04-18 Richard M. Stallman <rms@gnu.org>
13912
13913 * textprop.c (remove_properties): New arg LIST allows scanning
13914 either a list or a plist.
13915 (interval_has_some_properties_list): New function, like
13916 interval_has_some_properties using list instead of plist.
13917 All callers changed.
13918 (Fremove_list_of_text_properties): New function.
13919 (syms_of_textprop): Defsubr it.
13920
13921 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
13922
13923 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
13924
13925 2002-04-17 Juanma Barranquero <lektu@terra.es>
13926
13927 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
13928
13929 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
13930
13931 * window.c (coordinates_in_window): Don't report on margin area
13932 if its width is zero.
13933
13934 2002-04-16 Jason Rumney <jasonr@gnu.org>
13935
13936 * w32fns.c (Fx_file_dialog): Decode file name before using.
13937
13938 * w32term.c (construct_drag_n_drop): Likewise.
13939
13940 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
13941
13942 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
13943 store load-history in pure space.
13944
13945 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
13946
13947 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
13948
13949 * xterm.c (Qlatin_1, Qutf_8): New vars.
13950 (syms_of_xterm): Initialize them.
13951 (XTread_socket): Eliminate incorrect optimization that tried to avoid
13952 decoding the output of X*LookupString.
13953 Always use latin-1 to decode the output of XLookupString.
13954 Try Xutf8LookupString if XmbLookupString failed.
13955
13956 * region-cache.c (new_region_cache): Use BEG.
13957
13958 2002-04-16 Gerd Moellmann <gerd@gnu.org>
13959
13960 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
13961 configuration files.
13962 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
13963 returns 0.
13964
13965 2002-04-15 Andreas Schwab <schwab@suse.de>
13966
13967 * config.in: Regenerated using autoheader.
13968
13969 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
13970 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
13971 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
13972 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
13973 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
13974 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
13975 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
13976 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
13977 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
13978 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
13979 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
13980 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
13981 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
13982 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
13983 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
13984 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
13985 STACK_DIRECTION, now set by autoconf.
13986
13987 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13988
13989 * dispnew.c (marginal_area_string): Sort arguments.
13990
13991 * dispextern.h (marginal_area_string): Add prototype.
13992
13993 2002-04-13 Richard M. Stallman <rms@gnu.org>
13994
13995 * fileio.c (Finsert_file_contents):
13996 Don't call temp_output_buffer_setup--do just part, by hand.
13997
13998 * coding.c (run_pre_post_conversion_on_str):
13999 Don't call temp_output_buffer_setup--do just part, by hand.
14000
14001 * keyboard.c (command_loop_1): Don't call start_hourglass
14002 or cancel_hourglass when executing a macro.
14003
14004 * marker.c (count_markers): New function.
14005
14006 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
14007 grow without limit. Move recently used elements to the front.
14008
14009 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
14010
14011 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
14012
14013 2002-04-12 Gerd Moellmann <gerd@gnu.org>
14014
14015 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
14016 rows marginal areas.
14017 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
14018 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14019
14020 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
14021
14022 2002-04-12 Dave Love <fx@gnu.org>
14023
14024 * dispnew.c (marginal_area_string): New.
14025
14026 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
14027 (Qleft_margin, Qright_margin): Declare.
14028 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
14029
14030 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
14031 note_mode_line_highlight and extended.
14032
14033 * keyboard.c (Qleft_margin, Qright_margin): Declare.
14034 (make_lispy_event): Deal with mouse events in margins.
14035
14036 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
14037
14038 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
14039
14040 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
14041 than deactivating the mark if tmm is set to `lambda'.
14042 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
14043 Use a single event for HELP_EVENT.
14044 (Fexecute_extended_command): Save last_point_position.
14045
14046 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14047
14048 * lisp.h (Fpropertize): Add prototype.
14049
14050 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
14051
14052 2002-04-10 Colin Walters <walters@verbum.org>
14053
14054 * config.in: Add HAVE_SHARED_GAME_DIR.
14055
14056 * callproc.c: (Vgame_score_directory): New variable.
14057 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
14058
14059 2002-04-10 Richard M. Stallman <rms@gnu.org>
14060
14061 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
14062
14063 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
14064
14065 * minibuf.c (read_minibuf): Use empty_string.
14066 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
14067 Short-circuit the search as soon as it "failed".
14068 (Fall_completions): Allow lambda forms and lists of strings for alist.
14069 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
14070 when require_match is nil.
14071 (Ftest_completion): Rename from `test_completion' and export to elisp.
14072 Call the predicate also when alist is a list.
14073 Obey Vcompletion_regexp_list.
14074 (do_completion, Fminibuffer_complete_and_exit): Use it.
14075 (Fassoc_string): Rename from `assoc_for_completion'.
14076 Allow list of strings as well and export to elisp.
14077
14078 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
14079
14080 * puresize.h (BASE_PURESIZE): Increase to 900KB.
14081
14082 2002-04-08 Juanma Barranquero <lektu@terra.es>
14083
14084 * w32.c (sys_accept): Don't hide variable `s'.
14085
14086 2002-04-05 Gerd Moellmann <gerd@gnu.org>
14087
14088 * callint.c (Fcall_interactively): Use INTEGERP instead of
14089 NUMBERP for checking Vhistory_length.
14090
14091 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14092
14093 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
14094 Doc fix to reflect it.
14095
14096 2002-04-04 Richard M. Stallman <rms@gnu.org>
14097
14098 * xdisp.c (display_mode_element): New arg RISKY.
14099 Disregard text props found or specified within a variable
14100 that isn't marked risky-local-variable.
14101 (Qrisky_local_variable): New variable.
14102 (syms_of_xdisp): Init and staticpro it.
14103
14104 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
14105
14106 * undo.c (record_point): New fun.
14107 (record_delete, record_insert): Use it.
14108
14109 2002-04-03 Juanma Barranquero <lektu@terra.es>
14110
14111 * doc.c (Fdocumentation): Add missing parentheses.
14112 (Fdocumentation_property): Likewise.
14113
14114 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
14115
14116 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
14117 data is 0, just return nil.
14118
14119 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
14120
14121 * msdos.c (syms_of_msdos): Fix last change with
14122 mouse_autoselect_window.
14123
14124 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14125
14126 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
14127 mouse_autoselect_window.
14128
14129 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
14130
14131 * keyboard.c (make_lispy_event): Handle unknown keysyms together
14132 with system-specific keysyms. Use it also for unknown function keys.
14133
14134 * doc.c (reread_doc_file): Return whether reload was attempted.
14135 (Fdocumentation, Fdocumentation_property): Don't try to reload
14136 if the doc is 0 and only ask once.
14137
14138 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
14139
14140 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
14141
14142 * keyboard.c (read_char): If the event was Qselect_window,
14143 restore timer_idleness_start_time to its previous value.
14144
14145 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
14146
14147 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
14148
14149 * region-cache.c (new_region_cache): Use BEG.
14150
14151 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
14152 Use BEG and BEG_BYTE.
14153
14154 * doc.c (get_doc_string): Return nil if the location is wrong.
14155 (reread_doc_file): New fun.
14156 (Fdocumentation, Fdocumentation_property):
14157 Call it if get_doc_string fails.
14158 (Fsnarf_documentation): Make it work for a dumped Emacs.
14159
14160 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
14161 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
14162
14163 * charset.c (Fstring): Allow 0 arguments.
14164
14165 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
14166
14167 * process.c (DATAGRAM_CONN_P, list_processes_1)
14168 (Fprocess_datagram_address, Fset_process_datagram_address)
14169 (Fset_network_process_options, server_accept_connection):
14170 Fix some int/Lisp_Object confusions (thank you union types).
14171
14172 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14173
14174 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
14175
14176 * w32term.c: Likewise.
14177 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
14178
14179 * keyboard.c (Qselect_window): New symbol.
14180 (head_table): Use it.
14181 (keys_of_keyboard): Bound select-window event to handle-select-window.
14182 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
14183
14184 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
14185 (last_window): New variable.
14186 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
14187 (note_mouse_movement): Remove reimplemented code in #if 0.
14188 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
14189 Emacs windows.
14190
14191 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
14192
14193 2002-03-31 Gerd Moellmann <gerd@gnu.org>
14194
14195 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
14196 Callers changed.
14197
14198 2002-03-30 Richard M. Stallman <rms@gnu.org>
14199
14200 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
14201 loop whenever it stops making progress.
14202
14203 * widget.c (set_frame_size): Don't call change_frame_size.
14204
14205 2002-03-30 Gerd Moellmann <gerd@gnu.org>
14206
14207 * dispnew.c (direct_output_for_insert):
14208 Call mark_window_display_accurate.
14209
14210 2002-03-29 Jason Rumney <jasonr@gnu.org>
14211
14212 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
14213
14214 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
14215
14216 * Makefile.in (lread.o): Depend on coding.h.
14217
14218 * lread.c (openp, Fload): Encode the file name before passing it
14219 to `stat', `access', and `emacs_open'.
14220 (openp): GCPRO the encoded file name. Don't recompute Lisp
14221 strings unnecessarily.
14222
14223 2002-03-29 Kim F. Storm <storm@cua.dk>
14224
14225 * fns.c (Flax_plist_put): Doc fix.
14226
14227 2002-03-28 Miles Bader <miles@gnu.org>
14228
14229 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
14230
14231 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14232
14233 * process.c (set-network-process-options): Add usage.
14234 (make-network-process): Doc fix.
14235
14236 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
14237
14238 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
14239
14240 2002-03-26 Richard M. Stallman <rms@gnu.org>
14241
14242 * fns.c (Fsubstring_no_properties): New function.
14243 (Flax_plist_get, Flax_plist_put): New functions.
14244 (syms_of_fns): defsubr them.
14245
14246 * xdisp.c (update_menu_bar): Test only update_mode_lines;
14247 don't test or alter w->update_mode_line.
14248
14249 * window.c (Fdisplay_buffer): Doc fix.
14250
14251 2002-03-24 Richard M. Stallman <rms@gnu.org>
14252
14253 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
14254
14255 2002-03-24 Gerd Moellmann <gerd@gnu.org>
14256
14257 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
14258 (Fdefmacro): Handle `(declare ...)'.
14259 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
14260 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
14261
14262 2002-03-24 Jason Rumney <jasonr@gnu.org>
14263
14264 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
14265 (xbm_file_p): Add prototypes.
14266 (xbm_format, xbm_image_p): Sync with xfns.c.
14267 (reflect_byte): New function.
14268 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
14269 (xbm_load_image): Create bitmaps with a depth of 1.
14270 (init_xfns): Enable XBM images.
14271
14272 2002-03-23 Jason Rumney <jasonr@gnu.org>
14273
14274 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
14275 correctly. Do not pass up_modifier to keyboard buffer.
14276
14277 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
14278
14279 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
14280
14281 * Makefile.in (bootstrapclean): New target.
14282 (bootstrap-temacs, bootstrap-doc): Remove.
14283 (bootstrap-emacs): Use a bog-standard `temacs'.
14284 Don't bother to build a DOC file.
14285
14286 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
14287
14288 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
14289 in temacs even if !CANNOT_DUMP.
14290 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
14291
14292 * alloc.c (check_pure_size): Only output a warning.
14293
14294 2002-03-22 Jason Rumney <jasonr@gnu.org>
14295
14296 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
14297 supported.
14298
14299 * w32term.c (zv_bits): Declare as short, for word alignment.
14300 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
14301 (syms_of_w32term): Define x-use-underline-position-properties.
14302
14303 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
14304 (clear_image_cache): Block input, fix logic, clear matrices in
14305 all frames that share this cache.
14306
14307 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
14308
14309 * emacs.c (main): Update the Copyright year in the blurb printed
14310 by "emacs --version".
14311
14312 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
14313
14314 * xterm.c (XTread_socket): If XK_ISO_Lock and
14315 XK_ISO_Last_Group_Lock are defined, handle keysyms between
14316 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
14317
14318 2002-03-21 Kim F. Storm <storm@cua.dk>
14319
14320 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
14321 menu-bar bindings in keymap and local-map properties _are_ used.
14322 But try keymap property first in accordance with 2002-01-03 patch.
14323 Added comment describing why this is not always reliable.
14324 (tool_bar_items): Ditto for tool-bar.
14325
14326 2002-03-21 Jason Rumney <jasonr@gnu.org>
14327
14328 * w32fns.c (x_clear_image_1): Disable color table code.
14329
14330 2002-03-21 Kim F. Storm <storm@cua.dk>
14331
14332 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
14333 removed the wrong version of the DEFUN macro; fixed it.
14334
14335 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
14336 Fmember rather than Fmemq).
14337 (Fprovide): Check that subfeatures is a list.
14338
14339 * process.c (QCfeature, QCdatagram): Removed variables.
14340 (QCtype, Qdatagram): New variables.
14341 (network_process_featurep): Removed function.
14342 (Fmake_network_process): Removed :feature check.
14343 Use :type 'datagram instead of :datagram t to create a datagram
14344 socket. This allows us to add other connection types (e.g. raw
14345 sockets) later in a consistent manner.
14346 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
14347 supported subfeatures for feature make-network-process.
14348 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
14349 Intern and staticpro QCtype and Qdatagram.
14350 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
14351
14352 * xfns.c: (QCtype): Remove duplicate declaration and
14353 initialization (is now declared in process.c).
14354
14355 * w32fns.c: (QCtype): Remove duplicate declaration and
14356 initialization (is now declared in process.c).
14357
14358 2002-03-21 Richard M. Stallman <rms@gnu.org>
14359
14360 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
14361 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
14362 when jumping to `fail' to avoid undoing reg changes in the
14363 last iteration of the loop.
14364 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
14365
14366 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
14367 Depend on process.h.
14368
14369 2002-03-20 Jason Rumney <jasonr@gnu.org>
14370
14371 Most of the following changes are still conditional on HAVE_IMAGES
14372 which is not set by default on Windows.
14373
14374 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
14375
14376 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
14377 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
14378 (four_corners_best, x_clear_image_1, x_clear_image)
14379 (x_alloc_image_color, postprocess_image)
14380 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
14381 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
14382 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
14383
14384 * w32gui.h (struct XImage): Define.
14385
14386 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
14387 extract mouse co-ordinates.
14388
14389 2002-03-20 Jason Rumney <jasonr@gnu.org>
14390
14391 * w32.c (init_winsock): Dynamically load new server and UDP
14392 socket functions.
14393 (socket_to_fd): New function.
14394 (sys_socket): Use it.
14395 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
14396 (sys_recvfrom, sys_sendto): New wrapper functions.
14397
14398 * process.c (QCfamily, QCfilter): Remove duplicate declaration
14399 and initialization.
14400
14401 * makefile.w32-in (LIBS): Remove $(WSOCK32).
14402
14403 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
14404
14405 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
14406 Don't use "sun" as a variable, it's a predefined constant on Sun
14407 machines.
14408
14409 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14410
14411 * bytecode.c (Fbyte_code): Revert last change.
14412
14413 2002-03-19 Kim F. Storm <storm@cua.dk>
14414
14415 * makefile.w32-in (LIBS): Add $(WSOCK32).
14416 From David Ponce <dponce@voila.fr>.
14417
14418 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14419
14420 * process.c (wait_reading_process_input): Move variables `pname'
14421 and `pnamelen' down where they are used.
14422
14423 * bytecode.c (Fbyte_code): Discard unused computed value to
14424 prevent gcc warning.
14425
14426 * lisp.h (Fplist_member): Add prototype.
14427
14428 2002-03-18 Kim F. Storm <storm@cua.dk>
14429
14430 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
14431 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
14432
14433 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
14434 Remove explicit GNU_LINUX settings for datagram support.
14435
14436 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14437
14438 * process.c (Fmake_network_process): Remove unused variable `sa'.
14439 Doc fix. Add usage:.
14440 (set_socket_options): Remove unused variables `optnum' and `opttype'.
14441
14442 2002-03-17 Richard M. Stallman <rms@gnu.org>
14443
14444 * xdisp.c (cursor_type_changed): New variable.
14445 (redisplay_internal): Redisplay all windows if cursor_type_changed.
14446 Clear it when clearing windows_or_buffers_changed.
14447 (try_cursor_movement, redisplay_window, try_window_id)
14448 (try_window_reusing_current_matrix): Test cursor_type_changed
14449 along with windows_or_buffers_changed.
14450
14451 * window.h (cursor_type_changed): New variable.
14452
14453 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
14454 not update_mode_lines, and always set it to 1.
14455
14456 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
14457 if no frames needed redrawing.
14458
14459 2002-03-17 Kim F. Storm <storm@cua.dk>
14460
14461 The following changes add support for network server processes,
14462 datagram connections, and local (unix) sockets.
14463
14464 * process.h (struct Lisp_Process): New member log.
14465 Doc fix: Member command used to indicate stopped network process.
14466 Doc fix: Member childp contains plist for network process.
14467 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
14468
14469 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
14470 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
14471 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
14472 New variables.
14473 (NETCONN1_P): New macro.
14474 (DATAGRAM_SOCKETS): New conditional symbol.
14475 (datagram_address): New array.
14476 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
14477 (status_message): Use concat3.
14478 (Fprocess_status): Add `listen' status to doc string. Return `stop'
14479 for a stopped network process.
14480 (Fset_process_buffer): Update contact plist for network process.
14481 (Fset_process_filter): Ditto. Don't enable input for stopped
14482 network processes. Server must listen, even if filter is t.
14483 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
14484 New functions.
14485 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
14486 (Fprocess_contact): Added KEY argument. Handle datagrams.
14487 (list_processes_1): Optionally show only processes with the query
14488 on exit flag set. Dynamically adjust column widths. Omit tty
14489 column if not needed. Report stopped network processes.
14490 Identify server and datagram network processes.
14491 (Flist_processes): New optional arg `query-only'.
14492 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
14493 (conv_lisp_to_sockaddr, set_socket_options)
14494 (network_process_featurep, unwind_request_sigio): New helper functions.
14495 (Fprocess_datagram_address, Fset_process_datagram_address):
14496 (Fset_network_process_options): New lisp functions.
14497 (Fopen_network_stream): Removed. Now defined in simple.el.
14498 (Fmake_network_process): New lisp function. Code is based on previous
14499 Fopen_network_stream, but heavily reworked with new property list based
14500 argument list, support for datagrams, server processes, and local
14501 sockets in addition to old client-only functionality.
14502 (server_accept_connection): New function.
14503 (wait_reading_process_input): Use it to handle incoming connects.
14504 Do not enable input on a new connection if process is stopped.
14505 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
14506 (send_process): Handle datagram sockets.
14507 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
14508 network process is indicated by setting command field to t .
14509 (Fprocess_send_eof): No-op if datagram connection.
14510 (Fstatus_notify): Don't read input for a stream server socket or a
14511 stopped network process.
14512 (init_process): Initialize datagram_address array.
14513 (syms_of_process): Intern and staticpro new variables, defsubr new
14514 functions.
14515
14516 2002-03-16 Jason Rumney <jasonr@gnu.org>
14517
14518 * w32fns.c (w32_to_all_x_charsets): Return correct type in
14519 startup case.
14520
14521 2002-03-16 Richard M. Stallman <rms@gnu.org>
14522
14523 * xdisp.c (redisplay_internal, redisplay_windows):
14524 Use list_of_error to call internal_condition_case_1.
14525 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
14526 so as to catch all errors with no possibility of debugger redisplay.
14527 (list_of_error): New variable.
14528 (syms_of_xdisp): Init and staticpro it.
14529
14530 * print.c (print_object): Delete `\ ' from printed rep of frame.
14531
14532 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
14533
14534 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
14535 until its implementation is fixed.
14536
14537 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14538
14539 * xfns.c (png_load): Remove unused variable `gamma_str'.
14540
14541 2002-03-14 Richard M. Stallman <rms@gnu.org>
14542
14543 * xfns.c (x_real_positions): Handle failure in XQueryTree.
14544
14545 2002-03-14 Miles Bader <miles@gnu.org>
14546
14547 * intervals.c (adjust_for_invis_intang): New function.
14548 (set_point_both): Use `adjust_for_invis_intang' to do most of the
14549 work for dealing with invisible+intangible regions. Do so before
14550 and after both forward and backward movements, to handle both
14551 front-sticky and rear-sticky cases.
14552 * textprop.c (text_property_stickiness): Function moved here from
14553 `editfns.c'.
14554 * intervals.h (text_property_stickiness): New declaration.
14555 * editfns.c (char_property_eq): Function removed.
14556 (text_property_stickiness): Function moved to `textprop.c'.
14557
14558 2002-03-13 Jason Rumney <jasonr@gnu.org>
14559
14560 * config.in: Add STRFTIME_NO_POSIX2.
14561
14562 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
14563 and %OX when underlying strftime does not.
14564
14565 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
14566
14567 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
14568 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
14569 line) to avoid annoying flicker.
14570 (xm_scroll_callback): Get rid of the now unnecessary kludge.
14571 (XTread_socket): Mark it static.
14572
14573 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
14574
14575 2002-03-13 Kim F. Storm <storm@cua.dk>
14576
14577 * puresize.h (BASE_PURESIZE): Increase to 775000.
14578
14579 2002-03-12 Juanma Barranquero <lektu@terra.es>
14580
14581 * editfns.c (syms_of_editfns): Fix typo.
14582
14583 2002-03-12 Gerd Moellmann <gerd@gnu.org>
14584
14585 * xsmfns.c: Include stdio.h because termhooks.h needs it.
14586 Include termopt.h for interrupt_input.
14587
14588 2002-03-11 Andreas Schwab <schwab@suse.de>
14589
14590 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
14591
14592 2002-03-11 Gerd Moellmann <gerd@gnu.org>
14593
14594 * xterm.c (note_mouse_movement): Put code for
14595 x_autoselect_window_p in #if 0.
14596
14597 * lread.c (Fload): Don't assume that message_with_string uses the
14598 string it is given like a C string.
14599
14600 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
14601
14602 * xterm.h (x_session_check_input, x_session_initialize): Declare.
14603
14604 * xterm.c: (XTread_socket): Add call to x_session_check_input and
14605 x_session_have_connection.
14606 (x_initialize): Add call to x_session_initialize.
14607
14608 * termhooks.h (enum event_kind): Add save_session_event.
14609
14610 * keyboard.c: Add Emacs event save_session_event.
14611
14612 * emacs.c (main): Add call to syms_of_xsmfns.
14613
14614 * lisp.h (syms_of_xsmfns): Declare extern.
14615
14616 * config.in: Add HAVE_X_SM.
14617
14618 * Makefile.in (LIBXT): Add -lSM -lICE
14619 if HAVE_X_SM and not USE_X_TOOLKIT.
14620 (XOBJ): New file xsmfns.c added.
14621
14622 * xsmfns.c: New file for X session management.
14623
14624 2002-03-09 Jason Rumney <jasonr@gnu.org>
14625
14626 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
14627 read-only when setting modified time.
14628
14629 2002-03-08 Gerd Moellmann <gerd@gnu.org>
14630
14631 * xdisp.c (move_it_vertically_backward): At the end of the function,
14632 when moving forward by lines, treat terminal frames specially.
14633
14634 * keyboard.c (echo_char): Make sure to add a separator between
14635 keys even if echo_dash hasn't been called.
14636
14637 * xdisp.c: Use new string macros.
14638 (update_echo_area): Pass number of bytes to message3 instead of
14639 number of chars.
14640 (set_message_1): Don't access a string's size_byte directly.
14641 (decode_mode_spec_coding): Use number of bytes of eoltype string
14642 instead number of chars.
14643
14644 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
14645
14646 2002-03-08 Juanma Barranquero <lektu@terra.es>
14647
14648 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
14649 24-bit.
14650
14651 2002-03-06 Jason Rumney <jasonr@gnu.org>
14652
14653 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
14654
14655 2002-03-06 Gerd Moellmann <gerd@gnu.org>
14656
14657 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
14658 (cancel_echoing, echo_length, echo_truncate): Changed to
14659 work with new kboard definition.
14660 (echo_now): Use message3_nolog instead of message2_nolog.
14661
14662 * alloc.c (mark_kboards): Mark echo_string.
14663
14664 * keyboard.h (ECHOBUFSIZE): Removed.
14665 (struct kboard): Member echoptr removed, member echobuf renamed
14666 to echo_string.
14667
14668 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
14669 message3 instead of message2 to display the message using STRING's
14670 text properties.
14671
14672 2002-03-05 Andreas Schwab <schwab@suse.de>
14673
14674 * xdisp.c (hscroll_margin): Change to EMACS_INT.
14675
14676 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
14677
14678 * frame.c (default-frame-alist): Explain that setting it doesn't
14679 affect existing frames.
14680
14681 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
14682
14683 * indent.c (skip_invisible): Fix my brain fart.
14684
14685 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
14686
14687 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
14688
14689 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
14690 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
14691 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
14692 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
14693 and variables to use EMACS_INT instead of just int.
14694
14695 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
14696
14697 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
14698
14699 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
14700 environment, pass it down with corrected value.
14701
14702 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14703
14704 * lread.c (read_filtered_event): Do not call start_hourglass
14705 before returning.
14706
14707 2002-03-04 Juanma Barranquero <lektu@terra.es>
14708
14709 * w32term.c (x_display_and_set_cursor): Fix typo.
14710
14711 2002-03-03 Richard M. Stallman <rms@gnu.org>
14712
14713 * fileio.c (Fmake_temp_name): Doc fix.
14714
14715 2002-03-03 Gary Wong <gtw@gnu.org>
14716
14717 * termcap.c [!emacs]: Replace ospeed for building standalone
14718 libtermcap, for binary compatibility.
14719
14720 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
14721
14722 2002-03-03 Richard M. Stallman <rms@gnu.org>
14723
14724 * xrdb.c (file_p): Rename arg `path' to `filename'.
14725
14726 * abbrev.c (Fexpand_abbrev): Increment plist as use count
14727 only if it is an integer.
14728
14729 * xfns.c (png_load): Set screen_gamma based on f->gamma.
14730 If png_get_sRGB gives an answer, call png_set_gamma
14731 using the default image gamma value.
14732
14733 * lread.c (read1): When reading from a file, default string to
14734 multibyte only if it has some multibyte characters.
14735
14736 * print.c (print_object): Output multibyte chars 128...255
14737 using \x even if ! print_escape_multibyte.
14738
14739 * xdisp.c (display_mode_element): Move the places where
14740 bytepos, charpos, this, and lisp_string are set.
14741 Use lisp_string to set bytepos.
14742
14743 * xdisp.c (redisplay_internal):
14744 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
14745
14746 * xdisp.c (display_mode_element): Merge properties specified with
14747 :propertize onto those that come with the string.
14748
14749 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
14750
14751 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
14752 automatic-hscrolling. Users changed.
14753 <hscroll-margin>: Renamed from automatic-hscroll-margin.
14754 Users changed.
14755 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
14756
14757 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14758
14759 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
14760
14761 2002-03-02 Kim F. Storm <storm@cua.dk>
14762
14763 * window.c (Fminibuffer_selected_window): New function.
14764 (syms_of_window): Defsubr it.
14765
14766 2002-03-01 Kim F. Storm <storm@cua.dk>
14767
14768 * window.h (struct window): New member phys_cursor_width.
14769
14770 * window.c (make_window, replace_window): Init phys_cursor_width.
14771
14772 * xterm.c (x_display_and_set_cursor): Blink box cursor using
14773 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
14774
14775 * w32term.c (x_display_and_set_cursor): Blink box cursor using
14776 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
14777
14778 * lisp.h (GCPRO6): New macro.
14779
14780 * process.c (Fopen_network_stream): Use GCPRO6.
14781
14782 2002-03-01 Kim F. Storm <storm@cua.dk>
14783
14784 * process.c (Qconnect, Qfailed): New variables.
14785 (syms_of_process): Intern and staticpro them.
14786 (Fprocess_status): Document connect and failed return values.
14787 [NON_BLOCKING_CONNECT]: New conditional.
14788 (connect_wait_mask, num_pending_connects): New variables.
14789 (status_message): Convert Qfailed status.
14790 (Fopen_network_stream): Added support for non-blocking connect.
14791 New optional args: filter, sentinel, non_blocking. Doc updated.
14792 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
14793 (deactivate_process): Handle pending non-blocking connect.
14794 (wait_reading_process_input): Poll for status of non-blocking
14795 connects. Exec sentinel directly when connect succeeds.
14796 (status_notify): Don't read process output if not yet connected.
14797
14798 2002-02-28 Kim F. Storm <storm@cua.dk>
14799
14800 * window.c: (minibuf_selected_window): Renamed from
14801 Vminibuf_selected_window. Users changed.
14802 (syms_of_window): Staticpro it.
14803
14804 2002-02-26 Kim F. Storm <storm@cua.dk>
14805
14806 The following changes add a new Vminibuf_selected_window variable
14807 which is similar to Vminibuf_scroll_window, but which is only set
14808 on entry to the minibuffer (from a non-minibuffer window):
14809
14810 * window.c: (Vminibuf_selected_window): New variable.
14811 (struct save_window_data): New member minibuf_selected_window.
14812 (Fset_window_configuration): Restore Vminibuf_selected_window.
14813 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
14814 Set minibuf_scroll_window member to nil if minibuf_level is 0.
14815 (compare_window_configurations): Compare minibuf_selected_window.
14816
14817 * window.h: (Vminibuf_selected_window): Declare extern.
14818
14819 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
14820 entry to minibuffer or on entry from a non-minibuffer window.
14821
14822 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
14823 Vminibuf_selected_window instead of Vminibuf_scroll_window.
14824
14825 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
14826 instead of Vminibuf_scroll_window when deciding in which window
14827 the region should be highlighted. Consequently, the region remains
14828 highlighteded even when a completion buffer is also displayed.
14829
14830 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
14831
14832 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
14833
14834 * xselect.c (Qcompound_text_with_extensions): Renamed from
14835 Qcompound_text_no_extensions.
14836 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
14837
14838 2002-02-26 Juanma Barranquero <lektu@terra.es>
14839
14840 * w32proc.c (syms_of_ntproc): Doc fix.
14841
14842 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14843
14844 * intervals.h: Include "dispextern.h" unconditionally.
14845
14846 2002-02-24 Jason Rumney <jasonr@gnu.org>
14847
14848 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
14849 and disp-table.elc.
14850 (lisp): Add emacs-lisp/backquote.elc.
14851
14852 2002-02-24 Kim F. Storm <storm@cua.dk>
14853
14854 * keymap.c (Flookup_key): Fix problem in 2001-12-28 patch:
14855 The validation of the event type was too strict as it didn't
14856 allow string events; buffer names are used in bindings for
14857 menu-bar-select-buffer (see `menu-bar-update-buffers').
14858
14859 2002-02-23 Kim F. Storm <storm@cua.dk>
14860
14861 The following changes rework my patch of 2002-02-06 which
14862 added command remapping by entering the commands directly into
14863 the keymaps. Now, command remapping uses an explicit `remap'
14864 prefix in the keymaps, i.e. [remap COMMAND].
14865
14866 * keymap.c (Qremap, remap_command_vector): New variables.
14867 (is_command_symbol): Remove function.
14868 (Fdefine_key): No longer accept a symbol for KEY.
14869 Added validation of [remap COMMAND] argument for KEY.
14870 The DEF is no longer required to be a symbol when remapping a command.
14871 (Fremap_command): New function to remap command through keymaps.
14872 (Flookup_key): Perform command remapping initiated by
14873 Fremap_command directly for speed.
14874 (Fkey_binding): Use Fremap_command for command remapping.
14875 (where_is_internal): Handle new command remapping representation.
14876 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
14877 staticpro them. Defsubr Fremap_command.
14878
14879 * keymap.h (Fremap_command): Declare extern.
14880 (is_command_symbol): Remove extern.
14881
14882 * keyboard.c (command_loop_1): Use Fremap_command for command
14883 remapping; now try command remapping for all symbols.
14884
14885 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
14886
14887 * coding.h (run_pre_post_conversion_on_str): Add prototype.
14888
14889 2002-02-23 Jason Rumney <jasonr@gnu.org>
14890
14891 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
14892 on the string before encoding it.
14893 (Fw32_get_clipboard_data): Run post-read-conversion on the string
14894 after decoding it.
14895
14896 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
14897
14898 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14899
14900 * w32term.c (enter_timestamp): Remove unused static variable to
14901 prevent warning.
14902
14903 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
14904
14905 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
14906
14907 * w16select.c (Fw16_get_clipboard_data): Fix last change.
14908
14909 * xselect.c (selection_data_to_lisp_data): Fix last change.
14910
14911 2002-02-22 Jason Rumney <jasonr@gnu.org>
14912
14913 * w32term.h (struct w32_output): New member menu_command_in_progress.
14914
14915 * w32menu.c (menubar_selection_callback): Free the menu and
14916 clear the menu_command_in_progress flag.
14917
14918 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
14919 (menu_free_timer): New variable.
14920 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
14921 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
14922 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
14923 menu command is in progress.
14924 <WM_COMMAND>: Set the menu_command_in_progress flag.
14925 Kill any menu_free_timer that is running.
14926
14927 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
14928 Call ExtTextOutA rather than ExtTextOut.
14929
14930 2002-02-22 Eli Zaretskii <eliz@gnu.org>
14931
14932 * puresize.h (BASE_PURESIZE): Increase to 755000.
14933
14934 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14935
14936 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
14937 on the string before encoding it.
14938 (Fw16_get_clipboard_data): Run post-read-conversion on the string
14939 after decoding it.
14940
14941 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14942
14943 Support for ICCCM Extended Segments in X selections:
14944
14945 * xselect.c <Qcompound_text_no_extensions>: New variable.
14946 (syms_of_xselect): Intern and staticpro it.
14947 (selection_data_to_lisp_data): Run post-read-conversion on decoded
14948 selection text.
14949 (lisp_data_to_selection_data): If next-selection-coding-system is
14950 compound-text-no-extensions, set the type of selection to be
14951 compound-text.
14952
14953 * xterm.h (x_encode_text): Update prototype.
14954
14955 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
14956 callers changed. If SELECTIONP is non-zero, run the
14957 pre-write-conversion function before encoding the selection text.
14958
14959 2002-02-21 Kim F. Storm <storm@cua.dk>
14960
14961 * frame.c (syms_of_frame): Change mouse-highlight default to t.
14962
14963 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
14964 Correct composing of language-change event.
14965
14966 2002-02-20 Kim F. Storm <storm@cua.dk>
14967
14968 * keyboard.c (menu_bar_items): Don't include keymap or local-map
14969 bindings at PT when building menu (the menu is not updated often
14970 enough for this to work reliable).
14971 (tool_bar_items): Likewise.
14972 (current_active_maps): Removed unused (and buggy) function.
14973
14974 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14975
14976 * xfns.c (gif_load): Use correct width and height for GIF images.
14977
14978 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
14979
14980 * floatfns.c (Fatan): Accept an optional second arg and call
14981 atan2 if passed 2 args.
14982
14983 2002-02-18 Jason Rumney <jasonr@gnu.org>
14984
14985 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
14986
14987 2002-02-17 Jason Rumney <jasonr@gnu.org>
14988
14989 * w32term.c (x_autoselect_window_p): New variable.
14990 (syms_of_w32term): DEFVAR_BOOL and initialize it.
14991 (note_mouse_movement): Use it.
14992
14993 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
14994
14995 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
14996
14997 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
14998 New variables.
14999 (syms_of_w32fns): Intern and staticpro them.
15000 (x_frame_parms) <"fullscreen">: New parameter.
15001 (x_fullscreen_move, x_set_fullscreen): New functions.
15002 (x_set_frame_parameters): Support Qfullscreen.
15003 (x_real_positions): Save x/y_pixels_diff frame params.
15004 (x_figure_window_size): Support full-screen frames.
15005 (Fx_create_frame): Default the fullscreen parameter.
15006
15007 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
15008 (x_fullscreen_adjust): New functions.
15009 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
15010 fullscreen. Call x_check_fullscreen_move, and set the
15011 want_fullscreen member of output_data.w32
15012 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
15013
15014 * w32term.h: New enum for FULLSCREEN_* constants.
15015 (struct w32_output): New members want_fullscreen, x_pixels_diff,
15016 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
15017 (x-fullscreen-adjust): New prototype.
15018
15019 2002-02-17 Kim F. Storm <storm@cua.dk>
15020
15021 * frame.c: (Vmouse_highlight): New variable.
15022 (syms_of_frame): DEFVAR_LISP it.
15023
15024 * frame.h: (Vmouse_highlight): Declare extern.
15025
15026 * xterm.h (struct x_display_info): Add mouse_face_hidden.
15027
15028 * xterm.c (disable_mouse_highlight): Removed variable.
15029 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
15030 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15031 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
15032 and on after keyboard input.
15033 (x_term_init): Initialize mouse_face_hidden.
15034
15035 * msdos.h (struct display_info): Add mouse_face_hidden.
15036
15037 * msdos.c (disable_mouse_highlight): Removed variable.
15038 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15039 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
15040 (internal_terminal_init): Initialize mouse_face_hidden.
15041 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
15042 and on after keyboard input.
15043
15044 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
15045
15046 * w32term.c (disable_mouse_highlight): Removed variable.
15047 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
15048 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15049 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
15050 and on after keyboard input.
15051 (w32_initialize_display_info): Initialize mouse_face_hidden.
15052
15053 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
15054
15055 * msdos.c (last_mouse_window): New variable.
15056 (dos_rawgetc): Fix last change--if the mouse is in the same window
15057 as recorded in last_mouse_window, don't select this window.
15058
15059 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
15060
15061 * msdos.c (x_autoselect_window_p): New variable.
15062 (syms_of_msdos): Defvar it.
15063 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
15064 which the last mouse movement occured, unless it is already selected.
15065
15066 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
15067 New variables.
15068 (syms_of_xdisp): DEVFAR them.
15069 (hscroll_window_tree): Use automatic_hscroll_margin and
15070 Vautomatic_hscroll_step to compute the amount of window scrolling.
15071
15072 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15073
15074 * xterm.c (x-autoselect-window): New variable.
15075 (note_mouse_movement): Use it.
15076
15077 * keyboard.c: Do not include "systime.h" twice.
15078
15079 2002-02-15 Andreas Schwab <schwab@suse.de>
15080
15081 * puresize.h (PURESIZE_RATIO): Increase to 9/5.
15082
15083 * alloc.c (NSTATICS): Increase to 1280.
15084
15085 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
15086
15087 * alloc.c (NSTATICS): Bump to 1026.
15088
15089 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
15090 (Vx_super_keysym): New variables.
15091 (syms_of_xterm): DEFVAR_LISP them.
15092 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
15093 variables to determine which keys to use for the various modifiers.
15094
15095 2002-02-13 Kim F. Storm <storm@cua.dk>
15096
15097 * window.c: (Vmode_line_in_non_selected_windows): Removed.
15098 (mode_line_in_non_selected_windows): New variable.
15099 (syms_of_window): DEFVAR_BOOL it.
15100
15101 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
15102 Use mode_line_in_non_selected_windows.
15103 (mode_line_in_non_selected_windows): Declare extern.
15104 (Vmode_line_in_non_selected_windows): Removed extern.
15105
15106 2002-02-13 Richard M. Stallman <rms@gnu.org>
15107
15108 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
15109 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
15110 (Fclear_this_command_keys): Doc fixes.
15111
15112 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
15113 (update_face_from_frame_parameter): Increment face_change_count
15114 and windows_or_buffers_changed to force redisplay using changed faces.
15115
15116 * xdisp.c (QCpropertize): New variable.
15117 (mode_line_proptrans_alist): New variable.
15118 (display_mode_element): New arg PROPS; all calls changed.
15119 Implement this, for strings.
15120 Handle literal output of strings by sharing the
15121 main-line code for strings, using local var `literal'.
15122 Handle :propertize feature.
15123 (syms_of_xdisp): Initialze and staticpro QCpropertize and
15124 mode_line_proptrans_alist.
15125
15126 2002-02-11 Kim F. Storm <storm@cua.dk>
15127
15128 * window.c: (Vmode_line_in_non_selected_windows): New variable.
15129 (syms_of_window): DEFVAR_LISP it.
15130
15131 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
15132 (CURRENT_MODE_LINE_FACE_ID): Use it.
15133 (Vmode_line_in_non_selected_windows): Declare extern.
15134
15135 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
15136 to get mode line face.
15137
15138 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
15139
15140 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
15141 variables; cus-start.el doesn't need them anymore.
15142
15143 2002-02-09 Kim F. Storm <storm@cua.dk>
15144
15145 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
15146 reduction. This fixes a display problem where stray newlines were
15147 inserted in the window (corrected by C-l). Clarified code (IMHO).
15148
15149 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
15150
15151 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
15152
15153 * xdisp.c (display_mode_lines): Fix last change.
15154
15155 2002-02-09 Jason Rumney <jasonr@gnu.org>
15156
15157 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
15158 match each other.
15159 (w32_load_system_font): Prevent Cleartype fonts from loading.
15160 (Fx_show_tip): Ensure tip frames are above other topmost windows.
15161
15162 2002-02-09 Kim F. Storm <storm@cua.dk>
15163
15164 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
15165 (CURRENT_MODE_LINE_HEIGHT): Use it.
15166 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
15167
15168 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
15169 (pos_visible_p, handle_face_prop): Likewise.
15170 (display_mode_lines): Likewise, but for the real selected window.
15171 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
15172
15173 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
15174 in non-selected windows.
15175 (realize_basic_faces): Realize it.
15176 (syms_of_term): Intern and staticpro it.
15177
15178 2002-02-08 Kim F. Storm <storm@cua.dk>
15179
15180 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
15181 Changed mail addresses to emacs-devel@gnu.org.
15182
15183 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
15184
15185 * fileio.c (Fsubstitute_in_file_name): If the file name includes
15186 ~user, and there's no such user, don't discard everything before ~user.
15187
15188 * floatfns.c (Fround): Doc fix.
15189
15190 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15191
15192 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
15193
15194 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
15195
15196 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
15197
15198 2002-02-07 Kim F. Storm <storm@cua.dk>
15199
15200 * keymap.c (where_is_internal): Only check whether definition is
15201 remapped if it fulfills is_command_symbol.
15202
15203 2002-02-07 Andreas Schwab <schwab@suse.de>
15204
15205 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
15206
15207 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
15208
15209 2002-02-06 Kim F. Storm <storm@cua.dk>
15210
15211 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
15212 defining command remapping. Doc updated.
15213 (Flookup_key): Remap command through keymap if KEY is a symbol.
15214 (is_command_symbol): New function.
15215 (Fkey_binding): Use it. New optional argument NO-REMAP.
15216 Doc updated. Callers changed. Perform command remapping via
15217 recursive call unless that arg is non-nil.
15218 (where_is_internal): New argument no_remap. Callers changed.
15219 Call recursively to find original key bindings for a remapped
15220 comand unless that arg is non-nil.
15221 (Fwhere_is_internal): New optional argument NO-REMAP.
15222 Doc updated. Callers changed. Pass arg to where_is_internal.
15223
15224 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
15225 (is_command_symbol): Add prototype.
15226
15227 * keyboard.c (Vthis_original_command): New variable.
15228 (syms_of_keyboard): DEFVAR_LISP it.
15229 (command_loop_1): Set it, and perform command remapping.
15230
15231 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15232
15233 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
15234
15235 2002-02-06 Jason Rumney <jasonr@gnu.org>
15236
15237 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
15238
15239 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
15240
15241 * charset.c (get_charset_id): Use if-else instead of ?:.
15242
15243 2002-02-06 Richard M. Stallman <rms@gnu.org>
15244
15245 * filelock.c (S_ISLNK): Define if not defined.
15246
15247 2002-02-03 Richard M. Stallman <rms@gnu.org>
15248
15249 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
15250
15251 * lread.c (read1): Redesign strategy for force_multibyte and
15252 force_singlebyte. Now is_multibyte records whether read_buffer
15253 is multibyte. Encountering any multibyte character makes it so.
15254
15255 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
15256
15257 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
15258 with the same sequence, map that sequence to f10 rather than f0.
15259
15260 2002-02-03 Andreas Schwab <schwab@suse.de>
15261
15262 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
15263 latter never being defined on GNU/Linux.
15264
15265 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
15266
15267 * xfaces.c (realize_default_face): Don't set the weight and slant of
15268 the default face to Qnormal, unless these attributes are unspecified.
15269
15270 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15271
15272 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
15273 Call cancel_hourglass unconditionally.
15274
15275 * eval.c (Fsignal): Remove duplicated declaration of
15276 the variable `display_hourglass_p'.
15277
15278 2002-01-31 Richard M. Stallman <rms@gnu.org>
15279
15280 * editfns.c (region_limit): Nicer error message.
15281
15282 * coding.c (decode_composition_emacs_mule):
15283 Give up if NCOMPONENT gets too large to index `component'.
15284
15285 * callint.c (check_mark): New arg to specify clearer error message.
15286 Callers changed.
15287
15288 2002-01-27 Richard M. Stallman <rms@gnu.org>
15289
15290 * minibuf.c (Fcompleting_read): Doc fix.
15291
15292 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15293
15294 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
15295 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
15296 Fix doc-strings.
15297
15298 2002-01-26 Richard M. Stallman <rms@gnu.org>
15299
15300 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
15301
15302 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
15303 and scroll_up_aggressively.
15304
15305 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15306
15307 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
15308
15309 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
15310
15311 * textprop.c (Fnext_property_change, Fnext_single_property_change)
15312 (Fprevious_property_change, Fprevious_single_property_change):
15313 Stay within the narrowed-buffer boundaries.
15314
15315 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
15316
15317 * term.c (Ftty_display_color_cells): New function.
15318 (syms_of_term): Defsubr it.
15319 (Ftty_display_color_cells, Ftty_display_color_p): Change the
15320 argument name to DISPLAY. Doc fix.
15321
15322 * dispextern.h: Add prototype for set_tty_color_mode and
15323 tty_setup_colors.
15324
15325 2002-01-24 Jason Rumney <jasonr@gnu.org>
15326
15327 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
15328 If region left to draw is not what was expected, mark the frame as
15329 garbaged.
15330
15331 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
15332 Combine the regions returned by BeginPaint and GetUpdateRect.
15333
15334 2002-01-23 Jason Rumney <jasonr@gnu.org>
15335
15336 * w32term.c (x_update_window_begin): Only hide caret if
15337 w32_use_visible_system_caret is set.
15338 (x_update_window_end): Only show caret if
15339 w32_use_visible_system_caret is set.
15340 (syms_of_w32term): Handle SystemParametersInfo call failing.
15341
15342 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
15343
15344 2002-01-22 Richard M. Stallman <rms@gnu.org>
15345
15346 * unexelf.c (unexec): Define n so as to cause compilation error
15347 for the code where people have often written n instead of nn.
15348
15349 * .gdbinit (hookpost-run): Defined.
15350
15351 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15352
15353 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
15354
15355 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15356
15357 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
15358 if fullscreen is being set.
15359
15360 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15361
15362 * minibuf.c (Fminibuffer_contents)
15363 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
15364 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
15365
15366 2002-01-21 Richard M. Stallman <rms@gnu.org>
15367
15368 * window.c (check_frame_size): Fix minimum height calculation.
15369
15370 2002-01-20 Ken Raeburn <raeburn@gnu.org>
15371
15372 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
15373 height before comparison.
15374 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
15375
15376 2002-01-20 Jason Rumney <jasonr@gnu.org>
15377
15378 * w32term.c (w32_system_caret_width): Remove.
15379 (w32_use_visible_system_caret): New user flag.
15380 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
15381 Windows reports a screen reader running.
15382 (x_update_window_begin): Hide the system caret.
15383 (x_update_window_end): Show the system caret.
15384 (x_display_and_set_cursor): Don't draw a cursor when
15385 w32_use_visible_system_caret is set. Do not adjust width.
15386
15387 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
15388 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
15389 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
15390 the user requests it. Use system default width when creating.
15391 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
15392
15393 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
15394 New window messages.
15395
15396 2002-01-20 Richard M. Stallman <rms@gnu.org>
15397
15398 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
15399
15400 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15401
15402 * doprnt.c (doprnt1): Fix typos in error call.
15403
15404 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
15405
15406 * unexelf.c (unexec) [__sgi]: Support the .got sections.
15407
15408 2002-01-20 Jason Rumney <jasonr@gnu.org>
15409
15410 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
15411 that Windows returns. If a double check fails, try to guess how
15412 ExtTextOut is going to act.
15413
15414 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
15415 in place of stricmp.
15416 (w32_list_synthesized_fonts): Removed.
15417 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
15418 (struct enumfont_t): New element; list.
15419 (enum_font_cb2): List all style and charset variations of a font.
15420 (Fw32_select_font): New optional argument; include_proportional.
15421 Exclude vertical fonts. Exclude proportional fonts unless
15422 include_proportional is non-nil.
15423 (w32_enable_synthesized_fonts): Change to a boolean.
15424 (Fw32_send_sys_command): Doc fix.
15425
15426 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15427
15428 * dispnew.c (update_frame): Move the variable `tem' to the block
15429 where it is used.
15430
15431 2002-01-19 Jason Rumney <jasonr@gnu.org>
15432
15433 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
15434 call to face-set-after-frame-default.
15435
15436 2002-01-18 Richard M. Stallman <rms@gnu.org>
15437
15438 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
15439 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
15440
15441 2002-01-17 Richard M. Stallman <rms@gnu.org>
15442
15443 * window.c (enlarge_window): When exceeding size of parent,
15444 directly delete all the siblings instead of trying to resize it.
15445
15446 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15447
15448 * term.c (set_tty_color_mode): Remove unused variable `tem'.
15449
15450 2002-01-16 Henrik Enberg <henrik@enberg.org>
15451
15452 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
15453
15454 2002-01-16 Kim F. Storm <storm@cua.dk>
15455
15456 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
15457 is invisible. This can happen if cursor is on top line of a
15458 window, and we switch to a buffer with a header line.
15459
15460 * w32term.c (x_erase_phys_cursor): Ditto.
15461
15462 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15463
15464 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
15465 `dont_resize' only when used.
15466
15467 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
15468
15469 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
15470
15471 * xdisp.c (display_mode_element): When computing charpos, depend
15472 on multibyteness of elt, not the text in field.
15473
15474 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15475
15476 * buffer.c (Fkill_all_local_variables):
15477 Increment `update_mode_lines' only once.
15478
15479 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15480
15481 * lisp.h (adjust_after_replace_noundo)
15482 (Fupdate_coding_systems_internal): Add prototypes.
15483
15484 * sound.c (Fplay_sound): Initialize header_size also for :data case.
15485
15486 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
15487
15488 Support for the --color command-line argument and tty-color-mode
15489 frame parameter:
15490
15491 * term.c (tty_default_color_capabilities, tty_setup_colors)
15492 (set_tty_color_mode): New functions.
15493 (term_init): Call tty_default_color_capabilities.
15494 (Qtty_color_mode_alist): New variable.
15495 (syms_of_term): Intern and staticpro it.
15496
15497 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
15498 frames.
15499 (do_switch_frame): For termcap frames, switch the tty
15500 color mode as specified by the frame's parameters.
15501 (Qtty_color_mode): New variable.
15502 (syms_of_frame): Intern and staticpro it.
15503
15504 * emacs.c (USAGE2): Add the --color option.
15505 (standard_args): Ditto.
15506
15507 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15508
15509 * xterm.h (struct x_output): New members want_fullscreen,
15510 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
15511 y_pixels_outer_diff.
15512 New enum for FULLSCREEN_* constants.
15513 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
15514 is NULL.
15515 (x_fullscreen_adjust): Add prototype.
15516
15517 * emacs.c (USAGE2): Add the new full-screen arguments.
15518 (standard_args): Ditto.
15519
15520 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
15521 New variables.
15522 (syms_of_xfns): Intern and staticpro them.
15523 (x_frame_parms) <"fullscreen">: New parameter.
15524 (x_fullscreen_move, x_set_fullscreen): New functions.
15525 (x_set_frame_parameters): Support for Qfullscreen.
15526 (x_real_positions): More accurate computation of the frame position.
15527 (x_figure_window_size): Support full-screen frames.
15528 (Fx_create_frame): Default the fullscreen parameter.
15529
15530 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
15531 (XTread_socket) <Expose>: Call x_check_fullscreen.
15532 <ConfigureNotify>: Don't resize to fullscreen.
15533 Call x_check_fullscreen_move, and set the want_fullscreen member of
15534 output_data.x.
15535
15536 2002-01-13 Jason Rumney <jasonr@gnu.org>
15537
15538 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
15539 for mice with more than 3 buttons.
15540
15541 * w32term.c (parse_button): New parameter xbutton. Callers changed.
15542 (w32_read_socket): Handle new "XBUTTON" messages.
15543
15544 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
15545 (syms_of_w32fns): DEFVAR_BOOL it.
15546 (w32_wnd_proc): Handle new "XBUTTON" messages.
15547
15548 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15549
15550 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
15551
15552 2002-01-13 Andreas Schwab <schwab@suse.de>
15553
15554 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
15555
15556 2002-01-12 Andreas Schwab <schwab@suse.de>
15557
15558 * .gdbinit (xbuffer): Remove address operator since data is now a
15559 pointer.
15560
15561 2002-01-11 Richard M. Stallman <rms@gnu.org>
15562
15563 * insdel.c (adjust_after_replace_noundo): New function.
15564
15565 * coding.c (code_convert_region): Don't copy old text if undo disabled.
15566
15567 2002-01-09 Jason Rumney <jasonr@gnu.org>
15568
15569 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
15570 when checking for multiple frames.
15571
15572 2002-01-08 Richard M. Stallman <rms@gnu.org>
15573
15574 * window.c (delete_window): Rewrite the code for changing the
15575 selected window to handle the case where WINDOW is not a leaf.
15576
15577 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
15578
15579 * process.c (send_process): Set src_multibyte to 1 after the call
15580 top setup_coding_system, not before the call.
15581
15582 2002-01-07 Jason Rumney <jasonr@gnu.org>
15583
15584 * xmenu.c (set_frame_menubar, xmenu_show):
15585 (xdialog_show): Initialize wv->help to Qnil.
15586
15587 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
15588 (w32_dialog_show): Initialize wv->help to Qnil.
15589
15590 2002-01-06 Jason Rumney <jasonr@gnu.org>
15591
15592 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
15593
15594 * w32menu.c (w32_menu_display_help): Revert last change.
15595
15596 * xmenu.c (menu_highlight_callback): Revert last change.
15597
15598 2002-01-06 Andreas Schwab <schwab@suse.de>
15599
15600 * insdel.c (make_gap_larger): Make sure buffer size does not
15601 overflow range of int.
15602
15603 2002-01-05 Jason Rumney <jasonr@gnu.org>
15604
15605 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
15606 OVERLAPS_P.
15607
15608 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
15609
15610 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
15611 to the left or to the right of the pointer, put it against
15612 the left screen edge.
15613 (x_frame_parms): Add missing braces around initializer.
15614
15615 * w32term.c (x_setup_relief_colors): Don't compute an image's
15616 background color if it doesn't have a Pixmap.
15617 (notice_overwritten_cursor): Don't depend on
15618 output_cursor and updated_area. Compare pixel coordinates with
15619 window's cursor pixel coordinates.
15620 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
15621 Call notice_overwritten_cursor with new arg list.
15622 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
15623 unconditionally.
15624 (x_draw_image_relief): Use predefined macro instead of
15625 constant when the value of `tool_bar_button_relief' is negative.
15626
15627 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
15628
15629 2002-01-04 Richard M. Stallman <rms@gnu.org>
15630
15631 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
15632
15633 2002-01-03 Richard M. Stallman <rms@gnu.org>
15634
15635 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
15636 (Fkey_binding): Try the `keymap' property map first.
15637 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
15638 minor mode bindings.
15639
15640 2002-01-03 Kim F. Storm <storm@cua.dk>
15641
15642 * keyboard.c (read_key_sequence): Fix cast of submaps arg to bcopy.
15643
15644 2002-01-02 Richard M. Stallman <rms@gnu.org>
15645
15646 * keyboard.c (read_key_sequence): Handle the keymap property
15647 before minor mode maps.
15648
15649 * editfns.c (Fformat): Update thissize from field_width
15650 based on the actual width, in the string case.
15651
15652 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15653
15654 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
15655 when used as truth value to prevent gcc warnings.
15656
15657 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
15658 * w32proc.c: Include <config.h>.
15659
15660 2002-01-01 Andreas Schwab <schwab@suse.de>
15661
15662 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
15663 not EMACS_INT, to make them compatible with DEFVAR_INT.
15664 * lisp.h (max_specpdl_size): Adjust declaration.
15665
15666 2002-01-01 Richard M. Stallman <rms@gnu.org>
15667
15668 * print.c (print_object): Test print_escape_nonascii only for
15669 unibyte strings.
15670 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
15671 when outputting to a multibyte buffer.
15672
15673 2001-12-29 Richard M. Stallman <rms@gnu.org>
15674
15675 * print.c (print_object): In multibyte string, use hex escapes.
15676 Use octal only for unibyte strings.
15677 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
15678
15679 * lread.c (read_escape): New arg BYTEREP for reporting whether
15680 escape forces unibyte or multibyte.
15681 (read1): When reading a string, take note of that info.
15682
15683 2001-12-29 Ken Raeburn <raeburn@gnu.org>
15684
15685 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
15686 comparison to test lisp value returned by Fget.
15687
15688 2001-12-29 Richard M. Stallman <rms@gnu.org>
15689
15690 * lisp.h (max_specpdl_size): Add declaration.
15691
15692 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
15693
15694 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
15695 Handle modifier bits. Correct typo in error message.
15696
15697 2001-12-28 Richard M. Stallman <rms@gnu.org>
15698
15699 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
15700 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
15701 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15702 Update calls to Fdefine_abbrev.
15703 (write_abbrev): Update for changed data format.
15704 Don't list "system" abbrevs.
15705 (Fexpand_abbrev): Update use count with new data format.
15706 (describe_abbrev): Update for changed data format.
15707 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
15708
15709 * config.in (HAVE_MBSINIT): Add #undef.
15710
15711 * strftime.c (mbsinit): Define as no-op if not available.
15712
15713 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
15714 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
15715
15716 * keymap.c (Flookup_key): Error message if key has wrong data type.
15717 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
15718 (exclude_key): New variable.
15719
15720 2001-12-28 Gerd Moellmann <gerd@gnu.org>
15721
15722 * xterm.c (x_setup_relief_colors): Don't compute an image's
15723 background color if it doesn't have a Pixmap.
15724
15725 * xterm.c (notice_overwritten_cursor): Don't depend on
15726 output_cursor and updated_area. Compare pixel coordinates with
15727 window's cursor pixel coordinates.
15728 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
15729 Call notice_overwritten_cursor with new arg list.
15730 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
15731 unconditionally.
15732
15733 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
15734 height of the cursor line to the amount to scroll.
15735
15736 2001-12-27 Richard M. Stallman <rms@gnu.org>
15737
15738 * intervals.c (set_point_both): The position after an invisible,
15739 intangible character is not an acceptable stopping point.
15740
15741 2001-12-27 Ken Raeburn <raeburn@gnu.org>
15742
15743 * window.c (enlarge_window): In new preserve_before code, convert
15744 CURBEG from lisp object to integer before doing arithmetic.
15745
15746 2001-12-27 Richard M. Stallman <rms@gnu.org>
15747
15748 * bytecode.c (Fbyte_code): Undo previous change.
15749
15750 2001-12-26 Kim F. Storm <storm@cua.dk>
15751
15752 * keyboard.c (record_char): Ignore duplicate help-echo events only
15753 separated by mouse-movement. When tracking mouse, only record
15754 first and last mouse-movement event in same window.
15755 Don't record mouse-movement events in keyboard macros.
15756
15757 2001-12-25 Richard M. Stallman <rms@gnu.org>
15758
15759 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
15760 (Fenlarge_window): New arg PRESERVE_BEFORE.
15761
15762 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
15763 instead of Fstring_as_unibyte.
15764
15765 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15766
15767 The following changes remove mocklisp support:
15768
15769 * mocklisp.h, mocklisp.c: Files removed.
15770
15771 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
15772 `Qmocklisp' and `Qmocklisp_arguments'.
15773 Remove prototype of syms_of_mocklisp.
15774
15775 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
15776
15777 * callint.c: Do not include mocklisp.h.
15778 (Fcall_interactively): Do not test for mocklisp case.
15779
15780 * eval.c: Remove variables `Qmocklisp_arguments',
15781 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
15782 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
15783 Do not test for mocklisp case.
15784 (Fwhile): Remove unused variable `tem'.
15785 (syms_of_eval): Remove variable `moclisp-arguments'.
15786
15787 * data.c (wrong_type_argument): Remove mocklisp case.
15788
15789 * doc.c (Fdocumentation): Remove mocklisp case.
15790
15791 * emacs.c (main): Do not call syms_of_mocklisp.
15792
15793 2001-12-21 Richard M. Stallman <rms@gnu.org>
15794
15795 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
15796 to the left or to the right of the pointer, put it against
15797 the left screen edge.
15798
15799 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
15800
15801 * Makefile.in (distclean): Remove .gdbinit if we are building
15802 outside the source tree.
15803
15804 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
15805
15806 * w32.c (emacs_root_dir): New function.
15807
15808 * msdos.c (emacs_root_dir): New function.
15809
15810 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
15811 of the current drive as the fallback for default_directory.
15812
15813 * dired.c (file_name_completion): Run the elements of
15814 completion-ignored-extensions through ENCODE_FILE.
15815
15816 * lisp.h (scmp): Remove prototype, since it's now a static
15817 function private to dired.c.
15818
15819 2001-12-18 Richard M. Stallman <rms@gnu.org>
15820
15821 * dired.c (scmp): Function moved from minibuf.c.
15822 Delete multibyte handling--used only on encoded strings.
15823
15824 * minibuf.c (scmp): Function moved to dired.c.
15825
15826 * fns.c (merge): Add QUIT call.
15827
15828 2001-12-18 Dave Love <fx@gnu.org>
15829
15830 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
15831 language/georgian.el.
15832
15833 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
15834
15835 * Makefile.in (lisp, shortlisp): Synchronize with changes to
15836 lisp/Makefile.in:DONTCOMPILE.
15837
15838 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15839
15840 * xdisp.c (window_box_height): Do not return negative values.
15841 From Gerd Moellmann <gerd@gnu.org>.
15842
15843 * keyboard.c (head_table): Add missing braces around initializer.
15844
15845 * term.c (keys): Likewise.
15846
15847 * xfns.c (x_frame_parms, visual_classes): Likewise.
15848
15849 2001-12-17 Sam Steingold <sds@gnu.org>
15850
15851 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
15852 patch (COMPOSING_P, not COMPOSING).
15853
15854 2001-12-17 Richard M. Stallman <rms@gnu.org>
15855
15856 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
15857
15858 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
15859 before calling decode_coding.
15860
15861 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
15862
15863 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
15864 instead of only for COMPOSITION_DISABLED.
15865
15866 2001-12-16 Richard M. Stallman <rms@gnu.org>
15867
15868 * alloc.c (pure_alloc): After overflow, allocate just a small block.
15869
15870 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
15871
15872 * buffer.h (struct buffer): New field `display_error_modiff'.
15873 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
15874
15875 * window.c (Frecenter): Clear display_error_modiff field.
15876
15877 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
15878 Call redisplay_window, but not if display_error_modiff field says no.
15879 (redisplay_window_error): New function.
15880 (displayed_buffer): New variable.
15881 (redisplay_internal, redisplay_windows): Call the new functions
15882 instead of redisplay_window directly.
15883
15884 2001-12-15 Richard M. Stallman <rms@gnu.org>
15885
15886 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
15887
15888 2001-12-14 Andrew Innes <andrewi@gnu.org>
15889
15890 * makefile.w32-in (EMACSLOADPATH): Define.
15891 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
15892 (bootstrap-temacs): Remove dependency on bootstrap-clean.
15893
15894 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
15895
15896 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
15897 parameter have a numeric value all the time.
15898
15899 * w32fns.c (x_report_frame_params): Likewise.
15900
15901 2001-12-12 Richard M. Stallman <rms@gnu.org>
15902
15903 * fileio.c (Fwrite_region): Doc fix.
15904
15905 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
15906 (redisplay_internal): Call clear_image_cache only for window terminals.
15907
15908 2001-12-12 Gerd Moellmann <gerd@gnu.org>
15909
15910 * xdisp.c (move_it_vertically_backward): Change heuristic
15911 for the case that we didn't move far enough initially.
15912
15913 * window.c (Frecenter): Simplify computation in the case of window
15914 system frames and ARG < 0; use window_box_height.
15915
15916 2001-12-11 Richard M. Stallman <rms@gnu.org>
15917
15918 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
15919 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
15920
15921 2001-12-11 Andrew Innes <andrewi@gnu.org>
15922
15923 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
15924 arg is negative.
15925
15926 2001-12-11 Richard M. Stallman <rms@gnu.org>
15927
15928 * m/hp800.h: Split the __hpux conditional into the parts
15929 that are right for GNU/Linux too and the parts that are not.
15930 Use the former if GNU_LINUX.
15931 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
15932
15933 * s/gnu-linux.h (GNU_LINUX): Defined.
15934
15935 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15936
15937 * macros.c, msdos.c, w16select.c: Change doc-string comments to
15938 `new style' [w/`doc:' keyword].
15939
15940 2001-12-10 Jason Rumney <jasonr@gnu.org>
15941
15942 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
15943 before using.
15944
15945 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15946
15947 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
15948 keyword].
15949
15950 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
15951
15952 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
15953
15954 * s/hpux10.h (srand48): Don't undefine.
15955
15956 2001-12-09 Jason Rumney <jasonr@gnu.org>
15957
15958 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
15959 Add comment to explain where the struct came from.
15960 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
15961 (add_menu_item): Process pop-up menus first to avoid memory leak.
15962 (add_menu_item, w32_menu_display_help): Use `help' field as
15963 Lisp_Object.
15964 (w32_free_submenu_strings): Only free owner-drawn strings.
15965
15966 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15967
15968 * COPYING: Moved back.
15969
15970 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
15971 Add parentheses around && within ||.
15972
15973 * indent.c (compute_motion): Likewise.
15974
15975 * intervals.c (merge_properties_sticky): Likewise.
15976
15977 * coding.c (setup_coding_system, shrink_encoding_region)
15978 (Fdecode_sjis_char): Likewise.
15979
15980 2001-12-07 Andreas Schwab <schwab@suse.de>
15981
15982 * xdisp.c (display_mode_element): Don't read past end of string if
15983 it ends with '%'.
15984
15985 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
15986 can hold.
15987
15988 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
15989 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
15990 type changed to Lisp_Object.
15991 (syms_of_data): DEFVAR_LISP them.
15992
15993 2001-12-07 Richard M. Stallman <rms@gnu.org>
15994
15995 * callproc.c (init_callproc): Set Vdata_directory based on the source
15996 location whenever Emacs was run uninstalled.
15997
15998 2001-12-06 Paul Eggert <eggert@twinsun.com>
15999
16000 * config.in (HAVE_WORKING_VFORK): New #undefs.
16001 * process.c (create_process):
16002 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
16003 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
16004 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
16005 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
16006 * m/intel386.h (HAVE_VFORK): Likewise.
16007 * m/mips-siemens.h (HAVE_VFORK): Likewise.
16008 * m/mips.h (HAVE_VFORK): Likewise.
16009 * s/freebsd.h (vfork): Remove #define.
16010 * s/lynxos.h (HAVE_VFORK): Remove #undef.
16011 * s/usg5-4-2.h: Fix comment about vfork.
16012
16013 2001-12-06 Richard M. Stallman <rms@gnu.org>
16014
16015 * s/hpux10.h (random): Add undef.
16016 (HAVE_RANDOM): Define it just once.
16017
16018 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
16019
16020 * eval.c: Undo last change: the standard syntax is not wanted.
16021
16022 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
16023
16024 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
16025 scroll bars of the frame before deleting the frame itself. If the
16026 frame has a widget, delete the frame with XtDestroyWidget, and do
16027 not call XDestroyWindow before that.
16028
16029 2001-12-06 Kim F. Storm <storm@cua.dk>
16030
16031 * xfns.c (x_report_frame_params): Return actual fringe widths.
16032
16033 * w32fns.c (x_report_frame_params): Return actual fringe widths.
16034
16035 2001-12-05 Andrew Innes <andrewi@gnu.org>
16036
16037 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
16038 excessively large.
16039
16040 * insdel.c (make_gap_larger): New function.
16041 (make_gap_smaller): New function.
16042 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
16043 Call make_gap_smaller if arg is negative.
16044
16045 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
16046
16047 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
16048 Pass a dummy argument when calling interrupt_signal.
16049 (parse_menu_item): Mark disabled items before checking for empty def.
16050 (read_char_minibuf_menu_prompt): Make safety more visible.
16051 (read_key_sequence): Add a `first_unbound' variable.
16052 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
16053 unbound prefix as soon as we can detect it.
16054
16055 * doc.c (Fsnarf_documentation): Add prototype.
16056 (get_doc_string): Handle negative arguments.
16057 (Fdocumentation): Use AREF and ASIZE.
16058 Move the calls to get_doc_string to a single place.
16059 Don't confuse an interactive-spec for a docstring reference.
16060 (Fdocumentation_property): Take advantage of the fact that
16061 get_doc_string now ignores the sign of the docstring position.
16062
16063 * eval.c: Use standard syntax for usage in docstrings.
16064
16065 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16066
16067 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
16068
16069 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16070
16071 * xterm.c (x_draw_image_relief): Use predefined macro instead of
16072 constant when the value of `tool_bar_button_relief' is negative.
16073
16074 2001-12-02 Richard M. Stallman <rms@gnu.org>
16075
16076 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
16077 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
16078
16079 * fileio.c (read_non_regular): Delete Fsignal call.
16080
16081 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
16082
16083 * lisp.h (run_hook_list_with_args): Undo last change.
16084
16085 2001-12-01 Gerd Moellmann <gerd@gnu.org>
16086
16087 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
16088
16089 2001-12-01 Jason Rumney <jasonr@gnu.org>
16090
16091 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
16092
16093 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
16094 [!WM_MOUSELEAVE]: Define.
16095
16096 * w32menu.c (current_popup_menu, get_menu_item_info):
16097 (set_menu_item_info): New vars.
16098 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
16099 (w32_menu_show): Set current_popup_menu.
16100 (add_menu_item): Allocate new strings for owner-drawn menu items
16101 and help strings.
16102 Use owner-draw for disabled menu items again.
16103 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
16104 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
16105
16106 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
16107 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
16108 <WM_EXITMENULOOP>: Free menu strings.
16109 <WM_MOUSELEAVE>: Stop tracking mouse.
16110 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
16111
16112 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
16113 and mouse face.
16114
16115 2001-12-01 Kim F. Storm <storm@cua.dk>
16116
16117 The following changes add left-fringe and right-fringe
16118 frame parameters to adjust fringe widths, or remove one or
16119 both fringes.
16120
16121 * frame.h (struct frame): Remove trunc_area_pixel_width and
16122 trunc_area_cols fields.
16123 (Qleft_fringe, Qright_fringe): Declare.
16124 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
16125
16126 * frame.c (Qleft_fringe, Qright_fringe): New vars.
16127 (syms_of_frame): Initialize them.
16128
16129 * window.c (coordinates_in_window): Handle separate left and right
16130 fringe widths.
16131
16132 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
16133 and fringe_cols fields.
16134 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
16135 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
16136 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
16137 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
16138 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
16139 (x_compute_fringe_widths): Add prototype.
16140
16141 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
16142 fill fringe evenly with small dashes.
16143 (x_draw_fringe_bitmap): Clear background if necessary. Align and
16144 clip the new ZV bitmap to avoid jitter between rows.
16145 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
16146 background. Don't draw fringe bitmaps if fringe width is zero.
16147 (x_compute_fringe_widths): New function.
16148 (x_new_font, x_set_window_size_1): Use it.
16149
16150 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
16151 (x_set_frame_parameters): Process `font' parameter before other
16152 parameters as fringe widths depend on it.
16153 (x_set_fringe_width): New function.
16154 (x_figure_window_size): Use x_compute_fringe_widths.
16155 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
16156 parameters.
16157
16158 * widget.c (set_frame_size): Use x_compute_fringe_widths.
16159 (EmacsFrameSetCharSize): Ditto.
16160
16161 * w32term.h: Merged changes from xterm.h.
16162 * w32term.c: Merged changes from xterm.c.
16163 * w32fns.c: Merged changes from xfns.c.
16164
16165 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16166
16167 * COPYING: Removed.
16168
16169 2001-11-29 Dave Love <fx@gnu.org>
16170
16171 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
16172 extra extra slot.
16173 (detect_coding_mask): Fix call of detect_coding_iso2022.
16174
16175 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16176
16177 * fileio.c (file-name-coding-system)
16178 (default-file-name-coding-system): Doc fix (links to referenced
16179 variables added).
16180
16181 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
16182
16183 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
16184 Add dummy uses of gcproN variables.
16185
16186 * category.c (describe_category, describe_category_1)
16187 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
16188 (syms_of_category): Don't defsubr Sdescribe_categories.
16189
16190 2001-11-28 Richard M. Stallman <rms@gnu.org>
16191
16192 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
16193
16194 * Makefile.in (lispdir): New variable, referring to build dir.
16195 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
16196
16197 2001-11-28 Andrew Innes <andrewi@gnu.org>
16198
16199 * w32menu.c (w32_menu_display_help): Actually add the new argument
16200 OWNER.
16201
16202 2001-11-28 Jason Rumney <jasonr@gnu.org>
16203
16204 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
16205 menu items. From David Ponce <dponce@wanadoo.fr>.
16206 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
16207 conditionally.
16208 (w32_menu_display_help): New argument OWNER. Rewritten to store a
16209 help event in the owner frame's keyboard buffer.
16210
16211 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
16212 (Fx_show_tip): Don't subtract last width from row width.
16213
16214 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
16215 (w32_read_socket): Use EQ to compare frames.
16216
16217 2001-11-28 Gerd Moellmann <gerd@gnu.org>
16218
16219 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
16220 OVERLAPS_P.
16221
16222 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16223
16224 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
16225 `gcpro3' and `gcpro4'.
16226
16227 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
16228
16229 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
16230
16231 * ccl.c: Use AREF and ASIZE.
16232
16233 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
16234
16235 * lisp.h (run_hook_list_with_args): Remove.
16236 (LIST_END_P): Fix call to wrong_type_argument.
16237 (make_fixnum_or_float): Use EMACS_INT rather than int.
16238
16239 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
16240
16241 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
16242 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
16243
16244 * eval.c: Use AREF and ASIZE.
16245 (Ffetch_bytecode): Add the file name to the error message.
16246
16247 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
16248 which match the end of the file-name.
16249 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
16250 is not a valid env var, but leave it as is instead.
16251
16252 * keymap.c (access_keymap): Handle t bindings like nil bindings.
16253 Make nil bindings in char-tables transparent.
16254 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
16255
16256 2001-11-26 Richard M. Stallman <rms@gnu.org>
16257
16258 * textprop.c (set_text_properties_1): Allow START, END in either order.
16259 Do nothing if range is empty.
16260
16261 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
16262
16263 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
16264 (clean): Not here.
16265
16266 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
16267
16268 * textprop.c (set_text_properties_1): Clearly mark that the
16269 interval should not be empty.
16270
16271 * intervals.c (graft_intervals_into_buffer):
16272 Don't call set_text_properties_1 on an empty interval.
16273
16274 2001-11-25 Richard M. Stallman <rms@gnu.org>
16275
16276 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
16277
16278 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
16279 don't lose the data in it.
16280
16281 2001-11-25 Juanma Barranquero <lektu@terra.es>
16282
16283 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
16284
16285 * buffer.c (Fkill_buffer): Likewise.
16286
16287 * print.c (temp_output_buffer_setup): Likewise.
16288
16289 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
16290
16291 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
16292
16293 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
16294
16295 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
16296 Niemitalo <kon@iki.fi>.
16297
16298 2001-11-25 Jason Rumney <jasonr@gnu.org>
16299
16300 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
16301
16302 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
16303 (Fx_show_tip): Block input during frame creation.
16304 (Fx_show_tip, Fx_hide_tip): Enable.
16305
16306 2001-11-24 Richard M. Stallman <rms@gnu.org>
16307
16308 * lread.c (Fload): Detect recursive load error for more than 3
16309 nestings of the same file.
16310 (Vrecursive_load_depth_limit): Variable deleted.
16311 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
16312
16313 2001-11-24 Jason Rumney <jasonr@gnu.org>
16314
16315 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
16316 mouse position if either left or top is not specified.
16317
16318 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
16319 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
16320 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
16321 (my_create_tip_window): Assign tip_window.
16322 (x_create_tip_frame): Use same defaults as X.
16323 (compute_tip_xy): Remove unused variable. Use full screen width.
16324 (Fx_show_tip): Do not double height. Call ShowWindow directly.
16325
16326 * w32term.c (x_after_update_window_line): Doc fix.
16327 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
16328 frames.
16329 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
16330
16331 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
16332 for all Windowed systems.
16333
16334 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
16335
16336 * msdos.c (IT_clear_screen): If the frame's faces are not yet
16337 realized, use the initial screen colors to clear the screen.
16338
16339 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16340
16341 * textprop.c (Fset_text_properties): Remove unused variables
16342 `unchanged', `prev_changed', `s' and `len'.
16343
16344 * search.c (Freplace_match): Remove unused variable `inslen'.
16345
16346 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
16347
16348 2001-11-22 Jason Rumney <jasonr@gnu.org>
16349
16350 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
16351 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
16352 (my_create_tip_window): New function.
16353 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
16354 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
16355
16356 2001-11-20 Jason Rumney <jasonr@gnu.org>
16357
16358 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
16359 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
16360
16361 * w32fns.c (Vw32_system_coding_system): Remove.
16362 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
16363
16364 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
16365
16366 * fileio.c (Fwrite_region): Move choose_write_coding_system to
16367 after build_annotations.
16368
16369 * syntax.c (describe_syntax): Add dummy arg.
16370 (describe_syntax_1): Update call to describe_vector.
16371
16372 * category.c (describe_category): Add dummy arg.
16373 (describe_category_1): Update call to describe_vector.
16374
16375 * keymap.c (Fdescribe_vector): Add `describer' parameter.
16376 (describe_command, describe_translation): Add dummy second param.
16377 (describe_map): Call elt_describer with two arguments.
16378 (describe_vector_princ): Add `fun' parameter.
16379 Call it instead of the hardcoded `princ'.
16380 (describe_vector): Add arg `args'.
16381 Pass it as a new second argument to elt_describer.
16382
16383 * keymap.h (describe_vector): Update prototype.
16384
16385 * frame.c: Don't include keymap.h any more.
16386 (keys_of_frame): Remove.
16387
16388 * lisp.h (keys_of_frame): Remove declaration.
16389
16390 * emacs.c (main): Don't call `keys_of_frame' any more.
16391
16392 2001-11-14 Andreas Schwab <schwab@suse.de>
16393
16394 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
16395 if defined, 0 otherwise.
16396 (MAP_FAILED): Define if not defined and use it to test mmap failure.
16397 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
16398
16399 2001-11-19 Richard M. Stallman <rms@gnu.org>
16400
16401 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
16402
16403 2001-11-18 Jason Rumney <jasonr@gnu.org>
16404
16405 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
16406 (x_draw_bar_cursor): If the background color of the glyph under
16407 the cursor equals the frame's cursor color, use the glyph's
16408 foreground color for drawing the bar cursor.
16409 (x_after_update_window_line): Clear internal border in different
16410 circumstances.
16411 (w32_set_vertical_scroll_bar): Check for width and height > 0.
16412 (w32_draw_relief_rect): Correct relief by 1 pixel.
16413 (x_set_glyph_string_background_width):
16414 Set extends_to_end_of_line_p if the row's fill_line_p is set and
16415 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
16416 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
16417 if cursor_in_non_selected_windows is false.
16418 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
16419 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
16420 Notice if cursor gets overwritten.
16421 (notice_overwritten_cursor): Renamed from
16422 note_overwritten_text_cursor. Rewritten to take glyph widths
16423 into account, and to take X positions as parameters.
16424 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
16425 around call to x_draw_glyphs.
16426 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
16427 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
16428 color to use for image glyph reliefs.
16429 (x_draw_image_relief): Accept zero tool_bar_button_relief.
16430 (glyph_rect): Remove unused variable `area'.
16431
16432 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
16433 some items.
16434 (x_set_internal_border_width): Set frame garbaged when window
16435 doesn't exist yet.
16436 (Fx_create_frame): Accept zero tool_bar_button_relief.
16437 (x_clear_image_1, four_corners_best, image_background)
16438 (image_background_transparent): New functions.
16439 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
16440 (gs_format): Add `:background' entry.
16441 (lookup_image): Set IMG's background color if specified.
16442 (pbm_load, xbm_load_image, png_load): Set IMG's background field
16443 when appropriate.
16444 (x_clear_image_1): Reset `background_valid' and
16445 `background_transparent_valid' fields.
16446 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
16447 calculating it here. Set IMG's background_transparent field.
16448 (enum xpm_keyword_index): Add XPM_BACKGROUND.
16449 (enum png_keyword_index): Add PNG_BACKGROUND.
16450 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
16451 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
16452 (enum gif_keyword_index): Add GIF_BACKGROUND.
16453 (enum gs_keyword_index): Add GS_BACKGROUND.
16454 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
16455 Pre-calculate image background color where necessary.
16456 (x_create_x_image_and_pixmap, xbm_load, gs_load):
16457 Use display info's n_cbits entry for screen depth.
16458 (Fx_show_tip): Remove unused variables `buffer', `top',
16459 `left', `max_width' and `max_height'.
16460
16461 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
16462
16463 2001-11-18 Gerd Moellmann <gerd@gnu.org>
16464
16465 * puresize.h (BASE_PURESIZE): Increase to 750000.
16466
16467 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16468
16469 * frame.c (Fframe_live_p): Doc fix.
16470
16471 2001-11-18 Richard M. Stallman <rms@gnu.org>
16472
16473 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
16474 (message_dolog_marker3): New static variables hold three markers.
16475 (syms_of_xdisp): Initialize and staticpro them.
16476 (message_dolog): Use message_dolog_marker1..3 instead of
16477 allocating markers each time. Unchain them when done.
16478
16479 2001-11-17 Richard M. Stallman <rms@gnu.org>
16480
16481 * doc.c (Fsnarf_documentation): Doc fix.
16482
16483 2001-11-17 Andreas Schwab <schwab@suse.de>
16484
16485 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
16486
16487 2001-11-17 Richard M. Stallman <rms@gnu.org>
16488
16489 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
16490
16491 2001-11-17 Jason Rumney <jasonr@gnu.org>
16492
16493 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
16494
16495 2001-11-17 Gerd Moellmann <gerd@gnu.org>
16496
16497 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
16498 with invalid position.
16499
16500 2001-11-16 Richard M. Stallman <rms@gnu.org>
16501
16502 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
16503
16504 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
16505 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
16506 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
16507
16508 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
16509
16510 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
16511
16512 * fileio.c (build_annotations): Split off the tail.
16513 (build_annotations_2): New fun. Extracted from build_annotations.
16514 (Fwrite_region): Split the call to build_annotations into two
16515 calls to build_annotations and build_annotations_2.
16516
16517 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16518
16519 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
16520 clear_waiting_for_input with argument.
16521
16522 * xterm.h (x_update_cursor): Remove duplicated prototype.
16523
16524 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
16525
16526 * xterm.c (waiting_for_input): Remove unnecessary declaration.
16527
16528 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
16529
16530 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
16531
16532 * fileio.c (choose_write_coding_system): New fun, extracted
16533 from Fwrite_region.
16534 (Fwrite_region): Use it.
16535
16536 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
16537 (funcall_lambda, run_hook_with_args): Make static and add prototype.
16538 (ml_apply, find_handler_clause): Add prototype.
16539
16540 2001-11-16 Eli Zaretskii <eliz@gnu.org>
16541
16542 * config.in: Add #undef HAVE_COFF_H.
16543
16544 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
16545 Required for ISC 4.1.
16546
16547 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
16548
16549 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
16550 Andrew Wiseman <a.wiseman@btclick.com>.
16551
16552 2001-11-16 Kim F. Storm <storm@cua.dk>
16553
16554 The following changes are made to clean up the various internal
16555 references to the fringes to actually use the term `fringe' for
16556 them. Previously, they were called `flags areas', `bitmap areas',
16557 `left/right side of windows', or implicitly as `flags' or
16558 `bitmaps':
16559
16560 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
16561 Comments fixed. Use renamed symbols.
16562
16563 * dispnew.c: Comment fix. Use renamed symbols.
16564
16565 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
16566 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
16567 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
16568
16569 * msdos.c: Comment fix.
16570
16571 * w32fns.c: Use renamed symbols.
16572
16573 * w32term.c: Comment fixes. Use renamed symbols.
16574 (fringe_bitmap_type): Renamed from bitmap_type.
16575 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
16576 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
16577 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
16578
16579 * w32term.h: Comment fixes. Use renamed symbols.
16580 (fringes_extra): Renamed from flags_areas_extra.
16581 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
16582 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
16583 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
16584 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
16585 (FRAME_X_LEFT_FRINGE_WIDTH):
16586 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
16587 (FRAME_X_RIGHT_FRINGE_WIDTH):
16588 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
16589
16590 * widget.c: Use renamed symbols.
16591
16592 * window.c: Comment fixes. Use renamed symbols.
16593 (coordinates-in-window-p): Doc fix.
16594
16595 * xdisp.c: Comment fixes. Use renamed symbols.
16596
16597 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
16598
16599 * xfns.c: Use renamed symbols.
16600
16601 * xterm.c: Comment fixes. Use renamed symbols.
16602 (fringe_bitmap_type): Renamed from bitmap_type.
16603 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
16604 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
16605 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
16606
16607 * xterm.h: Comment fixes. Use renamed symbols.
16608 (fringes_extra): Renamed from flags_areas_extra.
16609 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
16610 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
16611 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
16612 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
16613 (FRAME_X_LEFT_FRINGE_WIDTH):
16614 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
16615 (FRAME_X_RIGHT_FRINGE_WIDTH):
16616 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
16617
16618 2001-11-15 Jason Rumney <jasonr@gnu.org>
16619
16620 * w32menu.c (add-menu-item): Make help_echo and radio buttons
16621 work for most menu items. From David Ponce
16622 <david.ponce@wanadoo.fr>.
16623
16624 2001-11-15 Gerd Moellmann <gerd@gnu.org>
16625
16626 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
16627 Some x_set_* function expect to be called even if old and new
16628 value are equal.
16629
16630 * xdisp.c (build_desired_tool_bar_string): Accept zero
16631 tool_bar_button_relief.
16632
16633 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
16634
16635 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
16636
16637 * xterm.c (x_draw_bar_cursor): If the background color of the
16638 glyph under the cursor equals the frame's cursor color, use
16639 the glyph's foreground color for drawing the bar cursor.
16640
16641 * dispnew.c (direct_output_forward_char): Fix character/byte
16642 position comparison.
16643
16644 2001-11-15 Miles Bader <miles@gnu.org>
16645
16646 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
16647 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
16648 Update arguments to find_field.
16649 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
16650 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
16651 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
16652 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
16653
16654 2001-11-14 Richard M. Stallman <rms@gnu.org>
16655
16656 * editfns.c (Fpropertize): Allow call with 1 arg.
16657
16658 * dispextern.h (image_background, image_background_transparent):
16659 Conditionalize on HAVE_X_WINDOWS.
16660
16661 2001-11-13 Richard M. Stallman <rms@gnu.org>
16662
16663 * print.c (Fprin1_to_string): Doc fix.
16664
16665 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
16666
16667 * floatfns.c (Fceiling, Ffloor): Doc fixes.
16668
16669 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
16670
16671 * fileio.c (Ffile_accessible_directory_p): Doc fix.
16672
16673 * eval.c (syms_of_eval): Doc fix.
16674
16675 * coding.c (syms_of_coding): Doc fix.
16676
16677 * doc.c (Fsnarf_documentation): Doc fix.
16678
16679 * dispnew.c (syms_of_display): Doc fix.
16680
16681 * category.c (Fget_unused_category): Doc fix.
16682
16683 * buffer.c (syms_of_buffer): Doc fixes.
16684
16685 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
16686
16687 * print.c (prin1, print): Doc fix.
16688
16689 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16690
16691 * fontset.h: Remove declarations of variables
16692 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
16693
16694 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
16695 `Vclip_large_size_font'.
16696
16697 2001-11-13 Jason Rumney <jasonr@gnu.org>
16698
16699 * w32fns.c: Doc fix.
16700
16701 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16702
16703 * xfaces.c (Fface_attributes_as_vector): Doc fix.
16704
16705 * fns.c: Doc fix.
16706
16707 * emacs.c: Doc fix.
16708
16709 * coding.c: Doc fix.
16710
16711 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
16712 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
16713 `new style' [w/`doc:' keyword].
16714
16715 2001-11-12 Richard M. Stallman <rms@gnu.org>
16716
16717 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
16718 LeaveNotify events. Only FocusIn and FocusOut do that now.
16719 (x_display_and_set_cursor): Do display hollow cursors in active
16720 minibuffer windows when they are not selected.
16721
16722 2001-11-12 Jason Rumney <jasonr@gnu.org>
16723
16724 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
16725 * w32term.c: Change doc-string comments to `new style'
16726 [w/`doc:' keyword]. Doc fixes.
16727
16728 * w32fns.c: Don't define max.
16729 (Fx_open_connection): Only execute once.
16730
16731 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16732
16733 * ccl.c: Change macros to use do-while block instead of if-else.
16734 Use braces to follow GNU Coding Standards.
16735
16736 2001-11-11 Richard M. Stallman <rms@gnu.org>
16737
16738 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
16739
16740 * lread.c (read_escape): Use end_of_file_error for reporting eof.
16741
16742 * insdel.c (replace_range): Use adjust_markers_for_replace
16743 instead of adjust_markers_for_delete and adjust_markers_for_insert.
16744
16745 * intervals.h (set_text_properties, set_text_properties_1): Declare.
16746
16747 * textprop.c (set_text_properties_1): New subroutine
16748 broken out of set_text_properties.
16749 (set_text_properties): Use set_text_properties_1.
16750
16751 * intervals.c (graft_intervals_into_buffer):
16752 Use set_text_properties_1 to clear out properties.
16753
16754 * search.c (Freplace_match): Use replace_range to insert
16755 and delete. Don't request property inheritance from
16756 surrounding text.
16757
16758 2001-11-10 Jason Rumney <jasonr@gnu.org>
16759
16760 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
16761 vertical fonts. Allow them if face name is explicitly specified.
16762 Do not give up if we find a font that cannot be converted to an xlfd.
16763
16764 2001-11-10 Gerd Moellmann <gerd@gnu.org>
16765
16766 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
16767 instead of malloc/free.
16768
16769 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16770
16771 * xfaces.c (merge_face_vectors): Use braces to follow GNU
16772 Coding Standards.
16773 (Finternal_set_lisp_face_attribute): Likewise.
16774
16775 * buffer.c (Fbury_buffer): Likewise.
16776
16777 * indent.c (current_column_1): Remove unused variable `prev_col'.
16778
16779 * coding.c (encode_coding): Use precomputed value of `src'.
16780 (encode_coding): Remove unused variable `src_end'.
16781 (code_convert_region): Remove unused variables `count'.
16782
16783 2001-11-07 Jason Rumney <jasonr@gnu.org>
16784
16785 * w32term.c (x_display_and_set_cursor): Do not move system caret
16786 if cursor_glyph is NULL.
16787
16788 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16789
16790 * keymap.c (access_keymap): Fix compilation error.
16791
16792 2001-11-07 Miles Bader <miles@gnu.org>
16793
16794 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
16795
16796 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16797
16798 * intervals.c (graft_intervals_into_buffer):
16799 Remove #ifdef'd-out code.
16800 (graft_intervals_into_buffer): Remove unused variable `middle'.
16801
16802 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
16803 code (eval-current-buffer).
16804 Change doc-string comments to `new style' [w/`doc:' keyword].
16805
16806 2001-11-06 Richard M. Stallman <rms@gnu.org>
16807
16808 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
16809
16810 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
16811
16812 * lread.c (read1): Fix behavior with nested backquoting.
16813
16814 * keyboard.c (make_lispy_event): Check integerness and fix
16815 Lisp_Object/int mixup.
16816
16817 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16818
16819 * fns.c (copy_hash_table): Remove unused variable `v'.
16820
16821 * fontset.c (fontset_font_pattern): Remove unused variable
16822 `family_registry'.
16823
16824 * indent.c (current_column_1): Remove unused variable `prev_col'.
16825
16826 2001-11-05 Richard M. Stallman <rms@gnu.org>
16827
16828 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
16829
16830 * buffer.c (Fkill_buffer): Don't delete auto save file
16831 if buffer is modified.
16832
16833 2001-11-05 Andrew Innes <andrewi@gnu.org>
16834
16835 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
16836 CHECK_NUMBER_CDR.
16837
16838 2001-11-05 Richard M. Stallman <rms@gnu.org>
16839
16840 * unexelf.c (unexec): Minor changes; clean up comments.
16841
16842 2001-11-05 Sam Steingold <sds@gnu.org>
16843
16844 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
16845
16846 2001-11-05 Andreas Schwab <schwab@suse.de>
16847
16848 * sound.c (sound_perror): Save errno from being clobbered.
16849
16850 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
16851
16852 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
16853 the program image directly.
16854
16855 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16856
16857 * buffer.h (Fbuffer_local_value): Add prototype.
16858
16859 2001-11-04 Richard M. Stallman <rms@gnu.org>
16860
16861 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
16862 and CHECK_BUFFER.
16863
16864 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
16865 (record_char): Likewise.
16866
16867 * keyboard.c (make_lispy_event): Don't insist a drag event must
16868 move to a different buffer position. Instead, check for moving at
16869 least double_click_fuzz.
16870
16871 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
16872
16873 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
16874
16875 * indent.c (current_column_1, Fmove_to_column): Separate the code
16876 for display-table glyphs from the code for buffer text, to fix
16877 bugs in the former.
16878
16879 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
16880
16881 * buffer.c (Fbuffer_local_value): New function.
16882 (syms_of_buffer): Defsubr it.
16883
16884 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
16885 value of `cursor-in-non-selected-windows'.
16886
16887 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
16888 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
16889 (syms_of_xdisp): Initialize it.
16890
16891 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16892
16893 * xfns.c (Fx_create_frame): Doc fix.
16894
16895 * coding.c: Change doc-string comments to `new style' [w/`doc:'
16896 keyword].
16897
16898 * eval.c (top_level_value, top_level_set): Remove commented and
16899 #ifdef'd-out code.
16900 (Fdefvar): Fix usage in doc-string.
16901
16902 2001-11-03 Richard M. Stallman <rms@gnu.org>
16903
16904 * xfns.c: Include unistd.h, if it exists.
16905
16906 * editfns.c: Move the include of ctype.h after unistd.h.
16907
16908 * gmalloc.c: Test BROKEN_PROTOTYPES.
16909
16910 2001-11-03 Ken Raeburn <raeburn@gnu.org>
16911
16912 * lisp.h (CHECK_STRING_CAR): New macro.
16913 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
16914 treating XCAR and XCDR as lvalues.
16915 (openp): Use CHECK_STRING_CAR.
16916 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
16917
16918 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
16919
16920 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
16921 (SIGMASKTYPE): Define.
16922
16923 * syssignal.h (sigunblock): Don't define if already defined.
16924
16925 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16926
16927 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
16928 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
16929 Fix typos in comments.
16930
16931 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
16932 and #ifdef'd-out code.
16933 Fix and reindent comments.
16934
16935 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
16936
16937 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
16938 argument `i' in macros.
16939
16940 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
16941 `i' in macros.
16942
16943 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
16944 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
16945 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
16946 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
16947 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
16948 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
16949 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
16950 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
16951 in macros.
16952
16953 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
16954 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
16955 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
16956 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
16957 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
16958 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
16959 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
16960 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
16961 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
16962 (remove unused second argument).
16963
16964 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
16965
16966 * syntax.c (describe_syntax): New wrapper.
16967 (Finternal_describe_syntax_value): Rename from describe_syntax.
16968 Don't insert space at front and \n at the end.
16969 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
16970
16971 * regex.c (re_wctype): Try to fix some warnings.
16972 (regcomp, regexec): Don't forget the __restrict.
16973
16974 2001-11-02 Richard M. Stallman <rms@gnu.org>
16975
16976 * textprop.c (Fget_char_property): Doc fix.
16977
16978 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16979
16980 * process.c (Fstart_process): Add usage to doc-string.
16981
16982 * data.c (Fsetq_default): Ditto.
16983
16984 * callint.c (Finteractive): Ditto.
16985
16986 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
16987
16988 * macros.c: Don't include keymap.h any more.
16989
16990 2001-11-01 Richard M. Stallman <rms@gnu.org>
16991
16992 * data.c (Fmake_local_variable): Doc fix.
16993
16994 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
16995 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
16996
16997 * keymap.c (Fdescribe_buffer_bindings): Print character property
16998 bindings along with or instead of the buffer local map.
16999 Make the overriding maps override what they should.
17000
17001 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17002
17003 * window.c (grow_mini_window): Fix typo in comment.
17004
17005 2001-11-01 Gerd Moellmann <gerd@gnu.org>
17006
17007 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
17008 (XTset_vertical_scroll_bar): Likewise.
17009
17010 * xfns.c (x_build_heuristic_mask): Use four_corners_best
17011 instead of IMAGE_BACKGROUND.
17012
17013 * xfns.c (four_corners_best): Reindent.
17014
17015 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
17016 Handle :box so that it is possible to specify sexprs.
17017
17018 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
17019
17020 * s/hpux11.h: New file.
17021
17022 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17023
17024 * emacs.c (USAGE1): Show command line option --no-window-system
17025 instead of --no-windows in usage.
17026 (standard_args): Rename --no-windows to --no-window-system.
17027 (bug_reporting_address): Follow Emacs coding conventions.
17028
17029 * eval.c (Fcommandp): Doc fix.
17030 Change doc-string comments to `new style' [w/`doc:' keyword].
17031
17032 * frame.c (Fframe_live_p): Doc fix.
17033
17034 * buffer.c (selective-display-ellipses): Doc fix.
17035
17036 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17037
17038 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
17039
17040 * xfaces.c (realize_x_face): If C is not a single-byte character,
17041 set the face's colors_copied_bitwise_p instead of the defaulted_p
17042 members which have a different meaning.
17043 (free_face_colors): Do nothing for a face whose colors have been
17044 copied bitwise.
17045
17046 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
17047
17048 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17049
17050 * marker.c, mocklisp.c: Change doc-string comments to `new style'
17051 [w/`doc:' keyword].
17052
17053 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17054
17055 * fns.c (require_unwind): Return Lisp_Object.
17056
17057 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17058
17059 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
17060 (last-input-char): Revert doc-string to be the same as the
17061 doc-string of `last-input-event'.
17062
17063 * xdisp.c: Fix typos in comments.
17064
17065 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17066
17067 * window.c (grow_mini_window): Handle case that the root
17068 window is already smaller than the nominal mininum height.
17069
17070 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
17071
17072 * emacs.c (main): Don't call keys_of_macros any more.
17073
17074 * lisp.h (keys_of_macros): Remove.
17075
17076 * macros.c (keys_of_macros): Remove.
17077
17078 * xfaces.c (Fface_attribute_relative_p): Declare args.
17079
17080 2001-10-30 Jason Rumney <jasonr@gnu.org>
17081
17082 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
17083 (enum_font_cb2): Ignore fonts with vertical orientation.
17084
17085 2001-10-30 Richard M. Stallman <rms@gnu.org>
17086
17087 * keyboard.c (Finput_pending_p): Doc fix.
17088
17089 2001-10-30 Gerd Moellmann <gerd@gnu.org>
17090
17091 * xterm.c (x_after_update_window_line): Don't run the code
17092 clearing in borders for rows whose visible height is 0.
17093
17094 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
17095 resized_p flag is set. If not set, use the much less flickering
17096 method previously used.
17097
17098 * dispnew.c (change_frame_size_1): Set frame's resized_p.
17099
17100 * frame.h (struct frame) <resized_p>: New member.
17101
17102 * lread.c (to_multibyte): Ensure read_buffer is at least twice
17103 as large as the number of bytes to convert.
17104
17105 * lread.c (to_multibyte): New function.
17106 (read1): Use it.
17107
17108 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
17109
17110 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
17111
17112 2001-10-30 Gerd Moellmann <gerd@gnu.org>
17113
17114 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
17115 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
17116 if the row's fill_line_p is set and drawing the last glyph with
17117 DRAW_IMAGE_{RAISED,SUNKEN}.
17118
17119 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
17120
17121 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
17122
17123 * xmenu.c: Include coding.h and charset.h.
17124 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
17125 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
17126 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
17127 Explicitly set wv->help. Use `TRUE' rather than `True'.
17128 (menu_help_callback): Use empty_string.
17129
17130 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
17131 (Fx_popup_dialog): Explicitly init f.
17132 (w32_menu_display_help): Use empty_string.
17133
17134 2001-10-29 Richard M. Stallman <rms@gnu.org>
17135
17136 * fns.c (Frequire): Detect recursive try to require the same
17137 feature 3 or more levels deep, and get error.
17138 (require_unwind): New subroutine.
17139 (require_nesting_list): New variable.
17140 (syms_of_fns): Init and staticpro it.
17141
17142 * print.c (print_object): Clarify indication of insertion type.
17143
17144 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
17145
17146 * coding.c (syms_of_coding): Document that locale-coding-system is
17147 used for decoding input on X.
17148
17149 * window.c (Fscroll_left, Fscroll_right): Doc fix.
17150
17151 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17152
17153 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
17154 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
17155
17156 2001-10-29 Gerd Moellmann <gerd@gnu.org>
17157
17158 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
17159 use NO_CURSOR if cursor_in_non_selected_windows is false.
17160
17161 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
17162 the slant attribute if FRAME is t.
17163
17164 * xfns.c (x_set_internal_border_width): Set frame garbaged
17165 when X window doesn't exist yet.
17166
17167 * xterm.c (x_after_update_window_line): Clear internal border
17168 in different circumstances.
17169
17170 * xterm.c (XTread_socket) <KeyPress>: Don't use
17171 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
17172 <handa@etl.go.jp>.
17173
17174 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
17175
17176 * m/ibms390.h: New file. From Adam Thornton
17177 <athornton@sinenomine.net>.
17178
17179 2001-10-28 Gerd Moellmann <gerd@gnu.org>
17180
17181 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
17182
17183 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
17184 a loop counter.
17185
17186 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17187
17188 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
17189
17190 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
17191 keyword].
17192 Fix typos in comments.
17193
17194 * emacs.c (bug_reporting_address): New function.
17195 Use it when displaying usage message.
17196
17197 * minibuf.c (read_minibuf): Remove unused external declaration of
17198 variable `Qread_only'.
17199
17200 * keymap.c (access_keymap): Remove unused variable `charset'.
17201
17202 2001-10-28 Miles Bader <miles@gnu.org>
17203
17204 * xfaces.c (merge_face_heights): Handle TO being relative as well.
17205 Remove #ifdef'd-out code.
17206 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
17207 (syms_of_xfaces): Initialize them.
17208
17209 2001-10-27 Jason Rumney <jasonr@gnu.org>
17210
17211 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
17212 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
17213 position using the system caret.
17214
17215 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
17216 (w32_system_caret_height, w32_system_caret_x)
17217 (w32_system_caret_y): New variables for tracking system caret.
17218 (w32_initialize): Initialize them.
17219 (x_display_and_set_cursor): Make system caret follow the active cursor.
17220
17221 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
17222 New messages types.
17223
17224 * w32term.c (note_mouse_highlight): Clear old help_echo.
17225
17226 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17227
17228 * xterm.c: Fix typo in a comment.
17229
17230 * emacs.c: Fix typos in comments.
17231 Remove unnecessary spaces.
17232 Change doc-string comments to `new style' [w/`doc:' keyword].
17233 (USAGE2): Fix typos in usage string.
17234
17235 * xterm.c: Fix typo in a comment.
17236
17237 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
17238 emacs.c.
17239
17240 2001-10-27 Gerd Moellmann <gerd@gnu.org>
17241
17242 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
17243 instead of 1/2 line_height in the heuristic for skipping
17244 farther backward when target_y was not reached.
17245
17246 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
17247 Display errno only if non-zero.
17248 (sound_warning): New function.
17249 (vox_configure): Don't treat failing to set sample rate as error.
17250 (various places): Improve error messages.
17251
17252 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
17253
17254 * fileio.c (Faccess_file): Run the argument filename through
17255 Fexpand_file_name, before using it.
17256
17257 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
17258 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
17259
17260 2001-10-26 Gerd Moellmann <gerd@gnu.org>
17261
17262 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
17263
17264 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
17265 Fix clearing in the case of scroll bars on the right.
17266
17267 2001-10-26 Juanma Barranquero <lektu@terra.es>
17268
17269 * w32gui.h (XImage): Add a dummy typedef.
17270
17271 2001-10-26 Gerd Moellmann <gerd@gnu.org>
17272
17273 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
17274
17275 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
17276
17277 * frame.c (Fframe_parameter): Fix last change.
17278
17279 * fileio.c: Revert last change (which removed old commented-out
17280 version of expand-file-name). Add a comment that explains why
17281 this old version should not be removed.
17282
17283 2001-10-25 Gerd Moellmann <gerd@gnu.org>
17284
17285 * frame.c (Fframe_parameter): Fix a bug whereby some
17286 ``artificial'' frame parameters, like `minibuffer' were not
17287 obtained by calling Fframe_parameters.
17288
17289 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
17290 cursor differently.
17291
17292 * xdisp.c (move_it_vertically_backward): Compute line height
17293 differently. Add heuristic to try to be more compatible to 20.x.
17294
17295 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
17296
17297 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
17298
17299 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
17300 boolean.
17301
17302 2001-10-25 Miles Bader <miles@gnu.org>
17303
17304 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
17305 BG is a pointer to a structure, not a structure.
17306 (gif_format, png_format): Add missing commas.
17307
17308 2001-10-24 Richard M. Stallman <rms@gnu.org>
17309
17310 * xfaces.c (Fface_attributes_as_vector): New function.
17311 (syms_of_xfaces): Defsubr it.
17312
17313 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17314
17315 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
17316 variable `area'.
17317
17318 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17319
17320 * search.c (scan_newline): Remove unused variable `selective_display'.
17321
17322 2001-10-25 Miles Bader <miles@gnu.org>
17323
17324 * dispextern.h (struct image): Add `background',
17325 `background_valid', and `background_transparent' fields.
17326 (image_background, image_background_transparent): New declarations.
17327 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
17328 * xfns.c (image_background, image_background_transparent)
17329 (four_corners_best): New functions.
17330 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
17331 (gs_format): Add `:background' entry.
17332 (lookup_image): Set IMG's background color if specified.
17333 (pbm_load, xbm_load_image, png_load): Set IMG's background field
17334 when appropriate.
17335 (x_clear_image_1): Reset `background_valid' and
17336 `background_transparent_valid' fields.
17337 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
17338 calculating it here. Set IMG's background_transparent field.
17339 (enum xpm_keyword_index): Add XPM_BACKGROUND.
17340 (enum png_keyword_index): Add PNG_BACKGROUND.
17341 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
17342 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
17343 (enum gif_keyword_index): Add GIF_BACKGROUND.
17344 (enum gs_keyword_index): Add GS_BACKGROUND.
17345 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
17346 Pre-calculate image background color where necessary.
17347 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
17348 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
17349 color to use for image glyph reliefs.
17350
17351 2001-10-24 Gerd Moellmann <gerd@gnu.org>
17352
17353 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
17354 in full-width rows.
17355
17356 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
17357 Fix clearing of area not covered by scroll bar.
17358
17359 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17360
17361 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
17362 and `real_start'.
17363 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
17364 (glyph_rect): Remove unused variable `area'.
17365
17366 2001-10-24 Gerd Moellmann <gerd@gnu.org>
17367
17368 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
17369
17370 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
17371 (row_containing_pos): Take additional argument DY.
17372 Treat rows ending in middle of char differently.
17373 (display_line): Handle tabs on window systems differently.
17374
17375 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
17376 with additional argument.
17377
17378 * dispextern.h (row_containing_pos): Adjust prototype.
17379
17380 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
17381 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
17382 (try_window_id, try_window_reusing_current_matrix)
17383 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
17384 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
17385
17386 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17387
17388 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
17389 gnuemacs).
17390 (HAVE_BOXES): Fix typo in comment.
17391 (push_menu_pane): Fix typo in comment.
17392
17393 * xdisp.c: (display_prop_string_p): Remove unused local declaration
17394 of `Qwhen'.
17395 (single_display_prop_string_p): Remove unused local declarations
17396 of `Qwhen' and `Qmargin'.
17397 (string_buffer_position): Remove unused variable `around'.
17398 (store_frame_title): Remove unused variable `width'.
17399
17400 * window.c: Don't define max.
17401 (coordinates_in_window): Remove unused variable `uy'.
17402
17403 * widget.c: Don't define max.
17404
17405 * process.c: Don't define max.
17406 (create_process): Remove unused variable `buffer'.
17407
17408 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17409
17410 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
17411
17412 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
17413
17414 * xfaces.c (Finternal_set_lisp_face_attribute)
17415 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
17416 frame is on a windowed display.
17417
17418 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17419
17420 * dispnew.c (sync_window_with_frame_matrix_rows):
17421 Fix handling of windows which aren't full-width, fix handling
17422 of marginal areas.
17423
17424 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
17425
17426 2001-10-23 Andreas Schwab <schwab@suse.de>
17427
17428 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
17429 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
17430
17431 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17432
17433 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
17434 REAL_END. Notice if cursor gets overwritten.
17435 (notice_overwritten_cursor): Take X positions as parameters.
17436 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
17437 around call to x_draw_glyphs.
17438
17439 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17440
17441 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
17442 instead of C) and usage.
17443
17444 * editfns.c (char-to-string): Fix argument names (use CHAR instead
17445 of C) and usage.
17446
17447 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
17448 `left', `max_width' and `max_height'.
17449
17450 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17451
17452 * xdisp.c (display_line): For a tab continued to the next line,
17453 set row's ends_in_middle_of_char_p.
17454
17455 2001-10-22 Gerd Moellmann <gerd@gnu.org>
17456
17457 * xdisp.c (display_line): Fix computation of continuation lines
17458 width for TABs.
17459
17460 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17461
17462 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
17463 `Qlaplace'.
17464
17465 * fileio.c: Remove unused code.
17466
17467 2001-10-22 Miles Bader <miles@gnu.org>
17468
17469 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
17470 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
17471 Remove `DOC_STRINGS_IN_COMMENTS' cases.
17472
17473 2001-10-21 Jason Rumney <jasonr@gnu.org>
17474
17475 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
17476
17477 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
17478
17479 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
17480 (Finsert_string): Avoid the multi-line string literals warning.
17481
17482 2001-10-22 Miles Bader <miles@gnu.org>
17483
17484 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
17485 (Fdocumentation): Don't use it.
17486 (syms_of_doc): Don't initialize it.
17487
17488 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
17489 * print.c (Fwith_output_to_temp_buffer): Likewise.
17490 * window.c (Fsave_window_excursion): Likewise.
17491 * editfns.c (Fsave_excursion, Fsave_current_buffer)
17492 (Fsave_restriction): Likewise.
17493 * eval.c (Frun_hooks, Frun_hook_with_args)
17494 (Frun_hook_with_args_until_failure)
17495 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
17496 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
17497 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
17498 (Funwind_protect, Fcondition_case): Likewise.
17499 * coding.c (Ffind_operation_coding_system): Likewise.
17500 * keyboard.c (Ftrack_mouse): Likewise.
17501
17502 2001-10-21 Miles Bader <miles@gnu.org>
17503
17504 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
17505 (Fmake_hash_table): Add usage: string to doc string.
17506 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
17507 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
17508 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
17509 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
17510 (Fml_prefix_argument_loop): Likewise.
17511
17512 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17513
17514 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
17515
17516 * sysdep.c (init_sys_modes): Change doc-string comments to `new
17517 style' [w/`doc:' keyword].
17518
17519 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
17520 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
17521 comments to `new style' [w/`doc:' keyword].
17522
17523 2001-10-21 Jason Rumney <jasonr@gnu.org>
17524
17525 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
17526
17527 * w32term.c (remember_mouse_glyph): New function.
17528 (w32_mouse_position): Use it.
17529 (note_mouse_movement): If the mouse moved off the glyph, remember
17530 its new position.
17531
17532 * w32term.h (struct w32_output): Correct spelling of x_compatible.
17533 (w32_display_info): Add mouse_face_overlay.
17534
17535 * w32term.c (notice_overwritten_cursor): Renamed from
17536 note_overwritten_text_cursor. Rewritten to take glyph widths into
17537 account.
17538 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
17539 (fast_find_string_pos): New function.
17540 (fast_find_position): Return the correct vpos. Add parameter
17541 STOP. In the final row, stop before glyphs having STOP as object.
17542 Don't consider glyphs that are not from a buffer.
17543 (fast_find_position) [0]: Add a presumably more correct version
17544 for after 21.1.
17545 (expose_window_tree, expose_frame): Don't compute intersections here.
17546 (expose_window): Do it here instead.
17547 (expose_window_tree, expose_window, expose_line): Return 1 when
17548 overwriting mouse-face.
17549 (expose_window): If W is the window currently being updated, mark
17550 the frame garbaged.
17551 (expose_frame): If mouse-face was overwritten, redo it.
17552 (x_use_underline_position_properties): New variable.
17553 (syms_of_xterm): DEFVAR_BOOL it.
17554 (x_draw_glyph_string): Add comment to use it in future.
17555 (x_draw_glyph_string): Restore clipping after drawing box.
17556 Fix a computation of the underline position.
17557 (w32_get_glyph_string_clip_rect): Minor cleanup.
17558 (x_fill_stretch_glyph_string): Remove an assertion.
17559 (x_produce_glyphs): Don't convert multibyte characters
17560 to unibyte characters in unibyte buffers.
17561 (cursor_in_mouse_face_p): New function.
17562 (x_draw_stretch_glyph_string): Use it to choose a different GC
17563 when drawing a cursor within highlighted text. Don't draw
17564 background again if it has already been drawn.
17565 (x_draw_glyph_string_box): Don't draw a full-width
17566 box just because the glyph row's full_width_p flag is set.
17567 (x_draw_glyphs): Fix computation of rightmost x for
17568 full-width rows.
17569 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
17570 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
17571 change bottom shadow accordingly. Some cleanup.
17572 (x_update_window_end): Handle overwritten mouse face
17573 also for tool bar windows.
17574 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
17575 DRAW is DRAW_IMAGE_RAISED.
17576 (clear_mouse_face): Return 1 if text with mouse face was
17577 actually redrawn. Make the function static.
17578 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
17579 optimize away highlighting if we pass over that same overlay again.
17580 (note_mouse_highlight): Call mouse_face_overlay_overlaps
17581 to detect a case where we have to highlight a different region
17582 despite not having left the currently highlighted region.
17583 Set mouse_face_overlay in the x_display_info. Avoid changing the
17584 mouse pointer shape when show_mouse_face has already done it, or
17585 there is no need. Handle mouse-face and help-echo in strings.
17586 (glyph_rect): New function.
17587 (w32_mouse_position): Use it to raise the threshold for mouse
17588 movement event generation.
17589 (w32_initialize_display_info): Initialize the x_display_info's
17590 mouse_face_overlay.
17591 (w32_set_vertical_scroll_bar): Don't clear a zero height
17592 or width area.
17593 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
17594 a widget to zero height.
17595
17596 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
17597 Protect unibyte strings created by replacing their multibyte
17598 equivalents in menu_items.
17599 (w32_menu_show): Don't overwrite an item's name with its key
17600 description in case the description is a multibyte string.
17601 (single_submenu): Some cleanup.
17602
17603 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
17604 (postprocess_image): New function.
17605 (lookup_image): Call it for all image types except PostScript.
17606 (x_kill_gs_process): Call postprocess_image.
17607 (tiff_error_handler, tiff_warning_handler): New functions.
17608 (tiff_load): Install them as handlers.
17609 (x_kill_gs_process): Recognize if someone has cleared the image
17610 cache under us.
17611 (valid_image_p): Protect better against invalid image
17612 specifications. Previous code could signal an error.
17613 (Fx_hide_tip, Fshow_tip): Doc fix.
17614 (Fv_max_tooltip_size): New variable.
17615 (syns_of_xfns): DEFVAR_LISP it.
17616 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
17617 window buffer to *tip* right after creating the frame. Set frame's
17618 window_width. Use a maximum tooltip size specified by
17619 Vx_max_tooltip_size, if that has valid contents.
17620 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
17621 Make sure the tooltip is completely visible.
17622 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
17623 (Fx_create_frame): Adjust the frame's height for presence
17624 of the tool bar before calling x_figure_window_size.
17625 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
17626 when the window gets smaller.
17627 (x_set_foreground_color): Set frame's cursor_pixel.
17628 (x_set_foreground_color, x_set_background_color): Cleaned up.
17629 (x_set_font): Handle case of x_new_fontset returning the same name
17630 as before, although there was a change in fontsets.
17631
17632 2001-10-21 Miles Bader <miles@gnu.org>
17633
17634 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
17635 (Flogxor): Add usage: string to doc string.
17636 * charset.c (Fstring): Likewise.
17637 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
17638 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
17639
17640 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17641
17642 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
17643
17644 * alloc.c: Reindent DEFUNs with doc: keywords.
17645
17646 * abbrev.c (Finsert_abbrev_table_description): Reindent.
17647
17648 * frame.c: Change doc-string comments to `new style' [w/`doc:'
17649 keyword].
17650
17651 See ChangeLog.9 for earlier changes.
17652
17653 ;; Local Variables:
17654 ;; coding: iso-2022-7bit
17655 ;; End:
17656
17657 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
17658 Copying and distribution of this file, with or without modification,
17659 are permitted provided the copyright notice and this notice are preserved.
17660
17661 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4