]> code.delx.au - gnu-emacs/blob - src/ChangeLog
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-16
[gnu-emacs] / src / ChangeLog
1 2005-02-22 Kim F. Storm <storm@cua.dk>
2
3 * minibuf.c (Ftry_completion, Fall_completions): Allow both string
4 and symbol keys in alists and hash tables.
5
6 * xdisp.c (fast_find_position): Fix search for start of overlay.
7
8 2005-02-21 Kim F. Storm <storm@cua.dk>
9
10 * window.c (window_scroll_pixel_based): When scrolling backwards,
11 handle partial visible line at end of window even when we hit PT.
12
13 2005-02-21 Stefan <monnier@iro.umontreal.ca>
14
15 * keymap.h: Declare Fcurrent_active_maps, used in doc.c.
16
17 2005-02-21 Kim F. Storm <storm@cua.dk>
18
19 * xdisp.c (move_it_vertically_backward): Eliminate two xasserts.
20 I think those asserts are bogus if buffer contains invisible text
21 or images.
22
23 2005-02-21 David Kastrup <dak@gnu.org>
24
25 * gtkutil.c (xg_create_frame_widgets): UNBLOCK_INPUT on error.
26
27 2005-02-20 Kim F. Storm <storm@cua.dk>
28
29 * xdisp.c (pos_visible_p): Be sure to move to the specified
30 position. Always get the full ascent / descent of the
31 corresponding row, to return reliable rtop and rbot values.
32 (back_to_previous_visible_line_start): Fix 2005-01-18 change.
33 Must look one character back, as back_to_previous_line_start
34 returns position after the newline.
35 (move_it_vertically_backward): Fix heuristic for when to move further
36 back in case line_height * 2/3 is larger than window height.
37 (cursor_row_fully_visible_p): Rename make_cursor_line_fully_visible_p
38 as it does not do anything anymore. Add arg current_matrix_p to
39 use current matrix rather than desired matrix when set.
40 (try_cursor_movement): Don't scroll to make cursor row fully
41 visible if cursor didn't move. This avoids unexpected recentering
42 in case of blinking cursor or accepting process output.
43 Use current matrix to check cursor row visibility.
44 (redisplay_window): Fix whether to recenter or move to top in case
45 cursor line is taller than window height.
46 (find_first_unchanged_at_end_row): Stop search if we reach a row
47 which not enabled (instead of abort).
48
49 2005-02-18 Kim F. Storm <storm@cua.dk>
50
51 * xfaces.c (Finternal_set_lisp_face_attribute): Allow :color property
52 to be nil in a :box attribute value list; customize prints that
53 as lisp value when no box color is specified.
54
55 * .gdbinit (pitx, pit): Pretty print display iterator.
56 (prowx, prow): Pretty print glyph row.
57 (pcursorx, pcursor): Pretty print a window cursor.
58 (pwinx, pwin): Pretty print struct window.
59
60 2005-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
61
62 * alloc.c (BLOCK_BYTES): Harmless typo.
63
64 2005-02-17 Andreas Schwab <schwab@suse.de>
65
66 * xfns.c (hack_wm_protocols): Use correct type for last parameter
67 of XGetWindowProperty to avoid aliasing issues.
68 (Fx_window_property): Likewise.
69
70 * xselect.c (Fx_disown_selection_internal): Use union of struct
71 input_event and struct selection_input_event to avoid aliasing
72 issues.
73
74 * xterm.c (handle_one_xevent): Use union of struct input_event and
75 struct selection_input_event to avoid aliasing issues.
76 (SET_SAVED_MENU_EVENT): Adapt reference to inev.
77
78 2005-02-17 Kim F. Storm <storm@cua.dk>
79
80 * dispextern.h (enum it_method): New enum.
81 (GET_FROM_*): Its members.
82 (struct it): Change member method from function pointer to enum.
83
84 * xdisp.c (check_it, init_from_display_pos, handle_stop)
85 (setup_for_ellipsis, handle_single_display_spec)
86 (handle_composition_prop, next_overlay_string)
87 (get_overlay_strings, reseat_1, reseat_to_string)
88 (next_element_from_ellipsis, BUFFER_POS_REACHED_P)
89 (in_display_vector_p, display_line, get_next_display_element):
90 Change it->method from function pointer to enum.
91 (get_next_element): New array to map it->method to function.
92 (get_next_display_element): Use it.
93 (set_iterator_to_next): Use switch instead of if/else chain.
94
95 2005-02-15 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
96
97 * w32select.c: Summary: Thorough rework to implement Unicode
98 clipboard operations and delayed rendering.
99
100 Drop last_clipboard_text and related code, keep track of
101 ownership via clipboard_owner instead. Drop old #if0
102 sections.
103
104 (DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP)
105 (clipboard_owner, modifying_clipboard, cfg_coding_system)
106 (cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text)
107 (current_coding_system, current_requires_encoding)
108 (current_num_nls, current_clipboard_type, current_lcid): New
109 static variables.
110
111 (convert_to_handle_as_ascii, convert_to_handle_as_coded)
112 (render, render_all, run_protected, lisp_error_handler)
113 (owner_callback, create_owner, setup_config)
114 (enum_locale_callback, cp_from_locale, coding_from_cp): New
115 local functions.
116
117 (term_w32select, globals_of_w32select): New global functions.
118
119 (Fw32_set_clipboard_data): Ignore parameter FRAME, use
120 clipboard_owner instead. Use delayed rendering and provide
121 all text formats. Provide CF_LOCALE if necessary.
122
123 (Fw32_get_clipboard_data): Handle CF_UNICODETEXT and
124 CF_LOCALE. Fall back to CF_TEXT, if CF_UNICODETEXT is not
125 available. Force DOS line-ends for decoding.
126
127 (Fx_selection_exists_p): Handle CF_UNICODETEXT.
128
129 (syms_of_w32select): Init and register new variables.
130
131 * w32.h: Add prototypes for globals_of_w32select and
132 term_w32select. Make the neighboring K&R declarations into
133 prototypes, too.
134
135 * emacs.c: Include w32.h to get function prototypes.
136 (main): Call globals_of_w32select.
137
138 * w32.c (term_ntproc): Call term_w32select.
139
140 * s/ms-w32.h: Guard MSC-specific #pragmas with an #ifdef.
141
142 2005-02-16 Kim F. Storm <storm@cua.dk>
143
144 * xdisp.c (BUFFER_POS_REACHED_P): Return true if pos reached and
145 at end of display vector.
146
147 2005-02-15 Richard M. Stallman <rms@gnu.org>
148
149 * xdisp.c (get_next_display_element): Fix escape-glyph criterion
150 for mode and header lines.
151
152 * lread.c (syms_of_lread) <user-init-file>: Doc fix.
153
154 * keymap.h (describe_map_tree): Change decl.
155
156 * keyboard.c (command_loop_1): Always use safe_run_hooks
157 to run Qdeferred_action_function.
158
159 * keymap.c (describe_map_tree): New arg MENTION_SHADOW. Calls changed.
160 (describe_map, describe_vector): Likewise. When it's 1,
161 don't omit shadowed bindings, instead mark them as shadowed.
162
163 * doc.c (Fsubstitute_command_keys): Compute list of shadowing maps
164 for describe_map_tree. Pass 1 for MENTION_SHADOW.
165
166 * data.c (Fsetq_default): Allow no arg case.
167
168 2005-02-14 Kenichi Handa <handa@m17n.org>
169
170 * coding.c (encode_coding_string): Always return a unibyte string.
171 If NOCOPY is nonzero and there's no need of encoding, make STR
172 unibyte directly.
173
174 * xselect.c (lisp_data_to_selection_data): If OBJ is a non-ASCII
175 multibyte string, signal an error instead of aborting.
176
177 2005-02-12 Dan Nicolaescu <dann@ics.uci.edu>
178
179 * keyboard.c: If HAVE_FCNTL_H include fcntl.h.
180
181 2005-02-12 Kim F. Storm <storm@cua.dk>
182
183 * xdisp.c (expose_window): Don't fix overlaps for mode lines.
184
185 2005-02-10 Kim F. Storm <storm@cua.dk>
186
187 * xdisp.c (try_window_id): Set first_unchanged_at_end_row to NULL
188 if it moves outside window or it doesn't display text.
189
190 2005-02-09 Kim F. Storm <storm@cua.dk>
191
192 * undo.c (Fprimitive_undo): Check that undo function does not
193 switch buffer.
194
195 2005-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
196
197 * xselect.c (selection_data_to_lisp_data): For the special case
198 type == XA_ATOM, data contains array of int, not array of Atom.
199 (x_property_data_to_lisp, selection_data_to_lisp_data): Comment
200 update: data must be array of int for format == 32.
201
202 2005-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
203
204 * undo.c (Fprimitive_undo): Check veracity of delta,start,end.
205
206 2005-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
207
208 * xfns.c (Fx_change_window_property): Use long array when format is 32.
209 (Fx_window_property): If format is 32 and long is bigger than 32 bits,
210 convert long array returned from XGetWindowProperty to an int array.
211 (x_set_tool_bar_lines): Check that width and height is greater than
212 zero before clearing area.
213
214 * xselect.c (x_reply_selection_request): Pass long array to
215 XChangeProperty so that 64 bit longs are handeled correctly.
216 (x_get_window_property): If format is 32 and long is bigger than 32
217 bits convert data from XGetWindowProperty from long array to int array.
218 (lisp_data_to_selection_data): When the input is a vector and the
219 format is 32, allocate a long array even if long is bigger than 32 bits.
220 (x_fill_property_data): Use char, short and long as the man page
221 for XChangeProperty specifies. This way the data returned is OK for
222 both 32 and 64 bit machines.
223 (x_handle_dnd_message): Calculate size correctly even for 64 bit
224 machines.
225 (Fx_send_client_event): Undo change from 2005-02-05,
226 x_fill_property_data now handles that case.
227
228 * xfns.c (Fx_backspace_delete_keys_p): Add comment about the
229 reason for the approach in the code.
230
231 2005-02-07 Kim F. Storm <storm@cua.dk>
232
233 * undo.c (Fprimitive_undo): Record max one dummmy apply element.
234
235 2005-02-06 Richard M. Stallman <rms@gnu.org>
236
237 * eval.c (Frun_hook_with_args)
238 (Frun_hook_with_args_until_success)
239 (Frun_hook_with_args_until_failure): Doc fixes.
240
241 2005-02-05 Andreas Schwab <schwab@suse.de>
242
243 * sysdep.c (sys_subshell): Properly terminate execlp argument list.
244
245 2005-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
246
247 * xselect.c (Fx_send_client_event, x_handle_dnd_message): Handle
248 the longs in a XClientMessageEvent correctly when long is 64 bits.
249
250 2005-02-05 Eli Zaretskii <eliz@gnu.org>
251
252 * xfaces.c (face_color_supported_p): Use HAVE_WINDOW_SYSTEM
253 instead of HAVE_X_WINDOWS, for non-X windowed sessions.
254
255 2005-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
256
257 * xmenu.c (menubar_selection_callback): Force out GTK buffered
258 events so the menu event comes after them. This is to prevent sit-for
259 from exiting on buffered events directly after a menu selection,
260 lisp code for Help => About Emacs uses sit-for.
261
262 * gtkutil.c (create_menus): Connect selection-done event instead of
263 the deactivate event to deactivate_cb. This will make the last
264 leave event come before the call to deactivate_cb, so the leave
265 event does not make sit-for exit after a menu selection.
266
267 2005-02-03 Kim F. Storm <storm@cua.dk>
268
269 * dispnew.c (build_frame_matrix_from_leaf_window)
270 [!GLYPH_DEBUG]: Fix xassert.
271
272 * xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert.
273
274 * xfns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
275
276 2005-02-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
277
278 * mac.c: Use MAC_OS_X_VERSION_MAX_ALLOWED to conditionalize by
279 the compiling OS version.
280
281 * macfns.c (x_create_tip_frame): Likewise.
282
283 * macterm.c (mac_draw_string_common, x_make_frame_visible): Likewise.
284
285 2005-02-03 Richard M. Stallman <rms@gnu.org>
286
287 * xterm.c (x_error_quitter): On GCC 3 and up, specify noinline.
288
289 * xdisp.c (echo_area_display): Clear echo_message_buffer.
290
291 * buffer.c (Fbury_buffer): Doc fix.
292
293 2005-02-02 Steven Tamm <steventamm@mac.com>
294
295 * macfns.c (unwind_create_frame): Fixing compile error due to
296 xassert being uncondition, but predicate is.
297 * dispnew.c (update_window): Fixing compile error due to
298 xassert being uncondition, but predicate is.
299
300 2005-02-02 Miles Bader <miles@gnu.org>
301
302 * dispextern.h (xassert): Enable unconditionally.
303
304 2005-02-02 Kim F. Storm <storm@cua.dk>
305
306 * undo.c (Fprimitive_undo): Fix dummy apply undo entry.
307
308 2005-02-02 Kenichi Handa <handa@m17n.org>
309
310 * casefiddle.c (casify_object): Enable changing characters of
311 different byte length.
312 (casify_region): Fix loop condition, args to replace_range_2, and
313 update opoint_byte.
314
315 * insdel.c (replace_range_2): Fix bugs in adjusting markers and
316 point.
317
318 2005-02-01 Kim F. Storm <storm@cua.dk>
319
320 * xdisp.c (back_to_previous_visible_line_start): Reset iterator
321 stack before calling handle_display_prop.
322
323 2005-01-31 Kim F. Storm <storm@cua.dk>
324
325 * undo.c (Qapply): New lisp var.
326 (syms_of_undo): Intern and staticpro it.
327 (Fprimitive_undo): Support formats (apply FUNNAME . ARGS) and
328 (apply DELTA BEG END FUNNAME . ARGS) instead of (FUNNAME . ARGS).
329
330 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
331
332 2005-01-30 Jesper Harder <harder@phys.au.dk>
333
334 * macterm.c (syms_of_macterm) <mac-reverse-ctrl-meta>
335 <mac-emulate-three-button-mouse>: Fix docstring indentation.
336
337 2005-01-29 Luc Teirlinck <teirllm@auburn.edu>
338
339 * undo.c (syms_of_undo) <undo-outer-limit>: Doc update.
340 Increase value to 3 Meg.
341
342 2005-01-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
343
344 * xfns.c (show_hourglass): Use FRAME_X_WINDOW as parent for GTK,
345 button events are not received otherwise.
346
347 2005-01-29 Richard M. Stallman <rms@gnu.org>
348
349 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
350
351 * undo.c (Fprimitive_undo): Handle (FUNNAME . ARGS) by calling FUNNAME.
352
353 2005-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
354
355 * keymap.c (access_keymap): YAILOM.
356
357 2005-01-27 Kim F. Storm <storm@cua.dk>
358
359 * xdisp.c (get_phys_cursor_geometry): New function to calculate
360 phys cursor position and size for hollow cursor. Position is
361 aligned with get_glyph_string_clip_rect and ensures that a hollow
362 cursor is shown, even when the actual glyph is not visible.
363
364 * dispextern.h (get_phys_cursor_geometry): Add prototype.
365
366 * xterm.c (x_clip_to_row): Ensure y >= 0.
367 (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
368
369 * w32term.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
370
371 * macterm.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
372
373 2005-01-27 Stefan Monnier <monnier@iro.umontreal.ca>
374
375 * xterm.c (x_error_quitter): Add a prototype. Make it static again.
376
377 2005-01-27 Kim F. Storm <storm@cua.dk>
378
379 * xdisp.c (get_glyph_string_clip_rect): Always show a cursor
380 glyph, even when row is only partially visible and actual cursor
381 position is not visible.
382
383 2005-01-24 Richard M. Stallman <rms@gnu.org>
384
385 * xterm.c (x_error_quitter): No longer static, and moved after
386 x_error_handler.
387
388 2005-01-24 Kim F. Storm <storm@cua.dk>
389
390 * xdisp.c (move_it_by_lines): If we move forward after going too
391 far back, cancel move if end position is same as start position.
392
393 2005-01-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
394
395 * dispextern.h (struct glyph_string): New members clip_head and
396 clip_tail.
397
398 * xdisp.c (get_glyph_string_clip_rect): Restrict horizontal clip
399 region to the area between clip_head and clip_tail.
400 (draw_glyphs): Record the area that need to be actually redrawn to
401 the new variables clip_head and clip_tail when there are
402 overhangs. Set values of these variables to the corresponding
403 members in struct glyph_string. Refine x coordinates for
404 notice_overwritten_cursor using clip_head and clip_tail.
405
406 * macgui.h (STORE_XCHARSETSTRUCT): New macro.
407
408 * macterm.c (mac_compute_glyph_string_overhangs): Implement with
409 QDTextBounds.
410 (x_draw_glyph_string): Don't fill the background of the successor
411 of a glyph with a right overhang if the successor will draw a cursor.
412 (XLoadQueryFont): Obtain font metrics using QDTextBounds.
413 (x_redisplay_interface): Add entry for compute_glyph_string_overhangs.
414
415 2005-01-24 Kim F. Storm <storm@cua.dk>
416
417 * window.c (window_scroll_pixel_based): Fix scrolling in the wrong
418 direction if window height was smaller than next-screen-context-lines.
419 Now always scroll at least one line in the requested direction.
420 Ensure that we actually do scroll backwards when requested to do so.
421
422 * xdisp.c (redisplay_window): Only try to make cursor line fully
423 visible once (to avoid redisplay loop).
424
425 2005-01-23 Kim F. Storm <storm@cua.dk>
426
427 * window.c (Fpos_visible_in_window_p): Simplify return value for
428 partially visible rows.
429 (window_scroll_pixel_based): Adapt to that change.
430
431 * window.c (window_scroll_pixel_based): Force moving to next line
432 if scrolling doesn't move start point, e.g. if looking at tall image.
433
434 * xdisp.c (pos_visible_p): Return 0 if non-interactive.
435 Clear last_height before calling line_bottom_y to get real height.
436 Fix calculation of y.
437
438 2005-01-22 Steven Tamm <steventamm@mac.com>
439
440 * s/darwin.h: Removed PTY_ITERATION from here.
441 (DARWIN): Define.
442 * process.c (init_process): Default process-connection-type to
443 nil on darwin 6 or less, t if it is 7 or higher. This way the
444 broken pty behavior is still allowed on darwin 6 for interactive
445 processes for people that know what they are doing.
446
447 2005-01-22 Kim F. Storm <storm@cua.dk>
448
449 * window.c (auto_window_vscroll_p): New boolean.
450 (syms_of_window): DEFVAR_BOOL it.
451 (Fpos_visible_in_window_p): Extend return value to include RTOP
452 and RBOT values if FULLY is nil.
453 (window_scroll_pixel_based): Adjust vscroll for partially visible
454 rows if auto_window_vscroll_p is set.
455 (Fset_window_vscroll): Do nothing if vscroll is not modified.
456
457 * xdisp.c (pos_visible_p): Replace FULLY arg by RTOP and RBOT args
458 to return number of partially invisible pixels at top and bottom
459 of the dislay row at POS.
460
461 * lisp.h (pos_visible_p): Fix prototype.
462
463 2005-01-21 Richard M. Stallman <rms@gnu.org>
464
465 * fileio.c (Fcopy_file): Doc fix.
466
467 2005-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
468
469 * gtkutil.c (xg_tool_bar_detach_callback): Remove unused variable bw.
470 (xg_get_file_name): Move declaration ofx_use_old_gtk_file_dialog to
471 start of function for older compilers.
472
473 2005-01-20 Richard M. Stallman <rms@gnu.org>
474
475 * editfns.c (Fmessage): If arg is "", return "" (as before).
476
477 * keymap.c (access_keymap): Protect from bad value of meta_prefix_char.
478
479 * .gdbinit (xgetptr, xgetint, xgettype): Copy $arg0 into a temp
480 variable.
481
482 2005-01-20 Steven Tamm <steventamm@mac.com>
483
484 * editfns.c (Voperating_system_release): Add.
485 (init_editfns): Assign new variable operating-system-release
486 based on call to uname if available.
487 (get_operating_system_release): Add function to
488 allow c-level access to operating system release.
489
490 * config.h: Regenerated.
491
492 * s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or less.
493 (MIN_PTY_KERNEL_VERSION): Define minimum kernel version for
494 using ptys as '7'.
495
496 2005-01-20 Kim F. Storm <storm@cua.dk>
497
498 * alloc.c (STRING_MARKED_P, VECTOR_MARKED_P): Return boolean.
499
500 * xterm.c (x_draw_glyph_string_box): Fix last_x for full width rows.
501 Thanks to Chong Yidong <cyd@stupidchicken.com> for debugging this.
502
503 * macterm.c (x_draw_glyph_string_box): Likewise.
504
505 * w32term.c (x_draw_glyph_string_box): Likewise.
506
507 * indent.c (Fvertical_motion): Temporarily disable selective display.
508
509 2005-01-19 Kim F. Storm <storm@cua.dk>
510
511 * xdisp.c (note_mode_line_or_margin_highlight): Fix :pointer
512 image property.
513
514 * fns.c (sweep_weak_table): Advance prev pointer when we keep a pair.
515
516 2005-01-18 Kim F. Storm <storm@cua.dk>
517
518 * xdisp.c (fast_find_position): Backtrack to find first row if
519 charpos is inside a display overlay that spans multiple lines.
520
521 2005-01-18 Kenichi Handa <handa@m17n.org>
522
523 * coding.c (decode_coding_iso2022): Translate invalid codes if
524 translation-table is specified.
525
526 2005-01-18 Kim F. Storm <storm@cua.dk>
527
528 * xdisp.c (back_to_previous_visible_line_start): Undo 2004-12-28
529 change. If handle_display_prop indicates newline is replaced by
530 image or text, move back to start of relevant overlay or interval
531 and continue scan from there. Simplify.
532
533 2005-01-17 Kim F. Storm <storm@cua.dk>
534
535 * dispnew.c (mode_line_string, marginal_area_string):
536 Fix off-by-one error in search for glyph.
537
538 2005-01-16 Kim F. Storm <storm@cua.dk>
539
540 * macterm.c (syms_of_macterm) <mac-allow-anti-aliasing>: Doc fix.
541
542 2005-01-16 Steven Tamm <steventamm@mac.com>
543
544 * macterm.c (mac_to_x_fontname): Remove spurious argument.
545
546 2005-01-16 Andreas Schwab <schwab@suse.de>
547
548 * macterm.c (mac_draw_string_common): Fix compilation on OSX 10.1.
549
550 2005-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
551
552 * fringe.c (Fdefine_fringe_bitmap, init_fringe): When assigning
553 fringe_faces, cast result from xmalloc/xrealloc to Lisp_Object *.
554
555 2005-01-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
556
557 * keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW)
558 (READABLE_EVENTS_FILTER_EVENTS, READABLE_EVENTS_IGNORE_SQUEEZABLES):
559 New flags for readable_events.
560 (get_filtered_input_pending, readable_filtered_events): Remove.
561 (tracking_off): Call readable_events and get_input_pending with
562 flag READABLE_EVENTS_DO_TIMERS_NOW.
563 (readable_events): Move code from old readable_filtered_events here,
564 but check new READABLE_EVENTS_* in argument flags instead of previous
565 two boolean arguments do_timers_now and filter_events.
566 If we are doing mouse tracking and the mouse moved, return only if
567 READABLE_EVENTS_IGNORE_SQUEEZABLES is not set in flags.
568 (swallow_events): Call get_input_pending with flag
569 READABLE_EVENTS_DO_TIMERS_NOW.
570 (get_input_pending): Move code from old get_filtered_input_pending
571 here. Replace boolean arguments do_timers_now, filter_events with
572 flags, and pass flags to readable_events. Document new
573 READABLE_EVENTS_* flags.
574 (detect_input_pending_ignore_squeezables): New function.
575 (detect_input_pending_run_timers): Call get_input_pending with flag
576 READABLE_EVENTS_DO_TIMERS_NOW.
577 (Finput_pending_p): Call get_input_pending with flags
578 READABLE_EVENTS_DO_TIMERS_NOW and READABLE_EVENTS_FILTER_EVENTS.
579
580 * dispnew.c (update_window, update_frame_1): Replace calls to
581 detect_input_pending with detect_input_pending_ignore_squeezables
582 so that redisplay is not paused if the event queue contains only
583 mouse movements.
584
585 * lisp.h: Declare detect_input_pending_ignore_squeezables.
586
587 2005-01-15 Steven Tamm <steventamm@mac.com>
588
589 * macterm.c (Vmac_use_core_graphics): Declare variable for
590 mac-allow-anti-aliasing.
591 (syms_of_macterm): DEFVAR_LISP and initialize it.
592 (mac_draw_string_common): Use core graphics text rendering if
593 mac-allow-anti-aliasing is enabled.
594
595 * macfns.c (Fx_file_dialog): Save As dialog includes only the
596 file name in the text box.
597
598 2005-01-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
599
600 * macfns.c (x_set_foreground_color, x_set_background_color):
601 Sync with xfns.c.
602 (mac_window, x_create_tip_frame): Use XSetWindowBackground.
603 * macterm.c (XSetBackground, XSetWindowBackground): New functions.
604 * macterm.h (XSetBackground, XSetWindowBackground): Add externs.
605
606 2005-01-14 Kim F. Storm <storm@cua.dk>
607
608 * keyboard.c (Fposn_at_x_y): Add optional arg WHOLE.
609
610 2005-01-13 Richard M. Stallman <rms@gnu.org>
611
612 * keymap.c (Fcurrent_active_maps): Ignore Voverriding_local_map
613 if Voverriding_terminal_local_map is non-nil.
614
615 * keyboard.c (syms_of_keyboard): Doc fix.
616
617 2005-01-13 Kim F. Storm <storm@cua.dk>
618
619 * xdisp.c (Fformat_mode_line): Fix last change. Remove NO_PROPS arg
620 (specify 0 for FACE instead). Reorder arg list. Doc fix.
621
622 2005-01-12 Richard M. Stallman <rms@gnu.org>
623
624 * xdisp.c (Fformat_mode_line): New arg FACE specifies a default
625 face property for characters that don't specify one.
626
627 * fns.c (Frequire): Record in load-history unconditionally.
628
629 2005-01-10 Kim F. Storm <storm@cua.dk>
630
631 * dispextern.h (merge_faces): Rename from merge_into_realized_face.
632
633 * xfaces.c (merge_faces): Rename from merge_into_realized_face.
634 Callers changed.
635 Add support to merge with lisp face id too (if face_name is t).
636
637 * xdisp.c (get_next_display_element, next_element_from_display_vector):
638 Don't lookup lface_id from display table glyphs here; instead use
639 merge_faces to merge the lisp face id into current face.
640
641 2005-01-09 Kim F. Storm <storm@cua.dk>
642
643 * dispextern.h (struct it): New member dpvec_face_id.
644 (merge_into_realized_face): Add prototype.
645
646 * xfaces.c (merge_into_realized_face): New function. Used to
647 merge escape-glyph face or face from display table into current face.
648
649 * xdisp.c (Vshow_nonbreak_escape): New lisp var.
650 (syms_of_xdisp): DEFVAR_LISP it.
651 (escape_glyph_face): Remove var.
652 (redisplay_window): Don't initialize it.
653 (setup_for_ellipsis, get_next_display_element):
654 Set it->dpvec_face_id to -1.
655 (get_next_display_element): Test Vshow_nonbreak_escape.
656 Do not setup escape_glyph_face.
657 Properly merge escape-glyph face or face from display table with
658 current face for escape and control characters.
659 Set it->dpvec_face_id to relevant face id instead of adding it to each
660 element of display vector.
661 (next_element_from_display_vector): If it->dpvec_face_id is set,
662 use that instead of lface_id from glyph itself.
663
664 2005-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
665
666 * xterm.h (struct x_output): New member, toolbar_detached.
667
668 * gtkutil.c (xg_create_frame_widgets): Set initial tool bar height to
669 38.
670 (xg_tool_bar_detach_callback): Set toolbar_detached to 1.
671 (xg_tool_bar_attach_callback): Set toolbar_detached to 0.
672 (xg_create_tool_bar): Initialize toolbar_detached.
673 (update_frame_tool_bar): Only set FRAME_TOOLBAR_HEIGHT (f) if
674 toolbar_detached is zero.
675
676 2005-01-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
677
678 * xmenu.c (create_and_show_popup_menu): Pass zero as button to
679 gtk_menu_popup if not for_click, so callbacks for the menu are called.
680
681 * gtkutil.c (xg_gtk_scroll_destroy, xg_create_scroll_bar)
682 (xg_tool_bar_callback, xg_tool_bar_help_callback)
683 (update_frame_tool_bar): Cast to EMACS_INT to avoid compiler warning.
684
685 * xselect.c (x_get_foreign_selection, x_fill_property_data)
686 (Fx_get_atom_name, Fx_send_client_event): Replace XFLOAT with
687 XFLOAT_DATA to get extract number from Lisp object.
688
689 2005-01-07 Kim F. Storm <storm@cua.dk>
690
691 * xdisp.c (set_iterator_to_next): Fix 2004-12-13 change.
692 Set stop_charpos to current charpos instead of 0.
693
694 2005-01-06 Nick Roberts <nickrob@snap.net.nz>
695
696 * xdisp.c (Fformat_mode_line): First arg now required.
697
698 2005-01-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
699
700 * macterm.c (XLoadQueryFont): Correctly handle 0 size
701 font widths that are returned from some Japanese fonts.
702
703 2005-01-06 Kim F. Storm <storm@cua.dk>
704
705 * fringe.c (fringe_faces): Change to Lisp_Object pointer.
706 (draw_fringe_bitmap_1): Lookup user defined fringe faces here.
707 (destroy_fringe_bitmap): Set fringe_faces element to nil.
708 (Fdefine_fringe_bitmap, init_fringe): Change allocation of
709 fringe_faces array and init elements to nil.
710 (Fset_fringe_bitmap_face): Set fringe_faces to face name instead of
711 non-persistent face id.
712 (mark_fringe_data): New function for GC.
713
714 * alloc.c (mark_fringe_data): Declare extern.
715 (Fgarbage_collect): Call mark_fringe_data.
716
717 * alloc.c (overrun_check_free): Invalidate freed memory if
718 XMALLOC_CLEAR_FREE_MEMORY is defined.
719
720 2005-01-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
721
722 * macfns.c: Include sys/param.h.
723 [TARGET_API_MAC_CARBON] (mac_nav_event_callback): New declaration
724 and function.
725 [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size
726 of filename string. Set event callback function when creating
727 dialog boxes. Add code conversions for filenames. Don't dispose
728 apple event descriptor record if failed to create it.
729
730 * macterm.c: Include sys/param.h.
731 [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for
732 kEventWindowUpdate.
733 (install_window_handler) [USE_CARBON_EVENTS]: Register it.
734 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Get FSRef instead
735 of FSSpec from apple event descriptor record.
736 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Use MAXPATHLEN for
737 size of filename string.
738 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise.
739 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a
740 file dialog is in action.
741 [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise.
742 Reject only when there are no filename items. Set background color
743 before (un)highlighting the window below the dragged items.
744 (XTread_socket) [!USE_CARBON_EVENTS]: Don't call do_window_update.
745
746 2005-01-05 Romain Francoise <romain@orebokech.com>
747
748 * term.c (encode_terminal_code): Fix buffer size computation.
749
750 2005-01-04 Richard M. Stallman <rms@gnu.org>
751
752 * xdisp.c (Fformat_mode_line): Doc fix.
753
754 2005-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
755
756 * alloc.c (refill_memory_reserve): Move.
757 (emacs_blocked_free, emacs_blocked_malloc, emacs_blocked_realloc)
758 (reset_malloc_hooks, uninterrupt_malloc) [SYNC_INPUT]: Don't define.
759
760 2005-01-03 Richard M. Stallman <rms@gnu.org>
761
762 * window.c (window_scroll_pixel_based): Don't correct preserve_y
763 for CURRENT_HEADER_LINE_HEIGHT when moving backwards.
764
765 2005-01-03 Jason Rumney <jasonr@gnu.org>
766
767 * w32bdf.c (w32_load_bdf_font): Set fontp->average_width and
768 fontp->space_width to FONT_WIDTH so they are valid.
769
770 * w32fns.c (w32_load_system_font): Set FONT_WIDTH to maximum, not
771 average width. Set fontp->average_width and fontp->space_width to
772 their appropriate values.
773
774 * w32term.c (x_new_font): Set FRAME_COLUMN_WIDTH to
775 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
776 fontp->space_width.
777
778 2005-01-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
779
780 * macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
781 (x_font_min_bounds, XLoadQueryFont): Use the correct font width
782 metrics for max and min bounds.
783 (x_load_font): Correctly calculate average font width metrics.
784
785 2005-01-02 Richard M. Stallman <rms@gnu.org>
786
787 * alloc.c (Fgarbage_collect): Don't truncate_undo_list on dead buffers.
788
789 2004-12-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
790
791 * xterm.c (handle_one_xevent): Clear area in expose event for GTK.
792
793 2004-12-31 Richard M. Stallman <rms@gnu.org>
794
795 * xdisp.c (setup_for_ellipsis, get_next_display_element):
796 Set it->ellipsis_p to 1 or 0.
797 (display_line): Record whether row ends in mid-ellipsis.
798 (set_cursor_from_row): If ends in ellipsis. find start of it.
799 (cursor_row_p): If PT's at the end of the ellipsis the row
800 ends within, don't display cursor on this row.
801
802 * dispextern.h (struct it): New element ellipsis_p.
803 (struct glyph_row): New element ends_in_ellipsis_p.
804
805 * xdisp.c (BUFFER_POS_REACHED_P): We haven't reached the specified
806 position if we're reading from something other than the buffer.
807
808 * window.c (window_scroll_pixel_based): Only look at
809 Vscroll_preserve_screen_position if the old PT can't be kept.
810 (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
811
812 2004-12-30 Kim F. Storm <storm@cua.dk>
813
814 * xdisp.c (get_line_height_property): New function extracted from
815 original calc_line_height_property.
816 (calc_line_height_property): Rework. Handle t and (nil . ratio).
817 (x_produce_glyphs): Use them to handle line-height and
818 line-spacing according to new height spec.
819 (Qtotal): Remove.
820 (syms_of_xdisp): Remove intern and staticpro for Qtotal.
821
822 2004-12-30 Kenichi Handa <handa@m17n.org>
823
824 * fileio.c (Finsert_file_contents): Don't use
825 current_buffer->buffer_file_coding_system even if REPLACE is
826 non-nil. Call Qafter_insert_file_set_coding with the second arg VISIT.
827
828 * fontset.h (struct font_info): New members space_width and
829 average_width.
830
831 * frame.h (struct frame): New member space_width.
832 (FRAME_SPACE_WIDTH): New macro.
833
834 * xterm.h (struct x_display_info): New member Xatom_AVERAGE_WIDTH.
835
836 * xterm.c (x_new_font): Set FRAME_COLUMN_WIDTH to
837 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
838 fontp->space_width.
839 (x_load_font): Calculate fontp->space_width and fontp->average_width.
840 (x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH.
841
842 * xdisp.c (x_produce_glyphs): Calculate tab width by
843 FRAME_SPACE_WIDTH, not FRAME_COLUMN_WIDTH.
844
845 2004-12-29 Sanghyuk Suh <han9kin@mac.com>
846
847 * macterm.c (SelectionRange): Add Xcode position apple event struct.
848 (do_ae_open_documents): Handle Xcode-style file position open events.
849
850 2004-12-29 Luc Teirlinck <teirllm@auburn.edu>
851
852 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Correct typo.
853
854 2004-12-29 Richard M. Stallman <rms@gnu.org>
855
856 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Doc fix.
857
858 2004-12-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
859
860 * macfns.c (install_window_handler): Modify extern to return OSErr
861 value.
862 (mac_window): Handle return value of install_window_handler.
863
864 * macterm.c (reflect_byte): Remove function.
865 (mac_create_bitmap_from_bitmap_data): Don't call reflect_byte.
866 Lookup table instead.
867 (mac_do_font_lists): Simplify calculation of the longest
868 nonspecial string.
869 (init_mac_drag_n_drop): Remove function and declaration.
870 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
871 init_mac_drag_n_drop.
872 (mac_do_track_drag): New function and declaration.
873 (install_window_handler): Return OSErr value.
874 (install_window_handler) [TARGET_API_MAC_CARBON]:
875 Register handlers for tracking/receiving drag-and-drop items.
876 (do_ae_open_documents): Generate unibyte strings for filenames.
877 (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise.
878 Reject only non-filename items. Set event modifiers, and return value.
879
880 2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
881
882 * coding.c (decode_coding): Fix previous change.
883
884 2004-12-28 Richard M. Stallman <rms@gnu.org>
885
886 * xdisp.c (back_to_previous_visible_line_start):
887 Don't call handle_display_prop.
888
889 2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
890
891 * coding.c (decode_coding_XXX, decode_composition_emacs_mule)
892 (decode_coding_emacs_mule, encode_coding_emacs_mule)
893 (decode_coding_iso2022, encode_designation_at_bol)
894 (encode_coding_iso2022, decode_coding_sjis_big5, decode_eol)
895 (decode_coding): Constify arguments and local vars.
896
897 2004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
898
899 * xmenu.c (popup_get_selection): Only pop down dialogs
900 on C-g and Escape.
901 (popup_get_selection): Remove parameter down_on_keypress.
902 (create_and_show_popup_menu, create_and_show_dialog):
903 Remove parameter down_on_keypress to popup_get_selection.
904
905 2004-12-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
906
907 * dispextern.h: Change HAVE_CARBON to MAC_OS.
908 (struct glyph_string): Likewise.
909
910 * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of
911 mac_initialize.
912
913 * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name):
914 Change TARGET_API_MAC_CARBON to HAVE_CARBON.
915
916 * fns.c (vector): Change MAC_OSX to MAC_OS.
917
918 * frame.c (x_set_frame_parameters, x_report_frame_params)
919 (x_set_fullscreen): Remove #ifndef HAVE_CARBON.
920 (x_set_border_width, Vdefault_frame_scroll_bars):
921 Change HAVE_CARBON to MAC_OS.
922
923 * image.c [MAC_OS]: Include sys/stat.h.
924 [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and
925 QuickTimeComponents.h.
926
927 * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern.
928 [!MAC_OSX] (select): Use mac_wait_next_event.
929 [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes.
930 [!MAC_OSX] (select, run_mac_command): Change `#ifdef
931 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
932 (mac_clear_font_name_table): Add extern.
933 (Fmac_clear_font_name_table): New defun.
934 (syms_of_mac): Defsubr it.
935 [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define.
936 [MAC_OSX] (select_and_poll_event): New function.
937 [MAC_OSX] (sys_select): Use it.
938 [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function.
939 [MAC_OSX && SELECT_USE_CFSOCKET]
940 (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines.
941 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and
942 RunLoop for simultaneously monitoring two kinds of inputs, window
943 events and process outputs, without periodically polling.
944
945 * macfns.c (mac_initialized): Remove extern.
946 (stricmp): Put in #if 0. All callers changed to use xstricmp in
947 xfaces.c.
948 (strnicmp): Decrement `n' at the end of each loop, not the beginning.
949 (check_mac): Use the term "Mac native windows" instead of "Mac OS".
950 (check_x_display_info, x_display_info_for_name): Sync with xfns.c.
951 (mac_get_rdb_resource): New function (from w32reg.c).
952 (x_get_string_resource): Use it.
953 (install_window_handler): Add extern.
954 (mac_window): New function.
955 (Fx_create_frame): Use it instead of make_mac_frame.
956 Set parameter for Qfullscreen. Call x_wm_set_size_hint.
957 (Fx_open_connection, Fx_close_connection): New defuns.
958 (syms_of_macfns): Defsubr them.
959 (x_create_tip_frame) [TARGET_API_MAC_CARBON]:
960 Add kWindowNoUpdatesAttribute to the window attribute.
961 (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow.
962 (x_create_tip_frame): Don't call ShowWindow.
963 (Fx_show_tip): Call ShowWindow.
964 (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if
965 TARGET_API_MAC_CARBON'.
966 (mac_frame_parm_handlers): Set handlers for Qfullscreen.
967 (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0.
968
969 * macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h.
970 (Window): Typedef to WindowPtr and move outside `#if
971 TARGET_API_MAC_CARBON'.
972 (XSizeHints): New struct.
973
974 * macterm.c (x_update_begin, x_update_end)
975 [TARGET_API_MAC_CARBON]: Disable screen updates during update of a
976 frame.
977 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
978 [MAC_OS8]: Use XDrawImageString/XDrawImageString16.
979 (construct_mouse_click): Put in #if 0.
980 (x_check_fullscreen, x_check_fullscreen_move): Remove decls.
981 (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef
982 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
983 (activate_scroll_bars, deactivate_scroll_bars)
984 [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl.
985 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window
986 if the position is neither user-specified nor program-specified.
987 (x_free_frame_resources): Free size_hints.
988 (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints.
989 (mac_clear_font_name_table): New function.
990 (mac_do_list_fonts): Initialize font_name_table if needed.
991 (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT
992 around mac_do_list_fonts.
993 (mac_unload_font): New function.
994 (x_load_font): Add BLOCK_INPUT around XLoadQueryFont.
995 (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations
996 and definitions with #if TARGET_API_MAC_CARBON.
997 [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl.
998 (install_window_handler): Add decl.
999 (do_window_update): Add BeginUpdate/EndUpdate for the tooltip
1000 window. Use UpdateControls. Get the rectangle that should be
1001 updated and restrict the target of expose_frame to it.
1002 (do_grow_window): Set minimum height/width according to size_hints.
1003 (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow.
1004 (do_zoom_window): Don't use x_set_window_size.
1005 [USE_CARBON_EVENTS] (mac_handle_window_event): New function.
1006 (install_window_handler): New function.
1007 [!USE_CARBON_EVENTS] (mouse_region): New variable.
1008 [!USE_CARBON_EVENTS] (mac_wait_next_event): New function.
1009 (XTread_socket) [USE_CARBON_EVENTS]: Move call to
1010 GetEventDispatcherTarget inside BLOCK_INPUT.
1011 (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event.
1012 Update mouse_region when mouse is moved.
1013 (make_mac_frame): Remove.
1014 (make_mac_terminal_frame): Put in #ifdef MAC_OS8.
1015 Initialize mouse pointer shapes. Change values of f->left_pos and
1016 f->top_pos. Don't use make_mac_frame. Use NewCWindow.
1017 Don't call ShowWindow.
1018 (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from
1019 Vinvocation_name and Vsystem_name.
1020 (mac_make_rdb): New function (from w32term.c).
1021 (mac_term_init): Use it. Add BLOCK_INPUT. Error if display has
1022 already been opened. Don't pass argument to
1023 mac_initialize_display_info. Don't set dpyinfo->height/width.
1024 Add entries to x_display_list and x_display_name_list.
1025 (x_delete_display): New function.
1026 (mac_initialize): Don't call mac_initialize_display_info.
1027 (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide.
1028
1029 * macterm.h (check_mac): Add extern.
1030 (struct mac_output): New member size_hints.
1031 (FRAME_SIZE_HINTS): New macro.
1032 (mac_unload_font): Add extern.
1033
1034 * xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
1035
1036 * xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
1037
1038 2004-12-27 Richard M. Stallman <rms@gnu.org>
1039
1040 * buffer.c (Fbuffer_disable_undo): Delete (move to simple.el).
1041 (syms_of_buffer): Don't defsubr it.
1042
1043 * process.c (list_processes_1): Set undo_list instead
1044 of calling Fbuffer_disable_undo.
1045
1046 * xdisp.c (single_display_spec_string_p): Rename from
1047 single_display_prop_string_p.
1048 (single_display_spec_intangible_p): Rename from
1049 single_display_prop_intangible_p.
1050 (handle_single_display_spec): Rename from handle_single_display_prop.
1051 Rewritten to be easier to understand.
1052
1053 Change in load-history format. Functions now get (defun . NAME),
1054 and variables get just NAME.
1055
1056 * data.c (Fdefalias): Use (defun . FN_NAME) in LOADHIST_ATTACH.
1057
1058 * eval.c (Fdefun, Fdefmacro): Use (defun . FN_NAME) in LOADHIST_ATTACH.
1059 (Fdefvaralias, Fdefvar, Fdefconst): Use just SYM in LOADHIST_ATTACH.
1060 (Qdefvar): Var deleted.
1061 (syms_of_eval): Don't initialze it.
1062
1063 * lread.c (syms_of_lread) <load-history>: Doc fix.
1064
1065 2004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1066
1067 * xmenu.c (popup_get_selection): Pop down on C-g.
1068 (set_frame_menubar): Install translations for Lucid/Motif/Lesstif that
1069 pops down menu on C-g.
1070 (xdialog_show): If dialog popped down and no button in the dialog was
1071 pushed, call Fsignal to quit.
1072 (xmenu_show): In no toolkit version, if menu returns NO_SELECT call
1073 Fsignal to quit.
1074
1075 * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g.
1076
1077 * gtkutil.c (xg_initialize): Install bindings for C-g so that
1078 dialogs and menus pop down.
1079
1080 2004-12-27 Kenichi Handa <handa@m17n.org>
1081
1082 * coding.c (code_convert_region): Fix calculation of `ratio'.
1083
1084 2004-12-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1085
1086 * gtkutil.c (update_frame_tool_bar): Make the value of
1087 tool-bar-button-margin control margins of images in tool bar.
1088
1089 * alloc.c (check_depth): New variable.
1090 (overrun_check_malloc, overrun_check_realloc): Only add
1091 overhead and write check pattern if check_depth is 1 (to handle
1092 recursive calls). Increase/decrease check_depth in entry/exit.
1093 (overrun_check_free): Only check for overhead if check_depth is 1.
1094 Increase/decrease check_depth in entry/exit.
1095
1096 2004-12-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1097
1098 * keyboard.c (input_available_signal): Call SIGNAL_THREAD_CHECK
1099 before touching input_available_clear_time, to avoid accessing it
1100 from multiple threads.
1101
1102 2004-12-23 Jason Rumney <jasonr@gnu.org>
1103
1104 * image.c (__WIN32__) [HAVE_NTGUI]: Define for correct behaviour
1105 of JPEG library.
1106
1107 2004-12-22 Richard M. Stallman <rms@gnu.org>
1108
1109 * emacs.c (main): If batch mode, set Vundo_outer_limit to nil.
1110
1111 * lisp.h (Vundo_outer_limit): Fix decl.
1112
1113 * undo.c (Vundo_outer_limit): Replaces undo_outer_limit.
1114 Uses changed.
1115 (syms_of_undo): Initialize appropriately.
1116 (truncate_undo_list): If it's nil, there's no limit.
1117
1118 2004-12-22 Kenichi Handa <handa@m17n.org>
1119
1120 * xselect.c (Fx_get_cut_buffer_internal): Return a unibyte string.
1121
1122 2004-12-21 Richard M. Stallman <rms@gnu.org>
1123
1124 * eval.c (unwind_to_catch): Clear immediate_quit.
1125
1126 * xdisp.c (get_next_display_element): Display codes 8a0 and 8ad
1127 specially as `\ ' and `\-'.
1128
1129 * keyboard.c (kbd_buffer_store_event_hold):
1130 In the code for while-no-input, handle immediate_quit.
1131
1132 * alloc.c (Fgarbage_collect): Update call to truncate_undo_list.
1133 Call that at the very start.
1134 (undo_limit, undo_strong_limit, undo_outer_limit): Move to undo.c.
1135 (syms_of_alloc): Don't define undo-limit,
1136 undo-strong-limit and undo-outer-limit here.
1137
1138 * undo.c (truncate_undo_list): Return void.
1139 Take just one argument, the buffer.
1140 Make it current, and inhibit recursive GC.
1141 Access and update the undo list directly; return void.
1142 Refer to the undo...limit variables directly.
1143 Test undo_outer_limit only after counting the whole current command.
1144 When it's exceeded, call the function in undo-outer-limit-function.
1145 (undo_limit, undo_strong_limit, undo_outer_limit): From alloc.c.
1146 (Vundo_outer_limit_function): New variable.
1147 (syms_of_undo): Define undo-limit, undo-strong-limit
1148 and undo-outer-limit here, and undo-outer-limit-function.
1149 Doc fixes.
1150
1151 * lisp.h (truncate_undo_list): Update decl.
1152
1153 2004-12-21 Piet van Oostrum <piet@cs.uu.nl>
1154
1155 * fileio.c (Fread_file_name): Delete duplicates in
1156 file-name-history when history_delete_duplicates is true.
1157
1158 2004-12-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1159
1160 * macterm.c (mac_do_list_fonts): Fix memory leak
1161
1162 2004-12-20 Richard M. Stallman <rms@gnu.org>
1163
1164 * regex.c (re_match_2_internal) <symend, wordend>:
1165 Fix calls to UPDATE_SYNTAX_TABLE_FORWARD.
1166
1167 2004-12-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1168
1169 * macterm.c (endif, x_font_name_to_mac_font_name):
1170 Use maccentraleurroman instead of maccentraleuropean
1171 (mac_c_string_match, mac_do_list_fonts): Speed up font search by
1172 quickly finding a specific font without needing regexps.
1173
1174 2004-12-15 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1175
1176 * syssignal.h: Declare main_thread.
1177 (SIGNAL_THREAD_CHECK): New macro.
1178
1179 * keyboard.c (input_available_signal): Move thread checking code
1180 to macro SIGNAL_THREAD_CHECK and call that macro.
1181 (interrupt_signal): Call SIGNAL_THREAD_CHECK.
1182
1183 * alloc.c (uninterrupt_malloc): Move main_thread to emacs.c.
1184
1185 * emacs.c: Define main_thread.
1186 (main): Initialize main_thread.
1187 (handle_USR1_signal, handle_USR2_signal, fatal_error_signal)
1188 (memory_warning_signal): Call SIGNAL_THREAD_CHECK.
1189
1190 * floatfns.c (float_error): Call SIGNAL_THREAD_CHECK.
1191
1192 * dispnew.c (window_change_signal): Call SIGNAL_THREAD_CHECK.
1193
1194 * sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK.
1195
1196 * process.c (send_process_trap, sigchld_handler):
1197 Call SIGNAL_THREAD_CHECK.
1198
1199 * data.c (arith_error): Call SIGNAL_THREAD_CHECK.
1200
1201 * atimer.c (alarm_signal_handler): Call SIGNAL_THREAD_CHECK.
1202
1203 * xterm.c (xg_scroll_callback): Update XG_LAST_SB_DATA before
1204 returning when xg_ignore_gtk_scrollbar is true.
1205
1206 2004-12-14 Kim F. Storm <storm@cua.dk>
1207
1208 * keyboard.c (read_char): Save and restore echo_string when
1209 handling input method.
1210
1211 2004-12-13 Richard M. Stallman <rms@gnu.org>
1212
1213 * eval.c (syms_of_eval) <quit-flag>: Doc fix.
1214
1215 * keyboard.c (Vthrow_on_input): New variable.
1216 (syms_of_keyboard): Defvar and initialize it.
1217 (kbd_buffer_store_event_hold): Handle Vthrow_on_input.
1218
1219 * lisp.h (QUIT): Check for Vthrow_on_input.
1220 (Vthrow_on_input): Declare it.
1221
1222 2004-12-13 Kim F. Storm <storm@cua.dk>
1223
1224 * xdisp.c (set_iterator_to_next): Reset stop_charpos after display
1225 vector.
1226
1227 2004-12-12 Richard M. Stallman <rms@gnu.org>
1228
1229 * indent.c (Fvertical_motion): Call move_it_by_lines even if LINES = 0.
1230
1231 * minibuf.c (Fall_completions): Add var `zero' and use it in loop.
1232 (Ftry_completion): Really use outer `zero'; eliminate inner one.
1233
1234 2004-12-12 Kenichi Handa <handa@m17n.org>
1235
1236 * term.c (encode_terminal_code): Fix previous change.
1237
1238 2004-12-11 Stefan Monnier <monnier@iro.umontreal.ca>
1239
1240 * keyboard.c (handle_async_input): Remove pthread mutex handling.
1241 (input_available_signal): Move pthread thingy to !SYNC_INPUT branch.
1242
1243 * syntax.c (Fforward_word): Avoid non-idempotent side-effects
1244 in macro arguments.
1245
1246 * minibuf.c (Ftry_completion, Fall_completions): Don't use
1247 XFASTINT blindly.
1248
1249 * emacs.c (main, Fdump_emacs): Don't touch malloc hooks if SYNC_INPUT.
1250
1251 2004-12-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1252
1253 * w32term.c (x_calc_absolute_position): Remove calculation of
1254 difference between inner and outer window. Don't subtract difference
1255 for left and top calculations.
1256
1257 * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
1258 for left and top calculations. Remove call to x_real_positions.
1259 [Bug report by Drew Adams in November]
1260 (x_check_expected_move): Do not set change_gravity to 1 when calling
1261 x_set_offset.
1262
1263 2004-12-08 Richard M. Stallman <rms@gnu.org>
1264
1265 * xdisp.c (get_next_display_element): Use `escape-glyph' for
1266 control chars and escaped octal codes.
1267 (Qescape_glyph): New variable.
1268 (syms_of_xdisp): Initialize it.
1269 (escape_glyph_face): New variable.
1270 (redisplay_window): Initialize it.
1271
1272 2004-12-07 Paul Eggert <eggert@cs.ucla.edu>
1273
1274 * image.c (our_fill_input_buffer, jpeg_load, CHECK_LIB_AVAILABLE)
1275 (init_image): Use 1 rather than TRUE. TRUE's not always defined.
1276
1277 2004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1278
1279 * emacs.c (Fdump_emacs): Add ! defined (SYSTEM_MALLOC) around
1280 reset_malloc_hooks.
1281
1282 * keyboard.c (handle_async_input, input_available_signal):
1283 Add ! defined (SYSTEM_MALLOC) around thread code.
1284
1285 * alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC.
1286
1287 2004-12-07 Stefan Monnier <monnier@iro.umontreal.ca>
1288
1289 * eval.c (init_eval_once): Increase max_specpdl_size to 1000.
1290
1291 * config.in: Regenerate.
1292
1293 2004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1294
1295 * xmenu.c (Fx_popup_menu): Correct documentation about position.
1296 (xmenu_show): Do not call XTranslateCoordinates. Adjust position
1297 if not given by a mouse click to correspond with x-popup-menu
1298 documentation.
1299
1300 * config.in: Regenerate.
1301
1302 * gtkutil.c: Include signal.h and syssignal.h.
1303 (xg_get_file_name): Block and unblock __SIGRTMIN if defined.
1304
1305 * alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h,
1306 new variables main_thread and alloc_mutex,
1307 define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect
1308 emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread.
1309 If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same as
1310 (UN)BLOCK_INPUT.
1311 (emacs_blocked_free, emacs_blocked_malloc)
1312 (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC.
1313 (uninterrupt_malloc): Initialize main_thread and alloc_mutex.
1314 (reset_malloc_hooks): New function.
1315
1316 * lisp.h: Declare reset_malloc_hooks.
1317
1318 * emacs.c (Fdump_emacs): Call reset_malloc_hooks.
1319
1320 * keyboard.c: Conditionally include pthread.h
1321 (handle_async_input, input_available_signalt): If not in the main
1322 thread, block signal, send signal to main thread and return.
1323
1324 * gtkutil.c (xg_get_file_with_chooser): Handle local files only.
1325 Set current folder in file chooser if default_filename is a directory.
1326
1327 2004-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
1328
1329 * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end.
1330 Remove redundant correctness checks.
1331 (regex_compile): Fix up error codes for \{..\} expressions.
1332
1333 2004-12-05 Richard M. Stallman <rms@gnu.org>
1334
1335 * regex.c (regex_compile): Fix end-of-pattern case for space.
1336
1337 2004-12-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1338
1339 * macterm.h (cfstring_create_with_utf8_cstring): Add prototype.
1340 * mac.c (cfstring_create_with_utf8_cstring): Add to prevent
1341 crashes with invalid characters.
1342 * macmenu.c (add_menu_item): Use it.
1343 * image.c (image_load_quartz2d): Likewise.
1344 * macfns.c (x_set_name, x_set_title): Likewise.
1345 (Fx_file_dialog): Likewise. Use constant CFRefs instead of
1346 creating them each time for labels.
1347
1348 2004-12-02 Richard M. Stallman <rms@gnu.org>
1349
1350 * config.in (RE_TRANSLATE_P): If make_number is not a macro,
1351 don't use it here.
1352
1353 * eval.c (Fcalled_interactively_p): Don't check INTERACTIVE.
1354 (interactive_p): Skip Scalled_interactively_p frames
1355 like Sinteractive_p frames.
1356 (unwind_to_catch): Clear handling_signal.
1357
1358 * data.c (Fmake_variable_buffer_local): Doc fix.
1359 (Fmake_local_variable): Doc fix.
1360
1361 * insdel.c (insert_from_string_before_markers)
1362 (insert_from_string): Don't modify buffer on empty insertion.
1363
1364 * window.c (Fget_lru_window, Fget_largest_window): Doc fixes.
1365
1366 2004-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1367
1368 * macmenu.c (add_menu_item): Fallback on MacRoman if encoding
1369 menu text as UTF8 fails.
1370
1371 2004-12-01 Kim F. Storm <storm@cua.dk>
1372
1373 * alloc.c: Add commentary for last change.
1374 (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): New macros to handle
1375 sizeof(size_t) != 4.
1376 (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
1377 Use them. Also clear header and trailer of freed memory.
1378 (GC_STRING_OVERRUN_COOKIE_SIZE): Rename from GC_STRING_EXTRA.
1379 (string_overrun_cookie): Rename from string_overrun_pattern.
1380 (GC_STRING_EXTRA): Define from GC_STRING_OVERRUN_COOKIE_SIZE.
1381
1382 2004-12-01 Andreas Schwab <schwab@suse.de>
1383
1384 * lisp.h: Declare string_to_multibyte.
1385
1386 2004-12-01 Kenichi Handa <handa@m17n.org>
1387
1388 * w32console.c (w32con_write_glyphs): Decide coding here.
1389 Adjusted for the change of encode_terminal_code.
1390
1391 * term.c (encode_terminal_code): Don't make it "static".
1392
1393 2004-11-30 Kenichi Handa <handa@m17n.org>
1394
1395 * term.c (encode_terminal_buf, encode_terminal_bufsize): New variables.
1396 (encode_terminal_code): Argument changed. Encode all
1397 characters at once, and return a pointer to the result of encoding.
1398 (write_glyphs): Decide coding here. Adjusted for the above change.
1399 (insert_glyphs): Likewise.
1400 (term_init): Initialize encode_terminal_bufsize to 0.
1401
1402 * coding.c (Vcode_conversion_workbuf_name): New variable.
1403 (syms_of_coding): Initialize and staticpro it.
1404 (set_conversion_work_buffer): New function.
1405 (run_pre_post_conversion_on_str): Use it.
1406 (run_pre_write_conversin_on_c_str): New function.
1407
1408 * coding.h (run_pre_write_conversin_on_c_str): Extern it.
1409
1410 2004-11-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1411
1412 * keyboard.c: Don't undef SIGIO
1413 * s/darwin.h (NO_SOCK_SIGIO): Define NO_SOCK_SIGIO on carbon
1414 * Makefile.in (mac.o): Depend on blockinput.h and atimer.h.
1415 (macfns.o): Don't depend on ccl.h.
1416 * macfns.c (mac_frame_parm_handlers): Set handlers for
1417 Qleft_fringe and Qright_fringe.
1418 * macterm.c (mac_fill_rectangle_to_pixmap)
1419 (mac_draw_rectangle_to_pixmap, mac_copy_area_to_pixmap)
1420 (mac_copy_area_with_mask_to_pixmap, x_draw_image_foreground_1):
1421 Put in #if 0.
1422 (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use ScrollWindowRect.
1423 (x_flush) [TARGET_API_MAC_CARBON]: Don't traverse frames.
1424 (XFlush) [TARGET_API_MAC_CARBON]: Define to an empty replacement.
1425 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
1426 [!MAC_OS8]: Added ifdef'd out code for os8. Don't use
1427 XDrawImageString. Always draw background and foreground separately.
1428 (x_draw_image_foreground): Use clipping instead of computing the
1429 intersection rectangle.
1430 (x_draw_image_glyph_string): Don't draw an image with mask to a
1431 pixmap.
1432 (x_redisplay_interface): Set flush_display_optional member to 0.
1433 (XTread_socket): Correctly reset the TEConverter
1434 object.
1435
1436 2004-11-30 Kim F. Storm <storm@cua.dk>
1437
1438 * lisp.h: New defines to enable buffer overrun checking.
1439 (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST)
1440 (XMALLOC_OVERRUN_CHECK, GC_CHECK_CONS_LIST): Add.
1441
1442 * alloc.c: Add more checks for buffer overruns.
1443 (XMALLOC_OVERRUN_CHECK_SIZE, xmalloc_overrun_check_header)
1444 xmalloc_overrun_check_trailer, overrun_check_malloc)
1445 overrun_check_realloc, overrun_check_free): Add.
1446 (GC_STRING_EXTRA, string_overrun_pattern): Add.
1447 (check_sblock, allocate_string_data, compact_small_strings):
1448 Set and check string_overrun_pattern if GC_CHECK_STRING_OVERRUN.
1449 (check_cons_list): Condition on GC_CHECK_CONS_LIST.
1450 (check_string_free_list): Add.
1451 (allocate_string, sweep_strings): Call check_string_free_list.
1452
1453 * emacs.c (malloc_initialize_hook): Don't free malloc_state_ptr if
1454 XMALLOC_OVERRUN_CHECK to avoid crash during load.
1455
1456 2004-11-29 Kim F. Storm <storm@cua.dk>
1457
1458 * fns.c (concat): Use SAFE_ALLOCA.
1459
1460 2004-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
1461
1462 * sysdep.c (emacs_write): Don't use QUIT.
1463
1464 2004-11-29 Kenichi Handa <handa@m17n.org>
1465
1466 * buffer.c (init_buffer): Set current_buffer->directory to a
1467 multibyte string made by string_to_multibyte.
1468
1469 * emacs.c (init_cmdargs): Set unibyte strings in Vcommand_line_args.
1470
1471 2004-11-27 Andreas Schwab <schwab@suse.de>
1472
1473 * alloc.c (mark_stack): Call GC_MARK_SECONDARY_STACK if defined.
1474
1475 * s/gnu-linux.h: Enable no-op gcpros on ia64.
1476 (GC_MARK_SECONDARY_STACK) [__ia64__]: Define.
1477
1478 * filelock.c (lock_file_1): Call get_boot_time early.
1479 Increase buffer size.
1480
1481 2004-11-27 Eli Zaretskii <eliz@gnu.org>
1482
1483 * lisp.h (DECL_ALIGN): Define non-trivially only if NO_DECL_ALIGN
1484 is not defined.
1485
1486 2004-11-27 Kim F. Storm <storm@cua.dk>
1487
1488 * search.c (syms_of_search) <search-spaces-regexp>: Move 'doc:'
1489 marker out of doc string.
1490
1491 2004-11-26 Stefan Monnier <monnier@iro.umontreal.ca>
1492
1493 * s/darwin.h (POSIX_SIGNALS): Undo the removal of 2002-08-25,
1494 which was not mentioned in the log.
1495
1496 2004-11-26 Kim F. Storm <storm@cua.dk>
1497
1498 * fringe.c (update_window_fringes): Prefer truncation bitmaps over
1499 angle bitmaps at top/bottom line.
1500
1501 * xdisp.c: Undo recent changes for restoring saved_face_id. Instead,
1502 set it when it->method is set to next_element_from_display_vector.
1503 (setup_for_ellipsis): Add LEN argument. Callers changed.
1504 Set it->saved_face_id.
1505 (get_next_display_element): Use loop instead of recursion.
1506 Set it->saved_face_id. Combine duplicate code for ctr chars.
1507 (next_element_from_display_vector): Do not set it->saved_face_id.
1508 (next_element_from_ellipsis): Use setup_for_ellipsis.
1509
1510 2004-11-26 Eli Zaretskii <eliz@gnu.org>
1511
1512 * eval.c (Fdefvar): Declare pdl from last change as `volatile' to
1513 prevent compiler warnings.
1514
1515 2004-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
1516
1517 * keyboard.c (command_loop_1): Print a message describing the key
1518 the user just pressed when this key has no binding.
1519
1520 * sysdep.c (sys_signal): Don't use SA_RESTART if SYNC_INPUT is set.
1521 (emacs_open, emacs_read, emacs_write): Check QUIT when interrupted.
1522
1523 * lread.c (readchar): Check QUIT when `getc' is interrupted.
1524
1525 2004-11-24 Richard M. Stallman <rms@gnu.org>
1526
1527 * coding.c (run_pre_post_conversion_on_str): Bind Qinhibit_read_only.
1528
1529 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>: Doc fix.
1530
1531 2004-11-24 Kim F. Storm <storm@cua.dk>
1532
1533 * xdisp.c (move_it_in_display_line_to, display_line):
1534 Restore saved_face_id also when truncate-lines or hscrolled.
1535
1536 2004-11-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1537
1538 * gtkutil.c (xg_get_file_name): Rename use-old-gtk-file-dialog to
1539 x-use-old-gtk-file-dialog.
1540
1541 * xfns.c: Define x_use_old_gtk_file_dialog.
1542 (syms_of_xfns): Rename use-old-gtk-file-dialog to x-... Move it
1543 outside ifdef USE_GTK.
1544
1545 2004-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
1546
1547 * coding.h (ENCODE_FILE, DECODE_FILE, ENCODE_SYSTEM, DECODE_SYSTEM):
1548 Don't use XFASTINT blindly.
1549
1550 * config.in (RE_TRANSLATE_P): Don't use XFASTINT blindly.
1551
1552 * indent.c (skip_invisible): Avoid non-idempotent side-effects
1553 in macro arguments.
1554
1555 * keymap.c (Flookup_key): Check INTEGERP before XINT.
1556
1557 * lread.c (oblookup): Don't use XFASTINT blindly.
1558
1559 * window.c (Fset_window_scroll_bars): Don't use XINT if it isn't int.
1560 (decode_next_window_args, window_loop): Don't use XFASTINT blindly.
1561
1562 2004-11-23 Kim F. Storm <storm@cua.dk>
1563
1564 * dispextern.h (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P)
1565 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Not if dpvec_index is zero.
1566
1567 * xfaces.c (lookup_named_face): Add signal_p arg. Return -1 if
1568 signal_p is zero and face name is unknown.
1569 (Fx_list_fonts): Don't signal error in lookup_named_face.
1570 (Fface_font): Signal error in lookup_named_face.
1571 (ascii_face_of_lisp_face): Likewise.
1572
1573 * dispextern.h (lookup_named_face): Fix prototype.
1574
1575 * xdisp.c (handle_single_display_prop): Don't signal error in
1576 lookup_named_face for unknown fringe face name.
1577 (highlight_trailing_whitespace): Don't signal error in
1578 lookup_named_face if trailing-whitespace face unknown.
1579 (calc_line_height_property): Don't signal error in
1580 lookup_named_face if specified face name is unknown.
1581
1582 * fringe.c (update_window_fringes): Show top row indicator if
1583 window has header-line. Don't show arrow at bob and eob
1584 if the boundary indicators are not used.
1585 (Fset_fringe_bitmap_face): Signal error in lookup_named_face.
1586
1587 * window.c (set_window_buffer): Clear display_error_modiff.
1588
1589 2004-11-22 Kim F. Storm <storm@cua.dk>
1590
1591 * fringe.c (update_window_fringes): Provide sensible fall-back
1592 value for non-nil indicate-buffer-boundaries setting.
1593
1594 2004-11-22 Markus Rost <rost@ias.edu>
1595
1596 * minibuf.c (Fminibuffer_complete_and_exit): Fix previous change.
1597
1598 2004-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
1599
1600 * eval.c (Fdefvar): Warn when var is let-bound but globally void.
1601
1602 2004-11-21 Kim F. Storm <storm@cua.dk>
1603
1604 * xdisp.c (erase_phys_cursor): Clear hollow cursor inside TEXT_AREA.
1605
1606 * xterm.c (x_clip_to_row): Add area arg. Callers changed.
1607 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
1608
1609 * w32term.c (w32_clip_to_row): Add area arg. Callers changed.
1610 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
1611
1612 * macterm.c (x_clip_to_row): Add area arg. Callers changed.
1613 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
1614
1615 * xdisp.c (move_it_in_display_line_to, display_line):
1616 Restore saved_face_id if overflow-newline-into-fringe is enabled and
1617 line is continued before or in middle of element from display vector.
1618
1619 * indent.c (Fvertical_motion): Fix last change. Use another
1620 method to detect if iterator moved too far ahead after reseat.
1621
1622 * xdisp.c (IT_EXPAND_MATRIX_WIDTH): New macro. Do not
1623 expand matrix width for overflow in zero-width area.
1624 (append_glyph, append_composite_glyph, produce_image_glyph)
1625 (append_stretch_glyph): Use it to avoid loop in redisplay.
1626 (note_mode_line_or_margin_highlight): Don't let help-echo from
1627 string override help-echo from image map.
1628
1629 2004-11-20 Luc Teirlinck <teirllm@auburn.edu>
1630
1631 * fns.c (Fyes_or_no_p): Call Fread_from_minibuffer with extra argument.
1632 * callint.c (Fcall_interactively): Ditto.
1633
1634 2004-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
1635
1636 * minibuf.c (Fminibuffer_complete_and_exit):
1637 Fixup the case of the completed value, for case-indep completion.
1638
1639 2004-11-20 Richard M. Stallman <rms@gnu.org>
1640
1641 * lisp.h (Fread_from_minibuffer): Add arg in decl.
1642
1643 * minibuf.c (read_minibuf): New arg KEEP_ALL. Callers changed.
1644 (Fread_from_minibuffer): New arg KEEP_ALL. Callers changed.
1645
1646 * search.c (Vsearch_spaces_regexp):
1647 Rename from Vsearch_whitespace_regexp. All uses changed.
1648
1649 2004-11-20 Thien-Thi Nguyen <ttn@gnu.org>
1650
1651 * eval.c (init_eval_once): Increase `max_specpdl_size' to 650.
1652
1653 2004-11-19 Richard M. Stallman <rms@gnu.org>
1654
1655 * search.c (Vsearch_whitespace_regexp): New variable.
1656 (syms_of_search): Defvar it.
1657 (compile_pattern_1): Call re_set_whitespace_regexp with it.
1658 (search_buffer): No regexp is trivial if Vsearch_whitespace_regexp
1659 is non-nil.
1660 (struct regexp_cache): New element whitespace_regexp.
1661 (syms_of_search): Initialize whitespace_regexp elements.
1662 (compile_pattern): Compare whitespace_regexp elements.
1663 (compile_pattern_1): Set whitespace_regexp elements.
1664
1665 * regex.c (regex_compile): Substitute whitespace_regexp
1666 for spaces, if it is nonzero.
1667 (whitespace_regexp): New variable.
1668 (re_set_whitespace_regexp): New function.
1669
1670 2004-11-19 Kim F. Storm <storm@cua.dk>
1671
1672 * indent.c (Fvertical_motion): Fix last change.
1673
1674 2004-11-18 Kim F. Storm <storm@cua.dk>
1675
1676 * indent.c (Fvertical_motion): Undo 2004-11-16 change.
1677 Instead, move back again if reseating moves too far ahead.
1678
1679 2004-11-17 Luc Teirlinck <teirllm@auburn.edu>
1680
1681 * xdisp.c (message3): Call clear_message.
1682
1683 2004-11-17 Kim F. Storm <storm@cua.dk>
1684
1685 * xdisp.c (erase_phys_cursor): Adjust cursor row visible height.
1686
1687 2004-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1688
1689 * gtkutil.c (xg_get_file_name): Typo in HAVE_GTK_FILE_SELECTION_NEW.
1690
1691 * xmenu.c (x_menu_in_use): Remove.
1692 (x_menu_set_in_use): Also set popup_activated_flag.
1693
1694 * xfns.c (Fx_file_dialog): Call popup_activated instead of
1695 x_menu_in_use. Call x_menu_set_in_use in Motif version also.
1696
1697 * xterm.h: (x_menu_in_use): Remove.
1698
1699 2004-11-16 Richard M. Stallman <rms@gnu.org>
1700
1701 * keymap.c (Fmap_keymap): New arg SORT-FIRST.
1702 Use map-keymap-internal to implement that.
1703
1704 * indent.c (Fvertical_motion): In batch mode, use vmotion directly.
1705
1706 2004-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
1707
1708 * xdisp.c (get_glyph_string_clip_rect, init_glyph_string): Check it's
1709 a window before using XWINDOW.
1710
1711 * window.c (make_window, Fselect_window, make_dummy_parent)
1712 (save_window_save):
1713 * frame.c (make_frame):
1714 * fns.c (concat): Avoid side-effects inside XSETFASTINT's arguments.
1715
1716 * lisp.h (NILP): Use EQ rather than XFASTINT.
1717
1718 2004-11-16 Kim F. Storm <storm@cua.dk>
1719
1720 * fringe.c (Fdefine_fringe_bitmap): Always set 'h'. Simplify.
1721
1722 * indent.c (Fvertical_motion): Fix last change. Only reseat when
1723 moving backwards.
1724
1725 2004-11-16 Luc Teirlinck <teirllm@auburn.edu>
1726
1727 * dispextern.h: Extern reseat_at_previous_visible_line_start.
1728
1729 2004-11-16 Kenichi Handa <handa@m17n.org>
1730
1731 * xdisp.c (display_mode_element): Fix previous change (calculate
1732 end position of substring to display correctly).
1733
1734 2004-11-16 Kim F. Storm <storm@cua.dk>
1735
1736 * keyboard.c (Fposn_at_point): Remove extra */ after doc string.
1737 Reported by Andrew M. Scott.
1738
1739 2004-11-15 Kim F. Storm <storm@cua.dk>
1740
1741 * fns.c (Fsafe_plist_get): New defun.
1742 (syms_of_fns): Defsubr it.
1743
1744 * lisp.h (Fsafe_plist_get): Add EXFUN.
1745
1746 * xdisp.c (store_mode_line_string, produce_stretch_glyph):
1747 Use Fsafe_plist_get.
1748 (note_mode_line_or_margin_highlight, note_mouse_highlight):
1749 Fix image map element parsing. Use Fsafe_plist_get.
1750
1751 2004-11-15 Richard M. Stallman <rms@gnu.org>
1752
1753 * xdisp.c (get_next_display_element): Fix previous change.
1754
1755 2004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1756
1757 * window.c (shrink_windows): Handle special case of one window left
1758 when trying to shrink the final reminder. Grow windows if
1759 total_removed is less than total_shrink.
1760
1761 * xmenu.c (pop_down_menu): Remove global variable current_menu,
1762 extract pointer from arg with XSAVE_VALUE.
1763 (create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
1764 Construct arg to record_unwind_protect with make_save_value.
1765
1766 2004-11-13 Richard M. Stallman <rms@gnu.org>
1767
1768 * xdisp.c (reseat_at_previous_visible_line_start): No longer static.
1769 (get_next_display_element): Fix previous change to apply only to \n.
1770
1771 * indent.c (Fvertical_motion): Scan to PT from start of line to
1772 make iterator consistent.
1773
1774 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
1775
1776 2004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1777
1778 * gtkutil.c (pop_down_file_dialog): Add BLOCK_INPUT.
1779
1780 * xfns.c (Fx_file_dialog): Call x_menu_in_use and x_menu_set_in_use.
1781 Record unwind with clean_up_file_dialog.
1782
1783 * xterm.h (x_menu_in_use, x_menu_set_in_use, x_menu_wait_for_event):
1784 Declare.
1785
1786 * xmenu.c (x_menu_in_use, x_menu_set_in_use): New functions.
1787
1788 2004-11-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1789
1790 * gtkutil.c (xg_file_sel_ok, xg_file_sel_cancel)
1791 (xg_file_sel_destroy): Remove.
1792 (xg_file_response_cb, pop_down_file_dialog)
1793 (xg_get_file_name_from_chooser, xg_get_file_name_from_selector):
1794 New functions.
1795 (xg_get_file_with_chooser, xg_get_file_with_selection):
1796 Take new arg func, set it to xg_get_file_name_from_chooser/selector.
1797 Move common code to xg_get_file_name. Return widget created.
1798 (xg_get_file_name): Set name, transient for, modal and destroy
1799 with parent here. Connect response signal to xg_file_response_cb,
1800 connect delete-event to gtk_true. Record pop_down_file_dialog
1801 for unwind. Do event loop and call x_menu_wait_for_event in loop.
1802 (xg_create_widget): Make dialogs modal.
1803
1804 * xmenu.c (unuse_menu_items, pop_down_menu): Arg is of type
1805 Lisp_Object.
1806 (popup_get_selection): Move unwind protect ...
1807 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
1808 Move destroy of widget to pop_down_menu.
1809 (popup_widget_loop): Move unwind protect ...
1810 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
1811 Move destroy of widget to pop_down_menu.
1812 (pop_down_menu): BLOCK_INPUT and destroy widget/window.
1813 (xmenu_show): Record unwind pop_down_menu. Move XMenuDestroy,
1814 x_mouse_leave and grabbed = 0 to pop_down_menu.
1815
1816 2004-11-13 Kim F. Storm <storm@cua.dk>
1817
1818 * xdisp.c (make_cursor_line_fully_visible_p): New variable.
1819 (syms_of_xdisp): DEFVAR_BOOL it.
1820 (make_cursor_line_fully_visible, try_cursor_movement)
1821 (try_window_id): Use it.
1822
1823 2004-11-12 Kim F. Storm <storm@cua.dk>
1824
1825 * dispextern.h (struct glyph_row): New member extra_line_spacing.
1826 (struct it): New member max_extra_line_spacing.
1827 (MR_PARTIALLY_VISIBLE, MR_PARTIALLY_VISIBLE_AT_TOP)
1828 (MR_PARTIALLY_VISIBLE_AT_BOTTOM): New helper macros.
1829 (MATRIX_ROW_PARTIALLY_VISIBLE_P): Fix to return false if invisible
1830 part of last line is only extra line spacing (so the text on the
1831 line is fully visible). Use helper macros.
1832 Add W arg (to use them). All callers changed.
1833 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P)
1834 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P): Use helper macros.
1835
1836 * window.c (window_scroll_pixel_based, Frecenter):
1837 Use move_it_vertically_backward directly.
1838 (Frecenter): Fix calculation of new start pos for negative arg.
1839 Before, the new start pos was sometimes chosen too far back, so
1840 the last line became only partially visible, and thus would be
1841 either only semi-visible or automatically scrolled to the middle
1842 of the window by redisplay.
1843
1844 * xdisp.c (init_iterator): Clear it.max_extra_line_spacing.
1845 (move_it_vertically_backward): Don't recure to move further back.
1846 (move_it_vertically): Remove superfluous condition.
1847 (move_it_by_lines): Clear last_height when moved 0 lines.
1848 (resize_mini_window): Use it.max_extra_line_spacing.
1849 (display_tool_bar_line): Clear row->extra_line_spacing.
1850 (try_scrolling): Use move_it_vertically_backward directly.
1851 (redisplay_window): Likewise.
1852 (compute_line_metrics): Set row->extra_line_spacing.
1853 (display_line, display_string): Likewise.
1854 (x_produce_glyphs): Update it->max_extra_line_spacing.
1855
1856 * xmenu.c (pop_down_menu): Return nil.
1857
1858 2004-11-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1859
1860 * xmenu.c (x_menu_wait_for_event): New function.
1861 (popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event
1862 to handle timers.
1863 (popup_widget_loop): Add argument do_timers.
1864 (create_and_show_popup_menu, create_and_show_dialog): Pass 1 for
1865 do_timers to popup_widget_loop.
1866 (xmenu_show): Call XMenuActivateSetWaitFunction so that
1867 x_menu_wait_for_event is called by XMenuActivate.
1868 (create_and_show_popup_menu): Pass 1 for do_timers to
1869 popup_get_selection.
1870 (pop_down_menu): New function.
1871 (popup_get_selection, popup_widget_loop): Unwind protect to
1872 pop_down_menu.
1873 (popup_widget_loop): Add argument widget.
1874 (create_and_show_popup_menu, create_and_show_dialog): Pass new
1875 argument widget to popup_widget_loop.
1876
1877 2004-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
1878
1879 * keymap.c (Fkeymap_prompt): Accept symbol keymaps.
1880
1881 2004-11-09 Kim F. Storm <storm@cua.dk>
1882
1883 * xselect.c: Include <sys/types.h> and <unistd.h> (for getpid).
1884 Fix various comments referring to XEvents instead of input events.
1885 (x_queue_event): Fix format strings.
1886 (x_stop_queuing_selection_requests): Likewise.
1887
1888 * xdisp.c (produce_image_glyph): Remove unused variable 'face_ascent'.
1889 (pint2hrstr): Add extra braces to silence compiler.
1890
1891 * print.c (print_object): Fix format string.
1892
1893 * lread.c (read1): Fix next_char matching.
1894
1895 * lisp.h (Fdelete): Add EXFUN.
1896 (replace_range_2): Add prototype.
1897
1898 * keyboard.c (read_avail_input): Remove unused variable 'discard'.
1899
1900 * intervals.h (NULL_INTERVAL_P): Add separate version when
1901 ENABLE_CHECKING is not defined to silence compiler.
1902 (compare_string_intervals): Add prototype.
1903
1904 * fringe.c (destroy_fringe_bitmap): Fix return type.
1905 (Ffringe_bitmaps_at_pos): Remove unused var 'old_buffer'.
1906
1907 * emacs.c (Fdump_emacs): Fix format string.
1908
1909 * doc.c: Include <ctype.h>.
1910 (Fsubstitute_command_keys): Remove unused variable 'firstkey'.
1911
1912 * data.c (store_symval_forwarding): Remove unused variables.
1913
1914 * callint.c (Fcall_interactively): Remove unused variable 'funcar'.
1915
1916 2004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1917
1918 * Makefile.in (stamp-oldxmenu): If HAVE_GTK, don't add dependencies
1919 to ${OLDXMENU}.
1920
1921 2004-11-09 Kim F. Storm <storm@cua.dk>
1922
1923 * process.c (Fmake_network_process): Remove kludge for interrupted
1924 connects on BSD. If connect is interrupted, just close socket and
1925 start over rather than sleeping and retry with same socket.
1926
1927 2004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1928
1929 * .cvsignore: Add buildobj.lst.
1930
1931 * doc.c: New variable Vbuild_files.
1932 (Fsnarf_documentation): If Vbuild_files is nil, populate it with
1933 file names from buildobh.lst. Only attach docstrings from files
1934 that are in Vbuild_files.
1935 (syms_of_doc): Defvar Vbuild_files.
1936
1937 * Makefile.in (SOME_MACHINE_OBJECTS): Add fringe.o, image.o
1938 and w32*.o.
1939 (temacs${EXEEXT}): Generate buildobj.lst when temacs is linked.
1940 (mostlyclean): Rm buildobj.lst
1941
1942 * makefile.w32-in ($(TEMACS)): Generate buildobj.lst when temacs
1943 is linked.
1944
1945 2004-11-09 Kim F. Storm <storm@cua.dk>
1946
1947 * fringe.c (update_window_fringes): Update fringe bitmaps if
1948 cur and row ends_at_zv_p differs. If bitmaps of a row is updated,
1949 also update previous row to get rid of misc. artifacts.
1950
1951 2004-11-08 Kim F. Storm <storm@cua.dk>
1952
1953 * xdisp.c (fast_find_position): Fix start pos if header line present.
1954 (note_mouse_highlight): Clear mouse face if we move out of text area.
1955
1956 2004-11-08 Eli Zaretskii <eliz@gnu.org>
1957
1958 * editfns.c: Move #include "systime.h" before <sys/resource.h>.
1959 Don't include <sys/time.h> explicitly.
1960 Include <stdio.h> unconditionally, not just on MacOS.
1961
1962 2004-11-08 Kenichi Handa <handa@m17n.org>
1963
1964 * fontset.c (fontset_pattern_regexp): Cancel my previous change;
1965 don't pay attention to '\' before '*'.
1966 (fontset_pattern_regexp): Change the meaning of the second arg.
1967 (Fnew_fontset): Call fs_query_fontset, not Fquery_fontset.
1968 (check_fontset_name): Try NAME as literal at first, and if it
1969 failes, try NAME as pattern.
1970
1971 2004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1972
1973 * emacs.c (Fdump_emacs): Only output warning on GNU/Linux.
1974
1975 2004-11-07 Andreas Schwab <schwab@suse.de>
1976
1977 * lisp.h (Fmsdos_downcase_filename): Declare.
1978 * dired.c (Fmsdos_downcase_filename): Don't declare here.
1979 * fileio.c: Likewise.
1980
1981 2004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1982
1983 * dosfns.c (Fdos_memget, Fdos_memput): Use integer variable offs in
1984 comparisons with integers instead of Lisp_Object address.
1985 (Fmsdos_set_keyboard): Declare argument allkeys.
1986
1987 * msdos.c (IT_set_frame_parameters): Use EQ, not ==, for Lisp_Object:s.
1988
1989 * dired.c (Fmsdos_downcase_filename): Declare extern on MSDOS to avoid
1990 int/Lisp_Object mixup.
1991
1992 * fileio.c: Ditto.
1993
1994 2004-11-06 Steven Tamm <steventamm@mac.com>
1995
1996 * editfns.c: Need to include sys/time.h before resource.h on darwin.
1997
1998 2004-11-06 Richard M. Stallman <rms@gnu.org>
1999
2000 * callint.c (Fcall_interactively): Avoid reusing EVENT for other data.
2001
2002 * xfaces.c (merge_named_face): GCPRO the face_name in the
2003 named_merge_point struct that we make.
2004 (merge_face_heights): Eliminate GCPRO arg. All callers changed.
2005
2006 * keyboard.c (command_loop_1): Change Vtransient_mark_mode
2007 before deciding whether to inactivate mark.
2008
2009 2004-11-06 Lars Brinkhoff <lars@nocrew.org>
2010
2011 * config.in: Regenerate (add HAVE_GETRUSAGE).
2012 * editfns.c (Fget_internal_run_time): New function.
2013 (syms_of_data): Defsubr it.
2014 * fns.c (sxhash): As far as possible, merge calculation of
2015 hash code for symbols and strings.
2016
2017 2004-11-06 Eli Zaretskii <eliz@gnu.org>
2018
2019 * frame.c (syms_of_frame): Fix the example in the doc string.
2020
2021 2004-11-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2022
2023 * eval.c (Feval): Remove check for INPUT_BLOCKED_P.
2024
2025 * xmenu.c (popup_get_selection, create_and_show_popup_menu)
2026 (create_and_show_dialog): Revert change from 2004-10-31.
2027
2028 2004-11-05 Luc Teirlinck <teirllm@auburn.edu>
2029
2030 * macros.c (syms_of_macros) <defining-kbd-macro>: Doc fix.
2031
2032 2004-11-05 Kim F. Storm <storm@cua.dk>
2033
2034 * print.c (print_object): Print Lisp_Misc_Save_Value objects.
2035
2036 * fileio.c (Ffile_modes): Doc fix.
2037 (auto_save_1): Check for Ffile_modes nil value.
2038
2039 2004-11-05 Kim F. Storm <storm@cua.dk>
2040
2041 * xselect.c (struct selection_event_queue, selection_queue)
2042 (x_queue_selection_requests, x_queue_event)
2043 (x_start_queuing_selection_requests)
2044 (x_stop_queuing_selection_requests): Add new queue for selection
2045 input events to replace previous XEvent queue in xterm.c.
2046 (queue_selection_requests_unwind): Adapt to new queue.
2047 (x_reply_selection_request): Adapt to new queue.
2048 Unexpect wait_object in case of x errors (memory leak).
2049 (x_handle_selection_request, x_handle_selection_clear): Make static.
2050 (x_handle_selection_event): New function. May queue selection events.
2051 (wait_for_property_change_unwind): Use save_value instead of cons.
2052 Clear property_change_reply_object.
2053 (wait_for_property_change): Abort if already waiting.
2054 Use save_value instead of cons for unwind data.
2055 (x_handle_property_notify): Skip events already arrived, but don't
2056 free them, as "arrived" field is checked by wait_for_property_change,
2057 and it will be freed by unwind or explicit unexpect_property_change.
2058 (x_get_foreign_selection): Add to new queue.
2059 (receive_incremental_selection): Don't unexpect wait_object when done
2060 as it has already been freed by previous wait_for_property_change.
2061
2062 * xterm.h (x_start_queuing_selection_requests)
2063 (x_stop_queuing_selection_requests, x_handle_selection_request)
2064 (x_handle_selection_clear): Remove prototypes.
2065 (x_handle_selection_event): Add prototype.
2066
2067 * xterm.c (handle_one_xevent): Don't queue X selection events
2068 here, it may be too late if we start queuing after we have already
2069 stored some selection events into the kbd buffer.
2070 (struct selection_event_queue, queue, x_queue_selection_requests)
2071 (x_queue_event, x_unqueue_events, x_start_queuing_selection_requests)
2072 (x_stop_queuing_selection_requests): Remove/move to xselect.c.
2073 (x_catch_errors_unwind): Block input around final XSync.
2074
2075 * keyboard.h (kbd_buffer_unget_event): Add prototype.
2076
2077 * keyboard.c (kbd_buffer_store_event_hold): Remove obsolete code.
2078 (kbd_buffer_unget_event): New function.
2079 (kbd_buffer_get_event, swallow_events): Combine SELECTION events
2080 and use x_handle_selection_event.
2081 (mark_kboards): Don't mark x and y of SELECTION_CLEAR_EVENT.
2082
2083 2004-11-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2084
2085 * xselect.c (TRACE3): New debug macro.
2086 (x_reply_selection_request): Use it.
2087 (receive_incremental_selection): In call to TRACE0, the name of
2088 a symbol is in xname.
2089
2090 2004-11-05 Kim F. Storm <storm@cua.dk>
2091
2092 * fontset.c (fontset_pattern_regexp): Use unsigned char.
2093
2094 2004-11-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2095
2096 * fileio.c (Fnext_read_file_uses_dialog_p): New function.
2097
2098 * gtkutil.h (use_old_gtk_file_dialog): Declare.
2099
2100 * gtkutil.c: Make use_old_gtk_file_dialog non-static.
2101 (xg_initialize): Move DEFVAR_BOOL for use_old_gtk_file_dialog ...
2102 * xfns.c (syms_of_xfns): ... to here.
2103
2104 * gtkutil.c (xg_get_file_with_chooser): Expand DEFAULT_FILENAME if
2105 it doesn't start with /.
2106
2107 2004-11-04 Kenichi Handa <handa@m17n.org>
2108
2109 * fontset.c (fontset_pattern_regexp): If '*' is preceded by '\',
2110 treat it as a literal character.
2111
2112 2004-11-03 Kim F. Storm <storm@cua.dk>
2113
2114 * .gdbinit (ppt): New function.
2115
2116 2004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2117
2118 * xterm.c (x_window_to_scroll_bar): Only call
2119 xg_get_scroll_id_for_window if toolkit scroll bars are used.
2120
2121 * gtkutil.c (xg_get_file_with_chooser): Use GTK_STOCK_OK instead
2122 of save.
2123
2124 2004-11-02 Andreas Schwab <schwab@suse.de>
2125
2126 * window.c (Fscroll_right): Fix last change.
2127
2128 2004-11-02 Kim F. Storm <storm@cua.dk>
2129
2130 * Makefile.in (callproc.o): Depend on blockinput.h atimer.h systime.h.
2131
2132 2004-11-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2133
2134 * callproc.c (Fcall_process): Block input around vfork.
2135
2136 2004-11-02 Kim F. Storm <storm@cua.dk>
2137
2138 * eval.c (Fcalled_interactively_p): Rename from Fcall_interactive_p.
2139 (syms_of_eval): Defsubr it.
2140
2141 2004-11-02 Richard M. Stallman <rms@gnu.org>
2142
2143 * insdel.c (replace_range_2): New function.
2144
2145 * casefiddle.c (casify_region): Handle changes in byte-length
2146 using replace_range_2.
2147
2148 * emacs.c (USAGE3): Delete --horizontal-scroll-bars, -hb.
2149
2150 * xdisp.c (back_to_previous_visible_line_start):
2151 Subtract 1 from pos when checking previous newline for invisibility.
2152
2153 * window.c (window_scroll_pixel_based): Update preserve_y
2154 for header line if any.
2155 (Fscroll_left, Fscroll_right): Don't call interactive_p;
2156 use a new second argument instead.
2157
2158 * eval.c (Fcall_interactive_p): New function.
2159 (interactive_p): Don't test INTERACTIVE here.
2160 (Finteractive_p): Doc fix.
2161
2162 * eval.c (Feval): Abort if INPUT_BLOCKED_P.
2163
2164 2004-11-02 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
2165
2166 * w32fns.c (w32_font_match): Use fast_string_match_ignore_case for
2167 comparing font names.
2168
2169 2004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2170
2171 * fileio.c (Fread_file_name): Pass Qt as fifth parameter to
2172 Fx_file_dialog if only directories should be read.
2173
2174 * lisp.h: Fx_file_dialog takes 5 parameters.
2175
2176 * xfns.c (Fx_file_dialog): Both Motif and GTK version:
2177 Add parameter only_dir_p.
2178 In Motif version, don't put DEFAULT_FILENAME in filter part of the
2179 dialog, just text field part. Do not add DEFAULT_FILENAME
2180 to list of files if it isn't there.
2181 In GTK version, pass only_dir_p parameter to xg_get_file_name.
2182
2183 * macfns.c (Fx_file_dialog): Add parameter only_dir_p.
2184 Check only_dir_p instead of comparing prompt to "Dired". When using
2185 a save dialog, add option kNavDontConfirmReplacement, change title
2186 to "Enter name", change text for save button to "Ok".
2187
2188 * w32fns.c (Fx_file_dialog): Add parameter only_dir_p.
2189 Check only_dir_p instead of comparing prompt to "Dired".
2190
2191 * gtkutil.c (xg_get_file_with_chooser)
2192 (xg_get_file_with_selection): New functions, only defined ifdef
2193 HAVE_GTK_FILE_CHOOSER_DIALOG_NEW and HAVE_GTK_FILE_SELECTION_NEW
2194 respectively.
2195 (xg_get_file_name): Add parameter only_dir_p.
2196 Call xg_get_file_with_chooser or xg_get_file_with_selection
2197 depending on HAVE_GTK_FILE* and the value of use_old_gtk_file_dialog.
2198 (xg_initialize): New DEFVAR_BOOL use_old_gtk_file_dialog.
2199
2200 * gtkutil.h (xg_get_file_name): Add parameter only_dir_p.
2201
2202 * config.in: Rebuild (added HAVE_GTK_FILE_*).
2203
2204 2004-11-01 Kim F. Storm <storm@cua.dk>
2205
2206 * process.c (connect_wait_mask, num_pending_connects):
2207 Only declare and use them if NON_BLOCKING_CONNECT is defined.
2208 (init_process): Initialize them if NON_BLOCKING_CONNECT defined.
2209 (IF_NON_BLOCKING_CONNECT): New helper macro.
2210 (wait_reading_process_output): Only declare and use local vars
2211 Connecting and check_connect when NON_BLOCKING_CONNECT is defined.
2212
2213 2004-11-01 Andy Petrusenco <Igrek@star-sw.com> (tiny change)
2214
2215 * w32term.c (x_scroll_run): Delete region objects after use.
2216
2217 2004-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2218
2219 * xmenu.c: Add prototypes for forward function declarations.
2220 (popup_get_selection): Remove parameter do_timers, remove call to
2221 timer_check.
2222 (create_and_show_popup_menu, create_and_show_dialog):
2223 Remove parameter do_timers from call to popup_get_selection.
2224
2225 * xdisp.c (update_tool_bar): Pass a copy of f->tool_bar_items to
2226 tool_bar_items and assign the result to f->tool_bar_items if
2227 not equal. Move BLOCK/UNBLOCK_INPUT from around call to
2228 tool_bar_items to assignment of result.
2229
2230 * atimer.c (alarm_signal_handler): Do not call set_alarm if
2231 pending_atmers is non-zero.
2232
2233 2004-10-31 Kim F. Storm <storm@cua.dk>
2234
2235 * dispnew.c (margin_glyphs_to_reserve): Don't use ncols_scale_factor.
2236
2237 2004-10-28 Will <will@glozer.net>
2238
2239 * macterm.c: allow user to assign key modifiers to the Mac Option
2240 key via a 'mac-option-modifier' variable.
2241
2242 2004-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2243
2244 * xselect.c (Vx_lost_selection_functions, Vx_sent_selection_functions):
2245 Rename from Vx_lost_selection_hooks and Vx_sent_selection_hooks.
2246 (x_handle_selection_request, x_handle_selection_clear)
2247 (x_clear_frame_selections, syms_of_xselect): Adjust accordingly.
2248
2249 2004-10-28 Richard M. Stallman <rms@gnu.org>
2250
2251 * w32fns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
2252
2253 * xfns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
2254
2255 2004-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
2256
2257 * syntax.c (scan_sexps_forward): Give precedence to a 2-char
2258 comment-starter over a 1-char one.
2259
2260 2004-10-27 Richard M. Stallman <rms@gnu.org>
2261
2262 * xdisp.c (get_next_display_element): In mode lines,
2263 treat newline and tab like other control characters.
2264
2265 * editfns.c (Fmessage): Doc fix.
2266
2267 * indent.c (vmotion): When moving up, check the newline before.
2268 Make prevline an int, not a Lisp_Object.
2269
2270 2004-10-27 Kim F. Storm <storm@cua.dk>
2271
2272 * editfns.c (Fformat): Allocate discarded table with SAFE_ALLOCA.
2273 Only allocate info and discarded tables once.
2274
2275 * lisp.h (USE_SAFE_ALLOCA): Add and init sa_must_free integer.
2276 (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used.
2277 (SAFE_FREE): Test it to determine if we need to unwind to free.
2278 Remove size arg. All users changed.
2279 (SAFE_FREE_LISP) Remove. All users changed to use SAFE_FREE.
2280
2281 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2282
2283 * gtkutil.c: Put empty line between comment and function body.
2284 (xg_destroy_widgets): Rename from remove_from_container.
2285 Just destroy all widgets in list. Argument wcont removed.
2286 (xg_update_menubar, xg_update_submenu): Call xg_destroy_widgets
2287 instead of remove_from_container.
2288 (xg_display_close, xg_create_tool_bar, update_frame_tool_bar)
2289 (free_frame_tool_bar): Add comment.
2290
2291 * xfns.c (xic_create_xfontset): Check that FRAME_XIC_BASE_FONTNAME
2292 is not NULL before strcmp.
2293
2294 2004-10-26 Kim F. Storm <storm@cua.dk>
2295
2296 * callint.c (Fcall_interactively): Add 'U' code to get the
2297 up-event discarded by a previous 'k' or 'K' argument.
2298
2299 2004-10-26 David Kastrup <dak@gnu.org>
2300
2301 * buffer.c (syms_of_buffer): Fix a few typos.
2302
2303 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2304
2305 * xsmfns.c: Put empty line between comment and function body.
2306 Use two spaces before comment end.
2307
2308 2004-10-25 Kenichi Handa <handa@m17n.org>
2309
2310 * fontset.c (fontset_pattern_regexp): Optimize for the case that
2311 PATTERN is full XLFD.
2312
2313 2004-10-24 Kenichi Handa <handa@m17n.org>
2314
2315 * regex.h (enum reg_errcode_t): New value REG_ERANGEX.
2316
2317 * regex.c (re_error_msgid): Add an entry for REG_ERANGEX.
2318 (regex_compile): Return REG_ERANGEX if appropriate.
2319
2320 2004-10-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2321
2322 * xfns.c (xic_create_xfontset): Initialize missing_list to NULL.
2323
2324 2004-10-21 K\e,Aa\e(Broly L\e$,1 q\e(Brentey <lorentey@elte.hu>
2325
2326 * xterm.h (x_output): New member `xic_base_fontname'.
2327 (FRAME_XIC_BASE_FONTNAME): New macro.
2328 (xic_free_xfontset): Declare.
2329
2330 * xfns.c (xic_create_xfontset): Share fontsets between frames
2331 based on base_fontname.
2332 (xic_free_xfontset): New function.
2333 (free_frame_xic): Use it.
2334 (xic_set_xfontset): Ditto.
2335
2336 * xterm.c (xim_destroy_callback): Ditto.
2337
2338
2339 2004-10-20 B. Anyos <banyos@freemail.hu> (tiny change)
2340
2341 * w32term.c (x_draw_glyph_string): Use overline_color for overlines.
2342
2343 2004-10-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2344
2345 * xterm.h (XSync): If USE_GTK, define XSync as process_all and then
2346 XSync.
2347
2348 * emacs.c (my_heap_start, heap_bss_diff, MAX_HEAP_BSS_DIFF):
2349 New variables and constant.
2350 (main): Calculate heap_bss_diff. If we are dumping and the
2351 heap_bss_diff is greater than MAX_HEAP_BSS_DIFF, set PER_LINUX32
2352 and exec ourself again.
2353 (Fdump_emacs): If heap_bss_diff is greater than MAX_HEAP_BSS_DIFF
2354 print a warning.
2355
2356 * lastfile.c: Make my_endbss and my_endbss_static available on all
2357 platforms.
2358
2359 * Makefile.in (RUN_TEMACS): Remove @SETARCH@.
2360 * config.in (HAVE_PERSONALITY_LINUX32): Regenerate.
2361
2362 2004-10-19 Luc Teirlinck <teirllm@auburn.edu>
2363
2364 * data.c (Flocal_variable_if_set_p): Doc fix.
2365
2366 2004-10-19 Jason Rumney <jasonr@gnu.org>
2367
2368 * w32.c (init_environment): Set emacs_dir correctly when running
2369 emacs from the build directory.
2370
2371 2004-10-19 Richard M. Stallman <rms@gnu.org>
2372
2373 * editfns.c (Fdelete_and_extract_region):
2374 If region is empty, return null string.
2375
2376 2004-10-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2377
2378 * gtkutil.h (xg_update_scrollbar_pos): Remove arguments real_left
2379 and canon_width.
2380 (xg_frame_cleared): Remove.
2381
2382 * gtkutil.c (xg_frame_cleared, xg_fixed_handle_expose)
2383 (xg_find_top_left_in_fixed): Remove.
2384 (xg_create_scroll_bar): Put an event box widget between
2385 the scroll bar widget and the edit widget.
2386 (xg_show_scroll_bar): Show the parent widget (the event box).
2387 (xg_remove_scroll_bar): Destroy parent (the event box) also.
2388 (xg_update_scrollbar_pos): Remove arguments real_left and canon_width.
2389 Move the parent (the event box) widget inside the fixed widget.
2390 Move window clear to xterm.c.
2391
2392 * gtkutil.h (xg_frame_cleared): Remove.
2393
2394 * xterm.c (x_clear_frame): Remove call to xg_frame_cleared
2395 (x_scroll_bar_create, XTset_vertical_scroll_bar):
2396 Remove arguments left and width to xg_update_scrollbar_pos.
2397 (XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also.
2398
2399 2004-10-19 Kenichi Handa <handa@m17n.org>
2400
2401 * xdisp.c (display_mode_element): Fix display of wide chars.
2402
2403 2004-10-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2404
2405 * gtkutil.c (xg_update_scrollbar_pos): Change XClearWindow to
2406 gdk_window_clear and move gdk_window_process_all_updates after
2407 clear so events are sent to the X server in correct order.
2408
2409 2004-10-18 Kenichi Handa <handa@m17n.org>
2410
2411 * fontset.c (fs_load_font): Use fast_string_match_ignore_case for
2412 comparing font names.
2413 (fs_query_fontset): Use fast_string_match for comparing fontset names.
2414 (list_fontsets): Likewise.
2415
2416 * search.c (fast_string_match_ignore_case): New function.
2417
2418 * lisp.h (fast_string_match_ignore_case): Extern it.
2419
2420 2004-10-17 Kim F. Storm <storm@cua.dk>
2421
2422 * xdisp.c (overlay_arrow_at_row): Return overlay string rather
2423 than bitmap if there is not left fringe.
2424 (get_overlay_arrow_glyph_row): Also used on windows system.
2425 (display_line): Display overlay string if no left fringe.
2426
2427 2004-10-16 Jason Rumney <jasonr@gnu.org>
2428
2429 * w32fns.c (w32_font_match): Encode font name being matched.
2430
2431 2004-10-16 Richard M. Stallman <rms@gnu.org>
2432
2433 * window.c (Fspecial_display_p): Doc fix.
2434
2435 2004-10-15 Stefan Monnier <monnier@iro.umontreal.ca>
2436
2437 * doc.c (Fsubstitute_command_keys): Fix remap-handling.
2438 Don't ignore menus, because where-is-internal already does it for us.
2439
2440 2004-10-15 Kim F. Storm <storm@cua.dk>
2441
2442 * xdisp.c (redisplay_window): Only update fringes and vertical
2443 border on window frames.
2444
2445 2004-10-14 Andreas Schwab <schwab@suse.de>
2446
2447 * m/ia64.h (DATA_SEG_BITS): Don't define.
2448
2449 2004-10-14 Kim F. Storm <storm@cua.dk>
2450
2451 * xterm.h: Include Xutil.h after keysym.h to work around bug
2452 in some X versions.
2453
2454 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
2455
2456 * fns.c (map_char_table): Add missing gcpros.
2457
2458 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
2459
2460 * keymap.c (get_keymap): An autoload form is not a keymap.
2461
2462 * textprop.c (syms_of_textprop): Make `syntax-table' nonsticky.
2463
2464 2004-10-13 Kim F. Storm <storm@cua.dk>
2465
2466 * callproc.c (Fcall_process): Simplify handling of display arg.
2467 Resume `display_on_the_fly' once a coding system is determined.
2468
2469 * xdisp.c (redisplay_preserve_echo_area): Fix last change.
2470
2471 2004-10-12 Kim F. Storm <storm@cua.dk>
2472
2473 * xdisp.c (redisplay_preserve_echo_area): Flush display in case
2474 caller, such as call-process, is not going to poll for input.
2475 (calc_line_height_property): Handle case where it->object is nil.
2476
2477 * xterm.c (x_redisplay_interface): Fix flush_display_optional.
2478
2479 2004-10-12 Kenichi Handa <handa@m17n.org>
2480
2481 * xdisp.c (get_next_display_element):
2482 If unibyte_display_via_language_environment is zero, display 8-bit
2483 chars in octal in unibyte buffer.
2484
2485 2004-10-12 Kim F. Storm <storm@cua.dk>
2486
2487 * doc.c (Fsubstitute_command_keys): Ignore remappings unless there
2488 are no ordinary bindings.
2489
2490 2004-10-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2491
2492 * xfns.c (syms_of_xfns): Defsubr x-file-dialog for GTK also.
2493
2494 2004-10-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2495
2496 * macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow.
2497 (x_lower_frame): Add BLOCK_INPUT around SendBehind.
2498 (make_mac_frame): Add BLOCK_INPUT around the making of a
2499 terminal frame.
2500 (mac_initialize): Add BLOCK_INPUT around carbon initialization.
2501 * macgui.h (mktime): Use emacs_mktime.
2502 * macfns.c (Fx_file_dialog): Add BLOCK_INPUT around more code.
2503 Make a cancel file-open dialog be like C-g.
2504 * mac.c (mktime): Use emacs_mktime.
2505 (Fdo_applescript): Add BLOCK_INPUT around do_applescript.
2506 (Fmac_paste_function): Add better error handling for carbon cut/paste.
2507
2508 2004-10-10 Kim F. Storm <storm@cua.dk>
2509
2510 * keyboard.c (timer_resume_idle): New function to resume idle
2511 timer without resetting timers on the idle list.
2512 (read_char): Use timer_resume_idle. Remove local var last_idle_start.
2513 (timer_start_idle, timer_stop_idle): Declare static.
2514 (read_key_sequence): Use timer_resume_idle instead of timer_start_idle.
2515
2516 * keyboard.h (timer_start_idle, timer_stop_idle): Remove prototypes.
2517
2518 2004-10-08 Steven Tamm <steventamm@mac.com>
2519
2520 * config.in (HAVE_MALLOC_MALLOC_H): Regenerate.
2521 * macterm.c (mac_check_for_quit_char): Remove warning for using
2522 NULL where 0 should be used.
2523 * unexmacosx.c: Use malloc/malloc.h on Tiger instead of
2524 objc/malloc.h
2525 * mac.c: Include time.h for Tiger compatibility.
2526
2527 2004-10-07 Kim F. Storm <storm@cua.dk>
2528
2529 * xdisp.c (redisplay_window): Fix flicker on vertical line between
2530 windows. Update vertical line after drawing window fringes, but
2531 only if actually drawing any bitmaps--or there is no fringe.
2532
2533 * xterm.c (x_update_window_end): Likewise.
2534 * macterm.c (x_update_window_end): Likewise.
2535 * w32term.c (x_update_window_end): Likewise.
2536
2537 * fringe.c (draw_window_fringes): Return value now indicates if
2538 any fringe bitmaps were redrawn (or there are no fringes).
2539
2540 * dispextern.h (draw_window_fringes): Update prototype.
2541
2542 2004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2543
2544 * macfns.c (mac_get_window_bounds): Add extern.
2545 (x_real_positions): Use mac_get_window_bounds.
2546
2547 * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for
2548 xmenu.c (YAILOM).
2549
2550 * macterm.c [!MAC_OSX]: Include Windows.h.
2551 (front_emacs_window): Rename from mac_front_window. All uses
2552 changed. Return the frontmost non-tooltip emacs window.
2553 (mac_get_window_bounds): New function.
2554 (x_calc_absolute_position): Use the difference of width and height
2555 between the inner and outer window.
2556 (x_set_offset): Specify window position by the coordinae of the
2557 outer window. Adjust the position if the title bar is completely
2558 outside the screen.
2559 (app_is_suspended, app_sleep_time): Remove unused variables.
2560 (do_app_resume, do_app_suspend): Remove their contents because
2561 window-activate/deactivate events will do the job.
2562 (do_zoom_window): Remove unused variables. Make compliant to the
2563 standard way of zooming. Set f->left_pos and f->top_pos.
2564 (XTread_socket): Don't use argument `expected'. Don't use
2565 FrontWindow to determine the clicked window. Exclude unprocessed
2566 mouseUp cases in the early stage. Add parentheses to fix operator
2567 precedence.
2568 (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area.
2569
2570 2004-10-05 Jan Dj\e,Ad\e(Brv. <jan.h.d@swipnet.se>
2571
2572 * config.in: Regenerate.
2573
2574 * Makefile.in (RUN_TEMACS): Check HAVE_RANDOM_HEAPSTART instead of
2575 HAVE_EXECSHIELD.
2576
2577 2004-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2578
2579 * xterm.c (x_find_modifier_meanings): Ignore any Super or Hyper for
2580 a row if Alt or Meta has been found for that row. Also stop scanning
2581 for Keysyms for that row.
2582
2583 2004-10-04 Kim F. Storm <storm@cua.dk>
2584
2585 * fringe.c (Ffringe_bitmaps_at_pos): Change return value from cons
2586 to list. Include overlay arrow bitmap in return value.
2587
2588 * xterm.c (XTset_vertical_scroll_bar): Improve handling of scroll
2589 bars with fractional column width. If scroll bar separates two
2590 windows, move it towards the window it belongs to. Only update
2591 the padding area below the scroll bar widget when necessary,
2592 i.e. when scroll bar widget is created, moved, or resized.
2593
2594 * xdisp.c (define_frame_cursor1): Do not change frame cursor
2595 while tracking/dragging mouse.
2596 (x_draw_vertical_border): Do not draw line if frame has scroll bars.
2597
2598 * window.c (coordinates_in_window): Relax check for cursor
2599 on vertial border between mode lines.
2600 (Fset_window_fringes): Do not allow negative widths.
2601 (Fset_window_scroll_bars): Likewise.
2602
2603 * .gdbinit (pp): Shorthand for p ARG + pr.
2604 (ff): New command: flush frame updates (X only).
2605
2606 2004-10-03 Michael Albinus <michael.albinus@gmx.de>
2607
2608 * fileio.c (auto_save_1) Call Ffile_modes for remote files.
2609
2610 2004-09-30 Kenichi Handa <handa@m17n.org>
2611
2612 * process.c (send_process): Free composition data.
2613
2614 * fileio.c (Finsert_file_contents): Free composition data.
2615
2616 * coding.c (code_convert_region): Don't skip ASCIIs if there are
2617 compositions to encode.
2618 (encode_coding_string): Likewise. Free composition data.
2619
2620 2004-09-30 Florian Weimer <fw@deneb.enyo.de>
2621
2622 * coding.c (code_convert_region): Free composition data.
2623
2624 2004-09-29 Kim F. Storm <storm@cua.dk>
2625
2626 * fringe.c: Remove limit on number of bitmaps.
2627 (fringe_bitmaps, fringe_faces): Change to pointers.
2628 (max_fringe_bitmaps): New var.
2629 (Fdefine_fringe_bitmap): Expand fringe_bitmaps and fringe_faces.
2630 (init_fringe): Allocate fringe_bitmaps and fringe_faces.
2631
2632 * dispextern.h (FRINGE_ID_BITS): Increase to 16 bits (64K bitmaps).
2633 (struct glyph_row): Reorder fringe_bitmap related fields.
2634 (struct it): Likewise.
2635
2636 * w32term.c (fringe_bmp): Change to pointer.
2637 (max_fringe_bmp): New var.
2638 (w32_define_fringe_bitmap): Expand fringe_bmp.
2639 (w32_draw_fringe_bitmap): Check max_fringe_bmp.
2640 (w32_destroy_fringe_bitmap): Likewise.
2641
2642 2004-09-29 Kim F. Storm <storm@cua.dk>
2643
2644 * fringe.c: Simplify last change.
2645 (lookup_fringe_bitmap): New function.
2646 (valid_fringe_bitmap_p, resolve_fringe_bitmap): Remove.
2647 (Fdestroy_fringe_bitmap): Use lookup_fringe_bitmap.
2648 Keep standard bitmaps in Vfringe_bitmaps.
2649 (Fdefine_fringe_bitmap): Use lookup_fringe_bitmap.
2650 (Fset_fringe_bitmap_face): Likewise.
2651
2652 * dispextern.h (lookup_fringe_bitmap): Add prototype.
2653 (valid_fringe_bitmap_p): Remove prototype.
2654
2655 * xdisp.c (handle_single_display_prop): Use lookup_fringe_bitmap.
2656
2657 2004-09-29 Kim F. Storm <storm@cua.dk>
2658
2659 * fringe.c (destroy_fringe_bitmap, init_fringe_bitmap)
2660 (w32_init_fringe, w32_reset_fringes): Fix bootstrap (NULL rif).
2661
2662 * dispextern.h (valid_fringe_bitmap_p): Fix prototype.
2663
2664 * fringe.c (Vfringe_bitmaps): New variable.
2665 (syms_of_fringe): DEFVAR_LISP it.
2666 (valid_fringe_bitmap_p): Rename from valid_fringe_bitmap_id_p.
2667 Change arg to Lisp_Object and fail if not an integer.
2668 (get_fringe_bitmap_name, resolve_fringe_bitmap)
2669 (destroy_fringe_bitmap): New functions.
2670 (Fdestroy_fringe_bitmap): Change arg to bitmap symbol.
2671 Use destroy_fringe_bitmap. Remove symbol from Vfringe_bitmaps and
2672 clear its fringe property.
2673 (init_fringe_bitmap): Use destroy_fringe_bitmap instead of
2674 Fdestroy_fringe_bitmap.
2675 (Fdefine_fringe_bitmap): Add BITMAP arg specifying new or existing
2676 bitmap symbol; remove WHICH arg. Add symbol to Vfringe_bitmaps
2677 and set fringe property. Signal error if no free slots.
2678 (Fset_fringe_bitmap_face): Change arg to bitmap symbol.
2679 (Ffringe_bitmaps_at_pos): Return bitmap symbols instead of numbers.
2680
2681 * xdisp.c (handle_single_display_prop): Fringe bitmaps are now
2682 symbols with a fringe property.
2683
2684 2004-09-27 Kim F. Storm <storm@cua.dk>
2685
2686 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>:
2687 Doc fix. Format may now be a symbol or alist, not a cons.
2688
2689 * fringe.c (update_window_fringes): Handle new formats of
2690 indicate-buffer-boundaries (symbol or alist). No longer
2691 allow a simple cons.
2692 (Ffringe_bitmaps_at_pos): Use nil value for no bitmap.
2693
2694 2004-09-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2695
2696 * config.in: Rebuild.
2697
2698 2004-09-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2699
2700 * config.in: Rebuild.
2701
2702 * Makefile.in: Run setarch i386 ./temacs if exec-shield is present.
2703
2704 2004-09-18 Stefan Monnier <monnier@iro.umontreal.ca>
2705
2706 * xterm.c (x_term_init): Work around a bug in some X servers.
2707
2708 2004-09-18 Richard M. Stallman <rms@gnu.org>
2709
2710 * buffer.c (syms_of_buffer) <default-major-mode>: Doc fix.
2711
2712 * xdisp.c (try_window_reusing_current_matrix):
2713 Handle the case where we reach the old displayed text,
2714 out of sync with the old line boundary.
2715
2716 2004-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
2717
2718 * fileio.c (Finsert_file_contents): Fix case of replacement in a
2719 narrowed buffer.
2720
2721 2004-09-14 Kim F. Storm <storm@cua.dk>
2722
2723 * puresize.h (PURESIZE_RATIO): Define based on BITS_PER_EMACS_INT.
2724
2725 * xfaces.c (Qface_no_inherit): New var.
2726 (syms_of_xfaces): Intern and staticpro it.
2727 (Finternal_make_lisp_face, Finternal_set_lisp_face_attribute)
2728 (Finternal_copy_lisp_face, update_face_from_frame_parameter):
2729 Don't increment face_change_count when face has non-nil
2730 face-no-inherit property.
2731
2732 2004-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
2733
2734 * bytecode.c (BYTE_CODE_QUIT): Add missing AFTER_POTENTIAL_GC.
2735 (Fbyte_code): Remove dead code after `wrong_type_argument'.
2736
2737 * alloc.c (Fgarbage_collect): Mark keyboards, gtk data, and specpdl
2738 before doing the mark_stack_check_gcpros since they're not on the stack.
2739
2740 2004-09-12 Kim F. Storm <storm@cua.dk>
2741
2742 * editfns.c (Fformat): Handle format strings with multiple text
2743 properties. Reverse text property list from the format string,
2744 so the positions are in increasing order.
2745
2746 2004-09-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2747
2748 * xselect.c (x_reply_selection_request): XSync and UNBLOCK before
2749 x_uncatch_errors so that possible protocol errors are delivered.
2750
2751 2004-09-10 Eli Zaretskii <eliz@gnu.org>
2752
2753 * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
2754 blockinput.h.
2755 (dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
2756 charset.h, and coding.h
2757 (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h.
2758 (term.o): Depend on window.h and keymap.h.
2759 (abbrev.o): Depend on syntax.h.
2760 (callint.o): Depend on keymap.h.
2761 (casefiddle.o): Depend on charset.h and keymap.h.
2762 (category.o): Depend on keymap.h.
2763 (coding.o): Depend on dispextern.h.
2764 (cmds.o): Depend on keyboard.h and keymap.h.
2765 (dispnew.o): Depend on indent.h and intervals.h.
2766 (doc.o): Depend on keymap.h.
2767 (editfns.o): Depend on frame.h.
2768 (emacs.o): Depend on dispextern.h.
2769 (fileio.o): Don't depend on ccl.h.
2770 (filelock.o): Depend on charset.h and coding.h.
2771 (frame.o): Depend on w32term.h and macterm.h.
2772 (insdel.o): Depend on region-cache.h.
2773 (keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
2774 (minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
2775 (search.o): Depend on $(INTERVALS_SRC).
2776 (syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
2777 (window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
2778 xterm.h, w32term.h, and macterm.h.
2779 (xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
2780 w32term.h, and macterm.h.
2781 (xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
2782 region-cache.h, xterm.h, w32term.h, and macterm.h.
2783 (bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
2784 (data.o): Depend on frame.h.
2785 (fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
2786 (print.o): Depend on termchar.h and $(INTERVALS_SRC).
2787 (lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
2788 (intervals.o): Depend on keymap.h.
2789
2790 * msdos.c (msdos_set_cursor_shape, IT_display_cursor):
2791 Add debugging print-out to termscript.
2792
2793 2004-09-09 Richard M. Stallman <rms@gnu.org>
2794
2795 * xdisp.c (decode_mode_spec): Use current buffer for most purposes.
2796
2797 2004-09-08 Richard M. Stallman <rms@gnu.org>
2798
2799 * window.c (Fset_window_buffer): Doc fix.
2800
2801 * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use.
2802
2803 2004-09-08 Dan Nicolaescu <dann@ics.uci.edu>
2804
2805 * minibuf.c (history_delete_duplicates): New variable.
2806 (read_minibuf): Use it.
2807 (syms_of_minibuf): Create the corresponding lisp variable.
2808
2809 2004-09-08 Kim F. Storm <storm@cua.dk>
2810
2811 * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in
2812 overlay just before point.
2813
2814 2004-09-07 Luc Teirlinck <teirllm@auburn.edu>
2815
2816 * buffer.h (struct buffer): Add auto_save_file_format field.
2817 * buffer.c (reset_buffer, init_buffer_once):
2818 Handle auto_save_file_format field.
2819 (syms_of_buffer): Add DEFVAR_PER_BUFFER for
2820 `buffer-auto-save-file-format'.
2821 * fileio.c: Delete declaration for removed Vauto_save_file_format.
2822 (build_annotations): Adapt to replacement of
2823 `auto-save-file-format' with the new buffer-local variable
2824 `buffer-auto-save-file-format'.
2825 (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format.
2826
2827 2004-09-07 Jason Rumney <jasonr@gnu.org>
2828
2829 * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c.
2830
2831 * w32fns.c (w32_wnd_proc) [WM_MEASUREITEM, WM_DRAWITEM]:
2832 Handle Unicode menu titles.
2833
2834 2004-09-07 Kim F. Storm <storm@cua.dk>
2835
2836 * xdisp.c (set_cursor_from_row): Fix last change. Only use 'cursor'
2837 property from text property or overlay strings at point.
2838
2839 2004-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2840
2841 * xmenu.c (update_submenu_strings): YAILOM.
2842 (set_frame_menubar): Make sure last_i is initialized.
2843
2844 2004-09-03 Jason Rumney <jasonr@gnu.org>
2845
2846 * w32menu.c (_widget_value): Add lname and lkey.
2847 (digest_single_submenu): Set lname and lkey in widget_value
2848 instead of name and key.
2849 (update_submenu_strings): New function.
2850 (set_frame_menubar): Remove call to inhibit_garbage_collection,
2851 call update_submenu_strings.
2852
2853 * w32menu.c (globals_of_w32menu): Check for Unicode API.
2854 (digest_single_submenu, w32_menu_show): Encode menu strings as
2855 UTF-8 if Unicode API is available.
2856 (utf8to16): New function.
2857 (add_menu_item): Use it when calling Unicode API.
2858
2859 2004-09-03 Kim F. Storm <storm@cua.dk>
2860
2861 * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property
2862 in overlay or text-property strings; set cursor on corresponding
2863 glyph rather than at end of the string.
2864
2865 2004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2866
2867 * macfns.c (x_real_positions): Save the current window port and
2868 set a new one before obtaining the global coordinate.
2869 Use FRAME_MAC_WINDOW.
2870 (x_set_name, x_set_title): Encode title to UTF8.
2871 Use SetWindowTitleWithCFString.
2872 (Fx_server_version): Get correct OS version.
2873
2874 * macmenu.c (add_menu_item): Remove unused variable `i'.
2875 Don't let separator items destroy refence constants of other menu items.
2876
2877 * macterm.c (x_update_end): Move SetPortWindowPort to inside
2878 BLOCK_INPUT.
2879 (x_set_offset): Use FRAME_MAC_WINDOW.
2880
2881 * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to
2882 nontext_cursor if it is on a scroll bar.
2883
2884 * s/darwin.h (LIBS_CARBON): New define to specify libraries for
2885 Carbon support.
2886 (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++.
2887 Use LIBS_CARBON.
2888
2889 2004-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2890
2891 * xfns.c (x_set_name_internal): New function. Check if we shall call
2892 xfree before ENCODE_UTF_8.
2893 (x_set_name, x_set_title): Call x_set_name_internal.
2894
2895 2004-08-31 NAKAMURA Toshikazu <nr-tkz@nifty.com> (tiny change)
2896
2897 * w32fns.c (w32_load_font): If a BDF font is already loaded, do not
2898 reload it.
2899
2900 2004-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2901
2902 * macmenu.c (_widget_value): Add lname and lkey.
2903 (single_submenu): Set lname and lkey in widget_value
2904 instead of name and key.
2905 (update_submenu_strings): New function.
2906 (set_frame_menubar): Remove call to inhibit_garbage_collection,
2907 call update_submenu_strings.
2908
2909 * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
2910 instead of name and key.
2911 (update_submenu_strings): New function.
2912 (set_frame_menubar): Remove call to inhibit_garbage_collection,
2913 call update_submenu_strings.
2914
2915 * gtkutil.h (_widget_value): Added lname and lkey.
2916
2917 2004-08-30 Steven Tamm <steventamm@mac.com>
2918
2919 * macmenu.c (mac_menu_show): Remove shadowing of menu variable
2920 by using different names for inner loop variables.
2921
2922 2004-08-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2923
2924 * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection
2925 from 2002-07-15T00:01:34Z!raeburn@raeburn.org so that strings from ENCODE_UTF_8 isn't GC:ed before used.
2926
2927 * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when
2928 tool bar items is 0.
2929
2930 2004-08-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2931
2932 * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
2933 strings in menu items.
2934 (single_submenu): Use ENCODE_MENU_STRING
2935 (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because
2936 button release isn't passed to event loop
2937 (add_menu_item): Use SetMenuItemWithCFString
2938
2939 2004-08-26 Steven Tamm <steventamm@mac.com>
2940
2941 * fileio.c (Fread_file_name): Call x_file_dialog on carbon on
2942 tool-bar/menu click
2943 * macfns.c (Fx_file_dialog): Implemented using NavServices
2944
2945 2004-08-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2946
2947 * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
2948
2949 * xfns.c (x_window_to_frame, x_any_window_to_frame)
2950 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
2951 (x_top_window_to_frame): Return 0 if wdesc is None.
2952
2953 2004-08-22 Richard M. Stallman <rms@gnu.org>
2954
2955 * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS,
2956 HAVE_TERMIOS]: If there's no char for this signal, drop through
2957 and use system calls.
2958
2959 * bytecode.c (Fbyte_code) <unwind-protect>: Cannot GC.
2960
2961 2004-08-20 Kim F. Storm <storm@cua.dk>
2962
2963 * process.c (wait_reading_process_output): Rename from
2964 wait_reading_process_input. All uses changed.
2965 (wait_reading_process_output_1): Rename from
2966 wait_reading_process_input_1. All uses changed.
2967
2968 * dispnew.c (Fsleep_for): Remove obsolete code.
2969
2970 2004-08-20 Kenichi Handa <handa@m17n.org>
2971
2972 * syntax.c (skip_chars): Fix for unibyte case.
2973
2974 2004-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
2975
2976 * syntax.c (char_quoted): Mixup byte/char pos.
2977 (back_comment): Fixup globals in all cases.
2978
2979 2004-08-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2980
2981 * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before
2982 passing it to gtk_window_set_title.
2983
2984 2004-08-19 Kim F. Storm <storm@cua.dk>
2985
2986 * process.c (wait_reading_process_input): Clean up.
2987 Add wait_for_cell, wait_proc, and just_wait_proc args
2988 to avoid overloading `read_kbd' and `do_display' args.
2989 Change read_kbd arg to int. All callers changed.
2990
2991 * process.c (process_send_signal): Use CDISABLE.
2992
2993 * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE.
2994
2995 2004-08-18 Kim F. Storm <storm@cua.dk>
2996
2997 * process.c (Faccept_process_output): Add arg JUST-THIS-ONE;
2998 forward to wait_reading_process_input via DO_DISPLAY arg.
2999 (wait_reading_process_input): If DO_DISPLAY < 0 for a process
3000 object, only process output from that process; also inhibit
3001 running timers if DO_DISPLAY==-2.
3002
3003 2004-08-17 Kim F. Storm <storm@cua.dk>
3004
3005 * process.c (process_send_signal): Fix last change--use
3006 _POSIX_VDISABLE instead of CVDISABLE when available.
3007
3008 2004-08-16 Richard M. Stallman <rms@gnu.org>
3009
3010 * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
3011 Set VQUIT and VINTR chars to the standard ones if they are unset.
3012 [AIX]: Don't do that here. And don't force VINTR to standard
3013 when SIGNALS_VIA_CHARACTERS.
3014
3015 * process.c (process_send_signal)
3016 [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up.
3017 Do nothing if the character is CVDISABLE.
3018
3019 * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op.
3020
3021 * intervals.c (move_if_not_intangible):
3022 Force POSITION to be between BEGV and ZV.
3023
3024 2004-08-14 John Paul Wallington <jpw@gnu.org>
3025
3026 * buffer.c (Frestore_buffer_modified_p): Doc fix.
3027
3028 * fileio.c (Fread_file_name): Doc fix.
3029
3030 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
3031
3032 2004-08-09 Luc Teirlinck <teirllm@auburn.edu>
3033
3034 * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
3035
3036 2004-08-08 Luc Teirlinck <teirllm@auburn.edu>
3037
3038 * keyboard.c: Declare Qdisabled_command_function instead of
3039 Qdisabled_command_hook.
3040 (Fcommand_execute): Use Qdisabled_command_function instead of
3041 Qdisabled_command_hook.
3042 (syms_of_keyboard): Ditto.
3043
3044 2004-08-07 Luc Teirlinck <teirllm@auburn.edu>
3045
3046 * keymap.c (Flocal_key_binding, Fglobal_key_binding)
3047 (syms_of_keymap) <key-translation-map>: Doc fixes.
3048
3049 2004-08-07 Stefan Monnier <monnier@iro.umontreal.ca>
3050
3051 * window.c (window_list_1): YAILOM.
3052
3053 * fileio.c (make_temp_name): Handle multibyte prefixes.
3054
3055 2004-08-06 Luc Teirlinck <teirllm@auburn.edu>
3056
3057 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3058 Doc fix.
3059
3060 2004-08-03 Kenichi Handa <handa@m17n.org>
3061
3062 * coding.c (decode_coding_string): Adjust coding->consumed, and
3063 etc. with shrinked_bytes.
3064
3065 2004-08-03 Kim F. Storm <storm@cua.dk>
3066
3067 * indent.c (compute_motion): Fix check for full width window
3068 in non-window case. Do not count left truncation glyph on
3069 window systems.
3070
3071 2004-08-02 Luc Teirlinck <teirllm@auburn.edu>
3072
3073 * data.c (Finteractive_form): Doc fix.
3074
3075 2004-08-02 Kim F. Storm <storm@cua.dk>
3076
3077 * indent.c (compute_motion): Use actual window width if WIDTH is -1,
3078 properly accounting for continuation glyph on non-window systems.
3079 (Fcompute_motion): Use actual window width if WIDTH is nil, and
3080 actual window width/height if TOPOS is nil, properly accounting for
3081 continuation glyphs on non-window systems, and optional header lines.
3082 (vmotion): Let compute_motion calculate actual window width.
3083
3084 * window.c (window_scroll_line_based): Let compute_motion
3085 calculate actual window width.
3086
3087 2004-08-02 Kim F. Storm <storm@cua.dk>
3088
3089 * process.c (read_process_output): Use whole read buffer.
3090 Don't trigger adaptive read buffering on errors.
3091
3092 2004-07-31 Luc Teirlinck <teirllm@auburn.edu>
3093
3094 * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
3095
3096 * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
3097
3098 * callint.c (Fcall_interactively): Doc fix.
3099
3100 2004-07-30 Richard M. Stallman <rms@gnu.org>
3101
3102 * abbrev.c (Fexpand_abbrev): Undo previous change.
3103
3104 2004-07-30 Kim F. Storm <storm@cua.dk>
3105
3106 * editfns.c (Fformat): Allocate extra (dummy) element in info.
3107
3108 2004-07-28 Luc Teirlinck <teirllm@auburn.edu>
3109
3110 * eval.c (Fdefvar, Fdefconst): Doc fixes.
3111
3112 2004-07-27 Kim F. Storm <storm@cua.dk>
3113
3114 * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after
3115 we have ensured that the glyph fits on the current line (or returned
3116 MOVE_LINE_CONTINUED otherwise).
3117
3118 2004-07-26 Kim F. Storm <storm@cua.dk>
3119
3120 * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe
3121 is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV
3122 if target position is at end of display line but char is not a newline.
3123
3124 2004-07-25 Richard M. Stallman <rms@gnu.org>
3125
3126 * window.c (coordinates_in_window): Return ON_SCROLL_BAR
3127 instead of ON_VERTICAL_BORDER, when on scroll bar.
3128 (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil.
3129
3130 * dispextern.h (enum window_part): Add ON_SCROLL_BAR.
3131
3132 * window.c (Fcoordinates_in_window_p):
3133 Take account of FRAME_INTERNAL_BORDER_WIDTH.
3134
3135 * alloc.c (check_cons_list): New function (contents commented out).
3136
3137 2004-07-24 Luc Teirlinck <teirllm@auburn.edu>
3138
3139 * xfaces.c (Fcolor_supported_p): Doc fix.
3140
3141 * frame.c (Fselect_frame, Fset_frame_selected_window)
3142 (Fframe_visible_p, Fraise_frame): Doc fixes.
3143
3144 2004-07-24 Richard M. Stallman <rms@gnu.org>
3145
3146 * keyboard.h (not_single_kboard_state): Declare.
3147
3148 * fileio.c (Fwrite_region): Doc fix.
3149
3150 * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH.
3151
3152 * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook
3153 only when a real abbrev is present.
3154
3155 * xfns.c (x_icon_verify): New function.
3156 (Fx_create_frame): Use it.
3157
3158 2004-07-22 Barry Fishman <barry_fishman@att.net> (tiny change)
3159
3160 * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined.
3161
3162 2004-07-21 Kim F. Storm <storm@cua.dk>
3163
3164 * window.h (struct glyph_matrix): New members nrows_scale_factor
3165 and ncols_scale_factor.
3166
3167 * window.c (make_window): Initialize nrows_scale_factor and
3168 ncols_scale_factor members.
3169
3170 * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor.
3171 (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up.
3172 (required_matrix_height): Apply nrows_scale_factor.
3173 (required_matrix_width): Apply ncols_scale_factor.
3174
3175 * xdisp.c (display_line): Increment nrows_scale_factor and set
3176 fonts_changed_p if past last allocated row.
3177 (append_glyph, append_composite_glyph, produce_image_glyph)
3178 (append_stretch_glyph): Increment ncols_scale_factor and set
3179 fonts_changed_p if current area is full.
3180
3181 2004-07-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3182
3183 * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0.
3184
3185 2004-07-19 Luc Teirlinck <teirllm@auburn.edu>
3186
3187 * window.c (Fpos_visible_in_window_p, Fset_window_hscroll)
3188 (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point)
3189 (Fset_window_start, Fscroll_up, Fscroll_down)
3190 (Fother_window_for_scrolling, Fscroll_other_window)
3191 (Fsave_window_excursion, Fset_window_vscroll)
3192 (syms_of_window) <window-size-fixed>: Doc fixes.
3193
3194 2004-07-19 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3195
3196 * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of
3197 ENCODE_SYSTEM for filenames.
3198
3199 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3200
3201 * mac.c (sys_select): Block input around call to
3202 ReceiveNextEvent to prevent breakage. Correctly handle
3203 blocking on event queue only by calling ReceiveNextEvent
3204 instead of select (since GUI events aren't on an fd).
3205 (sys_read): Remove function
3206 * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
3207
3208 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3209
3210 * mac.c (sys_select): Redo sys_select to use alarm-based
3211 polling instead of 1 sec timeouts (like solaris).
3212
3213 * macterm.c (x_make_frame_visible): Comment in polling on
3214 frame creation.
3215
3216 * keyboard.c: Undef SIGIO on Carbon
3217
3218 * atimer.c (alarm_signal_handler): Call alarm handlers after
3219 scheduling.
3220
3221 * eval.c (Feval): Remove quit_char test
3222
3223 * process.c (wait_reading_process_input): Remove clearing
3224 stdin for select call on process input.
3225
3226 2004-07-18 Luc Teirlinck <teirllm@auburn.edu>
3227
3228 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Correct
3229 capitalization error in docstring.
3230
3231 2004-07-17 Juanma Barranquero <lektu@terra.es>
3232
3233 * keyboard.c (not_single_kboard_state): Do nothing unless
3234 MULTI_KBOARD is defined.
3235
3236 2004-07-17 Richard M. Stallman <rms@gnu.org>
3237
3238 * window.c (coordinates_in_window): Inside the window but outside
3239 its box to the L or R, return ON_VERTICAL_BORDER.
3240 (window_list_1): Rotate the list to start with WINDOW.
3241
3242 * print.c (print_preprocess): Test for print_depth at limit
3243 before entering in being_printed.
3244
3245 * keyboard.c (not_single_kboard_state): New function.
3246 (stuff_buffered_input): Now no-op only if no SIGTSTP.
3247
3248 * frame.c (Fdelete_frame): If we're in single_bboard_state on
3249 this kboard, and we delete its last frame, go to any_kboard_state.
3250
3251 * buffer.c (syms_of_buffer) <transient-mark-mode>: Doc fix.
3252
3253 2004-07-15 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3254
3255 * w32fns.c (Fx_file_dialog): Encode strings in system coding
3256 system before passing them to OS functions for display.
3257
3258 2004-07-15 David Kastrup <dak@gnu.org>
3259
3260 * search.c (syms_of_search): Staticpro `saved_last_thing_searched'.
3261 Apparently fixes an abort condition.
3262
3263 2004-07-14 Luc Teirlinck <teirllm@auburn.edu>
3264
3265 * fileio.c (Fvisited_file_modtime): Return a list of two integers,
3266 instead of a cons.
3267
3268 2004-07-14 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
3269
3270 * keyboard.c (echo_dash): Do nothing if there already is a dash
3271 at the end of the echo string.
3272
3273 2004-07-12 Kim F. Storm <storm@cua.dk>
3274
3275 * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
3276 if GC_MARK_STACK.
3277
3278 2004-07-10 Luc Teirlinck <teirllm@auburn.edu>
3279
3280 * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
3281
3282 * window.c (Fwindow_buffer, Fother_window, Fget_lru_window)
3283 (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
3284 (Freplace_buffer_in_windows, Fset_window_buffer)
3285 (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
3286 (syms_of_window): Expand docstring of `display-buffer-function'.
3287
3288 2004-07-09 Luc Teirlinck <teirllm@auburn.edu>
3289
3290 * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
3291 (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
3292 that time values of the type (HIGH . LOW) are considered obsolete.
3293
3294 2004-07-06 Luc Teirlinck <teirllm@auburn.edu>
3295
3296 * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
3297 docstring.
3298
3299 * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
3300
3301 2004-07-06 John Paul Wallington <jpw@gnu.org>
3302
3303 * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
3304
3305 * fns.c (Fclear_string): Signal an error if STRING is not a string.
3306
3307 2004-07-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3308
3309 * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
3310 instead of CGMainDisplayID (only in OSX 10.2 and later).
3311
3312 2004-07-04 John Paul Wallington <jpw@gnu.org>
3313
3314 * fileio.c (read_file_name_completion_ignore_case): New variable.
3315 (syms_of_fileio): Declare and initialise it.
3316 (Fread_file_name): Bind `completion-ignore-case' to respect it.
3317
3318 2004-07-03 Eli Zaretskii <eliz@gnu.org>
3319
3320 * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
3321 for event.x and event.y.
3322
3323 2004-07-01 Kenichi Handa <handa@m17n.org>
3324
3325 * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
3326 after getting a new string by pre-write-conversion.
3327
3328 2004-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
3329
3330 * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
3331 (x_calc_absolute_position): Remove unused var `child'.
3332
3333 * xfaces.c (x_supports_face_attributes_p)
3334 (Fdisplay_supports_face_attributes_p): YAILOM.
3335 (tty_supports_face_attributes_p): Remove unused var `i'.
3336
3337 * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
3338 back_unibyte_ok.
3339
3340 * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
3341
3342 * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'.
3343
3344 * Makefile.in (${etc}DOC): Fix file name of make-docfile.
3345
3346 2004-06-30 Andreas Schwab <schwab@suse.de>
3347
3348 * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
3349 (Finit_image_library): Pass LIBRARIES through to
3350 CHECK_LIB_AVAILABLE. Declare parameters. Doc fix.
3351 (lookup_image_type): Pass Qnil as second argument to
3352 Finit_image_library.
3353
3354 * lisp.h (Finit_image_library): Declare.
3355
3356 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3357
3358 * macterm.c (do_window_activate, do_window_deactivate): Remove.
3359 (XTread_socket): Send mouse button events to the toolbox
3360 dispatcher even when the mouse is grabbed. Don't process window
3361 activate events for non-Emacs windows. Replace function calls to
3362 do_window_activate and do_window_deactivate with their contents.
3363 Reset mouse grabbing status when a window is deactivated.
3364
3365 2004-06-29 Steven Tamm <steventamm@mac.com>
3366
3367 * macterm.c (mac_get_emulated_btn)
3368 (mac_event_to_emacs_modifiers): Fix emulated mouse button
3369 support to correctly mask out modifiers.
3370
3371 2004-06-29 David Kastrup <dak@gnu.org>
3372
3373 * search.c (Fset_match_data): Allow buffer before end of list
3374 which can happen if set-match-data is using a pre-consed list.
3375
3376 2004-06-28 Steven Tamm <steventamm@mac.com>
3377
3378 * macterm.c (XTread_socket): Correctly set the frame position
3379 after the window is moved.
3380
3381 2004-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3382
3383 * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
3384 gpix and gmask just before return to avoid memory leak.
3385 (xg_get_image_for_pixmap): Add workaround for monochrome displays
3386 so insensitive and activated icons look ok.
3387
3388 2004-06-27 Jason Rumney <jasonr@gnu.org>
3389
3390 * w32fns.c (file_dialog_callback): Disable edit control if set
3391 to directories only on CDN_INITDONE message.
3392 (Fx_file_dialog): Default to directories only when prompt starts
3393 with "Dired".
3394
3395 2004-06-25 Kim F. Storm <storm@cua.dk>
3396
3397 * alloc.c (allocate_misc): Update total_free_markers.
3398 (free_misc): New function.
3399 (safe_alloca_unwind, free_marker): Use it.
3400
3401 * lisp.h (free_misc): Add prototype.
3402
3403 * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
3404
3405 2004-06-24 Richard M. Stallman <rms@gnu.org>
3406
3407 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
3408 (syms_of_emacs): Lisp variables deleted.
3409
3410 2004-06-23 David Kastrup <dak@gnu.org>
3411
3412 * search.c (Freplace_match): Adjust the match-data more thoroughly
3413 when replacing strings in the buffer.
3414 (Fmatch_data): When INTEGERS is non-nil and the last match was in
3415 a buffer, add the buffer as last element to the match data.
3416 (Fset_match_data): If an additional element of the match-data is a
3417 buffer, restore it to last_thing_searched.
3418 (save_search_regs): Save last_thing_searched as part of the match data.
3419 (restore_match_data): Restore it again.
3420
3421 2004-06-23 Luc Teirlinck <teirllm@auburn.edu>
3422
3423 * keymap.c (Ftext_char_description): Doc fix.
3424 * doc.c (Fsnarf_documentation): Doc fix.
3425
3426 2004-06-22 Kim F. Storm <storm@cua.dk>
3427
3428 * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
3429
3430 * lisp.h (struct Lisp_Save_Value): New member dogc.
3431 (SAFE_ALLOCA_LISP): Change second arg to number of elements.
3432 Set dogc member in Lisp_Save_Value object so it will be GC'ed.
3433 (SAFE_FREE_LISP): New macro.
3434
3435 * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
3436 (make_save_value): Init new dogc member.
3437 (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
3438
3439 * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
3440 SAFE_FREE_LISP macros.
3441
3442 2004-06-22 Kim F. Storm <storm@cua.dk>
3443
3444 * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
3445 Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
3446 in that memory area are unknown to GC. Add comments.
3447
3448 * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
3449
3450 2004-06-21 Kim F. Storm <storm@cua.dk>
3451
3452 * lisp.h (MAX_ALLOCA): Define here.
3453 (safe_alloca_unwind): Add prototype.
3454 (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
3455
3456 * alloc.c (safe_alloca_unwind): New function.
3457
3458 * casefiddle.c (casify_object): Use SAFE_ALLOCA.
3459
3460 * charset.c (Fstring): Use SAFE_ALLOCA.
3461
3462 * coding.c (MAX_ALLOCA): Remove define.
3463
3464 * data.c (MAX_ALLOCA): Remove define.
3465 (Faset): Use SAFE_ALLOCA.
3466
3467 * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
3468
3469 * fns.c (string_make_multibyte, string_to_multibyte)
3470 (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
3471 (MAX_ALLOCA): Remove define.
3472 (Fbase64_encode_region, Fbase64_encode_string)
3473 (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
3474 (Fbase64_encode_region, Fbase64_encode_string): Fix potential
3475 memory leak if encoding fails.
3476
3477 * xdisp.c (add_to_log): Use SAFE_ALLOCA.
3478
3479 2004-06-21 Eli Zaretskii <eliz@gnu.org>
3480
3481 * print.c (Fwith_output_to_temp_buffer): Doc fix.
3482
3483 2004-06-20 Richard M. Stallman <rms@gnu.org>
3484
3485 * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
3486
3487 * search.c (match_limit): Cleaner err msg when no match data available.
3488
3489 * window.c (syms_of_window): Doc fix.
3490
3491 * keyboard.c (command_loop_1): Handle values `only' and `identity'
3492 for Vtransient_mark_mode.
3493
3494 * buffer.c (syms_of_buffer): Doc fix.
3495
3496 2004-06-21 David Kastrup <dak@gnu.org>
3497
3498 * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
3499 and unbinding of `case-fold-search' according to
3500 `completion-ignore-case' around calls of string-match and
3501 predicates, respectively. Should give satisfactory performance
3502 in all relevant cases.
3503
3504 2004-06-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3505
3506 * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
3507 clip_x/y_origin.
3508
3509 * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
3510
3511 * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
3512
3513 * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
3514 on Mac OSX.
3515
3516 2004-06-16 Luc Teirlinck <teirllm@auburn.edu>
3517
3518 * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
3519
3520 2004-06-16 Kim F. Storm <storm@cua.dk>
3521
3522 * dispextern.h (Vimage_types): Remove extern.
3523
3524 2004-06-16 Miles Bader <miles@gnu.org>
3525
3526 * image.c (lookup_image_type): Initialize image type if necessary.
3527
3528 2004-06-15 Kim F. Storm <storm@cua.dk>
3529
3530 * xdisp.c (try_cursor_movement): Exclude header line from scroll
3531 margin at top of window.
3532 (try_window_reusing_current_matrix): Calculate proper cursor position
3533 after scrolling up with non-zero scroll margin, as the old cursor
3534 position corresponds to value of PT before executing this command.
3535 (try_window_id): Consider scroll margin at bottom of window too;
3536 otherwise we fail to scroll when hl-line-mode is enabled.
3537
3538 * syntax.c (skip_chars): Only recognize [:class:] when it has the
3539 proper format and class is a lower-case word.
3540
3541 2004-06-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3542
3543 * gtkutil.c (xg_get_image_for_pixmap): New function.
3544 (xg_get_gdk_pixmap_and_mask): Remove.
3545 (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
3546 xg_get_gdk_pixmap_and_mask.
3547
3548 * xterm.h (struct x_display_info): Typo in comment fixed.
3549
3550 2004-06-14 Juanma Barranquero <lektu@terra.es>
3551
3552 * dispextern.h (Vimage_types): Make it conditional on
3553 HAVE_WINDOW_SYSTEM.
3554
3555 * image.c (Vimage_types): Move from xdisp.c.
3556 (Vimage_type_cache): New variable.
3557 (define_image_type): New argument indicating whether an image
3558 library was loaded; cache loaded status and return t on success,
3559 nil otherwise.
3560 (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
3561 (w32_delayed_load): New function to load an image library from a
3562 list of possible filenames.
3563 (init_xpm_functions, init_png_functions, init_jpeg_functions)
3564 (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
3565 (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
3566 (Finit_image_library): New function, extracted from `init_image'.
3567 Try to initialize an image library on demand and cache whether we
3568 were successful or not.
3569 (syms_of_image): Initialize `Vimage_types' and
3570 `Vimage_type_cache'. Add recognized image types to Vimage_types.
3571 Export `init-image-library'.
3572 (init_image): Remove initialization of all image types, except xbm
3573 and pbm.
3574
3575 * xdisp.c (Vimage_types): Delete (moved to image.c).
3576
3577 2004-06-14 Andreas Schwab <schwab@suse.de>
3578
3579 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
3580 Avoid calling specbind when completion-regexp-list is empty.
3581
3582 2004-06-13 Richard M. Stallman <rms@gnu.org>
3583
3584 * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
3585 (re_wctype, re_iswctype, re_wctype_to_bit):
3586 Non-function definitions moved here from regex.c.
3587
3588 * regex.c (re_wctype, re_iswctype): Function defs longer static.
3589 (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
3590 (re_wctype, re_iswctype, re_wctype_to_bit):
3591 Non-function definitions moved to regex.h.
3592
3593 * window.c (Fselect_window): Doc fix.
3594
3595 * syntax.c: Include regex.h.
3596 (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed.
3597 If requested, make a list of classes, then check the scanned
3598 chars for membership in them.
3599 (in_classes): New function.
3600 Doc fix.
3601
3602 * keyboard.c (cmd_error): Don't call any_kboard_state
3603 if inside a recursive edit level.
3604
3605 2004-06-13 Lorentey K\e,Aa\e(Broly <lorentey@elte.hu>
3606
3607 * keyboard.c (command_loop): Call any_kboard_state before
3608 command_loop_2 when at top level.
3609
3610 2004-06-13 Andreas Schwab <schwab@suse.de>
3611
3612 * print.c (print_object): Always use %ld for printing EMACS_INT.
3613
3614 * keyboard.c (cancel_hourglass_unwind): Return a value.
3615 (modify_event_symbol): Always use %ld for printing EMACS_INT.
3616 (Fexecute_extended_command): Likewise.
3617
3618 * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
3619 avoid clashes.
3620 (SYNTAX): Likewise.
3621 (SYNTAX_WITH_FLAGS): Likewise.
3622 (SYNTAX_MATCH): Likewise.
3623
3624 * syntax.c (char_quoted): Avoid warning about undefined operation.
3625 (find_defun_start): Likewise.
3626 (scan_lists): Likewise.
3627 (INC_FROM): Likewise.
3628 (scan_sexps_forward): Likewise.
3629
3630 * image.c: Include <ctype.h>.
3631
3632 * xfaces.c (face_attr_equal_p): Declare parameters.
3633
3634 2004-06-13 Kenichi Handa <handa@m17n.org>
3635
3636 * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
3637
3638 2004-06-12 Matthew Mundell <matt@mundell.ukfsn.org>
3639
3640 * eval.c (Fdefun): Signal an error if NAME is not a symbol.
3641
3642 2004-06-12 Kenichi Handa <handa@m17n.org>
3643
3644 * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
3645 ccl_prog_stack_struct and update it.
3646 (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
3647 (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
3648 ccl->eof_ic on EOF.
3649 (ccl_debug_hook): New function.
3650 (struct ccl_prog_stack): New member eof_ic.
3651 (ccl_driver): Handle EOF in subrountine call correctly.
3652
3653 2004-06-11 Kenichi Handa <handa@m17n.org>
3654
3655 * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
3656
3657 2004-06-11 Kim F. Storm <storm@cua.dk>
3658
3659 * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
3660
3661 2004-06-11 Juanma Barranquero <lektu@terra.es>
3662
3663 * keyboard.c (Fposn_at_point): Doc fix.
3664
3665 2004-06-11 David Kastrup <dak@gnu.org>
3666
3667 * search.c (match_limit): Don't flag an error if match-data
3668 exceeding the allocated search_regs.num_regs gets requested, just
3669 return Qnil.
3670
3671 2004-06-08 Miles Bader <miles@gnu.org>
3672
3673 * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
3674
3675 2004-06-07 Juanma Barranquero <lektu@terra.es>
3676
3677 * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
3678 (Fcurrent_time_string, Fcurrent_time_zone)
3679 (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
3680
3681 2004-06-07 Miles Bader <miles@gnu.org>
3682
3683 * xfaces.c (struct named_merge_point): New type.
3684 (push_named_merge_point): New function.
3685 (merge_named_face): New function.
3686 (merge_face_ref, face_at_buffer_position, face_at_string_position):
3687 Use `merge_named_face'.
3688 (merge_face_inheritance): Function removed.
3689 (merge_face_ref): Rename from `merge_face_vector_with_property'.
3690 Add new `err_msgs' and `named_merge_points' args. Return error
3691 status. Only print error messages if ERR_MSGS is true. Don't try to
3692 do :inherit attribute validation.
3693 (merge_face_heights): Handle `unspecified' in both directions.
3694 (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
3695 Call `merge_face_ref' instead of `merge_face_inheritance'.
3696 (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
3697 (compute_char_face, face_at_buffer_position)
3698 (face_at_string_position): Call `merge_face_ref' instead of
3699 `merge_face_vector_with_property'.
3700
3701 2004-06-07 Kenichi Handa <handa@m17n.org>
3702
3703 * coding.c (find_safe_codings): Check NILP (safe_codings) only at
3704 the necessary places.
3705
3706 2004-06-07 Kim F. Storm <storm@cua.dk>
3707
3708 * process.c (Fdelete_process): Undo 2004-05-28 change.
3709 Instead, call status_notify also for network process.
3710 (status_message): Use process instead of status as arg.
3711 Give messages "deleted" or "connection broken by remote peer" for
3712 an exited network process.
3713 (status_notify): Change call to status_message.
3714 (read_process_output): Increase readmax to 4096. Do not increase
3715 buffer size for datagram channels (default is now large enough).
3716
3717 2004-06-06 Steven Tamm <tamm@Steven-Tamms-Computer.local>
3718
3719 * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
3720 problem due to newly defined variable.
3721
3722 2004-06-06 Miles Bader <miles@gnu.org>
3723
3724 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
3725 immediately if non-interactive or not initialized.
3726
3727 2004-06-05 Richard M. Stallman <rms@gnu.org>
3728
3729 * minibuf.c (Fcompleting_read): Doc fix.
3730
3731 2004-06-05 Andreas Schwab <schwab@suse.de>
3732
3733 * macfns.c (x_create_tip_frame): Fix declaration after statement.
3734
3735 2004-06-05 Juanma Barranquero <lektu@terra.es>
3736
3737 * keymap.c (Fdescribe_vector): Fix docstring.
3738 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
3739
3740 2004-06-05 Miles Bader <miles@gnu.org>
3741
3742 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
3743 attributes have different values than the default face.
3744
3745 2004-06-04 Eli Zaretskii <eliz@gnu.org>
3746
3747 * xfaces.c (x_supports_face_attributes_p): Make this function
3748 conditional on HAVE_WINDOW_SYSTEM.
3749 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
3750 Don't call x_supports_face_attributes_p if it was not compiled in.
3751
3752 2004-06-04 Miles Bader <miles@gnu.org>
3753
3754 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
3755 from Ftty_supports_face_attributes_p.
3756 (x_supports_face_attributes_p): New function.
3757 (Ftty_supports_face_attributes_p): Function deleted.
3758 (Fdisplay_supports_face_attributes_p): New function.
3759 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
3760 (face_attr_equal_p): New function.
3761 (lface_equal_p): Use it.
3762
3763 2004-06-03 Juanma Barranquero <lektu@terra.es>
3764
3765 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
3766 (Vw32_color_map): Fix typo in docstring.
3767 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
3768 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
3769 Make argument names match their use in docstring.
3770
3771 2004-06-02 Juanma Barranquero <lektu@terra.es>
3772
3773 Work around bugs/problems with MinGW builds of graphics libraries
3774 called from MSVC builds of Emacs.
3775
3776 * image.c (lookup_image): Make pointer to img static.
3777 (png_read_from_memory): Disable "global" optimization.
3778
3779 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
3780
3781 * eval.c (Fcondition_case): Fix usage. Simplify.
3782
3783 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
3784
3785 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3786
3787 * macfns.c: Don't include ccl.h.
3788 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
3789 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
3790 TextUtils.h.
3791 (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors.
3792 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
3793 display height/width.
3794 (compute_tip_xy, Vx_max_tooltip_size): Declare.
3795 (unwind_create_tip_frame, compute_tip_xy): New functions.
3796 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
3797 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
3798 and last_show_tip_args.
3799
3800 * macgui.h [!MAC_OSX]: Include Gestalt.h.
3801 (Cursor, No_Cursor): New defines.
3802 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
3803 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
3804
3805 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
3806
3807 * macterm.c: Don't include Gestalt.h.
3808 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
3809 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
3810 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
3811 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
3812 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
3813 (construct_mouse_click, XTmouse_position)
3814 (x_scroll_bar_report_motion, x_calc_absolute_position)
3815 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
3816 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
3817 (note_mouse_movement): Clear the mouse face and reset the pointer
3818 shape when the pointer goes outside the frame without grabbing.
3819 (mac_front_window): New function.
3820 (mac_window_to_frame): New macro.
3821 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
3822 (do_window_activate, do_window_deactivate, do_app_resume)
3823 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
3824 (do_zoom_window, mac_do_receive_drag, XTread_socket)
3825 (mac_check_for_quit_char): Use mac_front_window and/or
3826 mac_window_to_frame.
3827 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
3828 scroll-bar click event.
3829 (mac_define_frame_cursor): Change the pointer shape.
3830 (x_free_frame_resources): Reset tip_window to NULL when it is disposed.
3831 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
3832 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
3833 (do_window_update): Don't do anything if the updated window is the
3834 tooltip window.
3835 (do_mouse_moved): Handle mouse movement events here (previously in
3836 XTread_socket). Clear the mouse face if
3837 dpyinfo->mouse_face_hidden is set.
3838 (do_os_event, do_events): Remove (now in XTread_socket).
3839 (XTread_socket): Immediately return if interrupt_input_blocked.
3840 Loop until all the events in the queue are processed.
3841 Rearrange codes for mouse grabbing. Add tooltip support. Include the
3842 contents of do_os_event and do_events. Remove mouse movement
3843 handling (now in do_mouse_moved). Add the case where
3844 Vmouse_highlight has an integer value.
3845 (NewMacWindow): Remove.
3846 (make_mac_frame): Do what NewMacWindow previously did. Don't do
3847 excess initializations.
3848 (make_mac_terminal_frame): Previous initializations in
3849 make_mac_frame are moved here.
3850 (mac_initialize_display_info):
3851 Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
3852
3853 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
3854 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
3855
3856 2004-05-29 Richard M. Stallman <rms@gnu.org>
3857
3858 * lisp.h (truncate_undo_list): Update decl.
3859
3860 * alloc.c (undo_outer_limit): New variable.
3861 (syms_of_alloc): Defvar it.
3862 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
3863
3864 * undo.c (truncate_undo_list): New arg LIMITSIZE.
3865
3866 * alloc.c (lisp_align_malloc): Check for base == 0
3867 regardless of HAVE_POSIX_MEMALIGN.
3868 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
3869
3870 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3871
3872 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
3873 (marker_blocks_pending_free): Remove.
3874 (Fgarbage_collect): Sweep after cleaning up undo-lists.
3875 Mark the undo lists after claning them up.
3876 Don't free block in marker_blocks_pending_free.
3877 (mark_buffer): Don't mark undo_list.
3878 (gc_sweep): Sweep hash-tables and strings first.
3879 Do free marker blocks that are empty.
3880
3881 2004-05-28 Jim Blandy <jimb@redhat.com>
3882
3883 * regex.c (print_partial_compiled_pattern): Add missing 'break'
3884 after 'case wordend'. For symbeg and symend, print to stderr,
3885 like the other cases.
3886
3887 2004-05-28 Noah Friedman <friedman@splode.com>
3888
3889 * process.c (Fdelete_process): Do not call remove_process.
3890
3891 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3892
3893 * alloc.c (struct backtrace): Remove.
3894 (Fgarbage_collect): Use the new mark_backtrace.
3895
3896 * eval.c (mark_backtrace): New function.
3897
3898 * minibuf.c (run_exit_minibuf_hook): New function.
3899 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
3900 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
3901
3902 2004-05-27 Kim F. Storm <storm@cua.dk>
3903
3904 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
3905 over display properties, e.g. images, that replace buffer text.
3906
3907 2004-05-25 Kim F. Storm <storm@cua.dk>
3908
3909 * alloc.c (marker_blocks_pending_free): New var.
3910 (gc_sweep): Store free marker blocks on that list.
3911 (Fgarbage_collect): Free them after undo-list cleanup.
3912
3913 * process.c (wait_reading_process_input): Check connect_wait_mask
3914 before actually accepting connection in case it has already been
3915 accepted due to recursion.
3916
3917 2004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
3918
3919 * coding.c (Fset_safe_terminal_coding_system_internal):
3920 Set suppress_error in safe_terminal_coding, not terminal_coding.
3921
3922 2004-05-22 Richard M. Stallman <rms@gnu.org>
3923
3924 * alloc.c (Fmake_string): Doc fix.
3925
3926 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
3927 and the alist pairs too.
3928
3929 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
3930
3931 * emacs.c (main): Update copyright year.
3932
3933 * fileio.c (Fread_file_name): Expand DIR if not absolute.
3934
3935 * insdel.c (del_range_2, replace_range): Don't write an anchor
3936 if the gap is empty.
3937
3938 * xdisp.c (try_scrolling): If scroll-up-aggressively or
3939 scroll-down-aggressively is small but positive, put point
3940 near the screen edge.
3941
3942 2004-05-22 Juanma Barranquero <lektu@terra.es>
3943
3944 * keymap.c (Fdefine_key): Doc fix.
3945
3946 2004-05-22 Kim F. Storm <storm@cua.dk>
3947
3948 * alloc.c (struct backtrace): Add debug_on_exit member.
3949 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
3950 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
3951 the removed cons cells.
3952 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
3953 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
3954 any cons cells pointing to unallocated stings.
3955 Do not lisp_free any marker blocks, as there may still be pointers
3956 to them from buffer undo lists at this stage of GC.
3957
3958 * keyboard.c (struct backtrace): Add debug_on_exit member.
3959 (Fcommand_execute): Clear it.
3960
3961 2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
3962
3963 * intervals.c (lookup_char_property): Do not prematurely return nil.
3964
3965 2004-05-19 Jim Blandy <jimb@redhat.com>
3966
3967 Add support for new '\_<' and '\_>' regexp operators, matching the
3968 beginning and end of symbols.
3969
3970 * regex.c (enum syntaxcode): Add Ssymbol.
3971 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
3972 (re_opcode_t): New opcodes `symbeg' and `symend'.
3973 (print_partial_compiled_pattern): Print the new opcodes properly.
3974 (regex_compile): Parse the new operators.
3975 (analyse_first): Skip sym(beg|end) (they match only the empty string).
3976 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
3977 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
3978 (re_match_2_internal): Match symbeg and symend.
3979
3980 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
3981
3982 2004-05-19 Kim F. Storm <storm@cua.dk>
3983
3984 * .gdbinit (xsymbol): Fix last change.
3985
3986 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
3987
3988 * .gdbinit (xprintstr): New fun.
3989 (xstring, xprintsym): Use it.
3990
3991 * w32proc.c (create_child): Use INTMASK.
3992
3993 * alloc.c (Fgarbage_collect): Do all the marking before flushing
3994 unmarked elements of the undo list.
3995
3996 2004-05-18 David Ponce <david@dponce.com>
3997
3998 * print.c (print): Reset print_depth before to call print_object.
3999
4000 2004-05-18 Jason Rumney <jasonr@gnu.org>
4001
4002 * w32console.c: Prefix RIF functions with w32con_ to avoid
4003 namespace clash with functions in term.c and w32term.c.
4004
4005 * w32menu.c (add_menu_item, w32_menu_display_help)
4006 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
4007
4008 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
4009
4010 2004-05-18 Eli Zaretskii <eliz@gnu.org>
4011
4012 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
4013
4014 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
4015 with make_number.
4016 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
4017 with XINT.
4018
4019 2004-05-18 Kim F. Storm <storm@cua.dk>
4020
4021 * blockinput.h (INPUT_BLOCKED_P): New macros.
4022
4023 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
4024 (Ftop_level): Unblock input if blocked.
4025
4026 * buffer.h (GET_OVERLAYS_AT): New macro.
4027 * msdos.c (IT_note_mouse_highlight): Use it.
4028 * textprop.c (get_char_property_and_overlay): Use it.
4029 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
4030 * xfaces.c (face_at_buffer_position): Use it.
4031
4032 * print.c (print_object): Increase buf size.
4033
4034 2004-05-17 Jason Rumney <jasonr@gnu.org>
4035
4036 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
4037 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
4038 Lisp_Object using i member.
4039 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
4040 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
4041 consistently.
4042
4043 * w32proc.c (create_child): Use make_number instead of masking pid.
4044
4045 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
4046 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
4047 Use EQ to compare Lisp_Objects.
4048 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
4049
4050 * w32term.c (w32_num_mouse_buttons): Rename from
4051 Vw32_num_mouse_buttons and make it an int.
4052
4053 * w32.c (init_environment): Use it.
4054
4055 * w32fns.c (w32_wnd_proc): Likewise.
4056
4057 * w32proc.c (w32_pipe_read_delay): Rename from
4058 Vw32_pipe_read_delay and make it an int.
4059
4060 * w32.c (_sys_read_ahead): Use it.
4061
4062 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
4063
4064 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
4065
4066 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
4067 (key_event): Don't mix Lisp_Object and int.
4068
4069 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
4070
4071 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
4072 modifiers in language change event.
4073
4074 2004-05-17 Kim F. Storm <storm@cua.dk>
4075
4076 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
4077 Such objects may be freed markers which still exist on an undo list.
4078
4079 2004-05-16 Juanma Barranquero <lektu@terra.es>
4080
4081 * data.c (Fset_default): Make argument names match their use in
4082 docstring.
4083
4084 2004-05-15 Andreas Schwab <schwab@suse.de>
4085
4086 * emacs.c (gdb_array_mark_flag): Define.
4087 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
4088
4089 2004-05-15 Eli Zaretskii <eliz@gnu.org>
4090
4091 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
4092 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
4093 defined for the MS-DOS build.
4094
4095 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
4096
4097 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
4098
4099 2004-05-14 Kenichi Handa <handa@m17n.org>
4100
4101 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
4102
4103 2004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4104
4105 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
4106 section to frame.c section.
4107 (Fxw_display_color_p, Fx_file_dialog): Declare if
4108 HAVE_WINDOW_SYSTEM defined.
4109
4110 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
4111
4112 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
4113
4114 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
4115 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
4116 (XTread_socket): Fix int/Lisp_Object mixup.
4117 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
4118
4119 * macterm.h (struct frame, struct face, struct image)
4120 (display_x_get_resource, Fx_display_color_p)
4121 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
4122 Add prototypes.
4123
4124 2004-05-14 Kim F. Storm <storm@cua.dk>
4125
4126 * process.c (wait_reading_process_input): Make reentrant.
4127 Make Available and Connecting non-static. Save and restore value
4128 of waiting_for_user_input_p.
4129
4130 2004-05-13 Kim F. Storm <storm@cua.dk>
4131
4132 * keyboard.c (mark_kboards): Don't mark x and y members
4133 that are overloaded in selection request events.
4134
4135 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
4136
4137 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
4138
4139 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
4140
4141 * window.c (Fdisplay_buffer, Fsplit_window)
4142 (split-height-threshold): Doc fix.
4143
4144 2004-05-13 Juanma Barranquero <lektu@terra.es>
4145
4146 * xfaces.c (Ftty_supports_face_attributes_p)
4147 (Finternal_copy_lisp_face): Fix typo in docstring.
4148 (Finternal_get_lisp_face_attribute): Fix docstring.
4149
4150 2004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4151
4152 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
4153
4154 2004-05-11 Steven Tamm <steventamm@mac.com>
4155
4156 * macfns.c (Fx_create_frame): Default to using tool-bar by
4157 setting tool-bar-lines to 1 in default-frame-alist.
4158
4159 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4160
4161 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
4162 (xpm_get_color_table_v, xpm_make_color_table_h)
4163 (xpm_put_color_table_h, xpm_get_color_table_h)
4164 (xpm_str_to_color_key, xpm_load_image, xpm_load)
4165 (syms_of_image): Support XPM on Carbon Emacs. Does not
4166 depend on libXpm, but only supports XPM version 3 without extensions.
4167
4168 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4169
4170 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
4171 instead of FRAME_X_P
4172
4173 2004-05-11 Kim F. Storm <storm@cua.dk>
4174
4175 * process.c (read_process_output): Grow decoding_buf when needed;
4176 this could cause a crash in allocate_string and compact_small_strings.
4177
4178 2004-04-29 Jim Blandy <jimb@redhat.com>
4179
4180 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
4181 against proper opcode.
4182
4183 2004-05-10 Juanma Barranquero <lektu@terra.es>
4184
4185 * process.c (Fstart_process): Fix docstring.
4186
4187 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
4188 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
4189 (Fsplit_char, Fchar_charset): Make argument names match their use
4190 in docstring.
4191
4192 2004-05-10 Richard M. Stallman <rms@gnu.org>
4193
4194 * print.c (print_preprocess): Use being_printed, loop_count and
4195 halftail to detect overdeep nesting and cyclic cdr chains.
4196
4197 2004-05-10 Andreas Schwab <schwab@suse.de>
4198
4199 * lisp.h (Fmake_symbolic_link): Declare.
4200
4201 * fileio.c (Frename_file): Remove extra argument in call to
4202 Fmake_symbolic_link.
4203
4204 2004-05-10 Kim F. Storm <storm@cua.dk>
4205
4206 * xdisp.c (calc_line_height_property): Use string position when
4207 object is a string.
4208
4209 2004-05-10 Kenichi Handa <handa@m17n.org>
4210
4211 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
4212 inhibit-modification-hooks to t temporarily before calling
4213 Ferase_buffer.
4214
4215 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
4216 inhibit-modification-hooks to t temporarily before calling
4217 Ferase_buffer.
4218
4219 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
4220 inhibit-modification-hooks to t temporarily before calling
4221 Ferase_buffer.
4222
4223 * fns.c (count_combining): Delete it.
4224 (concat): Don't check combining bytes.
4225
4226 2004-05-09 Jason Rumney <jasonr@gnu.org>
4227
4228 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
4229 (globals_of_w32fns): Set it.
4230
4231 2004-05-09 Piet van Oostrum <piet@cs.uu.nl>
4232
4233 * data.c (Fquo): Simplify.
4234
4235 2004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
4236
4237 * data.c (Fquo): If any argument is float, do the computation in
4238 floating point.
4239
4240 2004-05-08 Juanma Barranquero <lektu@terra.es>
4241
4242 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
4243 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
4244 Fix spelling of Emacs on docstring.
4245 (Fset_process_coding_system, Fprocess_coding_system)
4246 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
4247 Make argument names match their use in docstring.
4248 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
4249 Fix docstring.
4250
4251 * editfns.c (Finsert_buffer_substring): Make argument names match their
4252 use in docstring.
4253
4254 * syntax.c (Fmodify_syntax_entry): Fix docstring.
4255
4256 2004-05-07 Steven Tamm <steventamm@mac.com>
4257
4258 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
4259 around call to ReceiveEvent to avoid certain crashes.
4260
4261 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4262
4263 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
4264 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
4265 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
4266 Save/restore the current graphics port and device handle when
4267 drawing into an offscreen graphics world.
4268
4269 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
4270 (gif_load): Likewise.
4271
4272 2004-05-07 Juanma Barranquero <lektu@terra.es>
4273
4274 * window.c (Fset_window_buffer): Fix docstring.
4275
4276 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
4277
4278 * emacs.c (main) [VMS]: Fix var ref.
4279
4280 2004-05-06 Romain Francoise <romain@orebokech.com>
4281
4282 * data.c (Fsetq_default): Fix docstring.
4283
4284 2004-05-06 Jason Rumney <jasonr@gnu.org>
4285
4286 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
4287 to avoid name clash.
4288
4289 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4290
4291 * fileio.c (barf_or_query_if_file_exists): Use lstat.
4292 (Frename_file): Handle renaming of symlinks across file systems.
4293 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
4294
4295 2004-05-04 Kim F. Storm <storm@cua.dk>
4296
4297 * xdisp.c (Qtotal): New var.
4298 (syms_of_xdisp): Intern and staticpro it.
4299 (calc_line_height_property): New arg total. Set it if
4300 line-spacing property has format (total . VALUE).
4301 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
4302 Handle total line-spacing property.
4303
4304 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4305
4306 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
4307 "under" scroll bar when size/position changes.
4308
4309 2004-05-03 Jason Rumney <jasonr@gnu.org>
4310
4311 * makefile.nt: Remove.
4312
4313 2004-05-02 Eli Zaretskii <eliz@gnu.org>
4314
4315 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
4316 Avoid compiler warnings.
4317
4318 * Makefile.in (region-cache.o): Depend on config.h.
4319
4320 2004-05-02 Romain Francoise <romain@orebokech.com>
4321
4322 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
4323 with continuation lines, too.
4324
4325 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
4326
4327 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
4328
4329 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
4330
4331 * xdisp.c (calc_line_height_property): YAILOM (yet another
4332 int/Lisp_Object mixup).
4333
4334 2004-05-01 Eli Zaretskii <eliz@gnu.org>
4335
4336 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
4337 undo bad effect of pack(4) in some versions of system headers.
4338
4339 2004-05-01 Jason Rumney <jasonr@gnu.org>
4340
4341 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
4342
4343 2004-04-30 Kim F. Storm <storm@cua.dk>
4344
4345 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
4346 (syms_of_buffer) <cursor-type>: Doc fix.
4347
4348 * dispextern.h (struct it): Remove member use_default_face.
4349 Add members override_ascent, override_descent, override_boff.
4350
4351 * xdisp.c (init_iterator): Handle line-spacing float value.
4352 Initialize override_ascent member.
4353 (append_space_for_newline): Reset override_ascent.
4354 Remove use_default_face.
4355 (calc_line_height_property): New function to calculate value of
4356 line-height and line-spacing properties. Look at overlays, too.
4357 Set override_ascent, override_descent, override_boff members when
4358 using another face than the current face. Float values are now
4359 relative to the frame default font, by default; accept a cons
4360 of ratio and face name to specify value relative to a specific face.
4361 (x_produce_glyphs): Use calc_line_height_property.
4362 Use override_ascent etc. when set to handle different face heights.
4363 A negative line-spacing property value is interpreted as a total
4364 line height, rather than inter-line spacing.
4365 (note_mouse_highlight): Allocate room for 40 overlays initially.
4366
4367 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
4368
4369 * data.c (Fsubr_name): New fun.
4370 (syms_of_data): Defsubr it.
4371
4372 2004-04-29 Kim F. Storm <storm@cua.dk>
4373
4374 * xdisp.c (null_glyph_slice): New var.
4375 (append_glyph, append_composite_glyph, append_stretch_glyph):
4376 Use it to initialize glyph slice.
4377
4378 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
4379
4380 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
4381 (on_hot_spot_p): Make sure we always return a value.
4382 (Flookup_image_map): Remove unused var ix and iy.
4383 (note_mode_line_or_margin_highlight): Remove unused var `image'.
4384
4385 2004-04-27 Eli Zaretskii <eliz@gnu.org>
4386
4387 * msdos.c (init_environment): If one of the TMP... environment
4388 variables is set to a drive letter without a trailing slash,
4389 append a slash.
4390
4391 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
4392
4393 * editfns.c (lisp_time_argument): Provide externally.
4394
4395 * fileio.c (Fset_file_times): New function.
4396 (syms_of_fileio): Intern and staticpro it.
4397
4398 2004-04-27 Kim F. Storm <storm@cua.dk>
4399
4400 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
4401 header line strings.
4402
4403 * dispextern.h (struct it): New member use_default_face.
4404
4405 * xdisp.c (Qline_height): New variable.
4406 (syms_of_xdisp): Intern and staticpro it.
4407 (append_space_for_newline): Partially undo 2004-04-25 change;
4408 add default_face_p arg, and restore callers.
4409 Clear it->use_default_face after use.
4410 (x_produce_glyphs): Set default font for ascii char if
4411 it->use_default_font is set. Change line-spacing property to set
4412 just extra line spacing. Handle new line-height property.
4413
4414 2004-04-26 Andreas Schwab <schwab@suse.de>
4415
4416 * print.c (print_object): Print non-ascii characters in bool
4417 vector representation as octal escapes.
4418
4419 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
4420 * print.c (print_object): Use it instead of BITS_PER_CHAR for
4421 bool vectors.
4422 * lread.c (read1): Likewise.
4423 * alloc.c (Fmake_bool_vector): Likewise.
4424 * data.c (Faref, Faset): Likewise.
4425 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
4426 (mapcar1): Likewise.
4427
4428 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
4429
4430 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
4431
4432 2004-04-26 Miles Bader <miles@gnu.org>
4433
4434 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
4435
4436 2004-04-26 Juanma Barranquero <lektu@terra.es>
4437
4438 * buffer.c (Fpop_to_buffer): Fix docstring.
4439
4440 2004-04-26 Steven Tamm <steventamm@mac.com>
4441
4442 * lread.c (init_lread): Don't display missing lisp directory
4443 warnings with Carbon Emacs because self-contained bundled Emacs
4444 may be built without correct installation path.
4445
4446 2004-04-25 Kim F. Storm <storm@cua.dk>
4447
4448 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
4449
4450 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
4451
4452 * xdisp.c (append_space_for_newline): Rename from append_space.
4453 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
4454 (x_produce_glyphs): Handle line-spacing property on newline char.
4455 If value is t, adjust ascent and descent to fit current row height.
4456 If value is an integer or float, set extra_line_spacing to integer
4457 value, or to float value x current line height.
4458
4459 2004-04-23 Kenichi Handa <handa@m17n.org>
4460
4461 * fontset.c (Finternal_char_font): If POSITION is nil, return
4462 font for displaying CH with the default face.
4463
4464 2004-04-23 Juanma Barranquero <lektu@terra.es>
4465
4466 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
4467
4468 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
4469
4470 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
4471 Don't make assumptions about the relative place of i and val.
4472 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
4473
4474 2004-04-21 Kim F. Storm <storm@cua.dk>
4475
4476 * dispextern.h (struct glyph_slice): New struct.
4477 (struct glyph): New member slice.
4478 (GLYPH_SLICE_EQUAL_P): New macro.
4479 (GLYPH_EQUAL_P): Use it.
4480 (struct glyph_string): New member slice.
4481 (struct it_slice): New struct.
4482 (struct it): New member slice, add member to stack too.
4483 New member constrain_row_ascent_descent_p.
4484 (image_ascent): Add prototype.
4485
4486 * dispnew.c (buffer_posn_from_coords): Return full image width
4487 and height even for image slices (posn is relative to full image).
4488 (marginal_area_string): Adjust x0,y0 for image slice.
4489
4490 * image.c (image_ascent): Add slice arg; calculate ascent for
4491 image slice (or full image).
4492
4493 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
4494 (syms_of_keyboard): Defsubr them.
4495
4496 * lisp.h (pos_visible_p): Fix prototype.
4497
4498 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
4499 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4500 (x_draw_image_foreground, x_draw_image_relief)
4501 (x_draw_image_foreground_1, x_draw_image_glyph_string):
4502 Draw sliced images.
4503
4504 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
4505 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4506 (x_draw_image_foreground, x_draw_image_relief)
4507 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
4508 Draw sliced images.
4509
4510 * w32term.h (image_ascent): Remove prototype.
4511
4512 * window.c (Fpos_visible_in_window_p): Return pixel position if
4513 PARTIALLY arg is non-nil. Simplify. Doc fix.
4514 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
4515 to return/set vscroll in pixels.
4516
4517 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
4518
4519 * xdisp.c (Qslice): New variable.
4520 (syms_of_xdisp): Intern and staticpro it.
4521 (pos_visible_p): Return pixel position in new x and y args.
4522 (init_iterator): Reset it->slice info.
4523 (handle_display_prop): Parse (slice ...) property.
4524 (push_it, pop_it): Save/restore slice info.
4525 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
4526 force repositioning of tall row if window is vscrolled, as that
4527 would reset vscroll.
4528 (append_space): Set it->constrain_row_ascent_descent_p to avoid
4529 increasing row height if row is non-empty.
4530 (fill_image_glyph_string): Copy slice info.
4531 (take_vertical_position_into_account): Simplify.
4532 (produce_image_glyph): Handle iterator slice info, setup glyph
4533 slice info. Do not force minimum line height.
4534 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
4535 do not increase height (ascent/descent) of non-empty row when
4536 adding normal character glyph; instead reduce glyph ascent/descent
4537 appropriately; if row is higher than current glyph, adjust glyph
4538 descent/ascent to reposition glyph within the existing row.
4539 Likewise, when char is newline, only set ascent/descent if row is
4540 currently empty.
4541 (note_mouse_highlight): Handle hotspots with sliced image.
4542
4543 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
4544 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4545 (x_draw_image_foreground, x_draw_image_relief)
4546 (x_draw_image_foreground_1, x_draw_image_glyph_string):
4547 Draw sliced images.
4548
4549 * xterm.h (image_ascent): Remove prototype.
4550
4551 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
4552
4553 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
4554
4555 2004-04-20 John Paul Wallington <jpw@gnu.org>
4556
4557 * fns.c (Fassoc, Feql): Fix indentation.
4558
4559 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
4560
4561 2004-04-19 John Paul Wallington <jpw@gnu.org>
4562
4563 * fns.c (Feql): New function.
4564 (syms_of_fns): Defsubr it.
4565
4566 2004-04-18 Jason Rumney <jasonr@gnu.org>
4567
4568 * w32select.c (Fw32_set_clipboard_data): Get sequence number
4569 after closing the clipboard.
4570
4571 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
4572
4573 * buffer.c (Fbuffer_base_buffer): Doc fix.
4574
4575 2004-04-17 Kim F. Storm <storm@cua.dk>
4576
4577 * keymap.c (Fkey_description): Add optional PREFIX arg.
4578 Combine prefix with KEYS to make up the full key sequence to describe.
4579 Correlate meta_prefix_char and following (simple) key to describe
4580 as meta modifier. All callers changed.
4581 (describe_map): Rename arg `keys' to `prefix'. Remove local
4582 `elt_prefix' var. Use Fkey_description with prefix instead of
4583 elt_prefix combined with Fsingle_key_description.
4584 (describe_vector): Declare static. Replace arg `elt_prefix' with
4585 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
4586 if !KEYMAP_P. Use Fkey_description with prefix instead of
4587 Fsingle_key_description.
4588
4589 * keymap.h (Fkey_description): Fix prototype.
4590 (describe_vector): Remove prototype.
4591
4592 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
4593
4594 * image.c (PNG_BG_COLOR_SHIFT): Remove.
4595 (png_load): Fix calculation of transparent background color on X
4596 and W32 platforms.
4597
4598 2004-04-16 Juanma Barranquero <lektu@terra.es>
4599
4600 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
4601 not too large before computing how much to scroll.
4602
4603 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
4604
4605 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
4606
4607 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
4608
4609 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
4610 Add hyperlink to Elisp manual to the docstring.
4611
4612 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
4613
4614 * callint.c (fix_command): Use XDCR.
4615
4616 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
4617
4618 * window.c (Fget_lru_window): Doc fix.
4619
4620 2004-04-14 Kim F. Storm <storm@cua.dk>
4621
4622 * editfns.c (Fformat): Fix allocation size of precision array.
4623
4624 * dispnew.c (update_window): Only set changed_p if
4625 scrolling_window actually did scroll.
4626 (scrolling_window): Only return 1 if we actually did scroll.
4627
4628 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
4629 height to glyph height when cursor row is not fully visible.
4630 (make_cursor_line_fully_visible): Add FORCE_P arg to return
4631 failure in case row is higher than window. Callers changed.
4632 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
4633 Try to scroll partially visible, higher-than-window cursor row.
4634 (redisplay_window): Always try to scroll partially visible,
4635 higher-than-window cursor row - both initially and again with
4636 centering_position = 0.
4637 Clear desired matrix before retrying with centering_position = 0.
4638
4639 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
4640
4641 * syntax.c (scan_lists): Simplify backward string scan.
4642 Fix off-by-one boundary check for string and comment fences.
4643
4644 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
4645
4646 * sheap.c, unexcw.c: New files.
4647
4648 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
4649
4650 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
4651 base buffer has been killed. Correct the error message if the
4652 base buffer does not exist.
4653
4654 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
4655
4656 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
4657 Cygwin itself. Add support for Xaw3d scrollbars.
4658
4659 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
4660
4661 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
4662
4663 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
4664 before Cygwin unexec.
4665
4666 * Makefile.in: Link changes for Cygwin unexec() support.
4667
4668 2004-04-12 Andreas Schwab <schwab@suse.de>
4669
4670 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
4671
4672 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
4673
4674 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
4675 IGNORE argument equals NAME. Doc fix.
4676
4677 2004-04-11 Masatake YAMATO <jet@gyve.org>
4678
4679 * buffer.c (fix_start_end_in_overlays): Make overlays
4680 empty if they are backwards.
4681
4682 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
4683
4684 * xfaces.c (face_color_supported_p): Fix compilation without X11.
4685
4686 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
4687
4688 * doc.c (Fsnarf_documentation): Ignore new file name entries.
4689
4690 2004-04-06 Kim F. Storm <storm@cua.dk>
4691
4692 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
4693 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
4694
4695 * w32term.c (w32_read_socket): Set mouse_face_hidden after
4696 clearing highlight.
4697
4698 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
4699
4700 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
4701 clearing highlight.
4702
4703 * indent.c (vmotion): Do not reserve one column for continuation
4704 marks on window frames.
4705
4706 2004-04-04 Eli Zaretskii <eliz@gnu.org>
4707
4708 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
4709 from GCC.
4710
4711 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
4712
4713 * .gdbinit-union: Remove.
4714
4715 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
4716 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
4717 ($nonvalbits): Remove.
4718 ($valmask): Set it by calling xreload to avoid redundancy.
4719
4720 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
4721 (gdb_emacs_intbits): Remove.
4722
4723 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4724
4725 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
4726
4727 2004-03-30 Kenichi Handa <handa@m17n.org>
4728
4729 * editfns.c (Fformat): Fix initialization of the array info.
4730
4731 2004-03-30 Kim F. Storm <storm@cua.dk>
4732
4733 * xterm.c (x_mouse_click_focus_ignore_position): New var.
4734 (syms_of_xterm): DEFVAR_BOOL it.
4735 (ignore_next_mouse_click_timeout): New var.
4736 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
4737 Use it to filter mouse clicks following focus event.
4738
4739 2004-03-29 David Ponce <david@dponce.com>
4740
4741 * callint.c (Fcall_interactively): Fix last change.
4742
4743 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
4744
4745 * eval.c (Fcommandp): Simplify.
4746
4747 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
4748 Extend to handle all kinds of functions.
4749
4750 * lisp.h (Finteractive_form): Declare.
4751
4752 * callint.c (Fcall_interactively): Use it.
4753
4754 2004-03-26 Kim F. Storm <storm@cua.dk>
4755
4756 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
4757 to catch errors in calc_pixel_width_or_height during redisplay.
4758
4759 2004-03-26 Masatake YAMATO <jet@gyve.org>
4760
4761 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
4762
4763 * lisp.h (fix_start_end_in_overlays): Likewise.
4764
4765 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
4766
4767 * editfns.c (Ftranspose_regions): Likewise.
4768
4769 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4770
4771 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
4772
4773 2004-03-19 Richard M. Stallman <rms@gnu.org>
4774
4775 * s/sol2-6.h: Delete previous change.
4776
4777 2004-03-19 Kim F. Storm <storm@cua.dk>
4778
4779 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
4780 to_charpos corresponds to newline in right fringe. Use local
4781 BUFFER_POS_REACHED_P macro.
4782
4783 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4784
4785 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
4786 to compile on non-window system.
4787
4788 2004-03-19 Kim F. Storm <storm@cua.dk>
4789
4790 * dispextern.h (calc_pixel_width_or_height): Add prototype.
4791
4792 * image.c (Qcenter): Move to xdisp.c.
4793
4794 * xdisp.c (Qcenter): Declare here.
4795 (syms_of_xdisp): Intern and staticpro it.
4796 (handle_single_display_prop): Allow space display property on all
4797 platforms.
4798 (display_mode_line): Set mode_line_p before displaying line.
4799 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
4800 handling. Remove complex cases for fringes and scroll-bars.
4801 Add left, right, and center alignment positions. Add text (area)
4802 width/height. Return width or height for image specs.
4803 (produce_stretch_glyph): Improve handling of :align-to. Is now
4804 relative to left of text area by default, but other base offsets
4805 can be specified -- also for text lines.
4806
4807 * term.c (produce_glyphs): Handle IT_STRETCH.
4808 (produce_stretch_glyph): New function to handle space width and
4809 align-to display properties on non-window systems.
4810
4811 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
4812
4813 * fileio.c (Fread_file_name): Set completion-ignore-case for
4814 case-insensitive systems.
4815
4816 2004-03-14 Masatake YAMATO <jet@gyve.org>
4817
4818 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
4819 when keymap and cursor are setup.
4820
4821 2004-03-14 Steven Tamm <steventamm@mac.com>
4822
4823 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
4824
4825 2004-03-14 Kim F. Storm <storm@cua.dk>
4826
4827 * dispextern.h (x_find_image_file): Add prototype.
4828
4829 * image.c (x_find_image_file): Make extern.
4830
4831 * xfns.c (x_find_image_file): Remove prototype.
4832
4833 2004-03-13 Eli Zaretskii <eliz@gnu.org>
4834
4835 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
4836
4837 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
4838
4839 2004-03-12 Richard M. Stallman <rms@gnu.org>
4840
4841 * fns.c (internal_equal): New arg PROPS controls comparing
4842 text properties. All callers changed.
4843 (Fequal_including_properties): New function.
4844 (syms_of_fns): defsubr it.
4845
4846 2004-03-12 Kim F. Storm <storm@cua.dk>
4847
4848 Fix image support on MAC. From YAMAMOTO Mitsuharu.
4849
4850 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
4851 (image_background, image_background_transparent): Fix prototypes.
4852
4853 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
4854
4855 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
4856 (x_query_font, x_find_ccl_program, x_set_window_size)
4857 (x_make_frame_visible, mac_initialize, XCreatePixmap)
4858 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
4859 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
4860
4861 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
4862 (x_query_font, x_find_ccl_program, x_set_window_size)
4863 (x_make_frame_visible, mac_initialize, XCreatePixmap)
4864 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
4865 (mac_draw_line_to_pixmap): Add prototypes.
4866
4867 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4868
4869 * macterm.c (XTread_socket): Fix mouse click on tool bar.
4870
4871 2004-03-11 Kim F. Storm <storm@cua.dk>
4872
4873 * dispextern.h: Move image related prototypes from xfns.c section
4874 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
4875 HAVE_X_WINDOWS.
4876
4877 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
4878 Move gtkutil.o to new GTK_OBJ list.
4879 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
4880 (GTK_OBJ) [USE_GTK]: New declaration.
4881 (obj): Add $(GTK_OBJ) to list.
4882
4883 2004-03-11 Steven Tamm <steventamm@mac.com>
4884
4885 * image.c [MAC_OSX]: Include sys/stat.h
4886
4887 * macfns.c (syms_of_macfns): Remove definitions of things now
4888 defined in image.c
4889
4890 2004-03-11 Kim F. Storm <storm@cua.dk>
4891
4892 The following changes consolidates the identical/similar image
4893 support code previously found in xfns.c, w32fns.c, and macfns.c
4894 into a new file image.c.
4895
4896 * makefile.w32-in (OBJ1): Add image.o.
4897 ($(BLD)/image.$(O)): Add dependencies.
4898
4899 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
4900 (image.o): Add dependencies.
4901
4902 * image.c: New file with consolidated image support code.
4903 (COLOR_TABLE_SUPPORT): New define to control whether
4904 color table support is available (X only).
4905 (Bitmap_Record): Common name for x_bitmap_record,
4906 w32_bitmap_record, and mac_bitmap_record.
4907 (XImagePtr): Common name for pointer to XImage or equivalent.
4908 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
4909 to XImagePtr on X+MAC, and to HDC on W32.
4910 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
4911 (NO_PIXMAP): Common name for "None" or equivalent.
4912 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
4913 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
4914 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
4915 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
4916 Define with suitable equivalents on W32 and MAC for code sharing.
4917 (XDrawLine): Define on MAC for code sharing.
4918 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
4919 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
4920 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4921 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4922 (x_reference_bitmap, x_create_bitmap_from_data)
4923 (x_create_bitmap_from_file, x_destroy_bitmap)
4924 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4925 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4926 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4927 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4928 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4929 (define_image_type, lookup_image_type, valid_image_p)
4930 (image_error, enum image_value_type, struct image_keyword)
4931 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
4932 (make_image, free_image, prepare_image_for_display, image_ascent)
4933 (four_corners_best, image_background, image_background_transparent)
4934 (x_clear_image_1, x_clear_image, x_alloc_image_color)
4935 (make_image_cache, free_image_cache, clear_image_cache)
4936 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
4937 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
4938 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
4939 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
4940 (init_image_func_pointer, image_load_quartz2d)
4941 (struct ct_color, init_color_table, free_color_table)
4942 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
4943 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
4944 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
4945 (x_disable_image, x_build_heuristic_mask)
4946 (XBM support, XPM support, PBM support, PNG support, JPEG support)
4947 (TIFF support, GIF support, Ghostscript support): Consolidate image
4948 code from xfns.c, w32fns.c, and macfns.c.
4949 (syms_of_image): Consolidate image related symbol setup here.
4950 (init_image): Consolidate image related initializations here.
4951
4952 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
4953 and init_image. Remove call to init_xfns.
4954
4955 * macterm.h (struct mac_bitmap_record): Add file member.
4956 Not currently used, but simplifies code sharing.
4957
4958 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4959 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4960 (x_reference_bitmap, x_create_bitmap_from_data)
4961 (x_create_bitmap_from_file, x_destroy_bitmap)
4962 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4963 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4964 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4965 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4966 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4967 (define_image_type, lookup_image_type, valid_image_p)
4968 (image_error, enum image_value_type, struct image_keyword)
4969 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
4970 (make_image, free_image, prepare_image_for_display, image_ascent)
4971 (four_corners_best, image_background, image_background_transparent)
4972 (x_clear_image_1, x_clear_image, x_alloc_image_color)
4973 (make_image_cache, free_image_cache, clear_image_cache)
4974 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
4975 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
4976 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
4977 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
4978 (init_image_func_pointer, image_load_quartz2d)
4979 (struct ct_color, init_color_table, free_color_table)
4980 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
4981 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
4982 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
4983 (x_disable_image, x_build_heuristic_mask)
4984 (XBM support, XPM support, PBM support, PNG support, JPEG support)
4985 (TIFF support, GIF support, Ghostscript support): Merge with image
4986 code from xfns.c and macfns.c into image.c.
4987 (syms_of_xfns): Move image related symbols to image.c.
4988 (init_external_image_libraries, init_xfns): Remove; initialization
4989 moved to init_image in image.c.
4990
4991 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4992 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4993 (x_reference_bitmap, x_create_bitmap_from_data)
4994 (x_create_bitmap_from_file, x_destroy_bitmap)
4995 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4996 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4997 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4998 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4999 (define_image_type, lookup_image_type, valid_image_p)
5000 (image_error, enum image_value_type, struct image_keyword)
5001 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5002 (make_image, free_image, prepare_image_for_display, image_ascent)
5003 (four_corners_best, image_background, image_background_transparent)
5004 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5005 (make_image_cache, free_image_cache, clear_image_cache)
5006 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5007 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5008 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5009 (struct ct_color, init_color_table, free_color_table)
5010 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5011 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5012 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5013 (x_disable_image, x_build_heuristic_mask)
5014 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5015 (TIFF support, GIF support, Ghostscript support): Merge with image
5016 code from xfns.c and macfns.c into image.c.
5017 (syms_of_xfns): Move image related symbols to image.c.
5018 (init_external_image_libraries, init_xfns): Remove; initialization
5019 moved to init_image in image.c.
5020
5021 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5022 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5023 (x_reference_bitmap, x_create_bitmap_from_data)
5024 (x_create_bitmap_from_file, x_destroy_bitmap)
5025 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5026 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5027 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5028 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5029 (define_image_type, lookup_image_type, valid_image_p)
5030 (image_error, enum image_value_type, struct image_keyword)
5031 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5032 (make_image, free_image, prepare_image_for_display, image_ascent)
5033 (four_corners_best, image_background, image_background_transparent)
5034 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5035 (make_image_cache, free_image_cache, clear_image_cache)
5036 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5037 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5038 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5039 (struct ct_color, init_color_table, free_color_table)
5040 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5041 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5042 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5043 (x_disable_image, x_build_heuristic_mask)
5044 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5045 (TIFF support, GIF support, Ghostscript support): Merge with
5046 w32fns.c and macfns.c image code into image.c.
5047 (syms_of_xfns): Move image related symbols to image.c.
5048 (init_xfns): Remove; initialization moved to init_image in image.c.
5049
5050 * lisp.h (syms_of_image, init_image): Add protoypes.
5051 (init_xfns): Remove prototype.
5052
5053 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5054 (x_reference_bitmap, x_create_bitmap_from_data)
5055 (x_create_bitmap_from_file, x_destroy_bitmap)
5056 (x_create_bitmap_mask): Move prototypes from dispextern.h.
5057 (gamma_correct) [MAC_OS]: Add prototype.
5058
5059 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5060 (x_reference_bitmap, x_create_bitmap_from_data)
5061 (x_create_bitmap_from_file, x_destroy_bitmap)
5062 (x_create_bitmap_mask): Move prototypes to dispextern.h.
5063
5064 2004-03-09 Kenichi Handa <handa@etlken2>
5065
5066 * coding.c (decode_coding_emacs_mule): Handle insufficent source
5067 correctly.
5068
5069 2004-03-04 Richard M. Stallman <rms@gnu.org>
5070
5071 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
5072
5073 * window.c (Fdisplay_buffer): Doc fix.
5074
5075 * buffer.c (Fpop_to_buffer): Doc fix.
5076
5077 2004-03-03 Kim F. Storm <storm@cua.dk>
5078
5079 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
5080
5081 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
5082
5083 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
5084
5085 2004-03-02 Richard M. Stallman <rms@gnu.org>
5086
5087 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
5088
5089 2004-03-02 Kenichi Handa <handa@m17n.org>
5090
5091 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
5092
5093 2004-03-02 Kim F. Storm <storm@cua.dk>
5094
5095 * window.h (struct window): New member overlay_arrow_bitmap.
5096
5097 * window.c (make_window): Initialize overlay_arrow_bitmap.
5098
5099 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
5100 implement and integrate multiple overlay arrows with redisplay.
5101 (syms_of_xdisp): DEFVAR_LISP and initialize it.
5102 (last_arrow_position, last_arrow_string): Replace by properties.
5103 (Qlast_arrow_position, Qlast_arrow_string)
5104 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
5105 (syms_of_xdisp): Intern and staticpro them.
5106 (overlay_arrow_string_or_property, update_overlay_arrows)
5107 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
5108 (overlay_arrow_at_row): New functions for multiple overlay arrows.
5109 (redisplay_internal): Use them instead of directly accessing
5110 Voverlay_arrow_position etc. for multiple overlay arrows.
5111 (mark_window_display_accurate): Use update_overlay_arrows.
5112 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
5113 (try_window_id): Use overlay_arrows_changed_p.
5114 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
5115 (display_line): Use overlay_arrow_at_row to check multiple
5116 overlay arrows, and get relevant overlay-arrow-string and
5117 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
5118 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
5119 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
5120
5121 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
5122 (update_window_fringes): Remove unused code.
5123
5124 2004-03-01 Jason Rumney <jasonr@gnu.org>
5125
5126 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
5127
5128 2004-03-01 Juanma Barranquero <lektu@terra.es>
5129
5130 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
5131
5132 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
5133
5134 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5135
5136 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
5137 how many colors can be displayed.
5138
5139 2004-03-01 Kenichi Handa <handa@m17n.org>
5140
5141 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
5142 correctly.
5143
5144 2004-02-28 Kim F. Storm <storm@cua.dk>
5145
5146 * dispnew.c (update_window): Update header line also if there are
5147 no other changes in window (move code after set_cursor label).
5148
5149 * lisp.h (mark_window_display_accurate): Remove prototype.
5150
5151 * window.c (window_loop, Fforce_window_update): Force mode line
5152 updates by setting prevent_redisplay_optimizations_p and
5153 update_mode_lines.
5154
5155 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5156
5157 * xfns.c (x_window): Fix indentation.
5158
5159 * xterm.c (x_calc_absolute_position): Call x_real_positions
5160 to get WM window sizes and use those to calculate position.
5161 (x_set_offset): Remove code commented out.
5162
5163 2004-02-28 Miles Bader <miles@gnu.org>
5164
5165 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
5166
5167 2004-02-28 Kim F. Storm <storm@cua.dk>
5168
5169 * keyboard.c (kbd_buffer_store_event_hold): New function to store
5170 an event into kbd fifo, but with special handling of quit event;
5171 a quit event is saved for later, and further events are discarded
5172 until the saved quit event has been processed.
5173 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
5174 (gen_help_event): Store help event in kbd fifo.
5175 (NREAD_INPUT_EVENTS): Remove.
5176 (read_avail_input): Adapt to new read_socket_hook interface.
5177 Remove allocation and initialization of local input_event buffer,
5178 as read_socket_hook stores events directly in fifo. Allocate and
5179 initialize local hold_quit event to handle postponed quit event
5180 (and store it if set by kbd_buffer_store_event_hold).
5181
5182 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
5183 (gen_help_event): Fix prototype.
5184
5185 * macterm.c (XTread_socket): Remove bufp_r and
5186 numcharsp args. Add hold_quit arg.
5187 Rework to use just one, local, inev input_event. Store inev
5188 directly in fifo using kbd_buffer_store_event_hold.
5189
5190 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
5191 (read_input_waiting): Adapt to new read_socket_hook interface.
5192 Remove allocation and initialization of local input_event buffer,
5193 as read_socket_hook stores events directly in fifo. Allocate and
5194 initialize local hold_quit event to handle postponed quit event
5195 (and store it if set by kbd_buffer_store_event_hold).
5196
5197 * term.c (read_socket_hook): Fix arg list.
5198
5199 * termhooks.h (read_socket_hook): Fix prototype.
5200
5201 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
5202 numcharsp args. Add hold_quit arg.
5203 Rework to use just one, local, inev input_event. Store inev
5204 directly in fifo using kbd_buffer_store_event_hold.
5205
5206 * w32inevt.h (w32_console_mouse_position): Fix prototype.
5207
5208 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
5209 Add hold_quit arg. Rework to use just one, local, inev
5210 input_event. Store inev directly in fifo using
5211 kbd_buffer_store_event_hold. Update count in one place.
5212 Postpone call to gen_help_event until inev is stored; use new
5213 local do_help for this.
5214 Remove local emacs_event in handing of ButtonPress event; just use
5215 inev instead (so no reason to copy it later).
5216
5217 * xsmfns.c (x_session_check_input): Remove numchars arg.
5218
5219 * xterm.c (x_focus_changed, x_detect_focus_change):
5220 Remove numchars arg. Always store event into bufp arg.
5221 Return nothing. Callers changed accordingly.
5222 (glyph_rect): Simplify.
5223 (STORE_KEYSYM_FOR_DEBUG): New macro.
5224 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
5225 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
5226 (current_hold_quit) [USE_GTK]: Add.
5227 (event_handler_gdk): Adapt to new handle_one_xevent.
5228 (handle_one_xevent): Remove bufp_r and numcharsp args.
5229 Add hold_quit arg. Rework to use just one, local, inev
5230 input_event. Store inev directly in fifo using
5231 kbd_buffer_store_event_hold. Update count in one place.
5232 Postpone call to gen_help_event until inev is stored; use new
5233 local do_help for this.
5234 Simplify handling of keysyms (consolidate common code). Fix bug
5235 where count was updated with nchars instead of nbytes.
5236 Remove local emacs_event in handing of ButtonPress event; just use
5237 inev instead (so no reason to copy it later).
5238 Remove `out' label. Rename label `ret' to `done'; add various
5239 `goto done' to clarify code flow in deeply nested blocks.
5240 (x_dispatch_event): Simplify as handle_one_xevent now calls
5241 kbd_buffer_store_event itself.
5242 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
5243 arg. Call handle_one_xevent with new arglist. Store event from
5244 x_session_check_input in fifo.
5245 [USE_GTK]: Setup current_hold_quit.
5246 Decrement handling_signal before unblocking input.
5247 (x_initialize) [USE_GTK]: Initialize current_count.
5248
5249 * xterm.h (x_session_check_input): Fix prototype.
5250
5251 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5252
5253 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
5254
5255 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
5256 macgui.h).
5257
5258 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
5259
5260 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
5261 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
5262 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
5263 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
5264 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
5265 (Bitmap): Remove typedef.
5266 (Pixmap): Change int to GWorldPtr.
5267
5268 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5269
5270 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5271 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
5272 New #define to extract 16-bit depth color components from unsigned
5273 long representation.
5274 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
5275 colors used for masks.
5276 (struct mac_display_info): Add color_p. Remove n_cbits.
5277
5278 * macfns.c: Include sys/types.h and sys/stat.h.
5279 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
5280 Include QuickTime/QuickTime.h.
5281 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5282 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
5283 functions defined in macterm.c.
5284 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
5285 (ZPixmap): New #define for compatibility with xfns.c.
5286 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5287 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
5288 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
5289 New functions.
5290 (four_corners_best, x_create_x_image_and_pixmap)
5291 (x_destroy_x_image, unwind_create_frame, x_disable_image)
5292 (x_edge_detection, init_color_table, colors_in_color_table)
5293 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
5294 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
5295 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
5296 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
5297 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
5298 long mixup.
5299 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
5300 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
5301 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
5302 (x_set_cursor_type, Fxw_color_values, valid_image_p)
5303 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
5304 (x_alloc_image_color, clear_image_cache, lookup_image)
5305 (x_find_image_file, xbm_read_bitmap_file_data)
5306 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
5307 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
5308 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
5309 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
5310 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
5311 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
5312 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
5313 #if 0.
5314 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
5315 #if 0. Free white_relief.gc and black_relief.gc.
5316 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
5317 New functions (from xfns.c).
5318 (Fx_create_frame): Record unwind_create_frame.
5319 (Fxw_display_color_p): Use dpyinfo->color_p.
5320 (Fx_display_grayscale_p, Fx_display_planes): Don't use
5321 dpyinfo->n_cbits.
5322 (Fx_display_color_cells): Use dpyinfo->n_planes;
5323 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
5324 (Qheuristic, cross_disabled_images, emboss_matrix)
5325 (laplace_matrix): New variables (from xfns.c).
5326 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
5327 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
5328 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
5329 (image_background_transparent): New function (from xfns.c).
5330 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5331 (image_load_quicktime): Add declaration.
5332 [MAC_OSX] (image_load_quartz2d): Likewise.
5333 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
5334 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
5335 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
5336 (xbm_load_image_from_file, x_laplace_read_row)
5337 (x_laplace_write_row, pbm_read_file): Remove functions.
5338 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
5339 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
5340 (colors_in_color_table): Sync with xfns.c (although not used).
5341 (lookup_rgb_color): Don't lookup color table. Just do gamma
5342 correction.
5343 (COLOR_INTENSITY): New #define (from xfns.c).
5344 (x_disable_image): New function (from xfns.c).
5345 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5346 (x_build_heuristic_mask): Sync with xfns.c.
5347 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5348 (HAVE_PBM): Remove #ifdef.
5349 (pbm_load): Sync with xfns.c. Set img->width and img->height
5350 before IMAGE_BACKGROUND.
5351 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
5352 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
5353 Don't enclose with #if HAVE_PNG.
5354 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
5355 symbol _CGImageCreateWithPNGDataProvider is defined.
5356 Otherwise use image_load_quicktime.
5357 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
5358 [HAVE_PNG] (png_load): Sync with xfns.c.
5359 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5360 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
5361 HAVE_JPEG.
5362 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
5363 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
5364 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
5365 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
5366 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
5367 (tiff_image_p, tiff_load): Don't enclose declarations with #if
5368 HAVE_TIFF.
5369 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
5370 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
5371 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
5372 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
5373 New functions (from xfns.c).
5374 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
5375 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
5376 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
5377 Don't enclose with #if HAVE_GIF.
5378 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
5379 animated gif. Otherwise use image_load_quicktime.
5380 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
5381 gif_DrawText to avoid conflict with QuickdrawText.h.
5382 [HAVE_GIF] (gif_load): Sync with xfns.c.
5383 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
5384 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
5385 Ghostscript is not supported yet).
5386 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
5387 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
5388 cross_disabled_images (from xfns.c). Remove #if 0 for supported
5389 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
5390 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
5391 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
5392 HAVE_PNG. Call EnterMovies to support animated gifs.
5393 Call init_image_func_pointer to bind a symbol
5394 _CGImageCreateWithPNGDataProvider if it is defined.
5395
5396 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5397 (x_draw_bar_cursor): Sync declaration with xterm.c.
5398 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
5399 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
5400 graphics).
5401 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
5402 (mac_draw_line_to_pixmap, XCreatePixmap)
5403 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
5404 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
5405 New functions.
5406 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
5407 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
5408 Cast bits to char *.
5409 (reflect_byte): New function (from w32fns.c).
5410 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
5411 due to byte alignment.
5412 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
5413 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
5414 (XSetForeground): Remove static (now used in macfns.c).
5415 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
5416 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
5417 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
5418 (x_draw_glyph_string_box, x_draw_image_foreground)
5419 (x_draw_image_foreground_1, x_draw_image_glyph_string)
5420 (x_draw_stretch_glyph_string, x_draw_glyph_string)
5421 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
5422 Sync with xterm.c.
5423 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
5424 than the xterm.c version when a strictly horizontal or vertical
5425 line is drawn.
5426 (XTset_terminal_window): Add static.
5427 (x_make_frame_visible): Add UNBLOCK_INPUT.
5428 (x_free_frame_resources): New funcion (from xterm.c).
5429 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
5430 occurs in tool bar area.
5431 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
5432 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
5433 Initialize image cache.
5434 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
5435 Enclose unused functions with #if 0.
5436 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
5437 (decode_mac_font_name): New function to apply code conversions
5438 from a mac font name to an XLFD font name according to its script code.
5439 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
5440 font name to a mac font name according to REGISTRY and ENCODING fields.
5441 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
5442 whose name starts with `.'.
5443 (init_font_name_table): Use decode_mac_font_name. Add both
5444 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
5445 of a font is smJapanese.
5446 (mac_do_list_fonts): New function to list fonts that match a given
5447 pattern.
5448 (x_list_fonts, XLoadQueryFont): Use it.
5449 (XLoadQueryFont): Set rbearing field for each variable width
5450 character to avoid needless redraw.
5451 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
5452
5453 2004-02-26 Kim F. Storm <storm@cua.dk>
5454
5455 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
5456 as read_socket_hook handler on X aborts if buffer is too small
5457 and W32 handler doesn't always check buffer limit.
5458
5459 * xdisp.c (handle_single_display_prop): Handle left-fringe and
5460 right-fringe similar to a display margin image. Specifically,
5461 the characters having the fringe prop are no longer shown, and
5462 we use IT_IMAGE/next_element_from_image with image_id = -1 to
5463 do this. Set fringe bitmap face_id in it->face_id.
5464 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
5465 still realize it->face (i.e. the fringe bitmap face).
5466
5467 2004-02-25 Miles Bader <miles@gnu.org>
5468
5469 * xdisp.c (check_it): Check string/string_pos consistency.
5470 (init_iterator): Initialize string-related fields properly.
5471
5472 2004-02-11 Miles Bader <miles@gnu.org>
5473
5474 * xdisp.c (produce_image_glyph): Force negative descents to zero.
5475
5476 2004-02-10 Miles Bader <miles@gnu.org>
5477
5478 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
5479 BLOCK_INPUT can be nested, so it doesn't make much sense.
5480
5481 2004-02-24 Michael Mauger <mmaug@yahoo.com>
5482
5483 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
5484 (xbm_read_bitmap_data): Use unsigned char for image data.
5485
5486 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
5487
5488 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
5489
5490 2004-02-22 Jason Rumney <jasonr@gnu.org>
5491
5492 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
5493 correctly over other bitmaps.
5494
5495 2004-02-21 Eli Zaretskii <eliz@gnu.org>
5496
5497 * emacs.c (USAGE1): Split into two halves.
5498 (USAGE2): Second half of the old USAGE1.
5499 (USAGE3): Rename from USAGE2.
5500 (USAGE4): Rename from USAGE3.
5501
5502 2004-02-21 Juri Linkov <juri@jurta.org>
5503
5504 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
5505 Fix --multibyte. Move --help, --version to USAGE2. Add alias
5506 --file. Fix -f, -l. Sort options. Untabify.
5507 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
5508
5509 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
5510
5511 * category.c (Fdefine_category, Fcategory_docstring)
5512 (Fget_unused_category, Fset_category_table)
5513 (Fcategory_set_mnemonics): Doc fixes.
5514
5515 2004-02-20 Kim F. Storm <storm@cua.dk>
5516
5517 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
5518 The following changes are relative to the 2004-01-21 revision.
5519 (NREAD_INPUT_EVENTS): Define as max number of input events to read
5520 in one call to read_socket_hook. Value is 8.
5521 (read_avail_input): Separate and rework handling of read_socket_hook
5522 and non-read_socket_hook cases. Use smaller input_event buffer
5523 in read_socket_hook case, and repeat if full buffer is read.
5524 Use new local variable 'discard' to skip input after C-g.
5525 In non-read_socket_hook case, just use a single input_event, and
5526 call kbd_buffer_store_event on the fly for each character.
5527
5528 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
5529
5530 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
5531 Remove unused `gu' alternative.
5532
5533 2004-02-19 Andreas Schwab <schwab@suse.de>
5534
5535 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
5536 warning.
5537
5538 2004-02-18 Kim F. Storm <storm@cua.dk>
5539
5540 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
5541 Fix last change.
5542
5543 2004-02-17 Kim F. Storm <storm@cua.dk>
5544
5545 * xdisp.c (fast_find_position): Fix return value of new version;
5546 it was inverted compared to the 21.1 version.
5547 (get_window_cursor_type): Don't look at glyph if NULL.
5548 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
5549
5550 * keyboard.c: Rework previous change; it didn't consider that the
5551 buf array was allocated on the stack.
5552 (prev_read): Remove variable.
5553 (read_avail_input_buf): New static event buffer array.
5554 (in_read_avail_input): New static variable to handle re-entrancy.
5555 (read_avail_input): Change buf to pinter to read_avail_input_buf.
5556 Use in_read_avail_input to handle re-entrance; when re-entered,
5557 fully initialize and use tmp_buf array instead of read_avail_input_buf.
5558 Do not initialize read_avail_input_buf in full here; instead assume it
5559 is always cleared on entry. To ensure that, we clear (just) the
5560 entries that were used before we return.
5561 (init_keyboard): Initialize read_avail_input_buf here.
5562
5563 2004-02-16 Jesper Harder <harder@ifa.au.dk>
5564
5565 * cmds.c (Fend_of_line): Doc fix.
5566
5567 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
5568
5569 * keyboard.c (prev_read): New static variable.
5570 (read_avail_input): Use it to zero out only those slots in buf[]
5571 that were used last time we were called.
5572
5573 2004-02-16 Eli Zaretskii <eliz@gnu.org>
5574
5575 * Makefile.in (obj): Move fringe.o from here...
5576 (XOBJ, MAC_OBJ): ...to here.
5577
5578 2004-02-16 Stephen Eglen <stephen@gnu.org>
5579
5580 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
5581
5582 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
5583
5584 * data.c (Fbyteorder):
5585 * fringe.c (Fdefine_fringe_bitmap):
5586 * xdisp.c (handle_single_display_prop):
5587 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
5588
5589 2004-02-16 Jason Rumney <jasonr@gnu.org>
5590
5591 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
5592
5593 2004-02-15 Steven Tamm <steventamm@mac.com>
5594
5595 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
5596 controlling emulation of a three button mouse with option and
5597 command keys.
5598 (Qreverse, mac_get_enumlated_btn): Handle the emulation
5599 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
5600
5601 2004-02-15 Kim F. Storm <storm@cua.dk>
5602
5603 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
5604
5605 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
5606 Perform byte-swapping.
5607
5608 2004-02-14 Kim F. Storm <storm@cua.dk>
5609
5610 * dispextern.h (struct draw_fringe_bitmap_params): Change member
5611 bits from char to short to facilitate wider bitmaps.
5612 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
5613 member.
5614
5615 * fringe.c (struct fringe_bitmap): Change member bits from char to
5616 short to facilitate 16 bits wide bitmaps. Modify all standard
5617 bitmaps accordingly.
5618 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
5619 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
5620 (draw_fringe_bitmap): Ditto.
5621 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
5622 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
5623 handle up to 16 bits wide bitmaps.
5624 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
5625 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
5626
5627 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
5628 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
5629 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
5630
5631 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
5632 so it is no longer necessary to expand them here.
5633
5634 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
5635
5636 2004-02-12 Kim F. Storm <storm@cua.dk>
5637
5638 * window.c (Fwindow_fringes): Doc fix.
5639
5640 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5641
5642 * xselect.c (x_get_foreign_selection): Add new optional parameter
5643 time_stamp.
5644 (Fx_get_selection_internal): Ditto, pass time_stamp to
5645 x_get_foreign_selection.
5646
5647 * data.c (Fbyteorder): New function.
5648
5649 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5650
5651 * atimer.c: Move include stdio.h to same place as in other files.
5652
5653 * region-cache.c: Ditto.
5654
5655 * sysdep.c: Ditto.
5656
5657 * xfaces.c: Ditto.
5658
5659 2004-02-09 Sam Steingold <sds@gnu.org>
5660
5661 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
5662
5663 2004-02-09 Kim F. Storm <storm@cua.dk>
5664
5665 * fringe.c: New file. Move original fringe related declarations
5666 and code from dispextern.h and xdisp.c here.
5667 Rework code to support user defined fringe bitmaps, redefining
5668 standard bitmaps, ability to overlay user defined bitmap with
5669 overlay arrow bitmap, and add faces to bitmaps.
5670 (Voverflow_newline_into_fringe): Declare here.
5671 (enum fringe_bitmap_align): New enum.
5672 (..._bits): All bitmaps are now defined without bitswapping; that
5673 is now done in init_fringe_once (if necessary).
5674 (standard_bitmaps): New array with specifications for the
5675 standard fringe bitmaps.
5676 (fringe_faces): New array.
5677 (valid_fringe_bitmap_id_p): New function.
5678 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
5679 (draw_fringe_bitmap): New function which draws fringe bitmap,
5680 possibly overlaying bitmap with cursor in right fringe or the
5681 overlay arrow in the left fringe.
5682 (update_window_fringes): Do not handle overlay arrow here.
5683 Compare and copy fringe bitmap faces.
5684 (init_fringe_bitmap): New function.
5685 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
5686 define and destroy user defined fringe bitmaps.
5687 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
5688 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
5689 (syms_of_fringe): New function. Defsubr new DEFUNs.
5690 DEFVAR_LISP Voverflow_newline_into_fringe.
5691 (init_fringe_once, init_fringe): New functions.
5692 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
5693
5694 * Makefile.in (obj): Add fringe.o.
5695 (fringe.o): New dependencies.
5696
5697 * dispextern.h (FRINGE_ID_BITS): New definition for number of
5698 bits allocated to hold a fringe number. Increase number of bits
5699 from 4 to 8 to allow user defined fringe bitmaps.
5700 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
5701 left_user_fringe_face_id, right_user_fringe_bitmap,
5702 right_user_fringe_face_id.
5703 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
5704 Move to new file fringe.c.
5705 (MAX_FRINGE_BITMAPS): Define here.
5706 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
5707 and overlay_p. Change member which to int.
5708 (struct redisplay_interface): New members define_fringe_bitmap
5709 and destroy_fringe_bitmap.
5710 (valid_fringe_bitmap_id_p): Add prototype.
5711 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
5712
5713 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
5714 arrows.
5715 (update_frame): Do flush_display if force_flush_display_p to
5716 ensure display (specifically fringes) are updated in a timely
5717 manner when resizing the frame by dragging the mouse.
5718 (update_window_line): Update row if overlay arrow changed.
5719 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
5720 or overlay arrow changed.
5721
5722 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
5723 syms_of_fringe, and init_fringe.
5724
5725 * frame.h (struct frame): New member force_flush_display_p.
5726
5727 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
5728 Add prototypes.
5729
5730 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
5731 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
5732 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
5733 Use cursor color for displaying cursor in fringe.
5734 (x_redisplay_interface): Add null handlers for
5735 define_fringe_bitmap and destroy_fringe_bitmap functions.
5736
5737 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
5738 xterm.c to handle overlayed fringe bitmaps and to use cursor color
5739 for displaying cursor in fringe.
5740 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
5741 specific functions to define and destroy fringe bitmaps in fringe_bmp.
5742 (w32_redisplay_interface): Add them to redisplay_interface.
5743 (w32_term_init): Call w32_init_fringe instead of explicitly
5744 defining fringe bitmaps in fringe_bmp array.
5745 (x_delete_display): Call w32_reset_fringes instead of explicitly
5746 destroying fringe bitmaps in fringe_bmp array.
5747
5748 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
5749 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
5750 (continued_bits, continuation_bits, ov_bits, first_line_bits)
5751 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
5752 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
5753 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
5754 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
5755 Move fringe handling vars and code to new file fringe.c.
5756 (handle_display_prop): Handle left-fringe and right-fringe
5757 display properties; store user fringe bitmaps in iterator.
5758 (move_it_in_display_line_to): Handle cursor in fringe at eob.
5759 (clear_garbaged_frames): Set force_flush_display_p if resized.
5760 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
5761 (display_line): Handle cursor in fringe at eob.
5762 (display_line): Set row user fringe bitmaps from iterator.
5763
5764 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
5765 Use cursor color for displaying cursor in fringe.
5766 (x_redisplay_interface): Add null handlers for
5767 define_fringe_bitmap and destroy_fringe_bitmap functions.
5768
5769 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5770
5771 * macfns.c (Fx_change_window_property): Make doc string and
5772 parameters same as for X version.
5773
5774 * w32fns.c (Fx_change_window_property): Ditto.
5775
5776 2004-02-07 Kim F. Storm <storm@cua.dk>
5777
5778 * xdisp.c (hscroll_window_tree): Position cursor near to right
5779 margin in hscrolled window when jumping to end of line (rather
5780 than centering cursor).
5781
5782 * process.c (wait_reading_process_input): Don't do adaptive read
5783 buffering if waiting for a specific process.
5784
5785 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
5786
5787 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
5788 (Fread_minibuffer, Feval_minibuffer)
5789 (Fread_string, Fread_no_blanks_input)
5790 (Fcompleting_read): Doc fixes.
5791 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
5792 completion-regexp-list. Define Qcase_fold_search and staticpro it.
5793 (read_minibuf): Fix initial comment.
5794 (Ftry_completion, Fall_completions, Ftest_completion): Bind
5795 case-fold-search to the value of completion-ignore-case when
5796 checking completion-regexp-list.
5797 (Fdisplay_completion_list): Make it handle arguments that are
5798 symbols. Doc fix.
5799
5800 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5801
5802 * xterm.h: Add declaration of free_frame_menubar.
5803
5804 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
5805 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
5806 (Fx_change_window_property): Add declaration of parameters type and
5807 format. Remove unused variable cons.
5808
5809 * xselect.c: Include stdio,h.
5810
5811 2004-02-05 Kenichi Handa <handa@m17n.org>
5812
5813 * fns.c (Fset_char_table_range): Fix previous change.
5814
5815 * buffer.c (Fset_buffer_multibyte): Fix docstring.
5816
5817 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
5818
5819 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
5820
5821 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
5822
5823 * keymap.c (Vmouse_events): Rename from Vmenu_events.
5824 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
5825
5826 2004-02-04 Kenichi Handa <handa@m17n.org>
5827
5828 * fns.c (Fset_char_table_range): Handle charsets ascii,
5829 eight-bit-control, and eight-bit-graphic correctly.
5830
5831 2004-02-03 Jason Rumney <jasonr@gnu.org>
5832
5833 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
5834
5835 * w32fns.c (x_to_w32_font): Likewise.
5836
5837 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5838
5839 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
5840 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
5841
5842 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
5843 ClientMessages.
5844
5845 * xselect.c: Include termhooks.h and X11/Xproto.h
5846 (x_check_property_data, x_fill_property_data)
5847 (x_property_data_to_lisp, mouse_position_for_drop)
5848 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
5849 (Fx_send_client_event): Move here from xfns.c.
5850 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
5851
5852 * xfns.c (x-send-client-message): Move to xselect.c
5853 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
5854 OUTER_P.
5855 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
5856 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
5857 if vector_ret_p is true.
5858 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
5859
5860 2004-02-02 Eli Zaretskii <eliz@gnu.org>
5861
5862 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
5863 basename of FILE relative to it, not FILE itself.
5864
5865 2004-02-02 Kenichi Handa <handa@m17n.org>
5866
5867 * coding.c (coding_restore_composition): Check invalid
5868 composition data more rigidly.
5869
5870 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
5871
5872 * fileio.c (Fread_file_name_internal): Correctly handle the case
5873 where insert-default-directory is nil.
5874 (Fread_file_name): Always return an empty string if the user exits
5875 with an empty minibuffer. Adapt the docstring accordingly.
5876 (syms_of_fileio): Adapt the docstring of insert-default-directory
5877 to the change in Fread_file_name.
5878
5879 2004-01-29 Eli Zaretskii <eliz@gnu.org>
5880
5881 * alloca.c [!alloca]: Fix the prototype for xfree.
5882
5883 2004-01-29 Kenichi Handa <handa@m17n.org>
5884
5885 * fns.c (string_char_to_byte): Optimize for ASCII only string.
5886 (string_byte_to_char): Likewise.
5887
5888 2004-01-28 Peter Runestig <peter@runestig.com>
5889
5890 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
5891
5892 2004-01-27 Steven Tamm <steventamm@mac.com>
5893
5894 * unexmacosx.c (unexec_copy): Do not copy more than was
5895 requested to prevent overwriting during unexec.
5896
5897 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5898
5899 * process.c (sigchld_handler): Add comment about not calling malloc.
5900
5901 * process.h: Add extern to synch_process_termsig.
5902
5903 2004-01-27 Steven Tamm <steventamm@mac.com>
5904
5905 * macterm.c (make_mac_frame, make_mac_terminal_frame):
5906 Move setting of scroll bars from make_mac_frame to
5907 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
5908
5909 2004-01-26 Richard M. Stallman <rms@gnu.org>
5910
5911 * search.c (Freplace_match): Handle nonexistent
5912 back-references properly.
5913
5914 2004-01-03 Richard M. Stallman <rms@gnu.org>
5915
5916 * window.c (decode_any_window): New function.
5917 (Fwindow_height, Fwindow_width, Fwindow_edges)
5918 (Fwindow_pixel_edges, Fwindow_inside_edges)
5919 (Fwindow_inside_pixel_edges): Use decode_any_window.
5920
5921 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5922
5923 * process.h: synch_process_termsig new variable.
5924
5925 * callproc.c: Define synch_process_termsig.
5926 (Fcall_process): Initiate synch_process_termsig to zero and
5927 check if non-zero and get signal name after subprocess has ended.
5928
5929 * process.c (sigchld_handler): Set synch_process_termsig
5930 if terminated by a signal. synch_process_death setting removed.
5931
5932 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
5933
5934 2004-01-26 Andreas Schwab <schwab@suse.de>
5935
5936 * print.c (print_preprocess): Declare size as EMACS_INT to not
5937 lose bits.
5938 (print_object): Likewise.
5939 * alloc.c (Fpurecopy): Likewise.
5940
5941 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
5942
5943 * window.c (Fwindow_minibuffer_p): Doc fix.
5944
5945 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
5946
5947 * editfns.c (Fformat): Make both passes accept the same set of flags.
5948
5949 2004-01-23 Kenichi Handa <handa@m17n.org>
5950
5951 * fns.c (Fmd5): If OBJECT is a buffer different from the current
5952 one, set buffer to OBJECT temporarily.
5953
5954 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
5955
5956 * keyboard.c (kbd_buffer_gcpro): Remove.
5957 (kbd_buffer_store_event, clear_event, Fdiscard_input)
5958 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
5959 Don't initialize and/or maintain the variable any more. It was made
5960 redundant by my commit of 2003-06-15.
5961
5962 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
5963
5964 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5965
5966 * lisp.h: Add undef DECL_ALIGN.
5967
5968 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
5969
5970 * process.c (wait_reading_process_input) [SYNC_INPUT]:
5971 Check interrupt_input_pending explicitly.
5972
5973 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
5974
5975 * keyboard.c (handle_async_input): New fun,
5976 extracted from input_available_signal.
5977 (input_available_signal, reinvoke_input_signal): Use it.
5978
5979 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
5980
5981 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
5982
5983 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
5984 manipulation macros for when tags are in the lower bits.
5985 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
5986 (DECL_ALIGN): New macro.
5987 (DEFUN): Use it.
5988
5989 * lisp.h [ENABLE_CHECKING]: Don't force union type.
5990
5991 * s/darwin.h (__attribute__): Remove outdated workaround.
5992
5993 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
5994
5995 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
5996 Don't check range of malloc address.
5997 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
5998
5999 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
6000
6001 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
6002
6003 2004-01-19 Kenichi Handa <handa@m17n.org>
6004
6005 * fontset.c (fontset_font_pattern): Fix previous change.
6006
6007 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
6008
6009 * xdisp.c (Voverflow_newline_into_fringe)
6010 (move_it_in_display_line_to, redisplay_internal)
6011 (update_window_fringes, redisplay_window, display_line, window):
6012 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
6013 that it compiles without a window-system.
6014 * dispnew.c (direct_output_for_insert, update_window): Likewise.
6015
6016 2004-01-16 Kim F. Storm <storm@cua.dk>
6017
6018 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
6019
6020 * buffer.c (init_buffer_once): Set buffer_defaults and
6021 buffer_local_flags for indicate_buffer_boundaries.
6022 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
6023 default- variable for it.
6024
6025 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
6026 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
6027 New members exact_window_width_line_p and cursor_in_fringe_p for
6028 overflowing newlines into right fringe.
6029 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
6030 and indicate_bottom_line_p for buffer boundaries and scrolling.
6031 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
6032 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
6033 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
6034 and HOLLOW_SQUARE_BITMAP.
6035 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
6036 Add prototypes.
6037
6038 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
6039 instead of related indicator fields.
6040 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
6041 (direct_output_for_insert): Handle exact width lines like
6042 contined lines. Call update_window_fringes.
6043 (update_window): Call update_window_fringes.
6044 (scrolling_window): Don't skip desired rows with changed bitmaps.
6045 Check if fringe bitmaps changes when assigning scrolled rows.
6046
6047 * xdisp.c (Voverflow_newline_into_fringe): New variable.
6048 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
6049 (move_it_in_display_line_to): Overflow newline into fringe for
6050 rows that are exactly as wide as the window.
6051 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
6052 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
6053 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
6054 (fringe_bitmaps): Add new bitmaps.
6055 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
6056 Select proper bitmap for cursor in fringe when appropriate.
6057 Handle alignment of bitmap to top or bottom of row.
6058 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
6059 done by update_window_fringes.
6060 (update_window_fringes, draw_window_fringes): New functions.
6061 (redisplay_internal): Call update_window_fringes in case only
6062 cursor row is updated.
6063 (redisplay_window): Call update_window_fringes.
6064 Explicitly call draw_window_fringes if redisplay was done using
6065 the current matrix or the overlay arrow is in the window.
6066 (try_window_reusing_current_matrix): Mark scrolled rows for
6067 fringe update (to update buffer-boundaries / scrolling icons).
6068 (find_last_unchanged_at_beg_row): Handle exact width lines line
6069 continued lines.
6070 (display_line): Overflow newline into fringe for rows that are
6071 exactly as wide as the window. Don't append space for newline
6072 in this case.
6073 (notice_overwritten_cursor): Explicitly clear cursor bitmap
6074 in fringe as if it had been overwritten.
6075 (erase_phys_cursor): Erase cursor bitmap in fringe.
6076 (syms_of_xdisp): Mark show-trailing-whitespace and
6077 void-text-area-pointer as user options.
6078 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
6079
6080 * xterm.c (x_update_window_end): Call draw_window_fringes.
6081 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6082 in row instead of actually drawing fringe bitmaps.
6083 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6084 (x_draw_window_cursor): Draw cursor in fringe.
6085
6086 * w32term.c (x_update_window_end): Call draw_window_fringes.
6087 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6088 in row instead of actually drawing fringe bitmaps.
6089 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6090 (w32_draw_window_cursor): Draw cursor in fringe.
6091
6092 * macterm.c (x_update_window_end): Call draw_window_fringes.
6093 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6094 in row instead of actually drawing fringe bitmaps.
6095 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6096 (mac_draw_window_cursor): Draw cursor in fringe.
6097
6098 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6099
6100 * xterm.c (handle_one_xevent): Don't handle characters that are part
6101 of an old style (XLookupString) compose sequence.
6102
6103 2004-01-15 Kenichi Handa <handa@m17n.org>
6104
6105 * search.c (Freplace_match): Use make_multibyte_string or
6106 make_unibyte_string according to the buffer multibyteness.
6107
6108 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
6109
6110 * alloc.c (struct interval_block, struct string_block)
6111 (struct symbol_block, struct marker_block, live_string_p)
6112 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
6113 Better preserve alignment for objects in blocks.
6114 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
6115
6116 * lread.c (defvar_per_buffer): Remove dead declaration.
6117
6118 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
6119 space size.
6120
6121 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6122
6123 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
6124 if a key press should pop down. Only pop down if a key is pressed
6125 outside the menu/dialog.
6126 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
6127 popup_get_selection.
6128 (create_and_show_dialog): Pass 1 for down_on_keypress to
6129 popup_get_selection.
6130
6131 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6132
6133 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
6134 BLOCK/UNBLOCK_INPUT.
6135
6136 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6137
6138 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
6139 specified.
6140
6141 2004-01-08 Kenichi Handa <handa@m17n.org>
6142
6143 * editfns.c (Fformat): Fix '&' to '&&'.
6144
6145 2004-01-08 Andreas Schwab <schwab@suse.de>
6146
6147 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
6148 size if PSEUDOVECTOR_FLAG is set.
6149
6150 2004-01-07 Kenichi Handa <handa@m17n.org>
6151
6152 * charset.c (Fdeclare_equiv_charset): Fix docstring.
6153
6154 * fontset.c (fontset_ref_via_base): Fix previous change.
6155
6156 2004-01-07 Kim F. Storm <storm@cua.dk>
6157
6158 * process.c (read_process_output): Only activate adaptive
6159 buffering if we read less than 256 bytes at a time.
6160
6161 2004-01-06 Kim F. Storm <storm@cua.dk>
6162
6163 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
6164 object and image object. Return glyph width and height.
6165 (mode_line_string, marginal_area_string): Ditto.
6166
6167 * dispextern.h (buffer_posn_from_coords, mode_line_string)
6168 (marginal_area_string): Fix prototypes.
6169
6170 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
6171 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
6172 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
6173
6174 * keyboard.c (make_lispy_position): Use modified mode_line_string,
6175 buffer_posn_from_coords, and marginal_area_string functions to
6176 include both string object and image object in the lispy position.
6177 Also add actual glyph width and height to position.
6178 (read_key_sequence): Use real buffer position from mouse
6179 event to find keymap property even when click is in marginal area.
6180
6181 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
6182 mode_line_string and marginal_area_string functions to handle
6183 both string object and image object properties.
6184
6185 2004-01-06 Andreas Schwab <schwab@suse.de>
6186
6187 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
6188 character.
6189
6190 2004-01-02 Andreas Schwab <schwab@suse.de>
6191
6192 * macterm.c (emacs_options, x_initialized, same_x_server):
6193 Remove unused (and duplicated) definitions.
6194
6195 2004-01-02 Kim F. Storm <storm@cua.dk>
6196
6197 * process.h (struct Lisp_Process): New members for adaptive read
6198 buffering: adaptive_read_buffering, read_output_delay, and
6199 read_output_skip.
6200
6201 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
6202 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
6203 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
6204 (process_output_delay_count, process_output_skip): New vars.
6205 (Vprocess_adaptive_read_buffering): New variable.
6206 (make_process): Initialize adaptive read buffering members.
6207 (Fstart_process): Set adaptive_read_buffering member.
6208 (deactivate_process): Cleanup adaptive read buffering.
6209 (wait_reading_process_input): Temporarily omit delayed
6210 subprocesses from the set of file descriptors to read from;
6211 adjust the select timeout if we skipped any subprocesses.
6212 (read_process_output): Increase adaptive read buffering delay if
6213 we read less than a full buffer; reduce delay when we read a
6214 full buffer.
6215 (send_process): Simplify using local Lisp_Process var.
6216 Reset adaptive read buffering delay after write.
6217 (init_process): Initialize process_output_delay_count and
6218 process_output_skip.
6219 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
6220
6221 2004-01-01 Jason Rumney <jasonr@gnu.org>
6222
6223 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
6224
6225 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
6226
6227 * print.c (Ferror_message_string): Add hyperlink in the docstring
6228 to the definition of `signal' in the Elisp manual.
6229 * eval.c (Fsignal): Ditto.
6230
6231 2003-12-29 James Clark <jjc@jclark.com>
6232
6233 * fns.c (internal_equal): Return t for two NaN arguments.
6234
6235 2003-12-29 Richard M. Stallman <rms@gnu.org>
6236
6237 * data.c (store_symval_forwarding): Handle setting
6238 default-fill-column, etc., by changing the value in
6239 buffers that use the default.
6240
6241 * minibuf.c (Fset_minibuffer_window): Doc fix.
6242
6243 * fileio.c (choose_write_coding_system): Ignore auto_saving
6244 if using the visited file for auto saves.
6245 (Fwrite_region): Don't update SAVE_MODIFF
6246 if auto-saving in visited file.
6247
6248 2003-12-29 Kenichi Handa <handa@m17n.org>
6249
6250 * dispextern.h (face_font_available_p): Extern it.
6251
6252 * fontset.c (Voverriding_fontspec_alist): New variable.
6253 (lookup_overriding_fontspec): New function.
6254 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
6255 (fontset_font_pattern): Likewise.
6256 (regulalize_fontname): New function.
6257 (Fset_fontset_font): Call regulalize_fontname.
6258 (Fset_overriding_fontspec_internal): New function.
6259 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
6260 Defsubr Sset_overriding_fontspec_internal.
6261
6262 * xfaces.c (face_font_available_p): New function.
6263
6264 2003-12-28 Richard M. Stallman <rms@gnu.org>
6265
6266 * buffer.c (Fother_buffer): Don't crash if BUF is nil
6267 or if its name is nil.
6268
6269 * buffer.c (Fkill_buffer): Don't delete auto-save file
6270 if it's the same as the visited file.
6271
6272 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
6273
6274 * coding.c (Fcheck_coding_system): Doc fix.
6275
6276 2003-12-28 Kim F. Storm <storm@cua.dk>
6277
6278 * Makefile.in (eval.o): Depend on dispextern.h.
6279
6280 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
6281 image glyph using image's ascent.
6282 (mode_line_string): Return image glyph as object clicked on.
6283 Adjust y0 for image glyph using image's ascent.
6284
6285 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
6286 (struct glyph): New members, ascent and descent. Used to save
6287 this glyph's ascent and descent, instead of having.
6288 (struct glyph): Declare member face_id using FACE_ID_BITS.
6289 (find_hot_spot): Add prototype.
6290
6291 * keyboard.c (Qimage): Remove extern (now in lisp.h).
6292 (QCmap): Declare extern.
6293 (make_lispy_position): When position is inside image hot-spot,
6294 use hot-spot element's id as posn element.
6295
6296 * lisp.h (IMAGEP): New macro to test for image object type.
6297 (Qimage): Declare extern.
6298
6299 * macfns.c (Qimage): Remove extern (now in lisp.h).
6300 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6301
6302 * macterm.c (Qface, Qmouse_face): Remove unused externs.
6303
6304 * w32fns.c (Qimage): Remove extern (now in lisp.h).
6305 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6306
6307 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
6308
6309 * w32term.c (Qface, Qmouse_face): Remove unused externs.
6310
6311 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
6312 pointer types.
6313 (Qrelative_width, Qalign_to): Remove unused variables.
6314 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
6315 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
6316 image maps.
6317 (x_y_to_hpos_vpos): Return glyph relative coordinates through
6318 new dx and dy args.
6319 Remove buffer_only_p arg (always 0). Simplify code accordingly.
6320 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
6321 than row's ascent and height, to get sensible height on tall rows.
6322 (build_desired_tool_bar_string): Remove Qimage extern.
6323 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
6324 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
6325 image glyph is alone on the last line.
6326 (append_glyph, append_composite_glyph, produce_image_glyph)
6327 (append_stretch_glyph): Set glyph's ascent and descent.
6328 (on_hot_spot_p): New function to check if position is inside an
6329 rectangular, circular, or polygon-shaped image hot-spot,
6330 (find_hot_spot): New function to search for image hot-spot.
6331 (Flookup_image_map): New defun to search for image hot-spot.
6332 (define_frame_cursor1): New aux function to determine frame pointer.
6333 (note_mode_line_or_margin_highlight, note_mouse_highlight):
6334 Handle `pointer' text property and :pointer image property to
6335 control frame pointer shape. Detect image hot-spots for pointer
6336 and help_echo properties. Use define_frame_cursor1.
6337 (note_mouse_highlight): Use Vvoid_text_area_pointer.
6338 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
6339 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
6340
6341 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
6342
6343 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
6344 (Qimage): Remove extern (now in lisp.h).
6345 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6346
6347 * xmenu.c (show_help_event): Remove unused code.
6348
6349 * xterm.c (Qface, Qmouse_face): Remove unused externs.
6350 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
6351 row's ascent and descent, to get a sensible height on tall rows.
6352
6353 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
6354
6355 * minibuf.c (Fcompleting_read): Undo previous change.
6356
6357 2003-12-25 Lars Hansen <larsh@math.ku.dk>
6358
6359 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
6360 Arguments GCPRO'ed in call to file name handler.
6361
6362 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
6363
6364 * termcap.c (tgetst1): Scan for "%pN"; if all
6365 N are continuous in [1,9], remove all "%pN".
6366
6367 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6368
6369 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
6370
6371 * xfaces.c (lface_fully_specified_p): Take into account that
6372 MAC OS always have unspecified stipple.
6373
6374 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
6375
6376 * tparam.c (tparam1): Add handling for `%pN', which
6377 means use param N for the next substitution.
6378
6379 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
6380
6381 * xfaces.c (Fcolor_gray_p): Fix omission bug:
6382 In case `frame' is nil, consult the selected frame.
6383 (Fcolor_supported_p): Likewise.
6384
6385 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
6386
6387 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
6388 Doc fixes.
6389
6390 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
6391 and an integer. Adapt the introductory comment accordingly.
6392 (Fread_from_minibuffer): Delete code moved into read_minibuf.
6393 Doc fix.
6394 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
6395 read_minibuf.
6396 (Fcompleting_read): Delete code moved into read_minibuf.
6397 (Ftest_completion): Make it handle obarrays and hash tables correctly.
6398
6399 2003-12-03 Kenichi Handa <handa@m17n.org>
6400
6401 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
6402 encoding sequence.
6403
6404 2003-12-01 Kenichi Handa <handa@m17n.org>
6405
6406 * composite.c (syms_of_composite): Don't make the compostion hash
6407 table week.
6408
6409 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
6410
6411 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
6412 * textprop.c (Fget_char_property_and_overlay): New function.
6413 (syms_of_textprop): Defsubr it.
6414
6415 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6416
6417 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
6418 to compile on terminal configuration.
6419
6420 * fileio.c (Fread_file_name): Check use_file_dialog also before
6421 calling Fx_file_dialog.
6422
6423 * fns.c: use_file_dialog: New variable.
6424 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
6425
6426 2003-11-29 Kim F. Storm <storm@cua.dk>
6427
6428 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
6429 (syms_of_msdos): Don't intern and staticpro them.
6430
6431 2003-11-27 Kim F. Storm <storm@cua.dk>
6432
6433 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
6434 coordinates relative to glyph at posn. If glyph is an image,
6435 return that as object at posn. Callers changed.
6436 (mode_line_string, marginal_area_string): Calculate and return
6437 pixel coordinates relative to glyph. Callers changed.
6438
6439 * dispextern.h (buffer_posn_from_coords, mode_line_string)
6440 (marginal_area_string): Fix prototypes.
6441 (window_box_left_offset, window_box_right_offset): Add prototypes.
6442
6443 * frame.h (get_specified_cursor_type, get_window_cursor_type):
6444 Remove prototypes.
6445
6446 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
6447
6448 * keyboard.c (make_lispy_position): Add x and y coordinates
6449 relative to the current glyph as 7th element of position.
6450 If glyph is an image, return it in the object element.
6451 (read_key_sequence): Skip checks for keymap property in cases
6452 where POSN_STRING is not a string (e.g. an image).
6453
6454 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
6455 (Vshow_text_cursor_in_void): New variable.
6456 (glyph_to_pixel_coords): Don't use negative hpos.
6457 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
6458 (append_stretch_glyph): Change ascent arg to be actual value
6459 in pixels rather than ratio to height. Callers changed.
6460 (calc_pixel_width_or_height): New aux function, implementing
6461 pixel based artihmetic for glyph widths and heights.
6462 (produce_stretch_glyph): Use calc_pixel_width_or_height for
6463 :width, :height, :align-to, and :ascent, thus allowing these to
6464 be specified in pixels as well as multiples of characters.
6465 Don't produce stretch glyphs with zero width or height.
6466 (get_specified_cursor_type): Declare static.
6467 (get_window_cursor_type): Declare static. Add glyph arg to be
6468 able to know when cursor is on an image; always substitute
6469 hollow-box cursor for filled-box cursor on images, to avoid
6470 negative images and flicker when blinking the cursor.
6471 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
6472 (note_mode_line_or_margin_highlight): Use non-text cursor rather
6473 than vertical scroll-bar cursor in display margins.
6474 (note_mouse_highlight): Use non-text cursor rather than text
6475 cursor in fringes and over images in the text area.
6476 Use non-text cursor when mouse pointer is outside editable text,
6477 i.e. in the void after end-of-line or end-of-buffer; this was
6478 already done for W32, but is now standard for all systems --
6479 user can toggle show-text-cursor-in-void to get old behaviour.
6480 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
6481 Vdisplay_pixels_per_inch.
6482
6483 2003-11-25 Andreas Schwab <schwab@suse.de>
6484
6485 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
6486 EMACS_INT to not lose bits.
6487 (Ffillarray): Don't set bits beyond the size of a bool vector.
6488
6489 2003-11-25 Kim F. Storm <storm@cua.dk>
6490
6491 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
6492 define this defun on systems that cannot use stderr as lvalue.
6493
6494 2003-11-24 Gerd Moellmann <gerd@gnu.org>
6495
6496 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
6497 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
6498 ld's default is incompatible with unexec.
6499
6500 2003-11-23 Kim F. Storm <storm@cua.dk>
6501
6502 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
6503 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
6504 (Fforce_window_update): New defun.
6505 (syms_of_window): Defsubr it.
6506 (Fset_window_margins, Fset_window_fringes): Doc fix.
6507
6508 * print.c (Fredirect_debugging_output): New defun.
6509 (syms_of_print): Defsubr it.
6510
6511 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
6512
6513 * fns.c (Fset_char_table_parent): Doc fix.
6514
6515 2003-11-22 Kim F. Storm <storm@cua.dk>
6516
6517 * dispnew.c (buffer_posn_from_coords): Return actual row/column
6518 for glyph clicked on, rather than (unused) pixel positions.
6519 (mode_line_string, marginal_area_string): Change X and Y args to
6520 pointers for returning actual row/column for glyph clicked on.
6521 Simplify and optimize loops.
6522
6523 * dispextern.h (mode_line_string, marginal_area_string):
6524 Update prototypes.
6525
6526 * keyboard.c (make_lispy_position): New function for generating
6527 mouse click positions from frame and pixel coordinates.
6528 Enhanced to return buffer position and actual row/column for
6529 events outside the text area using updated mode_line_string and
6530 marginal_area_string functions.
6531 Return left-fringe and right-fringe clicks as such, rather than
6532 clicks in text area.
6533 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
6534 pixel_to_glyph_coords, as we never use the results.
6535 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
6536 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
6537 Eliminate unused code in WHEEL_EVENT handling.
6538 (make_lispy_movement): Use make_lispy_position.
6539
6540 * window.c (coordinates_in_window): Remove redundant tests.
6541 Fix returned X pixel value for left-margin.
6542
6543 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
6544 mode_line_string and marginal_area_string parameters.
6545
6546 2003-11-22 Lars Hansen <larsh@math.ku.dk>
6547
6548 * w32.c (struct the_group, getgrgid): Add.
6549 * mac.c (struct my_group, getgrgid): Add.
6550
6551 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
6552
6553 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
6554
6555 2003-11-21 Lars Hansen <larsh@math.ku.dk>
6556
6557 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
6558 include in call to file name handler. Optionally translate numeric
6559 UID and GID to strings. Update docstring.
6560 (directory_files_internal): Add parameter ID-FORMAT.
6561 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
6562 include in call to file name handler and call to
6563 directory_files_internal. Update Docstring.
6564 (Fdirectory_files): Add dummy parameter in call to
6565 directory_files_internal.
6566 * lisp.h (Qinteger): Add.
6567 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
6568 (Ffile_attributes): Add parameter.
6569 * data.c (Qinteger): Export.
6570
6571 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
6572
6573 * fns.c (Freverse, Fnreverse): Doc fixes.
6574
6575 2003-11-19 Kim F. Storm <storm@cua.dk>
6576
6577 * xdisp.c (init_iterator): Initialize it->start to position
6578 before reseating (in case start position is invisible).
6579 (init_to_row_start): Set it->start to row-start.
6580 (redisplay_window): Accept optional_new_start if start position
6581 is invisible (in which case IT_CHARPOS overshoots PT).
6582 (display_line): Setup row->start from it->start (rather than
6583 it->current which is wrong if first char on line is invisible).
6584 When done, reseat it->start to it->current (= start of next row).
6585 (expose_area): Fix exposure of text area when first char (e.g. TAB)
6586 is only partially visible.
6587
6588 * dispextern.h (struct it): New member start.
6589
6590 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
6591
6592 * alloc.c (make_float, Fcons): Clear the markbit at init time.
6593 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
6594 of block_index outside of the macro call.
6595 (Fgarbage_collect): Remove null code.
6596
6597 * m/amdx86-64.h: Don't redefine XPNTR.
6598
6599 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
6600 of VALMASK.
6601
6602 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
6603 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
6604 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
6605
6606 * lisp.h (VALMASK): Only define for non-union type.
6607 (MARKBIT): Remove.
6608 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
6609 (XTYPE): Define unconditionally.
6610 (XSETTYPE): Remove one more remnant.
6611 (EQ): Define differently for the union and non-union cases.
6612 (INTMASK): New bit mask.
6613 (struct Lisp_Marker): Move down to prepare for upcoming patch.
6614 (GC_EQ): Delegate to EQ.
6615
6616 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
6617
6618 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6619
6620 * xterm.c (x_window_to_scroll_bar): Move check of display to
6621 where window_id is compared.
6622
6623 2003-11-17 Kim F. Storm <storm@cua.dk>
6624
6625 * dispextern.h (struct it): New member first_vpos.
6626
6627 * xdisp.c (start_display): Set it->first_vpos.
6628 (try_window_id): Use first_vpos to start display in first _text_
6629 line if no reusable lines at start of window with header line.
6630
6631 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6632
6633 * w32fns.c (XPutPixel):
6634 * w32bdf.c (w32_init_bdf_font):
6635 * sunfns.c (sel_read):
6636 * process.c (Fmake_network_process):
6637 * frame.c (store_frame_param):
6638 * fontset.c (Fset_fontset_font):
6639 * emacs.c (shut_down_emacs):
6640 * ccl.c (ccl_driver): Remove period at end of error message.
6641
6642 * config.in: Regenerate.
6643
6644 * xfns.c (x_window_to_frame, x_any_window_to_frame)
6645 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
6646 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
6647 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
6648 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
6649
6650 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
6651
6652 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
6653 (XTmouse_position, handle_one_xevent): Pass Display* to
6654 x_window_to_scroll_bar.
6655 (x_window_to_scroll_bar): Take a Display* argument.
6656 Check that display for frame is equal to Display* argument.
6657 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
6658 x_display_info_for_display instead. Use Display in xev instead
6659 of GDK_DISPLAY.
6660 (x_dispatch_event): Call x_display_info_for_display.
6661 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
6662 (x_connection_closed): Call xg_display_close for GTK.
6663 (x_term_init): Call xg_display_open for additional displays.
6664 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
6665 for GTK.
6666
6667 * xmenu.c (single_menu_item, mouse_position_for_popup)
6668 (x_activate_menubar): Formatting adjustments.
6669
6670 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
6671 adjustments.
6672
6673 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
6674 (xg_display_close, xg_create_default_cursor)
6675 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
6676 handling.
6677 (xg_left_ptr_cursor): Remove.
6678 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
6679 cursor here.
6680 (xg_win_to_widget): Take Display* argument, call
6681 gdk_xid_table_lookup_for_display.
6682 (xg_create_frame_widgets, xg_get_file_name, create_menus)
6683 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
6684 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
6685 in FRAME_X_DISPLAY_INFO.
6686 (xg_get_scroll_id_for_window): Take Display* argument.
6687 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
6688 (xg_initialize): Remove xg_left_ptr_cursor.
6689
6690 * gtkutil.h (xg_get_scroll_id_for_window, xg_win_to_widget): Add
6691 Display* argument.
6692 (xg_display_open, xg_display_close, xg_create_default_cursor): Declare.
6693
6694 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6695
6696 * xterm.c (x_detect_focus_change): Do not change focus frame for
6697 Enter/LeaveNotify if the current focus frame has explicit focus.
6698
6699 2003-11-14 Kim F. Storm <storm@cua.dk>
6700
6701 * dispnew.c (update_text_area): Fix redisplay error when hscroll
6702 is active and first glyph is only partially visible.
6703
6704 2003-11-13 Kenichi Handa <handa@m17n.org>
6705
6706 * xdisp.c (select_frame_for_redisplay): New function.
6707 (redisplay_internal): Record also selected_frame for
6708 unwind_redisplay. Call select_frame_for_redisplay before
6709 redrawing each frame.
6710 (unwind_redisplay): Argument changed to a cons.
6711
6712 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
6713
6714 * fns.c (Fstring_to_multibyte): Doc fix.
6715
6716 2003-11-11 Kenichi Handa <handa@m17n.org>
6717
6718 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
6719
6720 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6721
6722 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
6723 program specified positions.
6724
6725 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6726
6727 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
6728
6729 2003-11-08 Kenichi Handa <handa@m17n.org>
6730
6731 * Makefile.in (lisp): Add kannada.el.
6732 (shortlisp): Likewise.
6733
6734 2003-11-07 Kenichi Handa <handa@m17n.org>
6735
6736 * coding.c (coding_allocate_composition_data):
6737 Reset coding->composing to COMPOSITION_NO.
6738 (coding_restore_composition): Detect invalid composition data.
6739 Give Fstring and Fvector a Lispy integer, not C int.
6740
6741 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
6742
6743 * floatfns.c (Flogb): Don't use VALMASK.
6744
6745 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
6746 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
6747
6748 * lisp.h (XINT): Move the cast to clarify what is going on.
6749 (GCTYPEMASK, XSETTYPE): Remove.
6750 (XGCTYPE): Make it an alias of XTYPE.
6751
6752 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6753
6754 * xterm.c (x_term_init): Fix formatting.
6755
6756 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6757
6758 * gtkutil.h (xg_have_tear_offs): Declare.
6759 (xg_keep_popup, xg_did_tearoff): Remove.
6760
6761 * gtkutil.c: Remove variable xg_did_tearoff.
6762 (xg_have_tear_offs): New function.
6763 (tearoff_remove): Just decrease xg_detached_menus.
6764 (tearoff_activate): Increase xg_detached_menus and call
6765 tearoff_remove when tearoff is removed.
6766 (xg_keep_popup): Remove function.
6767 (create_menus): Give add_tearoff_p as argument to recursive
6768 call to create_menus.
6769 (xg_create_widget): Use variables instead of multiple
6770 strcmp. Tell create_menus to create tear off only for
6771 menu bar menus.
6772 (xg_update_menubar): Change title for a detached menu also.
6773 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
6774 of deep_p.
6775 (xg_initialize): Initialize xg_detached_menus, remove
6776 initialization of xg_did_tearoff.
6777
6778 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
6779 xg_have_tear_offs returns non-zero.
6780 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
6781 call to xg_keep_popup.
6782
6783 2003-11-01 Andrew Choi <akochoi@shaw.ca>
6784
6785 * macterm.c (XTread_socket): Handle menubar selection and grow
6786 window only for mouseDown events.
6787
6788 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6789
6790 * xterm.c (x_term_init): For GTK part, increase x_initialized
6791 to check for more than one display. Use error instead of return 0.
6792
6793 2003-10-31 Andrew Choi <akochoi@shaw.ca>
6794
6795 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
6796 (copy_dysymtab): Call it.
6797
6798 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
6799
6800 * eval.c (Fdefvaralias): Doc fix.
6801
6802 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
6803
6804 * data.c (Fsetplist): Doc fix.
6805
6806 2003-10-14 Lute Kamstra <lute@gnu.org>
6807
6808 * window.c (Fset_window_fringes): Clarify docstring.
6809
6810 2003-10-14 Kim F. Storm <storm@cua.dk>
6811
6812 * window.c (Fset_window_margins): Simplify arg checking.
6813
6814 2003-10-13 Richard M. Stallman <rms@gnu.org>
6815
6816 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
6817 (print_partial_compiled_pattern): Replace assert with a printout.
6818 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
6819
6820 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
6821
6822 * window.c (Fset_window_margins): Allow only integers as args.
6823 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
6824 Doc fixes.
6825
6826 2003-10-13 Lute Kamstra <lute@gnu.org>
6827
6828 * window.c (Fset_window_fringes): Elaborate docstring.
6829
6830 2003-10-12 Andrew Choi <akochoi@shaw.ca>
6831
6832 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
6833
6834 * s/darwin.h (GC_MARK_STACK): Define.
6835
6836 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6837
6838 * window.c (shrink_windows): New function.
6839 (size_window): Call shrink_windows to calculate window sizes when
6840 shrinking frame with more than one window.
6841
6842 2003-10-12 Kim F. Storm <storm@cua.dk>
6843
6844 * xdisp.c (compute_fringe_widths): Doc fix.
6845
6846 2003-10-08 Kenichi Handa <handa@m17n.org>
6847
6848 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
6849
6850 2003-10-07 Kenichi Handa <handa@m17n.org>
6851
6852 * coding.c (Qcoding_system_define_form): New variable.
6853 (syms_of_coding): Intern and staticpro it.
6854 (Fcheck_coding_system): Try to autoload the definition of
6855 CODING-SYSTEM.
6856
6857 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
6858
6859 * fns.c (Frequire): Doc fix.
6860
6861 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6862
6863 * xfns.c (Fx_send_client_event): New function as a base for
6864 manipulating extended window manager hints.
6865 (Fx_send_client_event): Remove unused variable s.
6866
6867 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
6868 that function is removed.
6869
6870 * xterm.c (x_set_offset): Use move_offset_left/top instead of
6871 x/y_pixels_outer_diff.
6872 (x_check_expected_move): Calculate move_offset_left/top.
6873
6874 * xterm.h (struct x_output): New members: move_offset_top/left.
6875
6876 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
6877 call x_set_offset directly.
6878
6879 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
6880
6881 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
6882
6883 * xterm.c (x_delete_display): Free font names and font_encoder
6884 in dpyinfo->font_table.
6885
6886 * xfns.c (Fx_close_connection): Only call XFreeFont here.
6887 Move xfree of font names to x_delete_display.
6888
6889 * xterm.h (struct x_display_info): New member, wm_type.
6890 (struct x_output): New members, expected_top/left and
6891 check_expected_move.
6892
6893 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
6894 is received.
6895 (handle_one_xevent): Rename x_check_expected_move from
6896 x_check_fullscreen_move.
6897 (x_set_offset): Only add WM decoration sizes to modified_top/left
6898 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
6899 (x_check_expected_move): Rename from x_check_fullscreen_move.
6900 Removed fullscreen specific code. Use check_expected_move,
6901 expected_left/top instead. Also, set wm_type.
6902 (x_term_init): Initialize wm_type to unknown.
6903
6904 * frame.c (x_fullscreen_move): Remove addition of WM decoration
6905 sizes to move_x/y.
6906
6907 2003-10-03 Kenichi Handa <handa@m17n.org>
6908
6909 * macterm.c (x_load_font): Clear all members of FONTP before start
6910 filling them.
6911
6912 2003-10-02 Kenichi Handa <handa@m17n.org>
6913
6914 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
6915 before calling find_ccl_program_func. Call find_ccl_program_func
6916 only when fontp->font_encoder is not NULL.
6917
6918 * xterm.c (x_load_font): Clear all members of FONTP before start
6919 filling them.
6920
6921 2003-10-03 John Paul Wallington <jpw@gnu.org>
6922
6923 * keymap.c (map_keymap): Don't abort when binding is a vector.
6924
6925 2003-10-02 Jason Rumney <jasonr@gnu.org>
6926
6927 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
6928 Sync dependencies with Makefile.in.
6929 (alloca.o): Remove.
6930
6931 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
6932 filling them.
6933
6934 * w32bdf.c (w32_load_bdf_font): Likewise.
6935
6936 2003-09-30 Richard M. Stallman <rms@gnu.org>
6937
6938 * term.c (set_tty_color_mode): Calculate current_mode_spec
6939 regardless of value of VAL.
6940
6941 * intervals.c (graft_intervals_into_buffer):
6942 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
6943 Handle over_used when splitting UNDER.
6944
6945 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6946
6947 * regex.c (regex_compile): Free the stack when returning from function.
6948
6949 2003-09-28 Kenichi Handa <handa@m17n.org>
6950
6951 * fontset.c (Finternal_char_font): Change return value to
6952 cons (FONT-NAME . GLYPH-CODE).
6953
6954 2003-09-28 Eli Zaretskii <eliz@gnu.org>
6955
6956 * term.c (tty_setup_colors): Treat any negative argument as -1.
6957
6958 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
6959
6960 * process.c (send_process): Delete unused temp_buf.
6961
6962 2003-09-26 Dave Love <fx@gnu.org>
6963
6964 * xterm.c (x_bitmap_mask): Declare.
6965
6966 2003-09-25 Dave Love <fx@gnu.org>
6967
6968 * Makefile.in (fns.o): Depend on md5.h.
6969
6970 2003-09-25 Kim F. Storm <storm@cua.dk>
6971
6972 * window.c (set_window_buffer): Fix redisplay problems when
6973 switching between buffers with different display margin widths.
6974
6975 2003-09-23 Kim F. Storm <storm@cua.dk>
6976
6977 * process.c (set_socket_option): Fix :bindtodevice option.
6978 (Fset_network_process_option): Update process contact list when
6979 setting option succeeds.
6980 (Fmake_network_process): Doc fix.
6981
6982 2003-09-23 Dave Love <fx@gnu.org>
6983
6984 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
6985
6986 2003-09-22 Eli Zaretskii <eliz@gnu.org>
6987
6988 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
6989 color mode is an integer number (it could be -1).
6990
6991 2003-09-22 Richard M. Stallman <rms@gnu.org>
6992
6993 * intervals.c (graft_intervals_into_buffer): Correct the main loop
6994 in the case where OVER is longer than UNDER.
6995
6996 2003-09-22 Masatake YAMATO <jet@gyve.org>
6997
6998 * window.c (Fset_window_scroll_bars): Validate the value of
6999 `vertical_type'.
7000
7001 2003-09-21 Kim F. Storm <storm@cua.dk>
7002
7003 * frame.c (Vdefault_frame_scroll_bars): New variable.
7004 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
7005 (syms_of_frame): DEFVAR_LISP it, and initialize according to
7006 window-system default scroll bar position.
7007
7008 * window.c (Fwindow_scroll_bars): Doc fix.
7009
7010 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7011
7012 * xterm.c (x_set_offset): Take window manager decorations into account.
7013
7014 2003-09-19 Richard M. Stallman <rms@gnu.org>
7015
7016 * atimer.h: Don't include lisp.h.
7017 (P_): Define it here (as well as elsewhere).
7018
7019 * print.c (Fprin1_to_string): Move the PRINTPREPARE
7020 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
7021
7022 * data.c (Fvariable_binding_locus): New function.
7023 (syms_of_data): defsubr it.
7024 (Flocal_variable_p): Delete duplicate call to indirect_variable.
7025
7026 2003-09-18 Dave Love <fx@gnu.org>
7027
7028 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
7029
7030 * process.c (Fnetwork_interface_info): Fix type error.
7031 (Fnetwork_interface_list): Doc fix.
7032 (read_process_output, read_process_output): Delete unused var.
7033
7034 2003-09-17 Kim F. Storm <storm@cua.dk>
7035
7036 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
7037 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
7038 (Fnetwork_interface_info): Check that ifreq struct has required
7039 fields before accessing them; this requires that those fields are
7040 defined as macros, which may be too restrictive on some platforms,
7041 but it is better than failing on other platforms.
7042 (syms_of_process): Only defsubr above fns when included.
7043
7044 2003-09-17 Dave Love <fx@gnu.org>
7045
7046 * unexalpha.c: Don't include varargs.h.
7047
7048 2003-09-17 Kim F. Storm <storm@cua.dk>
7049
7050 * process.c (Fset_process_sentinel): Add sentinel to childp plist
7051 for network process.
7052 (socket_options): Add `:' prefix to option names. Add optbit field.
7053 (set_socket_option): Remove no_error arg and special handling of s < 0.
7054 Return 1<<optbit for known option, 0 for unknown.
7055 Do not interpret 0 as false for boolean option (only nil).
7056 Pass failed option and value to report_file_error.
7057 (Fset_network_process_options): Replace by Fset_network_process_option.
7058 (Fset_network_process_option): New function to set just one option.
7059 (Fmake_network_process): Allow :coding arg to be a cons.
7060 Allow :server arg to be an integer specifying backlog size.
7061 Remove :options arg, and allow options to be specified directly
7062 as :KEY, VALUE pairs. Parse these options before binding socket.
7063 As before, :reuseaddr t is default for a server process, but this
7064 can now be disabled by specifying :reuseaddr nil.
7065 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
7066 (init_process): Availability of network options is now checked with
7067 simpler syntax (featurep 'make-network-process :OPTION); use loop to
7068 setup features.
7069 (syms_of_process): Fix defsubr's for the replaced functions.
7070
7071 2003-09-16 Dave Love <fx@gnu.org>
7072
7073 * Makefile.in: Depend on coding.h.
7074
7075 2003-09-14 Kim F. Storm <storm@cua.dk>
7076
7077 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
7078 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
7079 (syms_of_process): Defsubr them.
7080
7081 * config.in: Regenerate.
7082
7083 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
7084
7085 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
7086 * m/news-r6.h (XUNMARK): Remove.
7087 * m/mips.h (XUNMARK): Remove.
7088 * m/mips-siemens.h (XUNMARK): Remove.
7089 * m/iris4d.h (XUNMARK): Remove.
7090 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
7091
7092 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
7093
7094 * lisp.h (VALBITS): Don't remove 1 for the markbit.
7095 (union Lisp_Object): Use unsigned int for types. Remove markbit.
7096 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
7097 (XTYPE): Use unsigned right-shift.
7098 (XMARKBIT, XMARK, XUNMARK): Remove.
7099
7100 * alloc.c (init_intervals, init_symbol, init_marker):
7101 Don't preallocate anything.
7102 (Fgarbage_collect, mark_object): Ignore the markbit.
7103
7104 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
7105
7106 2003-09-08 Lute Kamstra <lute@gnu.org>
7107
7108 * xdisp.c (pint2hrstr): New function.
7109 (decode_mode_spec): Add `%i' and `%I' specs.
7110 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
7111 for `mode-line-format'.
7112
7113 2003-09-07 Andreas Schwab <schwab@suse.de>
7114
7115 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
7116 avoid warning.
7117
7118 2003-09-07 Eli Zaretskii <eliz@gnu.org>
7119
7120 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
7121
7122 2003-09-03 Kim F. Storm <storm@cua.dk>
7123
7124 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
7125 change (superseded by 2002-08-30 change); the default blink-off
7126 cursor is now again "no cursor".
7127
7128 2003-09-01 Jason Rumney <jasonr@gnu.org>
7129
7130 * makefile.w32-in (alloca.o): Remove.
7131 (coding.o): Depend on intervals.h
7132 (emacs.o, bytecode.o): Depend on window.h
7133
7134 2003-09-01 Dave Love <fx@gnu.org>
7135
7136 * Makefile.in (alloca.o): Remove commands.
7137 (coding.o): Depend on intervals.h composite.h window.h.
7138 (emacs.o): Depend on window.h keyboard.h keymap.h.
7139 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
7140 (bytecode.o): Depend on window.h.
7141
7142 2003-08-31 Jason Rumney <jasonr@gnu.org>
7143
7144 * w32term.c (w32_per_char_metric): Allow cached metrics to be
7145 returned even when font_type is unknown.
7146
7147 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
7148
7149 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7150
7151 * xterm.c (x_term_init): Initialize new fields in x_display_info.
7152
7153 * xterm.h (struct x_display_info): Add red/green/blue_bits and
7154 *_offset.
7155
7156 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
7157 calculate pixel value.
7158
7159 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
7160
7161 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
7162 Don't tell redisplay display is accurate when it's actually been
7163 paused for pending input.
7164
7165 2003-08-29 Richard M. Stallman <rms@gnu.org>
7166
7167 * dispnew.c (adjust_glyph_matrix): Call window_box
7168 whenever W is nonzero.
7169
7170 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
7171 (Fkill_local_variable, Fmake_variable_frame_local)
7172 (Flocal_variable_p, Flocal_variable_if_set_p):
7173 Use indirect_variable to trace thru variable aliases.
7174
7175 * config.in: Updated.
7176
7177 * callint.c (Fcall_interactively): Save and restore
7178 Vthis_command, Vthis_original_command, real_this_command,
7179 and current_kboard->Vlast_command.
7180
7181 * abbrev.c (Fexpand_abbrev): Insert before deleting.
7182
7183 2003-08-29 Gerd Moellmann <gerd@gnu.org>
7184
7185 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
7186
7187 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
7188
7189 * coding.c (decode_coding_iso2022): Initialize local variable c2.
7190 (decode_coding_sjis_big5): Likewise.
7191
7192 2003-08-27 Jason Rumney <jasonr@gnu.org>
7193
7194 * w32.c (sys_pipe): Protect against file descriptor overflow.
7195
7196 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
7197
7198 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
7199
7200 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
7201
7202 * xfns.c (Vgtk_version_string): New variable.
7203 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
7204
7205 2003-08-24 Eli Zaretskii <eliz@gnu.org>
7206
7207 * term.c (term_init): Remove `const' from buffer_size's declaration.
7208
7209 * Makefile.in (msdos.o): Depend on intervals.h.
7210
7211 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
7212
7213 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7214
7215 * xterm.h (struct x_display_info): New fields: client_leader_window
7216 and Xatom_wm_client_leader.
7217
7218 * xterm.c (x_initialize): Move call to x_session_initialize to ...
7219 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
7220
7221 * xsmfns.c (create_client_leader_window): New function.
7222 (x_session_initialize): Call create_client_leader_window, take
7223 dpyinfo as argument.
7224
7225 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
7226
7227 * Makefile.in (xsmfns.o): Add more depenedencies.
7228
7229 2003-08-21 Dave Love <fx@gnu.org>
7230
7231 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
7232
7233 2003-08-21 Kenichi Handa <handa@m17n.org>
7234
7235 * term.c (term_init): Fix previous change; don't rely on the
7236 length of `buffer' if TERMINFO is defined.
7237
7238 2003-08-20 Dave Love <fx@gnu.org>
7239
7240 * atimer.h: Include lisp.h.
7241
7242 * lisp.h (EMACS_LISP_H): New.
7243 (popup_activated_flag): Don't declare.
7244
7245 * alloca.c: Some merging with gnulib. Change logic and doc
7246 concerning (x)malloc/(x)free -- no longer Emacs-specific.
7247 [DO_BLOCK_INPUT]: Don't include lisp.h.
7248 (xmalloc, xfree): Declare.
7249 (malloc): Don't declare.
7250
7251 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
7252 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
7253 atimer.h, blockinput.h.
7254
7255 * alloc.c (lisp_align_malloc): Change type of `aligned'.
7256
7257 * alloca.s: Remove.
7258
7259 2003-08-19 Gerd Moellmann <gerd@gnu.org>
7260
7261 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
7262 use -lncurses.
7263
7264 * term.c (term_init): Use a buffer of size 4096 for tgetent since
7265 FreeBSD returns something longer than 2044. Abort if the end of
7266 the buffer is overwritten.
7267
7268 2003-08-19 Miles Bader <miles@gnu.org>
7269
7270 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
7271
7272 2003-08-19 Gerd Moellmann <gerd@gnu.org>
7273
7274 * alloc.c (lisp_align_malloc): Check for memory full when
7275 allocating ablocks, which also avoids freeing a pointer into an
7276 ablocks structure.
7277
7278 * puresize.h (BASE_PURESIZE): Increase to 1100000.
7279
7280 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
7281
7282 2003-08-16 Richard M. Stallman <rms@gnu.org>
7283
7284 * editfns.c (Fencode_time): Doc fix.
7285
7286 2003-08-16 David Ponce <david@dponce.com>
7287
7288 * fileio.c (Fwrite_region): Fix conditional expression to issue
7289 the right message.
7290
7291 2003-08-16 Juri Linkov <juri@jurta.org>
7292
7293 * syntax.c (Fforward_word): Argument changed to optional.
7294 Set default value to 1.
7295
7296 2003-08-15 Kenichi Handa <handa@m17n.org>
7297
7298 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
7299 what autoscaled.
7300 (best_matching_font): Once we find a better scalable font, set
7301 non_scalable_has_exact_height_p to 1.
7302 (try_font_list): Call try_alternative_families to try any family
7303 with the given registry.
7304
7305 2003-08-09 Andreas Schwab <schwab@suse.de>
7306
7307 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
7308
7309 * print.c (print_string): Fix printing of multibyte string with
7310 nontrivial printcharfun.
7311
7312 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7313
7314 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
7315
7316 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
7317
7318 2003-07-31 Kenichi Handa <handa@m17n.org>
7319
7320 * process.c (read_process_output): Return the actually read bytes
7321 instead of the result of decoding.
7322
7323 2003-07-31 Kenichi Handa <handa@m17n.org>
7324
7325 * xterm.h (struct x_bitmap_record): New member have_mask.
7326
7327 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
7328 to 0.
7329 (x_create_bitmap_from_file): Likewise.
7330 (x_destroy_bitmap): Check have_mask member before freeing a mask.
7331 (x_destroy_all_bitmaps): Likewise.
7332 (x_create_bitmap_mask): Set have_mask member to 1.
7333
7334 2003-07-30 Richard M. Stallman <rms@gnu.org>
7335
7336 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
7337
7338 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7339
7340 * gtkutil.c (xg_mark_data): Update calls to mark_object.
7341
7342 2003-07-29 Richard M. Stallman <rms@gnu.org>
7343
7344 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
7345 Conditionalize XIM code on HAVE_XIM.
7346
7347 * fns.c (Fclear_string): New function.
7348 (syms_of_fns): defsubr it.
7349
7350 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
7351
7352 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
7353
7354 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
7355
7356 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
7357
7358 * buffer.c (delete_all_overlays): New function.
7359 * buffer.h (delete_all_overlays): Declare.
7360 * coding.c (run_pre_post_conversion_on_str):
7361 * print.c (temp_output_buffer_setup):
7362 * fileio.c (Finsert_file_contents):
7363 * minibuf.c (get_minibuffer): Use it.
7364
7365 2003-07-22 Andrew Choi <akochoi@shaw.ca>
7366
7367 * unexmacosx.c (unexec_regions_sort_compare):
7368 (unexec_regions_merge): New functions. Sort and merge unexec
7369 regions before dumping them.
7370
7371 2003-07-22 Dave Love <fx@gnu.org>
7372
7373 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
7374
7375 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
7376
7377 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
7378 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
7379 MARKBIT as the gcmarkbit for strings.
7380
7381 2003-07-21 Richard M. Stallman <rms@gnu.org>
7382
7383 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
7384
7385 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
7386 (syms_of_fns): Corresponding change.
7387
7388 * alloc.c (syms_of_alloc): Doc fixes.
7389
7390 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
7391
7392 * s/netbsd.h: Use -Wl syntax.
7393
7394 2003-07-17 Richard M. Stallman <rms@gnu.org>
7395
7396 * xterm.c (xim_initialize): Redo 6/24 change.
7397
7398 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
7399
7400 * buffer.c (copy_overlays): Use EMACS_INT for positions.
7401 (Fswitch_to_buffer): Don't signal an error when switching to the same
7402 buffer in a dedicated window.
7403
7404 * alloc.c: Use bitmaps for cons, as was done for floats.
7405 (init_float, init_cons): Let the normal code allocate the first block.
7406 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
7407 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
7408 New macros.
7409 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
7410 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
7411 (live_cons_p): Check the pointer is not past the `conses' array.
7412 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
7413 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
7414 (survives_gc_p): Use CONS_MARKED_P and simplify.
7415 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
7416
7417 2003-07-13 Paul Eggert <eggert@twinsun.com>
7418
7419 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
7420 puts it into BSS instead, at least on Solaris 8 and 9.
7421 This is a valid optimization, and it may occur on other platforms,
7422 so Emacs should not assume that initializing a static variable to
7423 zero puts it into data.
7424 * alloc.c (pure, staticvec):
7425 Initialize these arrays to nonzero, so that they're not
7426 put into BSS by that optimization.
7427
7428 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
7429
7430 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
7431 (lisp_align_malloc): Use posix_memalign is available.
7432 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
7433 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
7434 for consistency. Update users.
7435
7436 2003-07-13 Richard M. Stallman <rms@gnu.org>
7437
7438 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
7439
7440 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
7441
7442 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
7443 and use the Gtk+ function gtk_window_icon_from_file if available.
7444
7445 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
7446 handle mask of bitmaps.
7447 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
7448 mask property.
7449 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
7450
7451 * xterm.h (xg_set_icon): New function.
7452
7453 2003-07-12 Paul Eggert <eggert@twinsun.com>
7454
7455 * unexelf.c (unexec): Consider a section to precede the .bss
7456 section if its addresses overlap that of .bss.
7457
7458 2003-07-12 Richard M. Stallman <rms@gnu.org>
7459
7460 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
7461
7462 * config.in (HAVE_CRTIN): Add #undef.
7463 (INLINE): Really inline only if OPTIMIZE is defined.
7464
7465 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
7466 END_FILES_1.
7467 (START_FILES_1, END_FILES_1): New macros (conditional).
7468 (LD_SWITCH_SYSTEM_TEMACS): Define.
7469
7470 * s/openbsd.h: Don't include bsd4-3.h.
7471 (TERMINFO): Define.
7472 (LIBS_TERMCAP): Define.
7473 (LD_SWITCH_SYSTEM): Define (two definitions).
7474
7475 * xfns.c: Include libpng/png.h instead of png.h.
7476
7477 2003-07-11 Andreas Schwab <schwab@suse.de>
7478
7479 * buffer.c (modify_overlay): Update prototype.
7480 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
7481 Likewise.
7482
7483 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7484
7485 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
7486 (struct interval): Move to intervals.h.
7487 (struct Lisp_Marker): Use EMACS_INT for position info.
7488 (forward_point): Remove prototype of defunct function.
7489 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
7490 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
7491 (syms_of_textprop, set_text_properties): Remove prototypes that are
7492 already in intervals.h.
7493
7494 * intervals.h (struct interval): Move from lisp.h.
7495 Use EMACS_INT for position and size info.
7496
7497 * coding.c: Include intervals.h for Fset_text_properties.
7498
7499 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
7500 position and length information.
7501
7502 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7503
7504 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
7505 position and length information.
7506
7507 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7508
7509 Change overlays_after and overlays_before so the overlays themselves
7510 are linked into lists, rather than using cons cells. After all each
7511 Lisp_Misc already occupies 5 words, so we can add a `next' field to
7512 Lisp_Overlay for free and save up one cons cell per overlay (not
7513 to mention one indirection when traversing the list of overlay).
7514
7515 * lisp.h (struct Lisp_Overlay): New field `next'.
7516
7517 * buffer.h (struct buffer): Change overlays_before and overlays_after
7518 from Lisp lists of overlays to pointers to overlays.
7519
7520 * buffer.c (overlay_strings, recenter_overlay_lists):
7521 Fix typo in eassert in last commit.
7522 (unchain_overlay): New function.
7523 (add_overlay_mod_hooklist): Use AREF.
7524 (copy_overlays, reset_buffer, overlays_at, overlays_in)
7525 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
7526 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
7527 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
7528 (report_overlay_modification, evaporate_overlays, init_buffer_once):
7529 Adjust to new type of overlays_(before|after).
7530
7531 * alloc.c (mark_object): Mark the new `next' field of overlays.
7532 (mark_buffer): Manually mark the overlays_(after|before) fields.
7533
7534 * coding.c (run_pre_post_conversion_on_str):
7535 * editfns.c (overlays_around):
7536 * xdisp.c (load_overlay_strings):
7537 * fileio.c (Finsert_file_contents):
7538 * indent.c (current_column):
7539 * insdel.c (signal_before_change, signal_after_change):
7540 * intervals.c (set_point_both):
7541 * print.c (temp_output_buffer_setup): Use new type for
7542 overlays_(before|after).
7543
7544 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
7545
7546 * buffer.c (report_overlay_modification): Don't run hooks while
7547 traversing the list of overlays.
7548
7549 * buffer.h (struct buffer): Use an int for overlay_center.
7550 (overlays_at, evaporate_overlays, recenter_overlay_lists)
7551 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
7552
7553 * buffer.c (reset_buffer, recenter_overlay_lists)
7554 (adjust_overlays_for_insert, adjust_overlays_for_delete)
7555 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
7556 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
7557 (overlays_at, evaporate_overlays, recenter_overlay_lists)
7558 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
7559
7560 * xdisp.c (fast_find_position): Remove unused var.
7561
7562 * cmds.c (Qexpand_abbrev): New sym.
7563 (syms_of_cmds): Initialize it.
7564 (internal_self_insert): Use it to call expand-abbrev.
7565
7566 2003-07-09 Kim F. Storm <storm@cua.dk>
7567
7568 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
7569 was configured with --without-xim.
7570 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
7571
7572 2003-07-07 Richard M. Stallman <rms@gnu.org>
7573
7574 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
7575
7576 * alloc.c (Fgarbage_collect): Doc fix.
7577
7578 2003-07-07 Nozomu Ando <nand@mac.com>
7579
7580 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
7581
7582 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
7583
7584 * minibuf.c (read_minibuf): UNGCPRO before returning.
7585 (Ftry_completion, Fall_completions): Doc fix.
7586
7587 * alloc.c (live_float_p): Check that p is not past the `floats' array,
7588 now that `floats' is not the last element of the struct any more.
7589
7590 2003-07-06 Jason Rumney <jasonr@gnu.org>
7591
7592 * w32term.h (ClipboardSequence_Proc): New type.
7593
7594 * w32fns.c (clipboard_sequence_fn): New variable.
7595 (globals_of_w32fns): Initialize it.
7596
7597 * w32select.c (last_clipboard_sequence_number): New variable.
7598 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
7599 number if possible.
7600
7601 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
7602
7603 * m/amdx86-64.h (MARKBIT):
7604 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
7605 MARKBIT and ARRAY_MARK_FLAG any more.
7606
7607 * m/hp800.h (XSETMARKBIT):
7608 * m/sr2k.h (XSETMARKBIT):
7609 * lisp.h (XSETMARKBIT): Remove unused macro.
7610
7611 * lisp.h (mark_object): Change prototype.
7612
7613 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
7614 (last_marked): Change accordingly.
7615 (mark_interval, mark_maybe_object, mark_maybe_pointer)
7616 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
7617 (mark_buffer): Update calls to mark_object.
7618
7619 * bytecode.c (mark_byte_stack):
7620 * fns.c (sweep_weak_table):
7621 * keyboard.c (mark_kboards): Update calls to mark_object.
7622
7623 2003-07-06 Jason Rumney <jasonr@gnu.org>
7624
7625 * alloc.c (struct ablock): Only include padding when there is some.
7626
7627 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
7628
7629 * alloc.c (ALIGN): Add casts to simplify usage.
7630 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
7631 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
7632 (struct ablock, struct ablocks): New types.
7633 (free_ablock): New global var.
7634 (lisp_align_malloc, lisp_align_free): New functions.
7635 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
7636 (struct float_block): Reorder and add gcmarkbits.
7637 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
7638 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
7639 (init_float, make_float): Use lisp_align_malloc.
7640 (free_float, live_float_p): Don't use `type' any more.
7641 (make_float): Use FLOAT_UNMARK to access to mark bit.
7642 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
7643 Use FLOAT_MARKED_P to access the mark bit.
7644 (pure_alloc): Simplify use of ALIGN.
7645 (mark_object): Use FLOAT_MARK to access the mark bit.
7646 (gc_sweep): Use new macros to access the float's mark bit.
7647 (init_alloc_once): Init free_ablock.
7648
7649 * lisp.h (struct Lisp_Float): Remove unused field `type'.
7650
7651 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
7652
7653 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
7654 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
7655 (allocate_buffer): Move.
7656 (string_bytes): Don't mask markbit of `size_byte'.
7657 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
7658 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
7659 Use the `size' field of buffers (rather than the `name' field) for
7660 the mark bit, as is done for all other vectorlike objects.
7661 Use the new macros to access the mark bit of vectorlike objects.
7662
7663 2003-06-26 Richard M. Stallman <rms@gnu.org>
7664
7665 * puresize.h (BASE_PURESIZE): Increment base size.
7666
7667 * xdisp.c (fast_find_position): Enable Gerd's new definition.
7668
7669 * xterm.c (xim_initialize): Undo previous change.
7670
7671 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
7672
7673 * alloc.c (survives_gc_p): Simplify.
7674
7675 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
7676
7677 * window.c (Fset_window_dedicated_p): Simplify.
7678 (display_buffer_1): Don't raise the win from which minibuf was entered.
7679 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
7680 (Fminibuffer_selected_window): Simplify.
7681
7682 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
7683
7684 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
7685 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
7686
7687 * insdel.c (check_markers, adjust_markers_for_delete)
7688 (adjust_markers_for_insert, adjust_markers_for_replace)
7689 (prepare_to_modify_buffer, RESTORE_VALUE):
7690 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
7691 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
7692 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
7693 * alloc.c (Fmake_marker, free_marker, gc_sweep):
7694 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
7695 * editfns.c (save_excursion_restore, transpose_markers):
7696 * window.c (delete_window):
7697 * xdisp.c (message_dolog): Update for new types.
7698
7699 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7700
7701 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
7702 (realize_default_face): Use default_face_done_p for the force_p
7703 argument to set_lface_from_font_name. Set default_face_done_p to one.
7704
7705 * frame.c (make_frame): Initialize default_face_done_p.
7706
7707 * frame.h (struct frame): Add default_face_done_p.
7708
7709 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
7710 will be defined.
7711
7712 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
7713
7714 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
7715 Initialize the new field `gcmarkbit'.
7716 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
7717 (mark_interval_tree): Don't mark the tree separately from the nodes.
7718 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
7719 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
7720 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
7721
7722 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
7723 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
7724 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
7725 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
7726 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
7727
7728 2003-06-24 Dave Love <fx@gnu.org>
7729
7730 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
7731
7732 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
7733 from gnulib.
7734
7735 2003-06-21 Richard M. Stallman <rms@gnu.org>
7736
7737 * fileio.c (Fwrite_region): Alternate messages
7738 for append and partial write.
7739
7740 * keyboard.c (read_key_sequence): When converting upcase fn key to
7741 downcase, update fkey and keytran so `backspace' gets translated.
7742
7743 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
7744
7745 * process.c (wait_reading_process_input): Don't signal SIGIO
7746 in batch mode.
7747
7748 2003-06-17 Kenichi Handa <handa@m17n.org>
7749
7750 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
7751 composite.h.
7752
7753 * xselect.c: Don't include charset.h, coding.h, composite.h.
7754 (Qforeign_selection): New variable.
7755 (syms_of_xselect): Intern and static it.
7756 (selection_data_to_lisp_data): Return a unibyte string made from
7757 data with `foreign-selection' text property.
7758
7759 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
7760
7761 * termhooks.h (EVENT_INIT): New macro.
7762
7763 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
7764
7765 * alloc.c (mark_kboards): Move to keyboard.c.
7766
7767 * keyboard.c (record_asynch_buffer_change, read_avail_input):
7768 * xterm.c (x_dispatch_event):
7769 * xmenu.c (find_and_call_menu_selection):
7770 * xdisp.c (handle_tool_bar_click):
7771 * w32menu.c (menubar_selection_callback):
7772 * sysdep.c (kbd_input_ast, read_input_waiting):
7773 * msdos.c (dos_rawgetc):
7774 * macterm.c (mac_check_for_quit_char):
7775 * macmenu.c (menubar_selection_callback):
7776 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
7777 data to kbd_buffer_store_event.
7778
7779 2003-06-15 Kim F. Storm <storm@cua.dk>
7780
7781 * xdisp.c (x_fix_overlapping_area): Always use area relative X
7782 to fix redisplay problem with tall characters (such as \e,AC\e(B).
7783
7784 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
7785
7786 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
7787
7788 2003-06-12 Kenichi Handa <handa@m17n.org>
7789
7790 * fileio.c (Fwrite_region): Save and restore restriction.
7791
7792 2003-06-12 Dave Love <fx@gnu.org>
7793
7794 * alloca.c (alloca): Declare arg as size_t.
7795
7796 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
7797 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
7798
7799 2003-06-11 Dave Love <fx@gnu.org>
7800
7801 * search.c (shrink_regexp_cache): Use xrealloc.
7802 (syms_of_search): Use xmalloc.
7803
7804 2003-06-10 Kim F. Storm <storm@cua.dk>
7805
7806 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
7807 Adjust phys_cursor.x to be relative to window box, rather than
7808 text area before checking -- to ensure cursor is redrawn when
7809 exposing window.
7810 Note: This also fixes a similar (older) bug if display margins
7811 are present.
7812
7813 2003-06-06 Kenichi Handa <handa@m17n.org>
7814
7815 * coding.c (encoding_buffer_size): If coding->type is
7816 coding_type_ccl, double magnification on CRLF encoding.
7817
7818 2003-06-06 Jason Rumney <jasonr@gnu.org>
7819
7820 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
7821 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
7822
7823 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
7824 Mac too.
7825
7826 2003-06-05 Dave Love <fx@gnu.org>
7827
7828 * strftime.c: Merge changes from gnulib.
7829
7830 * mktime.c (__mktime_internal): Merge changes from gnulib
7831 involving year 69 and dst2.
7832
7833 Changes to merge with gnulib version and be consistent with the
7834 autoconf test:
7835
7836 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
7837 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
7838 [HAVE_LOCALE_H]: Include locale.h.
7839 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
7840
7841 2003-06-05 Kim F. Storm <storm@cua.dk>
7842
7843 * window.c (coordinates_in_window): Convert X and Y to window
7844 relative coordinates inside mode-line and header-line parts.
7845 Convert X and Y to margin area relative coordinates inside left
7846 and right display margin parts.
7847
7848 2003-06-05 Jason Rumney <jasonr@gnu.org>
7849
7850 * w32fns.c (add_system_logical_colors_to_map): New function.
7851 (Fx_open_connection): Use it.
7852
7853 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
7854
7855 * process.c (allocate_pty): Revert part of the previous patch.
7856 (Faccept_process_output): Simplify.
7857
7858 2003-06-04 Jason Rumney <jasonr@gnu.org>
7859
7860 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
7861
7862 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
7863 (lispy_mouse_wheel_names): Remove.
7864 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
7865 Always define drag_and_drop_syms.
7866
7867 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
7868 WHEEL_EVENT events.
7869
7870 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
7871
7872 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
7873
7874 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
7875
7876 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7877
7878 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
7879 menu item label.
7880
7881 2003-06-03 Richard M. Stallman <rms@gnu.org>
7882
7883 * window.c (Fwindow_edges): Doc fix.
7884 (Fwindow_pixel_edges, Fwindow_inside_edges)
7885 (Fwindow_inside_pixel_edges): New functions.
7886 (syms_of_window): defsubr them.
7887
7888 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
7889 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
7890
7891 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
7892
7893 * dispnew.c (Fsit_for): Don't lie about the number of args.
7894
7895 2003-06-02 Dave Love <fx@gnu.org>
7896
7897 * callproc.c: Use HAVE_FCNTL_H, not USG5.
7898 (syms_of_callproc) <process-environment>: Doc fix.
7899
7900 * doc.c: Use HAVE_FCNTL_H, not USG5.
7901
7902 * xfaces.c (font_rescale_ratio): Fix for K&R.
7903
7904 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
7905
7906 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
7907
7908 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
7909
7910 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
7911 (xg_create_frame_widgets): Use ENCODE_UTF_8.
7912
7913 * xterm.c (Qutf_8): Move to coding.c
7914
7915 * xmenu.c (ENCODE_MENU_STRING): New.
7916 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
7917 Use it.
7918
7919 * coding.h (ENCODE_UTF_8): New.
7920 (Qutf_8): Declare.
7921
7922 * coding.c (Qutf_8): New.
7923 (syms_of_coding): Intern it.
7924
7925 * fns.c: Doc fixes.
7926
7927 2003-06-02 Kenichi Handa <handa@m17n.org>
7928
7929 * buffer.c (Fset_buffer_multibyte): Fix previous change.
7930
7931 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
7932
7933 * lread.c (openp): Make sure STR is a string.
7934
7935 2003-06-01 David Ponce <david@dponce.com>
7936
7937 * termhooks.h (enum event_kind): Add new WHEEL_EVENT event.
7938 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
7939
7940 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
7941 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
7942 (discard_mouse_events): Discard WHEEL_EVENT events too.
7943 (lispy_wheel_names, wheel_syms): New.
7944 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
7945 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX defined.
7946 (make_lispy_event): Add WHEEL_EVENT handler.
7947
7948 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
7949 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
7950 WHEEL_EVENT events.
7951
7952 2003-05-31 John Paul Wallington <jpw@gnu.org>
7953
7954 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
7955 timer are in lisp/emacs-lisp.
7956
7957 2003-05-31 Kenichi Handa <handa@m17n.org>
7958
7959 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
7960 region when a buffer is changed to unibyte.
7961
7962 * charset.h (VALID_LEADING_CODE_P): New macro.
7963 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
7964
7965 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
7966 is nonzero, accept multibyte form of eight-bit-control chars.
7967 (decode_composition_emacs_mule): Likewise.
7968 (decode_coding_emacs_mule): Likewise.
7969 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
7970 multibyte form of eight-bit-control chars.
7971
7972 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
7973 (Finsert_file_contents): If coding-system-for-read is bound to
7974 Qauto_save_coding, use the coding system emacs-mule with special
7975 setting for recovering a file.
7976 (choose_write_coding_system): On auto saving, use the coding
7977 system emacs-mule with special setting for auto saving.
7978 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
7979
7980 2003-05-30 Kenichi Handa <handa@m17n.org>
7981
7982 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
7983 properly before calling ccl_driver.
7984
7985 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
7986
7987 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is nonzero.
7988 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
7989 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
7990
7991 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
7992
7993 * xfaces.c (realize_default_face): Do not abort if lface is
7994 non-existent - reverts change from 2003-05-19.
7995
7996 2003-05-29 Kenichi Handa <handa@m17n.org>
7997
7998 * coding.c (decode_coding_iso2022): Pay attention to the byte
7999 sequence of CTEXT extended segment, and retain those bytes as is.
8000
8001 2003-05-28 Kenichi Handa <handa@m17n.org>
8002
8003 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjust for the name change
8004 of CODING_REPLACEMENT_CHARACTER.
8005 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
8006 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
8007 check this flag on encoding.
8008 (encode_coding_sjis_big5):
8009 Check CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
8010 (Fset_terminal_coding_system_internal):
8011 Set CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
8012 instead of setting CODING_FLAG_ISO_SAFE flag in terminal_coding.flags.
8013
8014 * coding.h (CODING_REPLACEMENT_CHARACTER): Rename from
8015 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
8016 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
8017
8018 2003-05-28 Richard M. Stallman <rms@gnu.org>
8019
8020 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
8021
8022 * eval.c (unbind_to): Move init of this_binding to separate statement.
8023
8024 2003-05-28 Kim F. Storm <storm@cua.dk>
8025
8026 * xdisp.c (expose_window): Fix error in calculation of
8027 window relative coordinates of area to redisplay.
8028
8029 2003-05-27 Jason Rumney <jasonr@gnu.org>
8030
8031 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
8032
8033 2003-05-27 David Ponce <david@dponce.com>
8034
8035 Handle W32 mouse wheel events as mouse click events, like in X.
8036
8037 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
8038 MOUSE_WHEEL_EVENT anymore.
8039
8040 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
8041 Scrolling down/up the mouse wheel is respectively mapped to mouse
8042 button 4 and 5.
8043 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
8044 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
8045 WM_MOUSEWHEEL events.
8046
8047 2003-05-27 Andreas Schwab <schwab@suse.de>
8048
8049 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
8050
8051 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
8052 partially visible line.
8053
8054 * alloc.c (Fgarbage_collect): Fix last change.
8055
8056 2003-05-26 John Paul Wallington <jpw@gnu.org>
8057
8058 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
8059
8060 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
8061
8062 * window.c (Fset_window_buffer): Add type of `keep_margins'.
8063 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
8064
8065 * window.h (window_box_text_cols): Declare.
8066
8067 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
8068 (x_draw_vertical_border): Remove unused var `f'.
8069
8070 * xfaces.c (build_scalable_font_name): Remove `unused var
8071 pixel_size' warning.
8072
8073 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
8074
8075 * unexelf.c (unexec): Remove `unused var n' warning.
8076
8077 * strftime.c (my_strftime_localtime_r): Remove `defined but
8078 unused' warning.
8079
8080 * process.c (allocate_pty): Remove `unused var stb' and
8081 `cp might be used uninitialized' warnings.
8082
8083 * dispnew.c (mode_line_string): Remove unused var `f'.
8084
8085 * coding.c (find_safe_codings): Remove unused var `i'.
8086
8087 * bytecode.c (Fbyte_code): Remove `unused val' warning.
8088
8089 * buffer.c (Fkill_buffer): Remove unused var `list'.
8090
8091 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
8092
8093 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8094
8095 * frame.c (make_frame): Condition want_fullscreen with
8096 HAVE_WINDOW_SYSTEM.
8097
8098 2003-05-25 Juanma Barranquero <lektu@terra.es>
8099
8100 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
8101 (Fwindow_scroll_bars): Fix typo in docstring.
8102
8103 2003-05-24 Kim F. Storm <storm@cua.dk>
8104
8105 The following changes serve several purposes:
8106
8107 1) Swap the position of fringes and display margins in windows, i.e.
8108 the fringes are now displayed between the margins and the text area
8109 (by default).
8110
8111 2) Allow fringe and scroll bar parameters to be set per-buffer and
8112 per-window (like display margins). Such settings are now stored
8113 in window configurations, preserved when frames are resized, and
8114 copied when windows are split vertically or horizontally.
8115 Several bugs related to display margins have been fixed.
8116
8117 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
8118
8119 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
8120 rather than FRAME_WIDTH (FRAME_FONT (f)).
8121
8122 5) Introduce a consistent naming of variables, members and macros
8123 depending on whether their value is measured in pixels or in
8124 canonical columns/lines. Pixel dimensions are named *_width and
8125 *_height, while canonical columns/lines are named *_cols and
8126 *_lines. Pixel positions are named *_x and *_y, while column/line
8127 positions are named *_col and *_line.
8128
8129 6) Consolidate more of the X, W32, and MAC gui code by moving
8130 common data into struct frame, and generalize it for the non-gui
8131 case by using suitable defaults.
8132
8133 7) Cleanup and consolidate the macros controlling frame and window
8134 layout into frame.h and window.h, and generalize the use of the
8135 various window_box_* functions (enhanced to handle the new fringe
8136 position and the per-window fringe and scroll bar settings).
8137
8138 * frame.h (struct frame): Rename members height to text_lines,
8139 width to text_cols, window_height to total_lines, window_width to
8140 total_cols, new_height to new_text_lines, new_width to
8141 new_text_cols. All uses changed.
8142 (struct frame): New members which consolidate common members of
8143 x_output, w32_output, and mac_output structures: left_pos,
8144 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
8145 win_gravity, size_hint_flags, border_width, internal_border_width,
8146 line_height, fringe_cols, left_fringe_width, right_fringe_width,
8147 want_fullscreen. All uses changed.
8148 (struct frame): New member column_width contaning the canonical
8149 column width, analogue to line_height. All uses changed.
8150 (struct frame): Rename members scroll_bar_pixel_width to
8151 config_scroll_bar_width, and scroll_bar_cols to
8152 config_scroll_bar_cols. All uses changed.
8153 (struct frame): New member scroll_bar_actual_width which
8154 consolidates and renames the vertical_scroll_bar_extra member of
8155 x_output, w32_output, and mac_output structures. All uses changed.
8156 (FRAME_PIXEL_HEIGHT): Rename from PIXEL_HEIGHT and moved
8157 from x/w32/macterm.h files. All uses changed. Also change code
8158 which referred to f->output_data...->pixel_height.
8159 (FRAME_PIXEL_WIDTH): Rename from PIXEL_WIDTH and moved
8160 from x/w32/macterm.h files. All uses changed. Also change code
8161 which referred to f->output_data...->pixel_width.
8162 (FRAME_LINES): Rename from FRAME_HEIGHT. All uses changed.
8163 Also change code which referred to f->height.
8164 (FRAME_COLS): Rename from FRAME_WIDTH. All uses changed.
8165 Also change code which referred to f->width.
8166 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
8167 to update new_text_lines and new_text_cols members directly.
8168 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Rename from
8169 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
8170 (FRAME_CONFIG_SCROLL_BAR_COLS): Rename from
8171 FRAME_SCROLL_BAR_COLS. All uses changed.
8172 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
8173 Rename from FRAME_LEFT_SCROLL_BAR_WIDTH and
8174 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
8175 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
8176 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
8177 (FRAME_TOTAL_COLS): Rename from FRAME_WINDOW_WIDTH.
8178 (SET_FRAME_COLS): Rename from SET_FRAME_WIDTH.
8179 (FRAME_TOTAL_COLS_ARG): Rename from FRAME_WINDOW_WIDTH_ARG.
8180 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
8181 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
8182 (FRAME_LINE_HEIGHT): Rename from CANON_Y_UNIT.
8183 Unconditionally return line_height member (it now has proper value
8184 also for non-window frames).
8185 (FRAME_COLUMN_WIDTH): Rename from CANON_X_UNIT. Unconditionally
8186 return new column_width member (rather than the default font width).
8187 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
8188 (FRAME_RIGHT_FRINGE_WIDTH): Rename from FRAME_X_... and moved
8189 from x/w32/macterm.h files. Unconditionally return corresponding
8190 member of frame structure (they now have proper values also for
8191 non-window frames).
8192 (FRAME_TOTAL_FRINGE_WIDTH): Rename from FRAME_FRINGE_WIDTH.
8193 Calculate return value from left and right widths.
8194 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
8195 internal_border_width member (has proper value for non-window frame).
8196 (FRAME_PIXEL_X_FROM_CANON_X): Rename from PIXEL_X_FROM_CANON_X.
8197 (FRAME_PIXEL_Y_FROM_CANON_Y): Rename from PIXEL_Y_FROM_CANON_Y.
8198 (FRAME_CANON_X_FROM_PIXEL_X): Rename from CANON_X_FROM_PIXEL_X.
8199 (FRAME_CANON_Y_FROM_PIXEL_Y): Rename from CANON_Y_FROM_PIXEL_Y.
8200 (FRAME_LINE_TO_PIXEL_Y): Rename from CHAR_TO_PIXEL_ROW,
8201 consolidated from xterm.h, macterm.h, and w32term.h.
8202 (FRAME_COL_TO_PIXEL_X): Rename from CHAR_TO_PIXEL_COL,
8203 consolidated from xterm.h, macterm.h, and w32term.h.
8204 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rename from
8205 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
8206 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Rename from
8207 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
8208 (FRAME_PIXEL_Y_TO_LINE): Rename from PIXEL_TO_CHAR_ROW
8209 consolidated from x/mac/w32term.h.
8210 (FRAME_PIXEL_X_TO_COL): Rename from PIXEL_TO_CHAR_COL
8211 consolidated from x/mac/w32term.h.
8212 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Rename from
8213 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
8214 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Rename from
8215 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
8216
8217 * window.h (struct window): Rename members left to left_col,
8218 top to top_line, height to total_lines, width to total_cols,
8219 left_margin_width to left_margin_cols, right_margin_width to
8220 right_margin_cols, orig_height to orig_total_lines, orig_top to
8221 orig_top_line. All uses changed.
8222 (struct window): New members left_fringe_width, right_fringe_width,
8223 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
8224 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
8225 New macros primarily used to simplify other macros.
8226 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
8227 referred to XINT (w->width).
8228 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
8229 referred to XINT (w->height).
8230 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
8231 referred to XINT (w->width) * canon_x_unit.
8232 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
8233 referred to XINT (w->height) * canon_y_unit.
8234 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
8235 referred to XINT (w->left).
8236 (WINDOW_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_EDGE. Change
8237 all uses and code that referred to XINT (w->left) + XINT (w->width).
8238 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
8239 referred to XINT (w->top).
8240 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
8241 referred to XINT (w->top) + XINT (w->height).
8242 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
8243 referred to XINT (w->left) * canon_x_unit.
8244 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
8245 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
8246 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
8247 referred to XINT (w->top) * canon_y_unit.
8248 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
8249 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
8250 (WINDOW_LEFTMOST_P): New macro.
8251 (WINDOW_BOX_LEFT_EDGE_COL): Rename from WINDOW_LEFT_MARGIN.
8252 All uses changed.
8253 (WINDOW_BOX_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_MARGIN.
8254 All uses changed.
8255 (WINDOW_BOX_LEFT_EDGE_X): Rename from
8256 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
8257 Do not exclude left fringe width.
8258 (WINDOW_BOX_RIGHT_EDGE_X): Rename from
8259 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
8260 Do not exclude fringe widths.
8261 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
8262 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
8263 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
8264 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
8265 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
8266 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
8267 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
8268 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
8269 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
8270 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
8271 New macros. Change code which referenced corresponding
8272 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
8273 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
8274 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
8275 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
8276 allow per-window scroll-bar settings.
8277 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
8278 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
8279 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
8280 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
8281 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
8282 FRAME_SCROLL_BAR_WIDTH.
8283 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
8284 (WINDOW_SCROLL_BAR_AREA_X): New macros.
8285 (WINDOW_HEADER_LINE_HEIGHT): Rename from
8286 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
8287 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Rename from
8288 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
8289 (WINDOW_BOX_TEXT_HEIGHT): Rename from
8290 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
8291 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
8292 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
8293 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Move here from dispextern.h.
8294 (WINDOW_LEFT_MARGIN_WIDTH): Rename from
8295 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
8296 (WINDOW_RIGHT_MARGIN_WIDTH): Rename from
8297 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
8298 (window_from_coordinates): Update prototype.
8299 (Fset_window_buffer): Update EXFUN.
8300 (set_window_buffer): Update prototype.
8301
8302 * dispextern.h (struct glyph_matrix): Rename members window_left_x
8303 to window_left_col, window_top_y to window_top_line. All uses
8304 changed.
8305 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
8306 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
8307 internal_border_width is now set to 0 for non-window frames.
8308 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
8309 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
8310 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
8311 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
8312 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
8313 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
8314 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
8315 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
8316 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
8317 Move to window.h and renamed [see window.h changes].
8318 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
8319 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
8320 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
8321 Use WINDOW_TOTAL_LINES.
8322 (frame_update_line_height): Remove prototype.
8323
8324 * buffer.h (struct buffer): Rename members measured in columns:
8325 left_margin_width to left_margin_cols, right_margin_width to
8326 right_margin_cols. All uses changed.
8327 New members left_fringe_width, right_fringe_width,
8328 fringes_outside_margins for per-buffer fringe settings.
8329 New members scroll_bar_width and vertical_scroll_bar_type for
8330 per-buffer scroll bar settings.
8331
8332 * buffer.c (init_buffer_once): Set buffer_defaults and
8333 buffer_local_flags for new buffer-local variables
8334 left_fringe_width, right_fringe_width, fringes_outside_margins,
8335 scroll_bar_width, and vertical_scroll_bar_type.
8336 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
8337 default-* variables for them.
8338
8339 * dispnew.c: Make (many) trivial substitutions for renamed and
8340 new macros in dispextern.h, frame.h and window.h.
8341 (mode_line_string): No need to adjust width for mode lines, as it
8342 is already adjusted by the caller.
8343 (marginal_area_string): Handle fringes inside/outside margins.
8344
8345 * frame.c: Make (many) trivial substitutions for renamed and
8346 new macros in dispextern.h, frame.h and window.h.
8347 (make_frame): Initialize left_fringe_width, right_fringe_width,
8348 fringe_cols, scroll_bar_actual_width, border_width,
8349 internal_border_width, column_width, line_height, x_pixels_diff,
8350 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
8351 members with values suitable for a non-window frames.
8352
8353 * gtkutil.c: Make (many) trivial substitutions for renamed and
8354 new macros in dispextern.h, frame.h and window.h.
8355
8356 * indent.c: Make (few) trivial substitutions for renamed and
8357 new macros in dispextern.h, frame.h and window.h.
8358
8359 * keyboard.c: Make (many) trivial substitutions for renamed and
8360 new macros in dispextern.h, frame.h and window.h.
8361 (make_lispy_event): Use window positions returned from
8362 window_from_coordinates when constructing the lisp event for
8363 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
8364 (incorrect) values locally.
8365 (make_lispy_movement): Use window positions returned from
8366 window_from_coordinates when constructing the lisp event, rather
8367 than calculating (incorrect) values locally.
8368
8369 * scroll.c: Make (some) trivial substitutions for renamed and
8370 new macros in dispextern.h, frame.h and window.h.
8371
8372 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
8373 scroll-bars.
8374
8375 * sysdep.c: Make (few) trivial substitutions for renamed and
8376 new macros in dispextern.h, frame.h and window.h.
8377
8378 * term.c: Make (some) trivial substitutions for renamed and
8379 new macros in dispextern.h, frame.h and window.h.
8380
8381 * widget.c: Make (few) trivial substitutions for renamed and
8382 new macros in dispextern.h, frame.h and window.h.
8383
8384 * window.c: Make (many) trivial substitutions for renamed and
8385 new macros in dispextern.h, frame.h and window.h.
8386 (make_window): Initialize new members
8387 left_margin_cols, right_margin_cols, left_fringe_width,
8388 right_fringe_width, fringes_outside_margins, scroll_bar_width,
8389 and vertical_scroll_bar_type.
8390 (coordinates_in_window): Adapt to new fringe/margin positions
8391 and per-window fringes and scroll-bars.
8392 Fix bug related to incorrectly adjusting coordinates by
8393 frame's internal_border_width (the effect normally negible since
8394 the internal_border_width is typically 0 or 1 pixel, but very
8395 noticeable for an internal_border_width of e.g. 25 pixels).
8396 Upon successful return (other than ON_NOTHING), the coordinates
8397 are now always properly converted to window relative for the
8398 given display element.
8399 (window_from_coordinates): Add new parameters wx and wy to
8400 return the window relative x and y position in the returned
8401 window and part. A null arg means, don't return the position.
8402 All callers changed.
8403 (adjust_window_margins): New function which may reduce the width
8404 of the display margins if a window's text area is too small after
8405 resizing or splitting windows.
8406 (size_window): Fix bug that did not account for display margin
8407 widths when checking the minimum width of a window; use
8408 adjust_window_margins.
8409 (set_window_buffer): Call Fset_window_fringes and
8410 Fset_window_scroll_bars to setup per-window elements.
8411 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
8412 existing display margin, fringe widths, and scroll bar settings
8413 (e.g. after splitting a window or resizing the frame).
8414 All callers changed.
8415 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
8416 (Fsplit_window): Duplicate original window's display margin,
8417 fringe, and scroll-bar settings; then call Fset_window_buffer with
8418 KEEP_MARGINS non-nil. This fixes a bug which caused a split
8419 window to only preserve the display margins in one of the windows.
8420 When splitting horizontally, call adjust_window_margins on both
8421 windows to ensure that the text area of the new windows is non too
8422 narrow. This fixes a bug which could cause Emacs to trap if the
8423 width of the split window was less than the width of the display
8424 margins.
8425 (window_box_text_cols): Rename from window_internal_width.
8426 All uses changed. Adapt to per-window fringes and scroll bars.
8427 Fix bug that caused vertical separator to be subtracted also on
8428 window frames. Fix another bug that did not reduce the returned
8429 value by the columns used for display margins.
8430 (window_scroll_line_based): Fix bug related to scrolling too much
8431 when display margins are present (implicitly fixed by the fix to
8432 window_box_text_cols).
8433 (scroll_left, scroll_right): Fix bug related to scrolling too far
8434 by default when display margins are present (implicitly fixed by
8435 the fix to window_box_text_cols).
8436 (struct saved_window): Rename members left to left_col, top to
8437 top_line, width to total_cols, height to total_lines, orig_top to
8438 orig_top_line, orig_height to orig_total_lines. All uses changed.
8439 New members left_margin_cols, right_margin_cols,
8440 left_fringe_width, right_fringe_width, fringes_outside_margins,
8441 scroll_bar_width, and vertical_scroll_bar_type for saving
8442 per-window display elements.
8443 (Fset_window_configuration): Restore display margins, fringes,
8444 and scroll bar settings. This fixes a bug which caused display
8445 margins to be discarded when saving and restoring a window
8446 configuration.
8447 (save_window_save): Save display margins, fringes, and scroll bar
8448 settings. This fixes a bug which caused display margins to be
8449 discarded when saving and restoring a window configuration.
8450 (Fset_window_margins): Do nothing if display margins are not
8451 really changed. Otherwise, call adjust_window_margins to ensure
8452 the text area doesn't get too narrow. This fixes a bug which
8453 could cause Emacs to trap if setting display margins wider than
8454 the width of the window.
8455 (Fset_window_fringes): New defun to allow user to specifically set
8456 this window's fringe widths and position vs. display margins.
8457 (Fwindow_fringes): New defun to return window's actual fringe settings.
8458 (Fset_window_scroll_bars): New defun to allow user to specifically
8459 set this window's scroll bar width and position.
8460 (Fwindow_scroll_bars): New defun to return window's actual scroll
8461 bar settings.
8462 (compare_window_configurations): Also compare display margins,
8463 fringes, and scroll bar settings.
8464 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
8465
8466 * xdisp.c: Make (many) trivial substitutions for renamed and
8467 new macros in dispextern.h, frame.h and window.h.
8468 (window_box_width): Adapt to per-window fringes and scroll bars,
8469 and new fringe vs. display margin position. Note that returned
8470 value is no longer guaranteed to be a whole multiple of the frame
8471 column width, since per-window fringes may now be any width.
8472 (window_box_left_offset): New function like window_box_left, but
8473 value is relative to left border of window (rather than frame).
8474 (window_box_right_offset): New function like window_box_right,
8475 but value is relative to left border of window.
8476 (window_box_left): Adapt to per-window fringes and scroll bars,
8477 and new fringe vs. display margin position. Simplify by using
8478 WINDOW_LEFT_EDGE_X and window_box_left_offset.
8479 (window_box): Allow null args for unnecessary return values;
8480 change/simplify relevant callers.
8481 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
8482 and new fringe vs. display margin position.
8483 Use window_box_left_offset and window_box_right_offset
8484 (get_glyph_string_clip_rect): Adapt to per-window fringes and
8485 scroll bars, and new fringe vs. display margin position.
8486 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
8487 (draw_fringe_bitmap): Rework to handle per-window fringes and new
8488 fringe vs. display margin position.
8489 (hscroll_window_tree): Use window_box_width instead of window_box.
8490 (redisplay_window): Adapt to per-window scroll bars.
8491 (draw_glyphs): Rework to handle per-window fringes and scroll
8492 bars, and new fringe vs. display margin position.
8493 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
8494 (x_clear_end_of_line): Adapt to per-window fringes and scroll
8495 bars, and new fringe vs. display margin position. Fix bug which
8496 increased total width of full_width rows by width of scroll bars
8497 although window's total width already includes that.
8498 (x_fix_overlapping_area): Simplify using window_box_left_offset.
8499 (expose_area): Simplify using window_box_left_offset.
8500 (x_draw_vertical_border): Handle per-window scroll bar settings,
8501 mixing windows with left, right and no scroll bars.
8502
8503 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
8504 where it's used in x_list_fonts (for clarity).
8505 (frame_update_line_height): Remove unused function; functionality
8506 is now done directly when setting the default font in x_set_font.
8507
8508 * xfns.c: Make (many) trivial substitutions for renamed and
8509 new macros in dispextern.h, frame.h and window.h.
8510
8511 * xmenu.c: Make (some) trivial substitutions for renamed and
8512 new macros in dispextern.h, frame.h and window.h.
8513
8514 * xterm.h (struct x_output): Move members left_pos, top_pos,
8515 border_width, pixel_height, pixel_width, line_height,
8516 internal_border_width, vertical_scroll_bar_extra,
8517 left_fringe_width, right_fringe_width, fringe_cols,
8518 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8519 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
8520 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8521 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8522 (PIXEL_WIDTH, PIXEL_HEIGHT)
8523 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8524 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8525 frame.h and renamed [see frame.h changes].
8526 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8527 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8528 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8529 and renamed [see frame.h changes].
8530
8531 * xterm.c: Make (several) trivial substitutions for renamed and
8532 new macros in dispextern.h, frame.h and window.h.
8533 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
8534 (scroll_run): Adapt to new fringe position.
8535 (glyph_rect): Use window coordinates returned from
8536 window_from_coordinates rather than frame_to_window_pixel_xy.
8537 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
8538 scroll-bars.
8539 (handle_one_xevent): Simplify a USE_GTK conditional.
8540 (x_clip_to_row): Remove superfluous whole_line_p arg and code
8541 (fringes are now inside margins, i.e. always in the clipping area).
8542 All callers changed.
8543 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
8544 directly, then call compute_fringe_widths. Don't call
8545 frame_update_line_height.
8546
8547 * w32term.h (struct w32_output): Move members left_pos, top_pos,
8548 border_width, pixel_height, pixel_width, line_height,
8549 internal_border_width, vertical_scroll_bar_extra,
8550 left_fringe_width, right_fringe_width, fringe_cols,
8551 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8552 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
8553 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8554 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8555 (PIXEL_WIDTH, PIXEL_HEIGHT)
8556 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8557 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8558 frame.h and renamed [see frame.h changes].
8559 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8560 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8561 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8562 and renamed [see frame.h changes].
8563
8564 * w32term.c: Make (several) trivial substitutions for renamed and
8565 new macros in dispextern.h, frame.h and window.h.
8566 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
8567 (glyph_rect): Use window coordinates returned from
8568 window_from_coordinates rather than frame_to_window_pixel_xy.
8569 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
8570 scroll-bars.
8571 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
8572 (fringes are now inside margins, i.e. always in the clipping area).
8573 All callers changed.
8574 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
8575 directly, then call compute_fringe_widths. Don't call
8576 frame_update_line_height.
8577
8578 * w32console.c: Make (few) trivial substitutions for renamed and
8579 new macros in dispextern.h, frame.h and window.h.
8580
8581 * w32fns.c: Make (many) trivial substitutions for renamed and
8582 new macros in dispextern.h, frame.h and window.h.
8583
8584 * w32menu.c: Make (few) trivial substitutions for renamed and
8585 new macros in dispextern.h, frame.h and window.h.
8586
8587 * macterm.h (struct mac_output): Move members left_pos, top_pos,
8588 border_width, pixel_height, pixel_width, line_height,
8589 internal_border_width, vertical_scroll_bar_extra,
8590 left_fringe_width, right_fringe_width, fringe_cols,
8591 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8592 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
8593 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8594 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8595 (PIXEL_WIDTH, PIXEL_HEIGHT)
8596 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8597 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8598 frame.h and renamed [see frame.h changes].
8599 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8600 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8601 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8602 and renamed [see frame.h changes].
8603
8604 * macterm.c: Make (several) trivial substitutions for renamed and
8605 new macros in dispextern.h, frame.h and window.h.
8606 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
8607 (glyph_rect): Use window coordinates returned from
8608 window_from_coordinates rather than frame_to_window_pixel_xy.
8609 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
8610 scroll-bars.
8611 (x_clip_to_row): Remove superfluous whole_line_p arg and code
8612 (fringes are now inside margins, i.e. always in the clipping area).
8613 All callers changed.
8614 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
8615 directly, then call compute_fringe_widths. Don't call
8616 frame_update_line_height.
8617
8618 * macfns.c: Make (several) trivial substitutions for renamed and
8619 new macros in dispextern.h, frame.h and window.h.
8620 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
8621
8622 * macmenu.c: Make (few) trivial substitutions for renamed and
8623 new macros in dispextern.h, frame.h and window.h.
8624
8625 * msdos.h (struct x_output): Remove members left_pos, top_pos,
8626 and line_height, and use corresponding new members in struct
8627 frame. All uses changed.
8628 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
8629 superseeded by corresponding macros in frame.h.
8630
8631 * msdos.c: Make (several) trivial substitutions for renamed and
8632 new macros in dispextern.h, frame.h and window.h.
8633 (IT_note_mouse_highlight): Use updated window coordinates returned
8634 by window_from_coordinates, rather than adjusting them locally.
8635 (internal_terminal_init): No need to initialize line_height here;
8636 it now defaults to 1.
8637
8638 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
8639
8640 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
8641 dropping `down' events.
8642
8643 2003-05-24 Andreas Schwab <schwab@suse.de>
8644
8645 * coding.c (find_safe_codings): Fix last change.
8646
8647 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
8648
8649 * xfns.c (x_window): Fix typo from 2003-05-21 change.
8650
8651 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
8652
8653 * xdisp.c (display_mode_element): Increase max depth.
8654 Simplify the error handling code. Use a different error string
8655 for the case where we hit the depth limit.
8656
8657 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
8658
8659 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
8660
8661 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
8662
8663 * intervals.c (get_local_map): Don't get char-property of previous
8664 point any more: get_pos_property already does it and better.
8665
8666 2003-05-21 Dave Love <fx@gnu.org>
8667
8668 [Merged from unicode branch.]
8669
8670 * xfns.c (x_window, x_window): Use use_xim.
8671
8672 * xterm.c (use_xim): Initialize.
8673 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
8674 (x_term_init): Maybe set use_xim.
8675
8676 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
8677
8678 2003-05-21 Jason Rumney <jasonr@gnu.org>
8679
8680 * unexw32.c (_start): Remove _fmode initialization.
8681
8682 * emacs.c (main) [WINDOWSNT]: Move it here.
8683
8684 2003-05-20 Dave Love <fx@gnu.org>
8685
8686 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
8687
8688 2003-05-19 Richard M. Stallman <rms@gnu.org>
8689
8690 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
8691 as value for QCfont attribute.
8692 (realize_default_face): lface should already exist; crash if not.
8693 Specify 0 for FORCE_P when calling set_lface_from_font_name.
8694
8695 * frame.c (Fignore_event): Doc fix.
8696
8697 2003-05-19 Kenichi Handa <handa@m17n.org>
8698
8699 * coding.c (decode_coding_string): Handle post-read-conversion
8700 even if the coding doesn't require decoding.
8701
8702 2003-05-18 Richard M. Stallman <rms@gnu.org>
8703
8704 * callproc.c (Fcall_process_region): Doc fix.
8705
8706 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
8707
8708 * lread.c (Fload): Print a message if package is obsolete.
8709
8710 * window.c (Fselect_window): Add optional `norecord' arg.
8711 (select_window_1): Fold into Fselect_window.
8712 (select_window_norecord): New function.
8713 (temp_output_buffer_show): Use it. Preserve current buffer.
8714
8715 * window.h (Fselect_window): Update declaration.
8716
8717 * window.c (delete_window, Fother_window, Fset_window_configuration):
8718 * minibuf.c (read_minibuf):
8719 * macterm.c (x_new_focus_frame):
8720 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
8721 * callint.c (Fcall_interactively):
8722 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
8723
8724 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
8725
8726 2003-05-17 David Kastrup <dak@gnu.org>
8727
8728 * process.c (read_process_output): Back out change from 2003-03-09.
8729
8730 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
8731
8732 * editfns.c (get_pos_property): Don't assume that `object' = nil.
8733
8734 * textprop.c (text_property_stickiness): New arg `buffer'.
8735
8736 * intervals.h (text_property_stickiness): New arg `buffer'.
8737 (get_pos_property): Declare.
8738
8739 * intervals.c (get_local_map): Use get_pos_property, to obey
8740 stickiness and empty overlays.
8741 (create_root_interval, graft_intervals_into_buffer): Use BEG.
8742 (merge_properties, intervals_equal, merge_properties_sticky):
8743 Use XCAR, XCDR.
8744 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
8745
8746 2003-05-17 Richard M. Stallman <rms@gnu.org>
8747
8748 * minibuf.c (read_minibuf): If buffer is empty, record the default
8749 in the history.
8750 (Fminibuffer_complete_word): When deleting the overlap, take account
8751 of its real position.
8752
8753 * fns.c (map_char_table): Fix previous change.
8754
8755 * syntax.c (find_defun_start):
8756 When open_paren_in_column_0_is_defun_start,
8757 return beginning of buffer.
8758
8759 * lisp.h (map_char_table): Declare added arg.
8760
8761 * fns.c (map_char_table): New arg TABLE gets the master table.
8762 All calls changed.
8763 Process default and inheritance, resorting to Faref if necessary.
8764
8765 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
8766 (Faccessible_keymaps): Pass new arg to map_char_table.
8767
8768 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
8769
8770 * casetab.c (set_case_table): Pass new arg to map_char_table.
8771
8772 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
8773
8774 * lisp.h (specbinding_func): New typedef.
8775 (struct specbinding): Use specbinding_func, to put the `volatile'
8776 in the right place.
8777
8778 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
8779 to avoid GCC warning.
8780
8781 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org>
8782
8783 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
8784
8785 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
8786
8787 * keyboard.c (apply_modifiers): Don't fill the other cache.
8788
8789 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
8790
8791 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
8792
8793 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
8794 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
8795 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
8796 (Fset_window_configuration, Fcurrent_window_configuration)
8797 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
8798 (Fpos_visible_in_window_p, mark_window_cursors_off)
8799 (window_internal_height, window_internal_width, Frecenter)
8800 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
8801 (replace_buffer_in_all_windows, init_window_once, init_window)
8802 (syms_of_window, keys_of_window): Move from lisp.h.
8803 * lisp.h: Move window.c declarations to window.h.
8804
8805 * bytecode.c: Include window.h.
8806 * emacs.c: Include window.h.
8807
8808 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
8809 (keyremap): Add `parent' field.
8810 (keyremap_step): Use it. Remove `parent' argument.
8811 (read_key_sequence): Setup and use the new `parent' field.
8812
8813 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
8814
8815 * keyboard.c (adjust_point_for_property): Ensure termination.
8816
8817 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
8818
8819 * keyboard.c (follow_key): Remove dead variable `did_meta'.
8820 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
8821 duplicated handling of function-key-map and key-translation-map
8822 in read_key_sequence.
8823 (read_key_sequence): Use them.
8824
8825 * keyboard.c (adjust_point_for_property): Try harder to move point
8826 to the non-sticky end of an invisible property.
8827
8828 * xdisp.c (single_display_prop_intangible_p): Make `space' display
8829 property intangible as well.
8830
8831 2003-05-10 Andreas Schwab <schwab@suse.de>
8832
8833 * xmenu.c (single_menu_item): Change last parameter to void* to
8834 avoid warning.
8835
8836 2003-05-09 Richard M. Stallman <rms@gnu.org>
8837
8838 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
8839 Bind Qinhibit_modification_hooks to t so there will be no GC.
8840 Rename local `tem' to `save_deactivate_mark'.
8841
8842 * eval.c (specpdl_ptr): Declare volatile.
8843 (unbind_to): Copy the whole binding and decrement specpdl_ptr
8844 before doing the work of unbinding it.
8845
8846 * lisp.h (struct specbinding): Declare elements volatile.
8847 (specpdl_ptr): Declare volatile.
8848
8849 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
8850
8851 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
8852 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
8853
8854 2003-05-08 Dave Love <fx@gnu.org>
8855
8856 * coding.c (Vlast_coding_system_used): Doc fix.
8857
8858 2003-05-07 Jason Rumney <jasonr@gnu.org>
8859
8860 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
8861 when system does not support them.
8862
8863 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
8864
8865 * fileio.c (Qwrite_region_annotate_functions): New var.
8866 (build_annotations): Use it to process the global part of the hook.
8867 (syms_of_fileio): Init and staticpro it.
8868
8869 * keyboard.c (safe_run_hooks_error): Display a message instead of
8870 silently ignoring the error.
8871
8872 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
8873
8874 * keyboard.c (input_available_signal): Mark static.
8875 (menu_bar_items): Use map_keymap.
8876 (menu_bar_one_keymap): Remove.
8877 (menu_bar_item): Adjust arglist (for use in map_keymap).
8878 Properly hide a second binding when not both are keymaps.
8879
8880 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
8881 (single_keymap_panes): Use it and map_keymap.
8882 (single_menu_item): Use skp as well.
8883
8884 * keymap.h (map_keymap_function_t): New type.
8885 (map_keymap): Declare.
8886
8887 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
8888 (map_keymap_call, Fmap_keymap): New functions.
8889 (syms_of_keymap): Defsubr map-keymap.
8890
8891 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8892
8893 * gtkutil.c (create_dialog, make_widget_for_menu_item)
8894 (make_menu_item, create_menus, xg_update_menu_item): Don't call
8895 ..._with_mnemonic functions for menu items.
8896
8897 2003-05-01 Kenichi Handa <handa@m17n.org>
8898
8899 * coding.c (coding_system_accept_latin_extra_p): Delete this
8900 function.
8901 (find_safe_codings): Pay attention to
8902 the property tranlsation-table-for-encode of each codings.
8903 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
8904
8905 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
8906
8907 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
8908
8909 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
8910
8911 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
8912
8913 * lisp.h (CHECK): Wrap args in parenthesis.
8914 (specbind): Fix doc: symbol = Qnil is not supported any more.
8915
8916 * bytecode.c (Fbyte_code) <unwind-protect>:
8917 Use Fprogn rather than 0 and Qnil.
8918
8919 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
8920 `double', and `triple' modifiers as well.
8921
8922 2003-04-30 Richard M. Stallman <rms@gnu.org>
8923
8924 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
8925
8926 * alloc.c (abort_on_gc): New variable.
8927 (Fgarbage_collect): Abort if abort_on_gc is set.
8928
8929 * lisp.h (abort_on_gc): Add decl.
8930
8931 * eval.c (Fsignal): Clear abort_on_gc.
8932
8933 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
8934 Reinit FORMAT_START and END before second scan.
8935
8936 * xdisp.c (move_it_vertically_backward): Do the final big else
8937 even if nlines is 0.
8938
8939 * xdisp.c (redisplay_internal): Finish the per-frame loop
8940 even if redisplay is suspended by input.
8941
8942 2003-04-24 Andrew Choi <akochoi@shaw.ca>
8943
8944 * macterm.c (x_list_fonts): Return all fonts that match if
8945 maxnames = -1.
8946
8947 2003-04-25 Kenichi Handa <handa@m17n.org>
8948
8949 * syntax.c (skip_chars): Fix previous change.
8950
8951 2003-04-24 Kenichi Handa <handa@m17n.org>
8952
8953 * syntax.c (skip_chars): Make the code faster by using the common
8954 technique of *p, *stop, and *endp.
8955
8956 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8957
8958 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
8959 tool_bar_items so GTK tool bar expose callback does not access items
8960 being updated.
8961
8962 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
8963
8964 * eval.c (Fapply): Undo last change and add a comment about why.
8965
8966 2003-04-18 Miles Bader <miles@gnu.org>
8967
8968 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
8969 pickier PARSE_MULTIBYTE_SEQ.
8970
8971 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
8972
8973 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
8974 Use XCDR, XCAR, CONSP.
8975 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
8976 (Fapply): Remove unnecessary GCPRO.
8977
8978 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
8979
8980 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
8981
8982 * buffer.h: Don't hardcode BEG==1.
8983
8984 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
8985
8986 2003-04-16 Richard M. Stallman <rms@gnu.org>
8987
8988 * xdisp.c (try_window, try_window_reusing_current_matrix):
8989 When at end of window, set window_end_pos to Z-ZV.
8990
8991 * buffer.c (Foverlay_recenter): Doc fix.
8992
8993 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
8994
8995 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
8996
8997 2003-04-14 Andrew Choi <akochoi@shaw.ca>
8998
8999 * macterm.c (mac_check_for_quit_char): Don't check more often than
9000 once a second.
9001
9002 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
9003
9004 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
9005 specially, so that they can't hide an implicit switch-frame event.
9006 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
9007 (head_table): Use switch-frame as event_kind for select-window.
9008 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
9009
9010 * editfns.c (Fformat): Lisp_Object/int mixup.
9011 (format2): Remove unused var numargs.
9012
9013 2003-04-11 Kenichi Handa <handa@m17n.org>
9014
9015 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
9016 (Qafter_insert_file_set_coding): New variable.
9017 (syms_of_fileio): Initialize and staticpro it. Delete declaration
9018 for after-insert-file-adjust-coding-function.
9019 (Finsert_file_contents): Call Qafter_insert_file_set_coding
9020 instead of Vafter_insert_file_adjust_coding_function.
9021
9022 2003-04-11 Kenichi Handa <handa@m17n.org>
9023
9024 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
9025
9026 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
9027 string. Callers changed.
9028
9029 2003-04-10 Kenichi Handa <handa@m17n.org>
9030
9031 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
9032 (syms_of_fileio): Declare it as a lisp variable.
9033 (Finsert_file_contents):
9034 Call Vafter_insert_file_adjust_coding_function before calling
9035 decode-format.
9036
9037 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9038
9039 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
9040 get GtkAdjustment as widget now is a GtkRange.
9041
9042 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
9043 GtkRange to avoid memory leak.
9044
9045 2003-04-09 Kenichi Handa <handa@m17n.org>
9046
9047 * xfaces.c (Vface_font_rescale_alist): New variable.
9048 (struct font_name): New member rescale_ratio.
9049 (font_rescale_ratio): New function.
9050 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
9051 (better_font_p): On comparing point sized, pay attention to
9052 recale_ratio member of fonts.
9053 (build_scalable_font_name): Reflect font->rescale_ratio in the
9054 font name.
9055 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
9056
9057 * lread.c (read1): Before calling index, check if the 2nd
9058 arguemnt is in ASCII range.
9059
9060 2003-04-08 Richard M. Stallman <rms@gnu.org>
9061
9062 * fileio.c (Ffile_symlink_p): Doc fix.
9063
9064 * editfns.c (Fformat): Translate positions of text properties
9065 in the format string to apply them to the result.
9066
9067 * fileio.c (Finsert_file_contents): Doc fix.
9068 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
9069
9070 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
9071
9072 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
9073
9074 2003-04-08 Steven Tamm <steventamm@mac.com>
9075
9076 * mac.c (init_mac_osx_environment): Switch libexec and bin so
9077 that self-contained application finds libexec files.
9078
9079 2003-04-08 Kenichi Handa <handa@m17n.org>
9080
9081 * coding.c (code_convert_region_unwind):
9082 Set Vlast_coding_system_used to the argument.
9083 (code_convert_region): If post-read-conversion function changed
9084 the value of last-coding-sytem, keep the new value in
9085 coding->symbol so that it won't be overridden.
9086 (run_pre_post_conversion_on_str): Likewise.
9087 (coding_system_accept_latin_extra_p): New function.
9088 (find_safe_codings): Pay attention to characters registered in
9089 latin-extra-code-table.
9090
9091 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
9092
9093 * Makefile.in (md5.o): Add missing dependency info.
9094
9095 2003-04-06 Richard M. Stallman <rms@gnu.org>
9096
9097 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
9098
9099 * marker.c (verify_bytepos): New function.
9100
9101 * intervals.c (set_intervals_multibyte_1): When becoming
9102 multibyte, adjust right and left child sizes to a whole set of
9103 characters. If an interval gets zero total-length, delete it.
9104 If an interval consists of just its children, delete one of them.
9105
9106 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
9107 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
9108
9109 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
9110 All calls deleted.
9111 (lisp_malloc): Do the work here directly.
9112
9113 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
9114
9115 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
9116 char tables.
9117
9118 2003-04-04 Kenichi Handa <handa@m17n.org>
9119
9120 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
9121 destructively change "%S" to "%s".
9122
9123 2003-04-03 Miles Bader <miles@gnu.org>
9124
9125 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
9126 always set.
9127
9128 2003-04-01 Dave Love <fx@gnu.org>
9129
9130 * xfns.c (xpm_lookup_color): Grok "opaque".
9131
9132 2003-03-31 Andrew Choi <akochoi@shaw.ca>
9133
9134 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
9135 parent window ID.
9136
9137 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
9138
9139 * macterm.h (struct mac_output): Define x_pixels_diff and
9140 y_pixels_diff.
9141
9142 2003-03-31 Juanma Barranquero <lektu@terra.es>
9143
9144 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
9145 blockinput.h and files included from it.
9146
9147 2003-03-31 Kim F. Storm <storm@cua.dk>
9148
9149 The following changes consolidates the common code related to
9150 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
9151 files into frame.c.
9152
9153 * frame.c: Include blockinput.h.
9154 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
9155 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
9156 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
9157 related vars here.
9158 (struct frame_parm_table, frame_parms): New table for describing
9159 frame parameters and their associated Q-variable.
9160 The order of the parameters corresponds to the sequence of the
9161 frame_parm_handlers table in redisplay_interface.
9162 (x_fullscreen_move, x_set_frame_parameters)
9163 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
9164 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
9165 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9166 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
9167 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
9168 Generic functions for processing of frame parameters.
9169 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
9170 (display_x_get_resource, x_get_resource_string): Functions for
9171 generic access to X resources.
9172 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
9173 (x_default_parameter, Fx_parse_geometry): Functions for generic
9174 access to frame parameters.
9175 (x_figure_window_size): Generic calculation of frame size.
9176 Fixed to add space needed for tool bar. Also setup size_hint_flags.
9177 (syms_of_frame): Intern and staticpro frame parameter variables.
9178 Defvar_lisp Vx_resource_class and Vx_resource_name here.
9179 Defsubr Sx_get_resource and Sx_parse_geometry.
9180
9181 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
9182 parameter related vars defined in frame.c.
9183 (EMACS_CLASS): Define here.
9184 (enum FULLSCREEN_*): Define here.
9185 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
9186 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
9187 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
9188 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
9189 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
9190 (x_set_visibility, x_set_autoraise, x_set_autolower)
9191 (x_set_unsplittable, x_set_vertical_scroll_bars)
9192 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
9193 (x_figure_window_size): Add prototypes.
9194
9195 * dispextern.h (frame_parm_handler): New typedef.
9196 (struct redisplay_interface): New member frame_parm_handlers.
9197 (enum resource_types): Move declaration here.
9198 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
9199 (x_default_parameter): Add prototypes.
9200
9201 * window.c: Remove extern decl for frame parameter vars.
9202 (change_window_heights): New generic function;
9203 replaces x_change_window_heights. All users changed.
9204
9205 * window.h (change_window_heights): Add prototype.
9206
9207 * xfaces.c: Remove extern decl for frame parameter vars.
9208
9209 * xterm.h (EMACS_CLASS): Remove. Use generic define.
9210 (struct w32_display_info): Fix type of xrdb member.
9211 (enum FULLSCREEN_*): Remove.
9212 Remove prototypes for generic functions (in frame.h).
9213
9214 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9215 parameters now defined in frame.h and frame.c.
9216 (Vx_resource_name): Remove. Use generic var.
9217 (enum x_frame_parms): Remove (bogus, unused enum).
9218 (check_x_display_info): Make non-static (for frame.c).
9219 (struct x_frame_parm_table, x_frame_parms): Remove.
9220 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9221 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9222 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9223 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9224 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9225 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9226 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9227 Remove. Use generic functions instead.
9228 (enum resource_types): Remove.
9229 (x_set_scroll_bar_default_width): New global function (for frame.c).
9230 (Fx_create_frame): Depend on x_figure_window_size to add space for
9231 toolbar and setup size_hint_flags.
9232 (x_frame_parm_handlers): New table for redisplay_interface.
9233 (syms_of_xfns): Don't intern/staticpro removed vars.
9234
9235 * xterm.c: Remove unnecessary extern declarations.
9236 (x_fullscreen_adjust): Remove. Use generic instead.
9237 (x_redisplay_interface): Add x_frame_parm_handlers member.
9238
9239 * w32gui.h (XrmDatabase): New (dummy) typedef.
9240
9241 * w32term.h (EMACS_CLASS): Remove. Use generic define.
9242 (struct w32_display_info): Fix type of xrdb member.
9243 (enum FULLSCREEN_*): Remove.
9244 (x_fullscreen_adjust): Remove prototype.
9245
9246 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9247 parameters now defined in frame.h and frame.c.
9248 (Vx_resource_name): Remove. Use generic var.
9249 (enum x_frame_parms): Remove (bogus, unused enum).
9250 (check_x_display_info): Make non-static (for frame.c).
9251 (struct x_frame_parm_table, x_frame_parms): Remove.
9252 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9253 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9254 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9255 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9256 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9257 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9258 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9259 Remove. Use generic functions instead.
9260 (enum resource_types): Remove.
9261 (x_set_scroll_bar_default_width): New global function (for frame.c).
9262 (Fx_create_frame): Depend on x_figure_window_size to add space for
9263 toolbar and setup size_hint_flags.
9264 (w32_frame_parm_handlers): New table for redisplay_interface.
9265 (syms_of_w32fns): Don't intern/staticpro removed vars.
9266
9267 * w32term.c: Remove unnecessary extern declarations.
9268 (x_fullscreen_adjust): Remove. Use generic instead.
9269 (x_redisplay_interface): Add w32_frame_parm_handlers member.
9270
9271 * w32reg.c (x_get_string_resource): Use XrmDatabase.
9272
9273 * macgui.h (XrmDatabase): New (dummy) typedef.
9274
9275 * macterm.h (EMACS_CLASS): Remove.
9276 (struct mac_display_info): Add xrdb member.
9277 (struct mac_output): Add want_fullscreen member.
9278
9279 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9280 parameters now defined in frame.h and frame.c.
9281 (Vx_resource_name): Remove. Use generic var.
9282 (check_x_display_info): Make non-static (for frame.c).
9283 (struct x_frame_parm_table, x_frame_parms): Remove.
9284 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9285 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9286 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9287 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9288 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9289 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9290 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9291 Remove. Use generic functions instead.
9292 (enum resource_types): Remove.
9293 (x_set_scroll_bar_default_width): New global function (for frame.c).
9294 (mac_frame_parm_handlers): New table for redisplay_interface.
9295 (syms_of_macfns): Don't intern/staticpro removed vars.
9296
9297 * macterm.c: Remove unnecessary extern declarations.
9298 (x_redisplay_interface): Add mac_frame_parm_handlers member.
9299
9300 * Makefile.in (frame.o): Add dependency on blockinput.h and files
9301 included from it (atimer.h and systime.h).
9302
9303 2003-03-30 Andreas Schwab <schwab@suse.de>
9304
9305 * xdisp.c (x_insert_glyphs): Fix swapped width and height
9306 parameters for shift_glyphs_for_insert.
9307
9308 * macterm.c (x_redisplay_interface): Add missing entry for
9309 draw_vertical_window_border.
9310
9311 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
9312
9313 * fileio.c (Fexpand_file_name): In the no-handler case, after
9314 expanding, look again for a handler and invoke it. This is needed
9315 for filenames like "/foo/../user@host:/bar/../baz" -- the first
9316 expansion produces "/user@host:/bar/../baz" which needs to be
9317 expanded again for the finame result "/user@host:/baz".
9318
9319 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9320
9321 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
9322 of area to be redrawn for better performance.
9323
9324 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
9325
9326 * xterm.c (take_vertical_position_into_account): Remove.
9327 (xt_action_hook): Call set_vertical_scroll_bar if needed.
9328 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
9329 (xm_scroll_callback, x_create_toolkit_scroll_bar)
9330 (x_set_toolkit_scroll_bar_thumb): Simplify.
9331 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
9332 (XTread_socket): Remove unused var.
9333 (x_make_frame_invisible): Replace goto with else.
9334
9335 * xdisp.c (set_vertical_scroll_bar): New fun.
9336 (redisplay_window): Use it.
9337
9338 2003-03-26 Richard M. Stallman <rms@gnu.org>
9339
9340 * xdisp.c (update_tool_bar): Recompute tool bar if
9341 update_mode_lines is set. Set w->update_mode_line
9342 only if the tool bar contents actually change.
9343 (update_menu_bar): Undo previous change.
9344
9345 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9346
9347 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
9348 (xg_frame_set_char_size): Calculate scroll bar width before frame
9349 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
9350 (xg_separator_p): Check for all documented separator types.
9351 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
9352 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
9353
9354 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
9355 so tool bar gets updated.
9356
9357 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
9358
9359 * data.c (store_symval_forwarding): Re-instate part of the code
9360 that was deleted with too much enthusiasm.
9361
9362 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
9363
9364 * data.c (store_symval_forwarding): Delete special read-only
9365 hack for type == -1, since we now use ->constant instead.
9366 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
9367
9368 * buffer.c (overlays_in): Declare static.
9369 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
9370 `constant' field rather than the variable's `type' field.
9371
9372 2003-03-24 Andrew Choi <akochoi@shaw.ca>
9373
9374 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
9375
9376 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
9377
9378 * fns.c [MAC_OSX]: Do not redefine vector.
9379
9380 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
9381
9382 * macgui.h: Remove definition of No_Cursor.
9383
9384 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
9385
9386 * xdisp.c: Define No_Cursor.
9387 (x_write_glyphs, notice_overwritten_cursor)
9388 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
9389 (note_mouse_highlight): Remove Mac-specific code.
9390 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
9391
9392 2003-03-24 John Paul Wallington <jpw@gnu.org>
9393
9394 * xdisp.c (redisplay_window): If mini window's buffer is not
9395 empty, then redisplay it like other windows.
9396
9397 2003-03-23 Kim F. Storm <storm@cua.dk>
9398
9399 * w32term.c (w32_draw_window_cursor): Fix last change.
9400
9401 2003-03-23 Kenichi Handa <handa@m17n.org>
9402
9403 * alloc.c (make_string_from_bytes, make_specified_string):
9404 Add `const' for the arg CONTENTS.
9405
9406 * lisp.h (make_string_from_bytes, make_specified_string):
9407 Prototypes adjusted.
9408
9409 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9410
9411 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
9412
9413 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
9414 (XG_SB_RANGE): New define.
9415
9416 * gtkutil.c (xg_fixed_handle_expose): New function.
9417 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
9418 expose events.
9419 (xg_update_scrollbar_pos): Take two more arguments, left and width
9420 of scroll bar including borders.
9421 Clear left and right part outside scroll bar separately as some
9422 themes have bars that are not an even number of pixels.
9423 Don't set reallocate_redraws, don't call
9424 gdk_window_process_all_updates.
9425 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
9426 so no need to change it. Calculate size and value with XG_SB_RANGE.
9427
9428 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
9429 Pass left and width of scroll bar including borders to
9430 xg_update_scrollbar_pos.
9431
9432 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
9433
9434 * Makefile.in: Make sure space precedes end-of-line backslashes.
9435
9436 2003-03-22 Kim F. Storm <storm@cua.dk>
9437
9438 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
9439 Add generic versions here. Remove system specific versions
9440 defined elsewhere.
9441
9442 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
9443 Add prototypes.
9444
9445 * xterm.h (STORE_NATIVE_RECT): New macro.
9446
9447 2003-03-21 Kim F. Storm <storm@cua.dk>
9448
9449 * xdisp.c (get_glyph_string_clip_rect):
9450 Use FRAME_INTERNAL_BORDER_WIDTH.
9451
9452 * dispextern.h (struct redisplay_interface): Add active_p
9453 argument to draw_window_cursor member. All uses changed.
9454
9455 2003-03-21 Kim F. Storm <storm@cua.dk>
9456
9457 The following changes consolidate code related to writing and
9458 inserting glyphs, exposing frame, the tool bar, the mouse face,
9459 the output cursor, and help echo from xterm.c, w32term.c and
9460 macterm.c into xdisp.c. It also generalizes the use of the
9461 window_part enum instead of using numeric values throughout.
9462
9463 * xdisp.c: Consolidate gui-independent code here.
9464 Include keymap.h.
9465 (Qhelp_echo): Import.
9466 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
9467 (help_echo_string, help_echo_window, help_echo_object)
9468 (previous_help_echo_string, help_echo_pos): Declare here.
9469 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
9470 (estimate_mode_line_height): Define here. Handle windowing
9471 systems directly (without using estimate_mode_line_height_hook).
9472 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
9473 (update_window_cursor, update_cursor_in_window_tree)
9474 (fast_find_position, fast_find_string_pos)
9475 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
9476 (expose_area, expose_line, expose_overlaps, expose_window)
9477 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
9478 declared static as they are only used locally in xdisp.c.
9479 (draw_glyphs): Rename from x_draw_glyphs and make static.
9480 (tool_bar_item_info, notice_overwritten_cursor): Make static.
9481 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
9482 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
9483 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
9484 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
9485 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
9486 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
9487 (note_mouse_highlight, x_clear_window_mouse_face)
9488 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
9489 (x_intersect_rectangles): New generic functions for use by xdisp.c
9490 and GUI front-ends.
9491 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
9492 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
9493
9494 * dispextern.h (Display_Info): Generic typedef for *_display_info.
9495 (NativeRectangle): Generic typedef for rectangle type.
9496 (enum window_part): Move here from window.c.
9497 (struct redisplay_interface): New members flush_display_optional,
9498 define_frame_cursor, clear_frame_area, draw_window_cursor,
9499 draw_vertical_window_border, shift_glyphs_for_insert.
9500 Rename member clear_mouse_face to clear_window_mouse_face.
9501 (estimate_mode_line_height_hook): Remove hook.
9502 (auto_raise_tool_bar_buttons_p): Don't declare extern.
9503 (tool_bar_item_info): Remove prototype.
9504 (help_echo_string, help_echo_window, help_echo_object)
9505 (previous_help_echo_string, help_echo_pos)
9506 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
9507 (x_stretch_cursor_p, output_cursor): Declare extern.
9508 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
9509 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
9510 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
9511 (display_and_set_cursor, set_output_cursor, x_cursor_to)
9512 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
9513 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
9514 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
9515 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
9516 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
9517 Add prototypes.
9518 (mode_line_string, marginal_area_string): Fix prototypes.
9519
9520 * window.c (enum window_part): Move to dispextern.h.
9521 (coordinates_in_window): Use enum window_part member names
9522 instead of numbers to describe return value.
9523 (struct check_window_data): Change part member to window_part.
9524 (check_window_containing): Return window_part unaltered.
9525 (window_from_coordinates): Change part arg from int to enum
9526 window_part. Allow part arg to be null. All users changed.
9527
9528 * window.h (window_from_coordinates): Fix prototype.
9529
9530 * term.c (estimate_mode_line_height): Move to xdisp.c.
9531
9532 * keyboard.c (make_lispy_event): Use enum window_part.
9533
9534 * dispnew.c (mode_line_string, marginal_area_string): Use enum
9535 window_part instead of int in arg list. Users changed.
9536
9537 * xterm.h (No_Cursor): Declare as None for X.
9538 (struct mac_output): Replace member cross_cursor by hand_cursor.
9539
9540 * xterm.c: Remove consolidated defines and code.
9541 (BETWEEN): Remove unused macro.
9542 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
9543 (x_define_frame_cursor, x_clear_frame_area)
9544 (x_draw_window_cursor): New X-specific functions for RIF.
9545 (x_redisplay_interface): Add new members.
9546
9547 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
9548
9549 * w32term.h (struct w32_output): Remove cross_cursor member.
9550
9551 * w32term.c: Remove consolidated defines and code.
9552 (BETWEEN): Remove unused macro.
9553 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
9554 (w32_define_frame_cursor, w32_clear_frame_area)
9555 (w32_draw_window_cursor): New W32-specific functions for RIF.
9556 (w32_redisplay_interface): Add new members.
9557
9558 * w32gui.h (No_Cursor): Define as 0 for W32.
9559 (XRectangle): Add X compatible rectangle type.
9560 (NativeRectangle): Declare as RECT for W32.
9561 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
9562
9563 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
9564
9565 * w32console.c: Remove consolidated defines and code.
9566
9567 * msdos.h (Display_Info): Add generic typedef.
9568
9569 * msdos.c: Remove consolidated defines and code.
9570 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
9571
9572 * macterm.h (struct mac_output): Replace member cross_cursor by
9573 hand_cursor.
9574 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
9575
9576 * macterm.c: Remove consolidated defines and code.
9577 (BETWEEN): Remove unused macro.
9578 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
9579 (mac_define_frame_cursor, mac_clear_frame_area)
9580 (mac_draw_window_cursor): New Mac-specific functions for RIF.
9581 (x_redisplay_interface): Add new members.
9582
9583 * macgui.h (No_Cursor): Define as 0 for Mac.
9584 (XRectangle): Add X compatible rectangle type.
9585 (NativeRectangle): Declare as Rect for Mac.
9586 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
9587
9588 * macfns.c (x_set_mouse_color): Setup hand_cursor.
9589 (x_set_cursor_color): Use x_display_and_set_cursor.
9590
9591 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
9592 included from it. Add dependency on keymap.h.
9593
9594 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
9595
9596 2003-03-21 Kenichi Handa <handa@m17n.org>
9597
9598 * fileio.c (Fexpand_file_name): Fix previous change.
9599
9600 2003-03-19 Kenichi Handa <handa@m17n.org>
9601
9602 * fileio.c (Ffile_name_directory): Reconstruct file name by
9603 make_specified_string.
9604 (Ffile_name_nondirectory, Ffile_name_as_directory)
9605 (Fdirectory_file_name, Fexpand_file_name)
9606 (Fsubstitute_in_file_name): Likewise.
9607 (Fread_file_name): Compare decoded homedir with DIR and
9608 DEFAULT_FILENAME.
9609
9610 * alloc.c (make_specified_string): If NCHARS is negative, count
9611 the number of characters.
9612
9613 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9614
9615 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
9616 all widgets.
9617
9618 * gtkutil.h: Removed xg_ignore_next_thumb.
9619
9620 2003-03-18 Kenichi Handa <handa@m17n.org>
9621
9622 * coding.c (Vchar_coding_system_table): Remove this variable.
9623 (Vcoding_system_safe_chars): New variable.
9624 (intersection): Remove this function.
9625 (find_safe_codings): Don't use Vchar_coding_system_table, but try
9626 all codings in SAFE_CODINGS.
9627 (Ffind_coding_systems_region_internal): Adjust for the change of
9628 find_safe_codings. Get generic coding systems from
9629 Vcoding_system_safe_chars.
9630 (Fdefine_coding_system_internal): New function.
9631 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
9632 Initialize and staticpro Vcoding_system_safe_chars.
9633
9634 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9635
9636 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
9637 equal old values before updating.
9638
9639 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
9640
9641 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
9642
9643 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9644
9645 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
9646 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
9647 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
9648 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
9649 (xg_create_scroll_bar): Pass bar to button event callback.
9650 (xg_find_top_left_in_fixed): New function.
9651 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
9652 whole scroll bar area. Get old position with
9653 xg_find_top_left_in_fixed, calculate and only clear needed areas.
9654 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
9655 dragging is in progress. Calculate whole as for Motif.
9656 Remove code that saved last values. Call gtk_range functions to
9657 set scroll bar sizes.
9658
9659 * gtkutil.h: Removed xg_ignore_next_thumb.
9660
9661 2003-03-17 Juanma Barranquero <lektu@terra.es>
9662
9663 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
9664 and files included from it.
9665
9666 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
9667
9668 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
9669 multiple occurrences of the same keymap under different prefixes.
9670 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
9671
9672 2003-03-16 Jason Rumney <jasonr@gnu.org>
9673
9674 * w32gui.h: Use HDC for Display.
9675
9676 * w32term.c (w32_encode_char): Prevent double-byte chars from
9677 crashing Emacs.
9678
9679 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
9680 as binary.
9681
9682 2003-03-16 Juanma Barranquero <lektu@terra.es>
9683
9684 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
9685
9686 2003-03-16 Kim F. Storm <storm@cua.dk>
9687
9688 The following changes consolidate some of the gui-independent
9689 parts of the processing and drawing of "glyph strings" from
9690 xterm.c, w32term.c, and macterm.c into xdisp.c.
9691
9692 * dispextern.h (struct glyph): Reduce face_id member from 22 to
9693 21 bits (this reduces number of faces from 4M to 2M).
9694 Replace W32 specific w32_font_type member (2 bits) by generic
9695 font_type member (3 bits) for portability.
9696 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
9697 (enum draw_glyphs_face): Define here.
9698 (struct glyph_string): Define here. Merge W32 and X versions.
9699 (struct redisplay_interface): New members per_char_metric,
9700 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
9701 (VCENTER_BASELINE_OFFSET): Define here.
9702 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
9703 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
9704
9705 * xdisp.c: Consolidate gui-independent "glyph string" code here.
9706 (dump_glyph_string): Moved here.
9707 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
9708 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
9709 (fill_composite_glyph_string, fill_glyph_string)
9710 (fill_image_glyph_string, fill_stretch_glyph_string)
9711 (left_overwritten, left_overwriting, right_overwritten)
9712 (right_overwriting, get_char_face_and_encoding)
9713 (set_glyph_string_background_width, compute_overhangs_and_x)
9714 (append_glyph, append_composite_glyph, produce_image_glyph)
9715 (take_vertical_position_into_account, append_stretch_glyph)
9716 (produce_stretch_glyph): New generic functions (based on X version).
9717 Call platform specific functions through rif.
9718 (INIT_GLYPH_STRING): New macro, hides W32 details.
9719 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
9720 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
9721 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
9722 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
9723 (notice_overwritten_cursor):
9724 Generic functions exported to platform modules. Users changed.
9725
9726 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
9727 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
9728 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
9729 New macros for consolidated code.
9730
9731 * xterm.c: Remove consolidated defines and code.
9732 (x_per_char_metric, x_encode_char)
9733 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
9734 (x_redisplay_interface): Add new members.
9735
9736 * w32gui.h (Display): Add dummy typedef for consolidation.
9737 (XChar2b): Define alias for wchar_t for consolidation.
9738 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
9739
9740 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
9741 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
9742 New macros for consolidation.
9743
9744 * w32term.c: Remove consolidated defines and code.
9745 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
9746 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
9747 (w32_per_char_metric): Change font_type arg to int for RIF.
9748 (w32_encode_char): Return int according to RIF requirements.
9749 (w32_compute_glyph_string_overhangs): Adapt to RIF.
9750 (w32_get_glyph_overhangs): New function for RIF. Uses generic
9751 x_get_glyph_overhangs.
9752 (w32_redisplay_interface): Add new members.
9753
9754 * macgui.h (XChar2b): Move typedef here for consolidation.
9755 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
9756
9757 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
9758 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
9759 consolidation.
9760
9761 * macterm.c: Remove consolidated defines and code.
9762 (mac_per_char_metric): New function for RIF.
9763 (mac_encode_char): Adapt to new RIF requirements.
9764 (mac_compute_glyph_string_overhangs): Adapt for RIF.
9765 (x_redisplay_interface): Add new members.
9766
9767 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
9768
9769 * keymap.c (Vmenu_events): New var.
9770 (syms_of_keymap): Initialize it.
9771 (where_is_internal): Check more carefully what is a menu event.
9772
9773 2003-03-14 Richard M. Stallman <rms@gnu.org>
9774
9775 * lread.c (read1): After #!, exit loop on eof.
9776
9777 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9778
9779 * gtkutil.h: Add declaration for xg_frame_cleared.
9780
9781 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
9782
9783 * gtkutil.c (struct xg_last_sb_pos): New structure.
9784 (handle_fixed_child): New function.
9785 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
9786 and force a redraw on them.
9787 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
9788 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
9789 so we can avoid unneeded redraws.
9790 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
9791 and force a redraw on the scroll bar.
9792 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
9793 if xg_last_sb_pos shows the positions are up to date.
9794 (xg_frame_cleared): New function.
9795
9796 2003-03-13 Kenichi Handa <handa@m17n.org>
9797
9798 * coding.c (Fdetect_coding_region): Fix docstring.
9799 (Fdetect_coding_string): Fix docstring.
9800
9801 2003-03-13 Andreas Schwab <schwab@suse.de>
9802
9803 * gtkutil.c: Add prototype for create_menus.
9804
9805 * data.c (long_to_cons): Fix type of top.
9806
9807 * xselect.c (selection_data_to_lisp_data): Use int instead of
9808 long for an integer of size 4.
9809
9810 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
9811 (xg_tool_bar_help_callback): Likewise.
9812
9813 2003-03-12 Andreas Schwab <schwab@suse.de>
9814
9815 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
9816
9817 2003-03-12 Kim F. Storm <storm@cua.dk>
9818
9819 The following changes consolidate the fringe handling from
9820 xterm.c, w32term.c, and macterm.c into xdisp.c.
9821
9822 * xdisp.c: Consolidate fringe handling code here.
9823 (left_bits, right_bits, continued_bits, continuation_bits)
9824 (ov_bits, zv_bits): Define fringe bitmaps.
9825 (fringe_bitmaps): New array holding fringe bitmaps.
9826 (draw_fringe_bitmap): Draw a specific bitmap; call display
9827 specific drawing routine via rif->draw_fringe_bitmap.
9828 (draw_row_fringe_bitmaps): Generic replacement for
9829 x_draw_row_fringe_bitmaps; all callers changed.
9830 (compute_fringe_widths): Generic replacement for
9831 x_compute_fringe_widths; all callers changed.
9832
9833 * dispextern.h (enum fringe_bitmap_type): Define here.
9834 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
9835 (fringe_bitmaps): Declare extern.
9836 (struct redisplay_interface): New member draw_fringe_bitmap.
9837 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
9838
9839 * xterm.c: Remove generic fringe code.
9840 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
9841 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
9842
9843 * w32term.c: Remove generic fringe code.
9844 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
9845 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
9846
9847 * macterm.c: Remove generic fringe code.
9848 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
9849 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
9850
9851 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
9852
9853 * print.c (Fprin1_to_string): Return unibyte string if possible.
9854
9855 2003-03-09 David Kastrup <dak@gnu.org>
9856
9857 * process.c (read_process_output): We have allocated enough space
9858 for readmax and carryover, so actually use the alloted space.
9859
9860 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9861
9862 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
9863 toolkit scrollbar click.
9864
9865 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
9866 for USE_GTK.
9867 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
9868 also.
9869 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
9870 scrollbar and control is pressed, call x_scroll_bar_handle_click.
9871
9872 * gtkutil.h (xg_get_scroll_id_for_window): Declare.
9873
9874 * gtkutil.c (xg_get_scroll_id_for_window): New function.
9875 (xg_tool_bar_item_expose_callback): New function.
9876 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
9877 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
9878 on the tool bar widget.
9879 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
9880 to expose on the tool bar item widgets.
9881
9882 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9883
9884 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
9885 struct image* when deciding to update (struct image* may have been
9886 deleted from the image cache).
9887
9888 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
9889 the event isn't for a frame (i.e. for dialogs).
9890
9891 2003-03-07 Kenichi Handa <handa@m17n.org>
9892
9893 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
9894 composition components reaches the limit, terminate composing.
9895 (COMPOSITION_OK): New macro.
9896 (detect_coding_iso2022): Use it if an escape sequence for
9897 composition is found.
9898 (coding_restore_composition): Adjust the number of composition
9899 components if it is not sane.
9900
9901 2003-03-06 Juanma Barranquero <lektu@terra.es>
9902
9903 * w32term.h (struct w32_display_info): Add xrdb member to support
9904 passing resources via -xrm on Windows.
9905
9906 * w32term.c (w32_make_rdb): New function.
9907 (w32_term_init): Use it to initialize xrdb member of w32_display_info
9908 struct. Delete leftover code.
9909
9910 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
9911 for resources passed on the command line.
9912
9913 * w32reg.c (w32_get_rdb_resource): New function.
9914 (x_get_string_resource): Use it, so resources passed with -xrm
9915 supercede the ones in the registry.
9916
9917 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9918
9919 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
9920 instead of x_top_window_to_frame.
9921
9922 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9923
9924 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
9925 when restarting Emacs.
9926
9927 2003-03-03 Richard M. Stallman <rms@gnu.org>
9928
9929 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
9930 to run kill-buffer-query-functions.
9931 (Qkill_buffer_query_functions): New var.
9932 (syms_of_buffer): Init and staticpro it.
9933
9934 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9935
9936 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
9937
9938 2003-02-25 Kim F. Storm <storm@cua.dk>
9939
9940 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
9941 If centering point failed to make whole line visible and vscroll
9942 is non-zero, disable vscroll and try centering point again.
9943
9944 * lread.c (read1): Accept `single space' syntax like (? x).
9945
9946 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9947
9948 * keyboard.c (cancel_hourglass_unwind): Surround with
9949 #ifdef HAVE_X_WINDOWS
9950
9951 2003-02-25 Kenichi Handa <handa@m17n.org>
9952
9953 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
9954 process only when "subprocesses" is defined.
9955
9956 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
9957
9958 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
9959
9960 2003-02-24 Juanma Barranquero <lektu@terra.es>
9961
9962 * callint.c (fix_command): Declare as static void and move before
9963 Fcall_interactively.
9964
9965 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
9966 (syms_of_xdisp): Don't initialize Qwhen.
9967
9968 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9969
9970 * keyboard.c (cancel_hourglass_unwind): New function.
9971 (command_loop_1): Cancel hourglass with unwind-protect.
9972
9973 2003-02-23 Richard M. Stallman <rms@gnu.org>
9974
9975 * callint.c (fix_command): New subroutine, from Fcall_interactively.
9976 Detect (when ... (region-beginning)) etc.
9977 (Fcall_interactively): Call fix_command.
9978 (Qif, Qwhen): New variables.
9979 (syms_of_callint): Init and staticpro them.
9980
9981 * regex.c (print_partial_compiled_pattern): Output to stderr.
9982
9983 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
9984
9985 * dired.c (directory_files_internal): Don't expand directory.
9986 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
9987 instead. From Lars Hansen <larsh@math.ku.dk>.
9988
9989 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
9990
9991 * fns.c (string_to_multibyte): Remove unused var i.
9992 (Flanginfo): Fix int/Lisp_Object mixup.
9993 (void_call2): New fun.
9994 (Fmap_char_table): Use it in place of call2.
9995
9996 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
9997
9998 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
9999
10000 * keymap.c (copy_keymap_1): Make it static.
10001
10002 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
10003
10004 2003-02-22 David Ponce <david@dponce.com>
10005
10006 * lread.c (Fload): Don't check STRING_MULTIBYTE.
10007
10008 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10009
10010 * process.h: Removed subtty field from struct Lisp_Process.
10011
10012 * process.c (create_process): Remove setting of subtty.
10013 (emacs_get_tty_pgrp): New function.
10014 (Fprocess_running_child_p, process_send_signal):
10015 Call emacs_get_tty_pgrp instead of ioctl.
10016 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
10017
10018 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
10019
10020 * keymap.c (Fdefine_key): Doc fix.
10021
10022 2003-02-21 Juanma Barranquero <lektu@terra.es>
10023
10024 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
10025
10026 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
10027 POLLING_PROBLEM_IN_SELECT.
10028
10029 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
10030 Delete #undef of POLLING_PROBLEM_IN_SELECT.
10031
10032 * s/hpux10-20.h: New file.
10033
10034 * process.c (wait_reading_process_input):
10035 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
10036
10037 2003-02-20 Kenichi Handa <handa@m17n.org>
10038
10039 * fontset.c (check_fontset_name): If NAME is nil, return the
10040 default fontset.
10041 (override_font_info): New function.
10042 (Fset_fontset_font): Document that NAME nil means the default fontset.
10043 (Ffontset_info): If FONTSET is not the default fontset, merge
10044 FONTSET onto the copy of the default fontset, and work on that
10045 copy. Document that NAME nil means the default fontset.
10046 (Ffontset_font): Document that NAME nil means the default fontset.
10047
10048 * process.c (setup_process_coding_systems): If the process's
10049 in/out descriptor is -1, do nothing.
10050
10051 2003-02-19 Andreas Schwab <schwab@suse.de>
10052
10053 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
10054 Add prototypes.
10055
10056 2003-02-19 Kenichi Handa <handa@m17n.org>
10057
10058 * xfaces.c (try_alternative_families): Try all scalable fonts if
10059 Vscalable_fonts_allowed is not Qt.
10060
10061 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10062
10063 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
10064
10065 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10066
10067 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
10068 names.
10069
10070 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
10071 (sorted_font_list): Move allocation of struct font_name to
10072 x_face_list_fonts.
10073 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
10074 (Fx_list_fonts): Set maxnames to -1 to get all font names.
10075
10076 2003-02-18 Kim F. Storm <storm@cua.dk>
10077
10078 * lread.c (read1): Fix last change.
10079 "`" is not always special. Allow "?" after a character constant.
10080
10081 2003-02-18 Andrew Choi <akochoi@shaw.ca>
10082
10083 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
10084
10085 2003-02-18 Andreas Schwab <schwab@suse.de>
10086
10087 * window.c (window_scroll_pixel_based): Move outside a
10088 multi-glyph character before setting new window start.
10089
10090 * xdisp.c (in_display_vector_p): New function.
10091 * dispextern.h (in_display_vector_p): Declare.
10092
10093 2003-02-18 Kim F. Storm <storm@cua.dk>
10094
10095 * lread.c (read1): Fix and relax read syntax.
10096 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
10097 Only recognize "," after dotted-pair dot if inside backquote.
10098 Never include "`" or "," (inside backquote) in a symbol.
10099 Allow dotted-pair dot after a character constant.
10100 Allow "`" and "," (inside backquote) after a character constant.
10101
10102 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10103
10104 * gtkutil.c (xg_tool_bar_expose_callback): New function.
10105 (xg_create_tool_bar): Force style of tool bar to be horizontal with
10106 icons. Set name of tool bar to emacs-toolbar.
10107 (update_frame_tool_bar): Connect expose event to
10108 xg_tool_bar_expose_callback.
10109
10110 2003-02-17 Richard M. Stallman <rms@gnu.org>
10111
10112 * keyboard.c (this_command_key_count_reset): New variable.
10113 Initiatize to 0 where this_command_key_count is set.
10114 (read_char): Save and restore this_command_key_count_reset
10115 around input method code.
10116 (read_char): If this_command_key_count_reset, echo reread commands.
10117 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
10118
10119 2003-02-17 Kenichi Handa <handa@m17n.org>
10120
10121 * fns.c (string_to_multibyte): Always return a multibyte string.
10122
10123 2003-02-16 Jason Rumney <jasonr@gnu.org>
10124
10125 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
10126 Negative max_fonts parameter means list all.
10127
10128 2003-02-14 Dave Love <fx@gnu.org>
10129
10130 * fns.c (Flanginfo): Doc fix.
10131
10132 2003-02-13 Kim F. Storm <storm@cua.dk>
10133
10134 * lread.c (read_escape): Interpret \s as a SPACE character, except
10135 for \s-X in a character constant which still is the super modifier.
10136 (read1): Signal an `invalid read syntax' error if a character
10137 constant is immediately followed by a digit or symbol character.
10138
10139 * search.c (Fmatch_data): Doc fix. Explicitly state that
10140 match-data is undefined if last search failed.
10141
10142 * keymap.c (Fcommand_remapping): Rename from Fremap_command.
10143 All uses changed.
10144
10145 2003-02-12 Juanma Barranquero <lektu@terra.es>
10146
10147 * eval.c (Fdefmacro): Fix typo.
10148
10149 2003-02-12 Kim F. Storm <storm@cua.dk>
10150
10151 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
10152 macro is a string, convert meta modifiers in string when copying
10153 the string into a vector.
10154
10155 2003-02-11 Kim F. Storm <storm@cua.dk>
10156
10157 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
10158
10159 2003-02-11 Kenichi Handa <handa@m17n.org>
10160
10161 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
10162
10163 2003-02-10 Kim F. Storm <storm@cua.dk>
10164
10165 * process.c: Doc fixes.
10166 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
10167
10168 2003-02-10 Kenichi Handa <handa@m17n.org>
10169
10170 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
10171
10172 * process.c (QCfilter_multibyte): New variable.
10173 (setup_process_coding_systems): New function.
10174 (Fset_process_buffer, Fset_process_filter):
10175 Call setup_process_coding_systems.
10176 (Fstart_process): Initialize the member `filter_multibyte' of
10177 struct Lisp_Process.
10178 (create_process): Call setup_process_coding_systems.
10179 (Fmake_network_process): New keyward `:filter-multibyte'.
10180 Initialize the member `filter_multibyte' of struct Lisp_Process.
10181 Call setup_process_coding_systems.
10182 (server_accept_connection): Call setup_process_coding_systems.
10183 (read_process_output): If the process has a filter, decide the
10184 multibyteness of a string to given to the filter by
10185 `filter_multibyte' member of the process. If the process doesn't
10186 have a filter and the result of conversion is unibyte, use
10187 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
10188 multibyte form.
10189 (Fset_process_coding_system): Call setup_process_coding_systems.
10190 (Fset_process_filter_multibyte): New function.
10191 (Fprocess_filter_multibyte_p): New function.
10192 (syms_of_process): Intern and staticpro QCfilter_multibyte.
10193 Defsubr Sset_process_filter_multibyte and
10194 Sprocess_filter_multibyte_p.
10195
10196 * process.h (struct Lisp_Process): New member filter_multibyte.
10197
10198 * lisp.h (setup_process_coding_systems): Add prototype.
10199
10200 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
10201 process, update coding systems for the process.
10202
10203 2003-02-09 Kenichi Handa <handa@m17n.org>
10204
10205 * fns.c (string_to_multibyte): New function.
10206 (Fstring_to_multibyte): New function.
10207 (syms_of_fns): Defsubr it.
10208
10209 2003-02-08 Andreas Schwab <schwab@suse.de>
10210
10211 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
10212 instead of the substitution.
10213
10214 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10215
10216 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
10217
10218 * xmenu.c (menu_position_func): Adjust menu popup position so that
10219 the menu is fully visible.
10220
10221 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10222
10223 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
10224 (x_make_frame_invisible, x_wm_set_icon_position):
10225 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
10226
10227 * xfns.c (x_set_name, x_set_title): Ditto.
10228
10229 2003-02-04 Richard M. Stallman <rms@gnu.org>
10230
10231 * keyboard.c (echo_now): Update before_command_echo_length.
10232 (Freset_this_command_lengths): Reset this_command_key_count etc.
10233 immediately rather than arranging to do it later.
10234 (before_command_key_count_1, before_command_echo_length_1)
10235 (before_command_restore_flag): Vars deleted.
10236 (add_command_key): Don't handle before_command_restore_flag.
10237 (read_char, record_menu_key): Don't update before_command_key_count or
10238 before_command_echo_length.
10239 (read_char): Don't handle before_command_restore_flag.
10240
10241 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
10242 in direct-output clauses if it wouldn't be called in the ordinary case.
10243
10244 2003-02-04 Kim F. Storm <storm@cua.dk>
10245
10246 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
10247
10248 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10249
10250 * gtkutil.c (remove_from_container): Copying list is not needed.
10251 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
10252 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
10253 on list returned from gtk_container_get_children to avoid memory leak.
10254
10255 2003-02-01 Jason Rumney <jasonr@gnu.org>
10256
10257 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
10258 local malloc.
10259 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
10260 definitions in xpm.h.
10261 (init_xpm_functions): New function.
10262 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
10263 (init_external_image_libraries): Try to load libXpm.dll.
10264
10265 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
10266 timestamp.
10267
10268 2003-01-31 Dave Love <fx@gnu.org>
10269
10270 * syntax.c (Fskip_chars_forward)
10271 (open-paren-in-column-0-is-defun-start): Doc fix.
10272
10273 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
10274
10275 * fileio.c: Support // at start of name for Cygwin (just added proper
10276 preprocessor tests).
10277
10278 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
10279
10280 * Makefile.in: Use @EXEEXT@ for Cygwin.
10281
10282 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
10283
10284 * s/cygwin.h: Added for Cygwin port.
10285
10286 2003-01-31 Juanma Barranquero <lektu@terra.es>
10287
10288 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
10289 when including gif_lib.h.
10290 (init_gif_functions, init_tiff_functions): New functions.
10291 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
10292 Windows. Disable color table lookups. Call library functions
10293 through pointers determined at runtime.
10294 (init_external_image_libraries): Try to load libungif.dll and
10295 libtiff.dll.
10296
10297 2003-01-31 Kenichi Handa <handa@m17n.org>
10298
10299 * xdisp.c (SKIP_GLYPHS): New macro.
10300 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
10301
10302 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10303
10304 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
10305
10306 2003-01-30 Dave Love <fx@gnu.org>
10307
10308 * alloc.c (Vgc_elapsed, gcs_done): New variables.
10309 (Fgarbage_collect): Use them.
10310 (init_alloc, syms_of_alloc): Set them up.
10311
10312 2003-01-30 Juanma Barranquero <lektu@terra.es>
10313
10314 * w32fns.c (init_external_image_libraries): Add missing operator.
10315
10316 2003-01-29 Jason Rumney <jasonr@gnu.org>
10317
10318 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
10319 an alternative name for jpeg.dll.
10320
10321 2003-01-29 Kenichi Handa <handa@m17n.org>
10322
10323 * xdisp.c (set_cursor_from_row): Pay attention to string display
10324 properties.
10325
10326 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
10327
10328 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
10329 <escape>.
10330 (keycode_to_xkeysym_table): Reformat and add more comments.
10331 (XTread_socket): Drop special case for backspace.
10332
10333 2003-01-28 Andrew Choi <akochoi@shaw.ca>
10334
10335 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
10336 values in old-style RGB specs.
10337
10338 2003-01-27 Juanma Barranquero <lektu@terra.es>
10339
10340 * w32fns.c (init_external_image_libraries): Try alternate names for the
10341 jpeg dll.
10342
10343 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10344
10345 * gtkutil.c (create_dialog, xg_separator_p)
10346 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
10347 before calling strcmp or strlen.
10348
10349 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10350
10351 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
10352 and handle image load failure.
10353
10354 2003-01-26 Jason Rumney <jasonr@gnu.org>
10355
10356 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
10357 New functions.
10358 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
10359 Disable color table lookups. Call jpeg library functions
10360 through pointers determined at runtime.
10361 (init_external_image_libraries): Try to load jpeg.dll.
10362
10363 2003-01-25 Richard M. Stallman <rms@gnu.org>
10364
10365 * lisp.h: Declare format2 instead of format1.
10366
10367 * fileio.c (barf_or_query_if_file_exists):
10368 Call format2 instead of format1.
10369
10370 * editfns.c (format2): New function, replaces format1
10371 but takes exactly two Lisp Objects as format args.
10372
10373 * buffer.c (Fkill_buffer): Call format2 instead of format1.
10374
10375 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10376
10377 * xterm.h: Change to return value of x_dispatch_event to int.
10378
10379 * xterm.c (x_filter_event): New function.
10380 (event_handler_gdk, XTread_socket): Call x_filter_event.
10381 (x_dispatch_event): Change to return value of finish.
10382 (event_handler_gdk): Use return value from x_dispatch_event.
10383
10384 * xfns.c (x_window): Call create_frame_xic for GTK version to
10385 initialize input methods.
10386
10387 * gtkutil.h: Add (void) prototypes.
10388
10389 * gtkutil.c (create_menus): Remove code that puts the help menu to
10390 the right.
10391
10392 2003-01-25 Jason Rumney <jasonr@gnu.org>
10393
10394 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
10395 [HAVE_PNG]: Sync with xfns.c version.
10396 (png_load): Adjust colors for Windows. Use Windows
10397 bitmaps. Disable color table lookups.
10398 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
10399 (init_png_functions): New function.
10400 (png_read_from_memory, png_load): Call png library functions
10401 through pointers determined at runtime.
10402 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
10403 (init_external_image_libraries): New function.
10404 (init_xfns): Call it.
10405
10406 2003-01-24 Andreas Schwab <schwab@suse.de>
10407
10408 * minibuf.c (Fminibuffer_message): Verify type of parameter.
10409
10410 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10411
10412 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
10413 of static initializer.
10414
10415 2003-01-24 Dave Love <fx@gnu.org>
10416
10417 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
10418 architectures.
10419
10420 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
10421 Use __alignof__.
10422
10423 2003-01-24 Kenichi Handa <handa@m17n.org>
10424
10425 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
10426 It it is nonzero, don't pretend that an invisible area doesn't exist.
10427 (command_loop_1): Call adjust_point_for_property with proper
10428 second arg.
10429
10430 2003-01-22 Jason Rumney <jasonr@gnu.org>
10431
10432 Sync changes with xterm.c and xfns.c.
10433
10434 * w32term.c (x_draw_glyph_string_foreground)
10435 (x_draw_composite_glyph_string_foreground): Implement overstriking.
10436
10437 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
10438 phys_cursor's hpos is overwritten. This is still not completely
10439 correct, as it doesn't really make sense to use hpos at all to
10440 get the cursor glyph (as that is relative to the width of the
10441 characters on the line, which may have changed during the update).
10442
10443 * w32term.c (notice_overwritten_cursor): Handle the special case
10444 of the cursor being in the first blank non-text line at the
10445 end of a window.
10446
10447 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
10448 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
10449 Compute from the x position returned by x_draw_glyphs.
10450
10451 (x_display_and_set_cursor): Don't set phys_cursor_width here,
10452 except for NO_CURSOR and system caret, to make phys_cursor_width
10453 contain what its name suggests.
10454 (notice_overwritten_cursor): Consider the cursor image erased if
10455 the output area intersects the cursor image in y-direction.
10456
10457 * w32term.c (note_mode_line_or_margin_highlight): Rename from
10458 note_mode_line_highlight and extend.
10459
10460 * w32term.c (last_window): New variable.
10461 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
10462 (note_mouse_movement): Remove reimplemented code in #if 0.
10463
10464 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
10465 not update_mode_lines, and always set it to 1.
10466
10467 2003-01-21 Jason Rumney <jasonr@gnu.org>
10468
10469 * w32fns.c (IDC_HAND): Define it if system headers don't.
10470
10471 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
10472
10473 * w32term.h (struct w32_output): New member hand_cursor.
10474 (WM_EMACS_SETCURSOR): New message definition.
10475
10476 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
10477 function w32_define_cursor.
10478 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
10479 position, change member name output_data.x to output_data.w32 and
10480 add function w32_define_cursor.
10481 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
10482 and change member name output_data.x to output_data.w32.
10483 (w32_initialize_display_info):
10484 Setup dpyinfo->vertical_scroll_bar_cursor.
10485
10486 * w32fns.c (Vx_hand_shape): New variable.
10487 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
10488 WM_EMACS_SETCURSOR.
10489 (x-create-frame): Setup Cursor types.
10490
10491 2003-01-21 David Ponce <david@dponce.com>
10492
10493 * w32term.c (w32_encode_char): For DIM=1 charset, set
10494 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
10495 x_encode_char change by Kenichi Handa <handa@m17n.org> on
10496 2002-09-30.)
10497 (w32_draw_relief_rect): Declare all args.
10498 (w32_define_cursor): New.
10499
10500 * w32fns.c (w32_load_cursor): New function.
10501 (w32_init_class): Use it.
10502 (x_put_x_image): Declare all args.
10503
10504 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk>
10505
10506 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
10507
10508 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10509
10510 * gtkutil.c: Must include stdio.h before termhooks.h
10511
10512 2003-01-21 Dave Love <fx@gnu.org>
10513
10514 * alloc.c (Fgc_status): Print zombie list.
10515 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
10516 Fix assignment of zombies.
10517 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
10518 Don't take car of non-cons.
10519
10520 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10521
10522 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10523
10524 2003-01-20 David Ponce <david@dponce.com>
10525
10526 * w32menu.c (digest_single_submenu): Declare all args.
10527
10528 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
10529 changes in xmenu.c:
10530
10531 (parse_single_submenu): Use individual keymap's prompt
10532 string as pane name, if there is one.
10533 (set_frame_menubar): Save menu_items_n_panes from each call to
10534 parse_single_submenu and use it when calling digest_single_submenu.
10535
10536 2003-01-20 Steven Tamm <steventamm@mac.com>
10537
10538 * macterm.c (XTread_socket): Checks for valid, visible window
10539 before sending a scroll-wheel event.
10540
10541 2003-01-20 Richard M. Stallman <rms@gnu.org>
10542
10543 * xdisp.c (redisplay_window): If mini window's buffer is not
10544 a minibuffer, then redisplay it like other windows.
10545
10546 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10547
10548 * gtkutil.c (xg_create_frame_widgets): Check if there is an
10549 external tool bar before setting tool bar height.
10550
10551 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10552
10553 * xterm.c (handle_one_xevent): Surround popup_activated
10554 with #ifdef:s for non-toolkit version.
10555
10556 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
10557 (gtkutil.o): New file.
10558 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
10559 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
10560
10561 * gtkutil.c: New file for GTK version.
10562
10563 * gtkutil.h: New file for GTK version.
10564
10565 * xterm.h: Add xt_or_gtk_widget.
10566 Include gtk files for USE_GTK.
10567 (struct x_output): Add toolbar_height.
10568 (struct x_output): Add GTK widgets and Gdk size_hints.
10569 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
10570 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
10571 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
10572
10573 * xterm.c: Include gtkutil.h for USE_GTK.
10574 (free_frame_menubar): Declare extern void for USE_GTK.
10575 (note_mouse_highlight): Check popup_activated for USE_GTK.
10576 (xt_action_hook): Don't compile if USE_GTK.
10577 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
10578 (xg_scroll_callback): New function.
10579 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
10580 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
10581 for USE_GTK.
10582 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
10583 xg_show_scroll_bar for USE_GTK.
10584 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
10585 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
10586 (event_handler_gdk): New function for USE_GTK.
10587 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
10588 (handle_one_xevent): Make sure widget is mapped before
10589 calling x_real_positions for USE_GTK.
10590 (XTread_socket): Add GTK event loop for USE_GTK.
10591 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
10592 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
10593 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
10594 (x_iconify_frame): Add code for USE_GTK.
10595 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
10596 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
10597 is in gtkutil.c.
10598 (x_term_init): Add initialization for GTK.
10599 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
10600
10601 * xmenu.c: Include gtkutil.h for USE_GTK.
10602 (Fx_popup_menu): Use current position if x and y is NIL.
10603 (single_menu_item, single_menu_item, Fx_popup_dialog):
10604 Check for USE_GTK.
10605 (popup_widget_loop): New function for USE_GTK.
10606 (x_activate_menubar): Add code for USE_GTK.
10607 (popup_activate_callback, popup_deactivate_callback)
10608 (menu_highlight_callback, menubar_selection_callback):
10609 Add USE_GTK versions.
10610 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
10611 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
10612 (free_frame_menubar): Only compile if not USE_GTK. GTK version
10613 is in gtkutil.c.
10614 (popup_selection_callback): New version for USE_GTK.
10615 (create_and_show_popup_menu): New fuction, one USE_GTK version and
10616 one USE_X_TOOLKIT version.
10617 (xmenu_show): Call create_and_show_popup_menu.
10618 (dialog_selection_callback): New version for USE_GTK.
10619 (create_and_show_dialog): New fuction, one USE_GTK version and
10620 one USE_X_TOOLKIT version.
10621 (xdialog_show): Call create_and_show_dialog.
10622
10623 * xfns.c: Include gtkutil for USE_GTK.
10624 (x_window_to_frame, x_any_window_to_frame)
10625 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
10626 (x_top_window_to_frame): Add code for USE_GTK.
10627 (x_set_background_color): Call xg_set_background_color for GTK.
10628 (x_set_menu_bar_lines): Check for USE_GTK.
10629 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
10630 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
10631 (x_window): Call xg_create_frame_widgets for USE_GTK.
10632 (Fx_create_frame): Check for USE_GTK
10633 (Fx_file_dialog): New implementation for USE_GTK.
10634
10635 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
10636 (update_menu_bar): Add check for USE_GTK.
10637 (update_tool_bar): Add check for USE_GTK and external tool bar.
10638 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
10639 (redisplay_internal): Add check for USE_GTK and popup_activated.
10640 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
10641 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
10642 (display_menu_bar): Add check for USE_GTK
10643
10644 * lisp.h (Vx_resource_name): Declare extern.
10645
10646 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
10647 for USE_GTK.
10648 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
10649
10650 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
10651 (FRAME_EXTERNAL_TOOL_BAR): New macro.
10652 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
10653
10654 * fileio.c (Fread_file_name): Add check for USE_GTK.
10655
10656 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
10657 Add check for USE_GTK.
10658
10659 * config.in: Added HAVE_GTK
10660
10661 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
10662
10663 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
10664
10665 * charset.h (Funibyte_char_to_multibyte): Export.
10666
10667 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10668
10669 * xmenu.c (mouse_position_for_popup): New function.
10670 (Fx_popup_menu): Call mouse_position_for_popup for X and
10671 mouse_position_hook for others.
10672
10673 2003-01-17 Kim F. Storm <storm@cua.dk>
10674
10675 * editfns.c (Finsert): Mention `string-make-multibyte' and
10676 `string-as-multibyte' in doc string.
10677
10678 2003-01-17 Kenichi Handa <handa@m17n.org>
10679
10680 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
10681
10682 * editfns.c (Fformat): Convert an unibyte char argument that is
10683 formatted by "%c" to multibyte if the total result must be a
10684 multibyte string.
10685
10686 2003-01-16 Kim F. Storm <storm@cua.dk>
10687
10688 * process.c (set-process-filter): Document unibyte/multibyte-ness
10689 of string argument.
10690
10691 2003-01-16 Kenichi Handa <handa@m17n.org>
10692
10693 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
10694
10695 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
10696 (re_search_2): Likewise.
10697
10698 2003-01-15 Kenichi Handa <handa@m17n.org>
10699
10700 * xdisp.c (message_dolog): Fix bug of the case that *Message*
10701 buffer is unibyte.
10702
10703 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
10704
10705 * fns.c (Fsubstring): Clarify doc string.
10706
10707 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
10708 (Fprevious_char_property_change)
10709 (Fnext_single_char_property_change)
10710 (Fprevious_single_char_property_change, Fnext_property_change)
10711 (Fnext_single_property_change, Fprevious_property_change)
10712 (Fprevious_single_property_change, Fadd_text_properties)
10713 (Fput_text_property, Fset_text_properties)
10714 (Fremove_text_properties, Fremove_list_of_text_properties)
10715 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
10716
10717 2003-01-14 Kim F. Storm <storm@cua.dk>
10718
10719 * process.h (struct Lisp_Process): New member plist replaces old
10720 member private_vars. All uses changed.
10721
10722 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
10723 (QCplist): Rename from QCvars. Change all uses.
10724 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
10725 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
10726 (syms_of_process): Intern, staticpro, defsubr these.
10727 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
10728
10729 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
10730
10731 * m/delta.h: Remove (obsolete).
10732
10733 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
10734
10735 * fileio.c (Fdelete_directory, Fdelete_file): Document the
10736 behaviour in front of symlinks.
10737 (Fdelete_file): Raise an error on directories.
10738
10739 2003-01-13 Dave Love <fx@gnu.org>
10740
10741 * fns.c (Freverse): Use QUIT.
10742
10743 2003-01-13 Richard M. Stallman <rms@gnu.org>
10744
10745 * minibuf.c (minibuffer_completion_contents):
10746 Error if point is inside prompt.
10747
10748 * keyboard.c (command_loop_1): Don't redisplay directly
10749 if there's a post-command-hook.
10750
10751 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
10752 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
10753
10754 2003-01-12 Kim F. Storm <storm@cua.dk>
10755
10756 * process.h (struct Lisp_Process): New member private_vars.
10757
10758 * process.c (QCvars): New variable.
10759 (syms_of_process): Intern and staticpro it.
10760 (Fset_process_contact): Removed function.
10761 (Fprocess_variable, Fset_process_variable): New functions.
10762 (syms_of_process): Defsubr them.
10763 (Fstart_process): Initialize private_vars plist to nil.
10764 (Fmake_network_process): New arg :vars to setup the private
10765 variables for new network process.
10766 (server_accept_connection): Copy server's private variables to
10767 client process.
10768
10769 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
10770 crashes). Code rewritten and simplified. Now directly aligns the
10771 pointer and recalculates pure_bytes_used, rather than aligning the
10772 size and adjusting the pointer.
10773
10774 2003-01-11 Kim F. Storm <storm@cua.dk>
10775
10776 * process.c (Fset_process_contact): New function.
10777 (syms_of_process): defsubr it.
10778 (make-network-process): Update doc.
10779
10780 2003-01-10 Andreas Schwab <schwab@suse.de>
10781
10782 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
10783 Reported by Berthold Gunreben <b.gunreben@web.de>.
10784
10785 2003-01-10 Dave Love <fx@gnu.org>
10786
10787 * composite.c (syms_of_composite): Make composition_hash_table weak.
10788
10789 2003-01-09 Kim F. Storm <storm@cua.dk>
10790
10791 * process.c (Fmake_network_process): Convert new port number
10792 to host byte order for `:service t' case. From Mario Lang.
10793
10794 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10795
10796 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
10797 instead of XtAppProcessEvent.
10798
10799 * xterm.c (handle_one_xevent): New function.
10800 (x_dispatch_event): New function.
10801 (XTread_socket): Call handle_one_xevent.
10802
10803 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
10804
10805 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
10806 call XQueryPointer to get coordinates.
10807 (popup_get_selection): Do not set popup_activated_flag to zero,
10808 let popup_deactivate_callback do that. Needed for Motif.
10809 Call x_dispatch_event instead of XtDispatchEvent.
10810 (xmenu_show): Calculate root coordinate from frame top/left position.
10811
10812 2003-01-08 Kim F. Storm <storm@cua.dk>
10813
10814 * process.c (server_accept_connection): Fix recording of new
10815 connection's local address in :local property of contact info.
10816 (Fmake_network_process): Record local network address for new
10817 client processes in :local property of contact info.
10818 (format-network-address): Add arg OMIT-PORT. Change callers.
10819
10820 2003-01-07 Dave Love <fx@gnu.org>
10821
10822 * Makefile.in (fns.o): Depend on coding.h.
10823
10824 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
10825
10826 * minibuf.c (Fread_variable): Doc fix.
10827
10828 * eval.c (Fuser_variable_p): Doc change. For custom variables,
10829 use the same test as for custom-variable-p.
10830
10831 2003-01-05 Richard M. Stallman <rms@gnu.org>
10832
10833 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
10834 Count LAST_LINE_MISFIT in scroll margin for end of window.
10835 Move label too_near_end before setting SCROLL_MARGIN_POS.
10836 Set LAST_LINE_MISFIT before jumping there.
10837
10838 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
10839 scroll_conservatively case. If scrolling that much doesn't change
10840 STARTP, move it down one line.
10841
10842 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
10843 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
10844
10845 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
10846 selected frame.
10847
10848 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
10849 (syms_of_keymap): Staticpro them.
10850 (Fapropos_internal): Initialize them and clear them out.
10851 Don't GCPRO them.
10852
10853 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
10854 Doc fixes.
10855
10856 * lisp.h: New misc type Lisp_Save_Value.
10857 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
10858 (XSAVE_VALUE): New macro.
10859 (struct Lisp_Save_Value): New data type.
10860 (union Lisp_Misc): Add u_save_value alternative.
10861 (make_save_value): Declare.
10862
10863 * alloc.c (make_save_value): New function.
10864
10865 * xterm.c (x_catch_errors): Save dpy using make_save_value.
10866 (x_catch_errors_unwind): Call XSync.
10867
10868 2003-01-01 Richard M. Stallman <rms@gnu.org>
10869
10870 * window.c (window_scroll_pixel_based): Partially undo last change.
10871
10872 * keyboard.c (command_loop_1): Call adjust_point_for_property
10873 in direct action cases for Qforward_char and Qbackward_char.
10874 Set already_adjusted so it won't be done twice.
10875
10876 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk>
10877
10878 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
10879 type definition of size_t.
10880
10881 2003-01-02 Steven Tamm <steventamm@mac.com>
10882
10883 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
10884 distinguish Carbon GUI builds from X11 builds on darwin.
10885
10886 2002-12-30 Steven Tamm <steventamm@mac.com>
10887
10888 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
10889 to default to t.
10890
10891 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
10892
10893 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
10894
10895 2002-12-28 Steven Tamm <steventamm@mac.com>
10896
10897 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
10898 allow building in a different directory than source. Uses some
10899 GNU Make extensions, but there is no other make on Mac OS X.
10900
10901 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
10902
10903 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
10904 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
10905 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
10906 (Fstring_to_number): Mention the returned value in the doc strings.
10907
10908 2002-12-23 Richard M. Stallman <rms@gnu.org>
10909
10910 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
10911 <scroll-down-aggressively>: Doc fix.
10912
10913 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
10914 string as pane name, if there is one.
10915 (set_frame_menubar): Save menu_items_n_panes from each call to
10916 parse_single_submenu and use it when calling digest_single_submenu.
10917
10918 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
10919 Don't try to make last line fully visible if it is past end of window.
10920
10921 2002-12-22 Steven Tamm <steventamm@mac.com>
10922
10923 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
10924 (mac_menu_show): Add support for hierarchical popup menus.
10925 (add_menu_item): Remove indentation support.
10926 (fill_submenu, fill_menu): Create hierarchical menus
10927 instead of using indentation.
10928
10929 2002-12-22 Richard M. Stallman <rms@gnu.org>
10930
10931 * xdisp.c (try_cursor_movement): Don't call try_window here.
10932 (redisplay_window): Never redisplay minibuffer when inactive.
10933
10934 * window.c (select_window_1): Undo 9/21 change.
10935
10936 2002-12-22 Steven Tamm <steventamm@mac.com>
10937
10938 * macterm.c (XTread_socket): Call KeyTranslate for control and
10939 meta to deal correctly shifted non-alpha characters, like C-S-5
10940 being treated like C-%. Does not look for shift key to deal
10941 with masking off control-key with mac-reverse-ctrl-meta.
10942
10943 2002-12-21 Richard M. Stallman <rms@gnu.org>
10944
10945 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
10946 If it is non-nil, run timers. Use an unwind-protect to requeue
10947 the events that were read ahead.
10948 (popup_get_selection_unwind): New subroutine.
10949 (popup_get_selection_queue): File-scope variable now holds that queue.
10950 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
10951 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
10952 Use an unwind-protect to pop down the dialog box.
10953 (xdialog_show_unwind): New subroutine implements that.
10954
10955 * xdisp.c (row_containing_pos): Change exit test using last_y.
10956 (try_window_id): Abort if row_containing_pos returns null.
10957
10958 * lread.c (load_error_handler): New function.
10959 (Fload): Handle errors in Fsubstitute_in_file_name.
10960 Don't expect Fsignal to return.
10961
10962 * eval.c: Errors and throws work right with interrupt blocking.
10963 (struct catchtag): New elt interrupt_input_blocked.
10964 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
10965 (internal_catch, Fcondition_case, internal_condition_case)
10966 (internal_condition_case_1, internal_condition_case_2): Save it.
10967 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
10968
10969 * editfns.c (Fformat): Add parens.
10970
10971 * dired.c (file_name_completion): Fix that change.
10972 Delete special quit-handling code; just use QUIT.
10973
10974 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com>
10975
10976 * dired.c (file_name_completion): Close directory on error
10977 just as in directory_files_internal.
10978
10979 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
10980
10981 * window.c (Fset_window_configuration): Set old_point to correct
10982 value when new_current_buffer == current_buffer.
10983
10984 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
10985
10986 Revisited my earlier fix for the following entry in etc/PROBLEMS:
10987 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
10988 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
10989
10990 These changes were in part based upon suggestions made by Peter
10991 'Luna' Runestig [peter@runestig.com].
10992
10993 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
10994 g_b_init_get_token_information, g_b_init_lookup_account_sid,
10995 g_b_init_get_sid_identifier_authority ): Add several static
10996 global variables.
10997
10998 * w32.c (globals_of_w32): New function. Used to initialize those
10999 global variables that must always be initialized on startup even
11000 when the global variable initialized is non zero. Its primary
11001 purpose at this time is to set the global variables
11002 g_b_init_is_windows_9x, g_b_init_open_process_token,
11003 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
11004 g_b_init_get_sid_identifier_authority to 0 on startup.
11005 Called from main.
11006
11007 * w32.c (is_windows_9x): Perform initialization only if
11008 g_b_init_is_windows_9x is equal to 0. On initialization set
11009 g_b_init_is_windows_9x equal to 1.
11010
11011 * w32.c (open_process_token): Perform initialization only if
11012 g_b_init_open_process_token is equal to 0. On initialization set
11013 g_b_init_open_process_token equal to 1.
11014
11015 * w32.c (get_token_information): Perform initialization only if
11016 g_b_init_get_token_information is equal to 0. On initialization
11017 set g_b_init_get_token_information equal to 1.
11018
11019 * w32.c (lookup_account_sid): Perform initialization only if
11020 g_b_init_lookup_account_sid is equal to 0. On initialization
11021 set g_b_init_lookup_account_sid equal to 1.
11022
11023 * w32.c (get_sid_identifier_authority): Perform initialization
11024 only if g_b_init_get_sid_identifier_authority is equal to 0.
11025 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
11026
11027 * w32fns.c (globals_of_w32fns): New function. Used to initialize
11028 those global variables that must always be initialized on startup
11029 even when the global variable initialized is non zero.
11030 Its primary purpose at this time is to initialize the global variable
11031 track_mouse_event_fn.
11032
11033 * w32fns.c (w32_wnd_proc): Remove initialization of
11034 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
11035
11036 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
11037
11038 * w32menu.c (globals_of_w32menu): New function. Used to
11039 initialize those global variables that must always be initialized
11040 on startup even when the global variable initialized is non zero.
11041 Its primary purpose at this time is to initialize the global
11042 variables get_menu_item_info and set_menu_item_info.
11043
11044 * w32menu.c (initialize_frame_menubar): Remove initialization of
11045 get_menu_item_info and set_menu_item_info.
11046
11047 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
11048
11049 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
11050 Declare them.
11051
11052 * emacs.c (main): Call globals_of_w32 prior to calling
11053 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
11054 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
11055 is defined.
11056
11057 * w32term.c (x_update_window_begin): Fix Windows API error
11058 detected by BoundsChecker. Test to determine if
11059 w32_system_caret_hwnd is NULL prior to attempting to use
11060 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
11061
11062 * w32term.c (x_update_window_end): Fix Windows API error
11063 detected by BoundsChecker. Test to determine if
11064 w32_system_caret_hwnd is NULL prior to attempting to use
11065 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
11066
11067 2002-12-17 Kenichi Handa <handa@m17n.org>
11068
11069 * coding.c (coding_system_require_warning): New variable.
11070 (syms_of_coding): DEFVAR it.
11071
11072 * coding.h (coding_system_require_warning): Extern it.
11073
11074 * fileio.c (choose_write_coding_system): Even if
11075 Vcoding_system_for_write is non-nil, if
11076 coding_system_require_warning is nonzero, call
11077 Vselect_safe_coding_system_function.
11078
11079 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
11080
11081 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
11082 (lisp): Add font-core.
11083
11084 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
11085
11086 * textprop.c (text_read_only): New arg `propval'.
11087 (get_char_property_and_overlay): Remove unused var `next_overlay'.
11088 (verify_interval_modification): Use text_read_only's new arg.
11089
11090 2002-12-13 Kenichi Handa <handa@m17n.org>
11091
11092 * coding.c (Funencodable_char_position): Set pend correctly.
11093
11094 2002-12-12 Jason Rumney <jasonr@gnu.org>
11095
11096 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
11097 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
11098 Be more careful about when help_events are generated.
11099
11100 2002-12-12 Steven Tamm <steventamm@mac.com>
11101
11102 * macterm.c (mac_check_for_quit_char): Correctly set the
11103 modifiers of the event to 0.
11104 * mac.c (sys_select): Duplicate rfds before calling select to
11105 ensure that rfds survive the while loop.
11106
11107 2002-12-11 Kim F. Storm <storm@cua.dk>
11108
11109 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
11110 row_containing_pos returned NULL.
11111
11112 2002-12-10 Steven Tamm <steventamm@mac.com>
11113
11114 * mac.c (sys_read): Fix sys_read to not call select if IO is
11115 non-blocking.
11116 (sys_select): Fix sys_select to not use a timeout larger than
11117 the one given.
11118
11119 2002-12-10 Juanma Barranquero <lektu@terra.es>
11120
11121 * editfns.c (Fformat): Use alloca, not _alloca.
11122
11123 2002-12-09 Richard M. Stallman <rms@gnu.org>
11124
11125 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
11126 as the last thing.
11127
11128 2002-12-09 Dave Love <fx@gnu.org>
11129
11130 * s/sol2-8.h: Removed. (Not necessary.)
11131
11132 2002-12-09 Matthew Swift <swift@alum.mit.edu>
11133
11134 * editfns.c (Fformat): Handle precision in string conversion
11135 specifiers like libc functions do (ie, print at most that many
11136 characters).
11137
11138 2002-12-08 Richard M. Stallman <rms@gnu.org>
11139
11140 * xdisp.c (row_containing_pos): Check more carefully
11141 whether charpos is really in the row before returning it.
11142
11143 2002-12-07 Steven Tamm <steventamm@mac.com>
11144
11145 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
11146
11147 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
11148 each stack frame. This may change as it could be time consuming.
11149
11150 * macterm.c (mac_check_for_quit_char, quit_char_comp)
11151 (init_quit_char_handler, mac_determine_quit_char_modifiers)
11152 (mac_initialize): Add code to check for pressing of quit_char
11153 in the OS event queue.
11154
11155 * mac.c (sys_select): Call mac_check_for_quit_char every second
11156 while blocking on select.
11157
11158 * mac.c (sys_read): Use sys_select to test for input first
11159 before calling read, to allow C-g to break.
11160
11161 2002-12-07 Richard M. Stallman <rms@gnu.org>
11162
11163 * minibuf.c (Fcompleting_read): Doc fix.
11164
11165 * lread.c (syms_of_lread) <load-history>: Doc fix.
11166
11167 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
11168
11169 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
11170 autoload.
11171
11172 * data.c (Fdefalias): Record in load-history redefining an autoload.
11173
11174 * alloca.c: Undo ifdef change accidentally made on 12-04.
11175
11176 2002-12-06 Francesco Potorti` <pot@gnu.org>
11177
11178 * xfns.c (png_load): Avoid double gamma correction for PNG images.
11179
11180 2002-12-04 Richard M. Stallman <rms@gnu.org>
11181
11182 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
11183
11184 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
11185
11186 * alloca.c: Don't use #error.
11187
11188 2002-12-03 Dave Love <fx@gnu.org>
11189
11190 * buffer.c (Qucs_set_table_for_input): New.
11191 (Fget_buffer_create): Use it.
11192 (Qset_buffer_major_mode_hook): Deleted.
11193 (Fset_buffer_major_mode): Revert previous change.
11194 (init_buffer_once): Intern ucs-set-table-for-input.
11195 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
11196 Add &Qucs_set_table_for_input.
11197
11198 2002-12-03 Andreas Schwab <schwab@suse.de>
11199
11200 * callint.c (Fcall_interactively): Use next_event only if less
11201 than key_count.
11202
11203 2002-12-02 Andrew Choi <akochoi@shaw.ca>
11204
11205 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
11206 names to 255 characters.
11207
11208 * macterm.c (XTread_socket): If all frames have been collapsed,
11209 expand the first one before handling drag-and-drop events.
11210
11211 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
11212 which is detected by autoconf.
11213
11214 2002-12-01 Steven Tamm <steventamm@mac.com>
11215
11216 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
11217 offset in two hints table to allow prebinding to be redone and
11218 allow the executable to be stripped.
11219
11220 2002-11-29 Dave Love <fx@gnu.org>
11221
11222 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
11223 already provided.
11224
11225 2002-11-29 Richard M. Stallman <rms@gnu.org>
11226
11227 * xdisp.c (start_display): Check more intelligently for
11228 whether the line is continued.
11229 (move_it_vertically_backward): Clear it->continuation_lines_width.
11230
11231 2002-11-28 Dave Love <fx@gnu.org>
11232
11233 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
11234 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
11235
11236 2002-11-27 Steven Tamm <steventamm@mac.com>
11237
11238 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
11239 more descriptive error output from lread.c:Fload upon most require
11240 cycles during boostrapping.
11241
11242 2002-11-27 Jason Rumney <jasonr@gnu.org>
11243
11244 * fileio.c (Finsert_file_contents): Give a more appropriate error
11245 for files bigger than 2Gb when off_t is 32 bit.
11246
11247 * dired.c (Ffile_attributes): Don't return negative file sizes for
11248 files bigger than 2Gb when off_t is 32 bit.
11249
11250 2002-11-27 Dave Love <fx@gnu.org>
11251
11252 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11253
11254 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
11255 Test GETPGRP_VOID instead.
11256 [BSD_TERMIOS]: Remove definitions (never used).
11257
11258 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
11259 Don't define.
11260 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11261
11262 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
11263
11264 2002-11-25 Jason Rumney <jasonr@gnu.org>
11265
11266 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
11267 supported.
11268
11269 2002-11-25 Dave Love <fx@gnu.org>
11270
11271 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
11272
11273 * Makefile.in (TEMACS_LDFLAGS): Update last change.
11274
11275 2002-11-25 Andreas Schwab <schwab@suse.de>
11276
11277 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
11278
11279 2002-11-24 Steven Tamm <steventamm@mac.com>
11280
11281 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
11282 determine the size of pointers alloced in unexed space instead
11283 of using possibly invalid emacs_zone pointers. This fixes the
11284 binary incompatibility problems caused by updates to libSystem.B.
11285
11286 2002-11-24 Richard M. Stallman <rms@gnu.org>
11287
11288 * search.c (Fstring_match): Doc fix.
11289
11290 * callint.c (Fcall_interactively): If a command fails because
11291 `*' detects a read-only buffer, but RECORD_FLAG is set,
11292 record it anyway if the args don't actually do tty input.
11293
11294 2002-11-22 Dave Love <fx@gnu.org>
11295
11296 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
11297
11298 * keyboard.c (interrupt_signal): Provide forward declaration.
11299 (kbd_buffer_store_event): Don't declare interrupt_signal.
11300
11301 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
11302
11303 2002-11-21 Richard M. Stallman <rms@gnu.org>
11304
11305 * eval.c (interactive_p): Skip any number of bytecode
11306 and special form frames, in any order.
11307
11308 2002-11-20 Jason Rumney <jasonr@gnu.org>
11309
11310 * w32fns.c (convert_mono_to_color_image): New function.
11311 (xbm_load, xbm_load_image): Use it when foreground or background
11312 is explicitly set.
11313
11314 2002-11-19 Dave Love <fx@gnu.org>
11315
11316 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
11317
11318 2002-11-18 Jason Rumney <jasonr@gnu.org>
11319
11320 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
11321 (XPutPixel): Swap blue and red.
11322 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
11323 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11324 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
11325 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
11326
11327 2002-11-18 Dave Love <fx@gnu.org>
11328
11329 * m/orion105.h (HAVE_ALLOCA): Don't define.
11330
11331 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
11332
11333 * m/intel386.h: Don't include alloca.h or define alloca.
11334
11335 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
11336 malloc, realloc, calloc.
11337
11338 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
11339 (bcmp): Don't define.
11340
11341 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
11342
11343 * m/amdahl.h: Don't define LIB_STANDARD.
11344
11345 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
11346
11347 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
11348
11349 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
11350 Don't include alloca.h.
11351
11352 * s/aix3-2.h (HAVE_FSYNC): Don't define.
11353
11354 * regex.c (_GNU_SOURCE): Don't define.
11355
11356 * process.c (_GNU_SOURCE): Don't define.
11357
11358 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
11359
11360 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
11361
11362 * s/sol2-8.h: Include sol2-6.h.
11363
11364 2002-11-18 Miles Bader <miles@gnu.org>
11365
11366 * dispextern.h (struct face): Add `overstrike' field.
11367 * xterm.c (x_draw_glyph_string_foreground)
11368 (x_draw_composite_glyph_string_foreground): Implement overstriking.
11369 * xfaces.c (load_face_font): Set `face->overstrike' based on
11370 result from choose_face_font.
11371 (best_matching_font, choose_face_font): Add `needs_overstrike'
11372 argument, and use it to return whether overstriking is desirable
11373 for this face/font combo.
11374 (set_font_frame_param: Pass new argument to choose_face_font.
11375
11376 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
11377
11378 This change is my fix for the following entry in etc/PROBLEMS:
11379 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
11380 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
11381
11382 * w32.c: Added wrapper functions around the win32 API functions
11383 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
11384 GetSidIdentifierAuthority. These wrapper functions serve two
11385 purposes:
11386 1. They ensure that the wrapped function can never be called
11387 when Emacs is running on an operating system on which they are
11388 not supported (Microsoft Windows 95 / 98 / ME).
11389 2. They call the wrapped functions via function pointers rather
11390 than calling them directly. This avoids taking advantage of the
11391 undocumented fact that although these functions are not supported
11392 in the 9x branch of Microsoft Windows, the functions do exist in
11393 the version of advapi32.dll that is found in the 9x branch of
11394 Microsoft Windows.
11395
11396 * w32.c (init_user_info): Replace the calls to the win32 API
11397 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
11398 and GetSidIdentifierAuthority with calls to the newly added
11399 wrapper functions.
11400
11401 * w32.h: Added extern declarations for the following functions:
11402 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
11403 syms_of_w32menu, and void syms_of_fontset.
11404
11405 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
11406 function pointer track_mouse_event_fn in the handler for the
11407 WM_SETFOCUS message.
11408
11409 * w32menu.c (initialize_frame_menubar): Add code to
11410 reinitialize the function pointers set_menu_item_info and
11411 get_menu_item_info.
11412
11413 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
11414
11415 * sound.c: Added a partial implementation of play-sound-internal
11416 for Microsoft Windows. Added various #ifdef / #else / #endif
11417 code blocks to separate the code that will compile under
11418 Microsoft Windows from the code that is specific to Gnu/Linux.
11419 Moved several blocks of code around to make this separation of code
11420 into Windows compatible and Gnu/Linux compatible code blocks easier.
11421
11422 * makefile.w32-in: Include sound.c and link with WinMM.lib.
11423
11424 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
11425 added support for play-sound-internal under Windows would be
11426 included in the build of Emacs.
11427
11428 2002-11-16 Jason Rumney <jasonr@gnu.org>
11429
11430 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
11431
11432 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
11433
11434 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
11435
11436 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
11437 (adjust_point_for_property): Move out of display and invisible even if
11438 we were already inside before (in case a property was added while
11439 we weren't looking). Be more careful when handling invisible props.
11440 Skip invisible text as if it really wasn't there at all.
11441
11442 2002-11-15 Jason Rumney <jasonr@gnu.org>
11443
11444 * w32term.c (x_draw_image_foreground)
11445 (w32_draw_image_foreground_1): Use standard copy and invert
11446 operations to draw images.
11447
11448 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
11449 depth of 1.
11450 (xbm_read_bitmap_data): Invert bits as xbm is read in.
11451 (XPutPixel): Don't invert bits here.
11452
11453 2002-11-15 Jason Rumney <jasonr@gnu.org>
11454
11455 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
11456 (w32_draw_image_foreground_1): Handle image masks.
11457 (x_draw_image_glyph_string): Don't BitBlt transparently.
11458
11459 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
11460 (x_from_xcolors): Adjust RGB values for W32.
11461 (image_background, image_background_transparent)
11462 (postprocess_image, x_to_xcolors, x_disable_image)
11463 (x_build_heuristic_mask): Adapt for W32 and enable.
11464 (x_create_x_image_and_pixmap): Mark images with palettes as such.
11465 (xbm_load): Remove unused variable.
11466
11467 2002-11-14 Richard M. Stallman <rms@gnu.org>
11468
11469 * buffer.c (syms_of_buffer): Doc fix.
11470
11471 2002-11-14 Dave Love <fx@gnu.org>
11472
11473 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
11474
11475 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
11476 * xmenu.c (unuse_menu_items, digest_single_submenu):
11477 * xfns.c (x_put_x_image):
11478 * xdisp.c (message2_nolog, set_message):
11479 * undo.c (record_point):
11480 * terminfo.c (tparam):
11481 * syntax.c (scan_sexps_forward):
11482 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11483 * composite.c (update_compositions):
11484 * cm.c (calccost, cmgoto):
11485 * charset.c (c_string_width): Declare all args (per C99).
11486
11487 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
11488
11489 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
11490 Don't declare.
11491
11492 * emacs.c (main) [!VMS]: Avoid third arg.
11493
11494 * fns.c (Fcopy_sequence): Doc fix.
11495 (Fmap_char_table): Cast `call2'.
11496
11497 2002-11-14 Francesco Potorti` <pot@gnu.org>
11498
11499 * s/sol2-8.h: New file.
11500
11501 2002-11-14 Kim F. Storm <storm@cua.dk>
11502
11503 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
11504 dependency on `risky-local-variable' and the :propertize form.
11505
11506 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
11507
11508 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
11509
11510 * syntax.c (scan_sexps_forward): Undo last patch.
11511 Use a more obvious fix: check eob before updating the syntax table.
11512
11513 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
11514
11515 * syntax.c (scan_sexps_forward): Update syntax table before reading
11516 a char rather than after so we don't update the table past eob.
11517
11518 2002-11-09 Dave Love <fx@gnu.org>
11519
11520 * buffer.c (Fset_buffer_major_mode): Fix last change.
11521
11522 * regex.c (regexec): Fix pmatch declaration.
11523
11524 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
11525
11526 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
11527 to self-inserting characters.
11528 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
11529
11530 * coding.c (Vtranslation_table_for_input): New.
11531 (syms_of_coding): DEFVAR it.
11532
11533 2002-11-08 Juanma Barranquero <lektu@terra.es>
11534
11535 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
11536 window.
11537
11538 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11539
11540 * process.c (Fformat_network_address): Remove unused locals p,
11541 cp, and i.
11542
11543 2002-11-06 Dave Love <fx@gnu.org>
11544
11545 * buffer.c (Qset_buffer_major_mode_hook): New.
11546 (Fset_buffer_major_mode): Use it.
11547
11548 2002-11-06 Richard M. Stallman <rms@gnu.org>
11549
11550 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
11551 and stop_polling.
11552
11553 * process.c (wait_reading_process_input):
11554 Test POLLING_PROBLEM_IN_SELECT, not hpux.
11555 Avoid initialization for auto Lisp_Object var.
11556
11557 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
11558
11559 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
11560
11561 2002-11-05 Richard M. Stallman <rms@gnu.org>
11562
11563 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
11564
11565 * callint.c (Fcall_interactively): New local filter_specs.
11566 (Fcall_interactively): Check for progn as well as let.
11567 Add a gcpro.
11568 (Qprogn): New variable.
11569 (syms_of_callint): Staticpro and init Qprogn.
11570
11571 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
11572
11573 * lread.c (Feval_buffer): Doc fix.
11574
11575 2002-11-04 Dave Love <fx@gnu.org>
11576
11577 * keyboard.c (read_char): Always translate iff
11578 Vkeyboard_translate_table is a char table and c is valid.
11579
11580 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11581 and fix C types.
11582
11583 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
11584
11585 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
11586
11587 * editfns.c (get_pos_property): Don't hardcode Qfield.
11588
11589 * keyboard.c (adjust_point_for_property): Handle `display' prop on
11590 overlays. Also handle `invisible' prop.
11591
11592 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
11593
11594 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
11595 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
11596
11597 2002-11-01 Andreas Schwab <schwab@suse.de>
11598
11599 * editfns.c (Fmessage): Revert last change to properly handle %%.
11600
11601 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
11602
11603 * xmenu.c (unuse_menu_items): New fun.
11604 (menu_items_inuse): New var.
11605 (syms_of_xmenu): Initialize it.
11606 (init_menu_items): Use it to detect re-entrance.
11607 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
11608 (Fx_popup_menu): Remove spurious XSETFRAME.
11609
11610 * editfns.c (find_field): Make an exception for nil fields.
11611
11612 2002-11-01 Dave Love <fx@gnu.org>
11613
11614 * m/gec63.h: Deleted.
11615
11616 2002-10-31 Dave Love <fx@gnu.org>
11617
11618 * xterm.c (XTread_socket): Fix last change.
11619 (xaw_scroll_callback): Cast call_data to long to avoid warning.
11620
11621 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
11622
11623 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
11624
11625 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
11626
11627 * editfns.c (overlays_around, get_pos_property): New funs.
11628 (find_field): Use them.
11629 Also be careful not to modify POS before its last use.
11630 (Fmessage): Don't Fformat if there's nothing to format.
11631
11632 2002-10-30 Dave Love <fx@gnu.org>
11633
11634 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
11635 [HAVE_PTY_H]; Include pty.h.
11636
11637 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
11638
11639 * xterm.c (Qeql): Declare.
11640 (Vx_keysym_table): New.
11641 (syms_of_xterm): Initialize it.
11642 (XTread_socket): Use it. Deal with ASCII keysyms.
11643 (XSetIMValues) [HAVE_X11R6]: Prototype.
11644
11645 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
11646 (lispy_kana_keys): Comment out.
11647 (make_lispy_event) [XK_kana_A]: Comment out.
11648 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
11649 Fix sprintf call.
11650
11651 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
11652 regexp.h change).
11653 (TERMINFO, LIBS_TERMCAP): Define.
11654
11655 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
11656 (bcmp): Define conditional on HAVE_BCMP.
11657 (NO_SIOCTL_H): Don't define.
11658 (TIOCSIGSEND): Don't make conditional on IRIX6.
11659
11660 * s/sol2-5.h: Don't include strings.h.
11661 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
11662
11663 * s/irix6-0.h (IRIX6): Don't define.
11664 (bcopy, bcmp, bzero): Don't undef.
11665
11666 * s/irix6-5.h: Don't include strings.h.
11667 (IRIX6): Don't define.
11668 (bcopy, bcmp, bzero): Don't undef.
11669
11670 * syntax.c (Fforward_comment): Doc fix.
11671
11672 2002-10-29 Kim F. Storm <storm@cua.dk>
11673
11674 * process.c (Fsignal_process): Allow PROCESS to be specified by
11675 name in addition to pid (as integer or string).
11676
11677 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
11678
11679 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
11680 environments.
11681
11682 2002-10-27 Kim F. Storm <storm@cua.dk>
11683
11684 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
11685
11686 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
11687
11688 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
11689
11690 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
11691
11692 2002-10-26 Richard M. Stallman <rms@gnu.org>
11693
11694 * editfns.c (Fformat): Detect invalid format letters for floats.
11695
11696 2002-10-25 Kenichi Handa <handa@m17n.org>
11697
11698 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
11699 (x_set_title): Likewise.
11700
11701 2002-10-25 Juanma Barranquero <lektu@terra.es>
11702
11703 * macgui.h:
11704 * w32gui.h: Remove definition of XColor.
11705
11706 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
11707
11708 2002-10-24 Kim F. Storm <storm@cua.dk>
11709
11710 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
11711 Callers changed (supply dummy arg).
11712
11713 * lisp.h (get_window_cursor_type): Update prototype.
11714
11715 * w32term.c (x_display_and_set_cursor): Get active_cursor from
11716 get_window_cursor_type to track system caret.
11717
11718 2002-10-24 Kim F. Storm <storm@cua.dk>
11719
11720 * process.c (Fformat_network_address): New function.
11721 (syms_of_process): Defsubr it.
11722 (list_processes_1): Use it to format :local/:remote address if
11723 service/host is not set; before Emacs would crash in that case.
11724 (Fmake_network_process): Don't use Ffind_operation_coding_system
11725 to setup coding system if host or service is not set.
11726
11727 2002-10-23 Juanma Barranquero <lektu@terra.es>
11728
11729 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
11730
11731 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
11732 COLORREF.
11733
11734 * macgui.h:
11735 * w32gui.h: Add definition of XColor.
11736
11737 * macfns.c:
11738 * w32fns.c:
11739 * xfaces.c: Remove definition of XColor.
11740
11741 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
11742
11743 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
11744
11745 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
11746 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
11747 window if it is dedicated.
11748 (Fshrink_window): Add preserve_before as was done for enlarge_window.
11749 (Vspecial_display_function): Update docstring.
11750
11751 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
11752 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
11753 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
11754
11755 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
11756
11757 * casefiddle.c (casify_region): Don't treat a prefix char as part
11758 of a word when at the beginning.
11759
11760 2002-10-17 Juanma Barranquero <lektu@terra.es>
11761
11762 * lread.c (syms_of_lread): Fix typos.
11763
11764 2002-10-17 Dave Love <fx@gnu.org>
11765
11766 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
11767
11768 2002-10-16 Richard M. Stallman <rms@gnu.org>
11769
11770 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
11771
11772 2002-10-14 Juanma Barranquero <lektu@terra.es>
11773
11774 * w16select.c (syms_of_win16select): Fix docstring for
11775 `selection-coding-system'.
11776
11777 * w32select.c (syms_of_w32select): Likewise.
11778
11779 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
11780
11781 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
11782 a backslash-quoted char.
11783 (scan_lists, scan_sexps_forward): Pacify the compiler.
11784
11785 2002-10-13 Richard M. Stallman <rms@gnu.org>
11786
11787 * window.c (window_scroll): Set immediate_quit.
11788
11789 * print.c (print): When backquote form is the car of a list,
11790 output in old style. Use old_backquote_output to output all
11791 comma forms inside it in old style too.
11792
11793 * buffer.h (struct buffer): Move `undo_list' down below `name'.
11794
11795 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
11796
11797 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
11798 batch mode).
11799
11800 * lread.c (Fload): Doc fix (load-suffixes).
11801
11802 2002-10-10 Steven Tamm <steventamm@mac.com>
11803
11804 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
11805 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
11806 Also switch the default to Qnil from Qt.
11807
11808 2002-10-08 Kenichi Handa <handa@m17n.org>
11809
11810 * coding.c (code_convert_region): When we need more GAP for
11811 conversion, pay attention to the case that coding->produced is not
11812 greater than coding->consumed.
11813
11814 2002-10-07 Richard M. Stallman <rms@gnu.org>
11815
11816 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
11817
11818 2002-10-06 Andrew Choi <akochoi@shaw.ca>
11819
11820 * macmenu.c (mac_menu_show): Add j to count menu items; match
11821 menu_item_selection to it to find selected item.
11822
11823 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11824
11825 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
11826 cases. The correct fix is to pass ReparentNotify to Xt.
11827 The shell widget interprets ConfigureNotify differently depending
11828 on if it has been reparented or not.
11829
11830 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
11831
11832 * editfns.c (Fformat_time_string): Doc fix.
11833
11834 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
11835
11836 * fns.c (Flength): Doc fix.
11837
11838 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
11839
11840 * keyboard.c (keyremap): New struct.
11841 (read_key_sequence): Use it: globally replace keytran_foo with
11842 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
11843 keytran_next and fkey_next to just `next'.
11844
11845 2002-10-04 Steven Tamm <steventamm@mac.com>
11846
11847 * macterm.c (keycode_to_xkeysym_table): Change return to be
11848 treated like an X keysym.
11849
11850 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11851
11852 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
11853 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
11854 This is to also handle x/y changes that occur because of a resize.
11855
11856 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
11857
11858 * frame.c (Vdelete_frame_functions): New variable.
11859 (syms_of_frame): Initialize and defvar it.
11860 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
11861 it when frame's `tooltip' parameter is non-nil.
11862
11863 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
11864
11865 * w32fns.c (x_create_tip_frame): Likewise.
11866
11867 * macfns.c (x_create_tip_frame): Likewise.
11868
11869 2002-09-30 Kenichi Handa <handa@m17n.org>
11870
11871 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
11872 -1 before calling ccl_driver.
11873
11874 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
11875 Only when it is non-nil, handle composition sequence.
11876 (setup_coding_system) <0>: Don't force composition handling.
11877
11878 * Makefile.in (lisp, shortlisp): Add utf-16.elc
11879
11880 2002-09-29 Richard M. Stallman <rms@gnu.org>
11881
11882 * search.c (Freplace_match): Adjust match data for the substitution
11883 just made in the buffer.
11884
11885 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
11886 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
11887
11888 2002-09-27 Richard M. Stallman <rms@gnu.org>
11889
11890 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
11891 (read_char): Use them. Do all exits thru the end of the function.
11892
11893 2002-09-27 Kenichi Handa <handa@etl.go.jp>
11894
11895 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
11896 is nil.
11897
11898 2002-09-26 Richard M. Stallman <rms@gnu.org>
11899
11900 * regex.h (__restrict_arr): Don't define if already defined.
11901
11902 * coding.c (run_pre_post_conversion_on_str):
11903 Save and restore Vdeactivate_mark.
11904
11905 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
11906
11907 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
11908
11909 2002-09-26 Kenichi Handa <handa@etl.go.jp>
11910
11911 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
11912 nonzero, try face's family at first. Otherwise try FAMILY at first.
11913 (choose_face_font): If C is a single byte char or latin-1, call
11914 try_font_list with PREFER_FACE_FAMILY 1.
11915
11916 2002-09-21 Richard M. Stallman <rms@gnu.org>
11917
11918 * window.c (select_window_1): Don't select frame.
11919 Set frame's selected window only when frame itself is selected.
11920 (Fselect_window): Doc fix.
11921
11922 2002-09-18 Kim F. Storm <storm@cua.dk>
11923
11924 * process.c (make-network-process): Doc fix (there is no
11925 network-server-log-function hook).
11926
11927 2002-09-18 Richard M. Stallman <rms@gnu.org>
11928
11929 * print.c (print): Clear out the unused parts of Vprint_number_table.
11930 (syms_of_print): Doc fix for `print-number-table'.
11931
11932 * unexelf.c (unexec): Undo previous change.
11933
11934 2002-09-17 Andreas Schwab <schwab@suse.de>
11935
11936 * m/alpha.h [LINUX]: Don't define DATA_START.
11937
11938 2002-09-16 Dave Love <fx@gnu.org>
11939
11940 * unexelf.c (unexec): Deal with .got, reinstating change from
11941 25-08-1999.
11942
11943 2002-09-13 Richard M. Stallman <rms@gnu.org>
11944
11945 * s/sol2-6.h (UNEXEC): Comment out definition.
11946
11947 * unexsol.c (unexec): Don't downcase first letter of error msg.
11948
11949 * xfaces.c (Fcolor_supported_p): Just one arg is required.
11950
11951 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
11952
11953 * unexsol.c: Include buffer.h, charset.h, coding.h.
11954
11955 2002-09-11 Richard M. Stallman <rms@gnu.org>
11956
11957 * unexsol.c: Don't use report_file_error; do it by hand
11958 using dlerror.
11959
11960 * process.c (wait_reading_process_input, both versions):
11961 Before calling turn_on_atimers, call stop_polling.
11962
11963 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
11964
11965 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
11966 we go to too_near_end, call clear_glyph_matrix.
11967 (redisplay_window): After make_cursor_line_fully_visible,
11968 call clear_glyph_matrix and bypass `goto done'.
11969
11970 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
11971 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
11972
11973 2002-09-10 Richard M. Stallman <rms@gnu.org>
11974
11975 * fileio.c (Fdo_auto_save): Catch error making directory.
11976 Only call push_message if we need to.
11977 At the same time, make an unwind-protect to pop it.
11978 Rename local message_p to old_message_p.
11979 (do_auto_save_make_dir, do_auto_save_eh): New functions.
11980 (do_auto_save_unwind): Don't call pop_message.
11981
11982 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
11983
11984 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
11985
11986 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
11987
11988 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
11989
11990 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
11991
11992 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
11993 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
11994 (re_match_2_internal): Be more careful with infinite loops.
11995
11996 2002-09-10 Kim F. Storm <storm@cua.dk>
11997
11998 * macros.c (end_kbd_macro): New function.
11999 (Fend_kbd_macro): Use it.
12000
12001 * macros.h (end_kbd_macro): Declare extern.
12002
12003 * keyboard.c (Fdiscard_input): If defining keyboard macro,
12004 end and save it instead of discarding it.
12005
12006 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
12007
12008 * s/sol2-6.h: Fix typo. Add comment.
12009
12010 2002-09-09 Richard M. Stallman <rms@gnu.org>
12011
12012 * regex.c (regnum_t): Use signed int, not unsigned int.
12013
12014 * s/sol2-6.h: New file.
12015
12016 * s/sol2-5.h (UNEXEC): Definition deleted.
12017
12018 2002-09-08 Kim F. Storm <storm@cua.dk>
12019
12020 * macros.c (executing_macro_index): Change type to EMACS_INT.
12021 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
12022
12023 * macros.h (executing_macro_index): Change type to EMACS_INT.
12024
12025 2002-09-06 Richard M. Stallman <rms@gnu.org>
12026
12027 * casetab.c (set_case_table): Make canon table point to eqv table.
12028
12029 2002-09-06 Juanma Barranquero <lektu@terra.es>
12030
12031 * coding.c (syms_of_coding): Fix spacing.
12032
12033 * composite.c (Fcompose_region_internal)
12034 (Fcompose_string_internal): Likewise.
12035
12036 * data.c (Flsh): Likewise.
12037
12038 * fontset.c (Fset_fontset_font): Likewise.
12039
12040 * macfns.c (Fx_server_max_request_size): Likewise.
12041
12042 * w16select.c (syms_of_win16select): Likewise.
12043
12044 * w32select.c (syms_of_w32select): Likewise.
12045
12046 * xselect.c (syms_of_xselect): Likewise.
12047
12048 2002-09-05 Richard M. Stallman <rms@gnu.org>
12049
12050 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
12051 call EXTEND_RANGE_TABLE and return a proper value.
12052 (set_image_of_range): Don't call set_image_of_range_1
12053 if no TRANSLATE or if range includes all of Latin-1.
12054 Only call it for the Latin-1 part of the range.
12055 For other cases, make two separate ranges,
12056 one for the original specified characters and one for
12057 their case-conversions.
12058
12059 2002-09-04 Richard M. Stallman <rms@gnu.org>
12060
12061 * s/sol2-5.h (UNEXEC): Use unexsol.o.
12062
12063 * window.c (displayed_window_lines): Correct for one-off bug
12064 in HEIGHT on non-window displays.
12065
12066 * regex.c (set_image_of_range_1): New function.
12067 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
12068 Return a value to indicate running out of memory.
12069 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
12070 (extend_range_table_work_area): New subroutine.
12071 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
12072 Different calling conventions, and used from set_image_of_range{,_1}.
12073 (IMMEDIATE_QUIT_CHECK): Definitions moved.
12074
12075 2002-09-04 Juanma Barranquero <lektu@terra.es>
12076
12077 * makefile.w32-in: All dependencies updated.
12078
12079 2002-09-01 Richard M. Stallman <rms@gnu.org>
12080
12081 * unexsol.c: New file.
12082
12083 * xfns.c (Qbox): Declare external, don't define.
12084
12085 * xdisp.c (redisplay_window) <force-start case>:
12086 If point is on semi-visible last line, reposition
12087 it at previous line.
12088
12089 * alloc.c (display_malloc_warning): Use display-warning.
12090 (malloc_warning_1): Function deleted.
12091
12092 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
12093
12094 * lread.c (read1): Handle #! by skipping the line.
12095
12096 2002-08-31 Richard M. Stallman <rms@gnu.org>
12097
12098 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
12099 Don't include LDFLAGS.
12100 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
12101
12102 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
12103
12104 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
12105 member of x_display_info unless we compile for some window system.
12106
12107 2002-08-31 Kim F. Storm <storm@cua.dk>
12108
12109 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
12110 (get_window_cursor_type): Don't use them.
12111 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
12112
12113 2002-08-30 Kenichi Handa <handa@etl.go.jp>
12114
12115 * xdisp.c (get_next_display_element): Fix previous change.
12116
12117 2002-08-30 Andrew Choi <akochoi@shaw.ca>
12118
12119 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
12120 (expose_window): Use it to fix the display of overlapping
12121 rows (merge code from xterm.c).
12122
12123 * macfns.c (Qbox): Add extern declaration.
12124
12125 2002-08-30 Juanma Barranquero <lektu@terra.es>
12126
12127 * w32fns.c (Qbox): Make extern.
12128 (syms_of_w32fns): Remove initialization of Qbox.
12129
12130 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
12131
12132 * xfns.c (Fx_open_connection): Fix error message.
12133
12134 2002-08-30 Kim F. Storm <storm@cua.dk>
12135
12136 The following changes consolidates the handling of the cursor
12137 type in xdisp.c, moving duplicate code and functionality from
12138 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
12139
12140 * frame.h (enum text_cursor_kinds): Consolidated here.
12141 Added DEFAULT_CURSOR value.
12142 (struct frame) <desired_cursor, cursor_width>
12143 <blink_off_cursor, blink_off_cursor_width>: New fields.
12144 Consolidated from output_x, output_w32 and output_mac structs.
12145 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12146 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
12147
12148 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
12149 Variables consolidated here.
12150 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
12151 (Vcursor_in_non_selected_windows): Renamed from
12152 cursor_in_non_selected_windows and changed to Lisp_Object.
12153 (syms_of_xdisp): Define and staticpro new and moved variables.
12154 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
12155 consolidated here. Recognize Qhollow setting.
12156 (set_frame_cursor_types): New function to set frame cursor types
12157 based on the frame parameters.
12158 (get_window_cursor_type): New function to calculate new cursor
12159 type and width for the specified window. Based on duplicated
12160 code consolidated here.
12161 Enhancements: cursor-in-non-selected-windows may be a cursor type,
12162 check buffer-local alternate-cursor-type and blink-cursor-alist
12163 before using built-in blink off methods.
12164
12165 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
12166
12167 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
12168 (get_specified_cursor_type, get_window_cursor_type)
12169 (set_frame_cursor_types): Added prototypes.
12170
12171 * macfns.c (x_specified_cursor_type): Removed.
12172 (x_set_cursor_type): Use set_frame_cursor_types.
12173 (Qbar, Qbox): Removed.
12174 (syms_of_macfns): Don't intern or staticpro them.
12175
12176 * macterm.c (x_specified_cursor_type): Remove prototype.
12177 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12178 (x_display_and_set_cursor): Use get_window_cursor_type.
12179 Remove unused local variables cursor_non_selected, active_cursor.
12180 Redraw cursor if hbar cursor width changes.
12181 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
12182
12183 * macterm.h (enum text_cursor_kinds): Removed.
12184 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
12185 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12186 (FRAME_DESIRED_CURSOR): Macro removed.
12187
12188 * w32fns.c (Vblink_cursor_alist): Removed.
12189 (Qbar, Qhbar, Qbox, Qhollow): Removed.
12190 (syms_of_w32fns): Don't intern, staticpro, or define them.
12191 (x_specified_cursor_type): Removed.
12192 (x_set_cursor_type): Use set_frame_cursor_types.
12193
12194 * w32term.c (x_specified_cursor_type): Remove prototype.
12195 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12196 (x_display_and_set_cursor): Use get_window_cursor_type.
12197 Remove unused local variables cursor_off_state.
12198 Redraw cursor if hbar cursor width changes.
12199 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
12200
12201 * w32term.h (enum text_cursor_kinds): Removed.
12202 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
12203 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12204 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12205 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
12206 (struct w32_display_info) <x_highlight_frame>: Renamed member from
12207 w32_highlight_frame.
12208
12209 * xfns.c (Vblink_cursor_alist): Removed.
12210 (Qbar, Qhbar, Qbox, Qhollow): Removed.
12211 (syms_of_xfns): Don't intern, staticpro, or define them.
12212 (x_specified_cursor_type): Removed.
12213 (x_set_cursor_type): Use set_frame_cursor_types.
12214
12215 * xterm.c (x_specified_cursor_type): Remove prototype.
12216 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12217 (x_display_and_set_cursor): Use get_window_cursor_type.
12218 Remove unused local variables cursor_off_state.
12219 Redraw cursor if hbar cursor width changes.
12220
12221 * xterm.h (enum text_cursor_kinds): Removed.
12222 (struct output_x) <current_cursor, desired_cursor, cursor_width>
12223 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12224 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12225 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
12226 (x_specified_cursor_type): Remove prototype.
12227
12228 2002-08-28 Richard M. Stallman <rms@gnu.org>
12229
12230 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
12231 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
12232 (Vblink_cursor_alist): New variable.
12233 (syms_of_w32fns): Initialize and defvar it.
12234 (x_specified_cursor_type): Recognize Qbox for filled box.
12235 Exceptions are hollow boxes.
12236 (Qbox, Qhollow): New variables.
12237 (syms_of_w32fns): Initialize and staticpro them.
12238
12239 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
12240 New macros.
12241 (struct w32_output): New fields blink_off_cursor,
12242 blink_off_cursor_width.
12243 (FRAME_CURSOR_WIDTH): New macro.
12244
12245 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
12246 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
12247
12248 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
12249 for bar cursor.
12250
12251 * w32term.c (expose_overlaps): New function.
12252 (expose_window): Use it to fix the display of overlapping rows.
12253
12254 2002-08-28 Simon Josefsson <jas@extundo.com>
12255
12256 * xfns.c (Fx_open_connection): Improve help when X connection
12257 fails, xhost is insecure and xauth is better.
12258
12259 2002-08-28 Juanma Barranquero <lektu@terra.es>
12260
12261 * makefile.w32-in: Add missing dependencies on w32term.h and
12262 composite.h.
12263
12264 * emacs.c (USAGE1): Add missing newline.
12265
12266 2002-08-27 Andrew Choi <akochoi@shaw.ca>
12267
12268 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
12269
12270 2002-08-27 Richard M. Stallman <rms@gnu.org>
12271
12272 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
12273 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
12274 (Vblink_cursor_alist): New variable.
12275 (syms_of_xfns): Initialize and defvar it.
12276 (x_specified_cursor_type): Recognize Qbox for filled box.
12277 Exceptions are hollow boxes.
12278 (Qbox, Qhollow): New variables.
12279 (syms_of_xfns): Initialize and staticpro them.
12280
12281 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
12282 New macros.
12283 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
12284
12285 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
12286 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
12287
12288 * emacs.c (main): Handle --script.
12289 (USAGE1): Mention --script.
12290 (standard_args): Define sort order for --script.
12291
12292 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
12293
12294 * xdisp.c (redisplay_updating_p): Variable removed.
12295 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
12296 New variables.
12297 (init_iterator): Don't free realized faces if
12298 inhibit_free_realized_faces is set.
12299 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
12300 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
12301 initialize Qinhibit_free_realized_faces.
12302
12303 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
12304 when iterator is adding glyphs to a glyph matrix.
12305
12306 2002-08-27 Kenichi Handa <handa@etl.go.jp>
12307
12308 * xdisp.c (get_next_display_element): In unibyte case, don't use
12309 octal form for such eight-bit characters that can be converted to
12310 multibyte char.
12311
12312 2002-08-26 Kim F. Storm <storm@cua.dk>
12313
12314 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize
12315 foreground and background colors. From Joe Buehler.
12316
12317 2002-08-26 Miles Bader <miles@gnu.org>
12318
12319 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
12320
12321 2002-08-25 Andrew Choi <akochoi@shaw.ca>
12322
12323 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
12324 defined instead of MAC_OSX.
12325
12326 * s/darwin.h (select): Define select to sys_select only if
12327 HAVE_CARBON is defined.
12328 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
12329 (DONT_REOPEN_PTY): #def it.
12330
12331 * macterm.c (XTread_socket): Remove code to call
12332 SendEventToEventTarget for keys with command modifiers when
12333 mac_command_key_is_meta is nil.
12334
12335 2002-08-24 Andreas Schwab <schwab@suse.de>
12336
12337 * eval.c (Fdefvar): Fix last change.
12338
12339 2002-08-23 Richard M. Stallman <rms@gnu.org>
12340
12341 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
12342 Record variables in load history as (defvar . VAR).
12343 (Fdefvar): Don't record in load history if no initial value.
12344 (Qdefvar): New variable.
12345 (syms_of_eval): Init and staticpro it.
12346
12347 * lread.c (syms_of_lread): Doc fix.
12348 (build_load_history): Use Fmember to see if a definition
12349 is already in the Vload_history element.
12350
12351 * process.c (Fstart_process): Remove /: from program name.
12352
12353 * emacs.c (decode_env_path): Don't add /: if file name handler
12354 has a `safe-magic' property.
12355
12356 * callproc.c (Fcall_process): Remove /: from program name.
12357
12358 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
12359
12360 * regex.c (PATFETCH): Remove the translating fetch.
12361 (PATFETCH_RAW): Rename to PATFETCH.
12362 (set_image_of_range): New fun.
12363 (SET_RANGE_TABLE_WORK_AREA): Use it.
12364 (regex_compile): Don't translate the pattern chars so eagerly.
12365 Only do it when inserting an `exactn' bytecode or when handling
12366 a char-range.
12367 (mutually_exclusive_p): Avoid empty statement.
12368
12369 2002-08-22 Kim F. Storm <storm@cua.dk>
12370
12371 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
12372 end up on a partially visible line; this reverts a specific part
12373 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
12374 display error which has been reported several times now.
12375 However it introduces the problem that changes was supposed to fix.
12376 See my comments in the source if you want to debug this further.
12377
12378 2002-08-20 Kenichi Handa <handa@etl.go.jp>
12379
12380 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12381
12382 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
12383
12384 * msdos.c (croak): Add `void' to definition.
12385
12386 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
12387 Don't define them, they are defined in msdos.c.
12388
12389 * mem-limits.h [MSDOS]: Declare etext.
12390
12391 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
12392 `const' since CORRECT_DIR_SEPS modifies its target.
12393
12394 2002-08-19 Kim F. Storm <storm@cua.dk>
12395
12396 * keyboard.c (Fclear_this_command_keys): Add optional arg
12397 KEEP-RECORD to avoid clearing lossage when we just want to clear
12398 the current key sequence (kmacro needs this).
12399
12400 2002-08-19 Kenichi Handa <handa@localhost>
12401
12402 * composite.c (run_composition_function): Call FUNC if it is fboundp.
12403
12404 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
12405 cons, return Qnil.
12406
12407 2002-08-17 Richard M. Stallman <rms@gnu.org>
12408
12409 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
12410
12411 * sysdep.c [!VMS]: Include sys/files.h.
12412
12413 * editfns.c (save_restriction_restore): Defend from unchained marker.
12414
12415 * buffer.c (overlays_at): Handle extending vec uniformly.
12416 (overlays_in): Handle extending vec from length 0 as in overlays_at.
12417
12418 2002-08-15 Andrew Choi <akochoi@shaw.ca>
12419
12420 * mac.c (init_mac_osx_environment): New function.
12421
12422 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
12423
12424 2002-08-14 Kim F. Storm <storm@cua.dk>
12425
12426 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
12427 executing macro before appending to it (when used from Lisp).
12428 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
12429 which is called prior to each iteration of macro (for kmacro.el).
12430 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
12431
12432 * lisp.h (Fexecute_kbd_macro): Update prototype.
12433
12434 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
12435
12436 2002-08-14 Kenichi Handa <handa@etl.go.jp>
12437
12438 * xselect.c (QUTF8_STRING): New variable.
12439 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
12440 (x_atom_to_symbol): Likewise.
12441 (x_get_local_selection): New argument local_request. If it is
12442 nonzero, call handler_fn with the second arg nil.
12443 (x_handle_selection_request): Call x_get_local_selection with
12444 local_request 0.
12445 (lisp_data_to_selection_data): Don't encode the string here.
12446 (Fx_get_selection_internal): Call x_get_local_selection with
12447 local_request 1.
12448 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
12449
12450 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
12451
12452 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
12453
12454 2002-08-13 Richard M. Stallman <rms@gnu.org>
12455
12456 * minibuf.c (Fminibufferp): New function.
12457 (syms_of_minibuf): Defsubr it.
12458 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
12459
12460 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
12461
12462 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
12463
12464 2002-08-12 Richard M. Stallman <rms@gnu.org>
12465
12466 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
12467 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
12468 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
12469 already.
12470
12471 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
12472
12473 2002-08-11 Andrew Choi <akochoi@shaw.ca>
12474
12475 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
12476 (Vmac_pass_command_to_system): New variable.
12477 (Vmac_pass_control_to_system): New variable.
12478 (do_mouse_moved): Check wp with is_emacs_window.
12479 (XTread_socket): Check window_ptr with is_emacs_window.
12480 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
12481 events back to Mac Toolbox for processing, depending on values of
12482 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
12483 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
12484 Vmac_pass_control_to_system.
12485
12486 2002-08-10 Kenichi Handa <handa@etl.go.jp>
12487
12488 * coding.c (unencodable_char_position): New function.
12489 (Funencodable_char_position): New function.
12490 (syms_of_coding): Defsubr Funencodable_char_position.
12491
12492 2002-08-10 Andrew Choi <akochoi@shaw.ca>
12493
12494 * mac.c (sys_select) [MAC_OSX]: New function.
12495
12496 * macterm.c (MakeMeTheFrontProcess): New function.
12497 (mac_initialize): Call MakeMeTheFrontProcess.
12498
12499 * s/darwin.h: Define select to sys_select.
12500
12501 2002-08-09 Richard M. Stallman <rms@gnu.org>
12502
12503 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
12504
12505 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
12506
12507 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
12508 end of the buffer.
12509
12510 2002-08-08 Ken Raeburn <raeburn@mit.edu>
12511
12512 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
12513
12514 * puresize.h (BASE_PURESIZE): Increase to 910000.
12515
12516 2002-08-08 Kenichi Handa <handa@etl.go.jp>
12517
12518 * coding.c (Ffind_operation_coding_system): For write-region, if
12519 VISIT is a filename, make it the target.
12520
12521 2002-08-07 Richard M. Stallman <rms@gnu.org>
12522
12523 * alloc.c (mark_object): Detect long lists for debugging.
12524 (mark_object_loop_halt): New variable.
12525
12526 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
12527
12528 * data.c (Fmake_variable_frame_local): Doc fix.
12529
12530 2002-08-01 David Ponce <david@dponce.com>
12531
12532 * w32menu.c (local_heap, local_alloc, local_free): New macros.
12533 (malloc_widget_value, free_widget_value)
12534 (w32_free_submenu_strings): Use them.
12535
12536 (push_submenu_start, push_submenu_end, push_left_right_boundary)
12537 (push_menu_pane, push_menu_item, single_keymap_panes)
12538 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
12539 (single_submenu, set_frame_menubar)
12540 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
12541
12542 (Fx_popup_menu): Don't show pop up menu until preceding one is
12543 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
12544
12545 * w32menu.c: Changes adapted from xmenu.c
12546 (set_frame_menubar): First parse all submenus,
12547 then make widget_value trees from them.
12548 Don't allocate any widget_value objects
12549 until we are done with the parsing.
12550 (parse_single_submenu): New function.
12551 (digest_single_submenu): New function.
12552 (single_submenu): Function deleted, replaced by those two.
12553
12554 2002-08-04 Andrew Choi <akochoi@shaw.ca>
12555
12556 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
12557 returns a valid window pointer before proceeding for keyDown and
12558 autoKey events.
12559
12560 2002-08-03 Andrew Choi <akochoi@shaw.ca>
12561
12562 * macterm.c (USE_CARBON_EVENTS): New macro.
12563 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
12564 (x_iconify_frame): Call CollapseWindow.
12565 (Vmac_reverse_ctrl_meta): New variable.
12566 (Vmac_wheel_button_is_mouse_2): New variable.
12567 (init_mac_drag_n_drop): New function.
12568 (mac_do_receive_drag): New function.
12569 (mac_handle_service_event): New function.
12570 (init_service_handler): New function.
12571 (mac_to_emacs_modifiers): New function.
12572 (mac_event_to_emacs_modifiers): New function.
12573 (mac_get_mouse_btn): New function.
12574 (mac_convert_event_ref): New function.
12575 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
12576 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
12577 mac_get_mouse_btn.
12578 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
12579
12580 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
12581 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
12582 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
12583 TOOL_BAR_EVENT for MAC_OS as well.
12584 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
12585 as for WINDOWS_NT.
12586 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
12587
12588 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
12589
12590 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
12591
12592 * xdisp.c (forward_to_next_line_start): Fix a condition that
12593 lead to a newline being skipped.
12594
12595 2002-08-02 Andrew Choi <akochoi@shaw.ca>
12596
12597 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
12598
12599 2002-08-01 Richard M. Stallman <rms@gnu.org>
12600
12601 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
12602
12603 2002-07-31 Andrew Choi <akochoi@shaw.ca>
12604
12605 * macfns.c: #undef init_process before #define-ing it.
12606
12607 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
12608 HAVE_CARBON is defined.
12609
12610 2002-07-31 Richard M. Stallman <rms@gnu.org>
12611
12612 * xmenu.c (set_frame_menubar): First parse all submenus,
12613 then make widget_value trees from them.
12614 Don't allocate any widget_value objects
12615 until we are done with the parsing.
12616 (parse_single_submenu): New function.
12617 (digest_single_submenu): New function.
12618 (single_submenu): Function deleted, replaced by those two.
12619
12620 2002-07-30 Juanma Barranquero <lektu@terra.es>
12621
12622 * w32proc.c (syms_of_ntproc): Fix docstring of
12623 `w32-get-true-file-attributes'.
12624
12625 2002-07-28 Richard M. Stallman <rms@gnu.org>
12626
12627 * s/hpux8.h (HPUX8): Define this before including hpux.h.
12628 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
12629
12630 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
12631
12632 * keyboard.c (make_lispy_event):
12633 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
12634 Explicitly clear up_modifier in event->modifiers.
12635
12636 2002-07-27 Richard M. Stallman <rms@gnu.org>
12637
12638 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
12639
12640 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
12641 for bar cursor.
12642
12643 2002-07-26 Kenichi Handa <handa@etl.go.jp>
12644
12645 * coding.c (detect_coding_iso2022): While checking a byte sequence
12646 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
12647 it in the normal loop.
12648
12649 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
12650
12651 * xterm.c (expose_overlaps): New function.
12652 (expose_window): Use it to fix the display of overlapping rows.
12653
12654 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
12655
12656 2002-07-23 Ken Raeburn <raeburn@gnu.org>
12657
12658 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
12659 since it only depends on XUINT.
12660
12661 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
12662 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
12663 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
12664 Macros deleted.
12665
12666 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
12667 its value over other approaches.
12668 * sysdep.c (start_of_data): Don't define the function if a macro
12669 form has been defined.
12670
12671 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
12672
12673 * xdisp.c (redisplay_updating_p): New variable.
12674 (init_iterator): Don't free realized faces when
12675 redisplay_updating_p is set.
12676 (redisplay_internal): Set redisplay_updating_p while updating
12677 the display.
12678
12679 2002-07-23 Richard M. Stallman <rms@gnu.org>
12680
12681 * editfns.c (Fmessage): Treat "" like nil.
12682
12683 2002-07-23 Kenichi Handa <handa@etl.go.jp>
12684
12685 * xdisp.c (face_before_or_after_it_pos):
12686 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12687
12688 2002-07-22 Juanma Barranquero <lektu@terra.es>
12689
12690 * callproc.c (init_callproc) [DOS_NT]:
12691 Initialize Vshared_game_score_directory to nil.
12692 (syms_of_callproc) [DOS_NT]: Likewise.
12693
12694 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
12695
12696 * xdisp.c (display_line): Replace an abort with xassert.
12697
12698 2002-07-21 Richard M. Stallman <rms@gnu.org>
12699
12700 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
12701 and END_UNCHANGED when setting buffer_unchanged_p.
12702 Use current_matrix_up_to_date_p to decide whether to use
12703 try_cursor_movement.
12704
12705 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
12706
12707 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
12708
12709 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
12710 Set to nil if dir does not exist.
12711 (syms_of_callproc): Init unconditionally and simply.
12712
12713 * buffer.c (Fbuffer_list): Doc fix.
12714
12715 2002-07-21 Ken Raeburn <raeburn@gnu.org>
12716
12717 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
12718
12719 * buffer.c (mmap_realloc): When shrinking, make sure number of
12720 pages to unmap is rounded towards zero.
12721
12722 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
12723 (XSETINT): Deleted.
12724
12725 * m/att3b.h (XINT): Don't define.
12726 (VALBITS, VALMASK, XTYPE): Deleted.
12727 (DATA_SEG_BITS): Define.
12728 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
12729 ARRAY_MARK_FLAG): Deleted.
12730 (DATA_SEG_BITS): Define.
12731 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
12732 (DATA_SEG_BITS): Define.
12733
12734 2002-07-20 Richard M. Stallman <rms@gnu.org>
12735
12736 * print.c (print_error_message): New args CONTEXT and CALLER.
12737 Calls changed.
12738
12739 * lisp.h (print_error_message): Declare new args.
12740
12741 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
12742 and CONTEXT to print_error_message, don't print them here.
12743 For a Quit, don't use Vsignaling_function.
12744 Call message_log_maybe_newline.
12745
12746 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
12747
12748 2002-07-20 Kim F. Storm <storm@cua.dk>
12749
12750 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
12751
12752 2002-07-19 Ken Raeburn <raeburn@gnu.org>
12753
12754 * bytecode.c (struct byte_stack): Pointers into byte string now
12755 point to const.
12756 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
12757 const.
12758 * charset.h (BCOPY_SHORT): Source pointer now points to const.
12759 * coding.c (encode_eol, detect_coding, detect_eol):
12760 (decode_coding, encode_coding, detect_coding_system):
12761 Source strings now treated as const.
12762 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
12763 modify Lisp string contents.
12764 * coding.h (decode_coding, encode_coding, detect_coding,
12765 detect_eol): Declarations updated.
12766 * composite.c (compose_chars_in_text): Treat Lisp string contents
12767 as const.
12768 * dispnew.c (safe_bcopy): Source pointer now points to const.
12769 * lisp.h (STRING_COPYIN): New macro.
12770 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
12771 (internal_with_output_to_temp_buffer): Declarations updated.
12772 * print.c (temp_output_buffer_setup):
12773 (internal_with_output_to_temp_buffer): Buffer name argument is now
12774 pointer to const.
12775 * sound.c (struct sound_device): Function pointer field "write"
12776 buffer argument now points to const.
12777 (vox_write): Buffer argument points to const.
12778 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
12779 contents as const.
12780 * sysdep.c (emacs_write): Buffer pointer now const.
12781 * term.c (encode_terminal_code): Buffer pointer now const.
12782 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
12783 (x_face_list_fonts, x_update_menu_appearance):
12784 (hash_string_case_insensitive): Treat Lisp string contents as const.
12785
12786 2002-07-19 Juanma Barranquero <lektu@terra.es>
12787
12788 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
12789
12790 * fileio.c (syms_of_fileio): Likewise.
12791 (Ffile_name_as_directory): Fix argument name in docstring.
12792 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
12793
12794 2002-07-18 Richard M. Stallman <rms@gnu.org>
12795
12796 * data.c (Fdefalias): Doc fix.
12797
12798 2002-07-17 Dave Love <fx@gnu.org>
12799
12800 * intervals.h (text_property_stickiness): Use P_.
12801
12802 * ccl.c: Remove `emacs' conditionals.
12803 (ccl_backtrace_table): Fix size spec.
12804 (ccl_driver): Fix type errors.
12805
12806 2002-07-16 Ken Raeburn <raeburn@gnu.org>
12807
12808 * alloc.c (xstrdup, make_string, make_unibyte_string)
12809 (make_multibyte_string, build_string): String pointer args now
12810 point to const.
12811 * charset.c (find_charset_in_text, c_string_width):
12812 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
12813 * fileio.c (report_file_error):
12814 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
12815 (count_combining_before, count_combining_after, insert_1_both):
12816 (insert, insert_and_inherit, insert_string):
12817 (insert_before_markers, insert_before_markers_and_inherit):
12818 * lread.c (intern, oblookup, hash_string):
12819 * minibuf.c (temp_echo_area_glyphs):
12820 * search.c (fast_c_string_match_ignore_case):
12821 * sysdep.c (emacs_open, set_file_times):
12822 * xfaces.c (xstricmp):
12823 * xdisp.c (store_frame_title, string_char_and_length):
12824 (message_dolog, message2, message2_nolog, set_message): Likewise.
12825 (set_message_1): Cast message string argument to const pointer.
12826 * editfns.c (general_insert_function): Insertion function now
12827 takes pointer to const for input data.
12828 * charset.h (find_charset_in_text, c_string_width):
12829 (parse_str_as_multibyte): Declarations updated.
12830 * dispextern.h (xstricmp): Declaration updated.
12831 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
12832 (count_size_as_multibyte, count_combining_before):
12833 (count_combining_after, insert_1, insert_1_both, message_dolog):
12834 (insert, insert_and_inherit, insert_before_markers)
12835 (insert_before_markers_and_inherit, set_message, message2):
12836 (message2_dolog, build_string, make_string, make_unibyte_string):
12837 (make_multibyte_string, intern, oblookup, report_file_error):
12838 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
12839 (emacs_open, xstrdup): Declarations updated.
12840 * systime.h (set_file_times): Declaration updated.
12841
12842 * charset.c (find_charset_in_text, lisp_string_width): Use const
12843 for pointer to lisp string data.
12844 * charset.h (FETCH_STRING_CHAR_ADVANCE):
12845 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
12846 * coding.c (Ffind_coding_systems_region_interval):
12847 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
12848 (Fmake_directory_internal, Fdelete_directory):
12849 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
12850 * fontset.c (font_family_registry, fs_query_fontset):
12851 (list_fontsets):
12852 * frame.c (Fframe_parameter):
12853 * keyboard.c (cmd_error_internal):
12854 * keymap.c (Fdescribe_buffer_bindings):
12855 * lread.c (complete_filename_p, openp):
12856 * minibuf.c (Fminibuffer_complete_word):
12857 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
12858 (face_before_or_after_it_pos, next_element_from_string):
12859 (get_overlay_arrow_glyph_row, display_mode_element):
12860 (decode_mode_spec_coding):
12861 * xterm.c (same_x_server): Likewise.
12862
12863 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
12864 settings of non-existent fields.
12865
12866 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
12867 copy a lisp value.
12868
12869 * lread.c (Fintern_soft): Use string macros instead of
12870 Lisp_String fields.
12871 * keyboard.c (echo_char, parse_modifiers_uncached):
12872 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
12873 * textprop.c (validate_interval_range, interval_of): Likewise.
12874
12875 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
12876
12877 * charset.h (FETCH_STRING_CHAR_ADVANCE)
12878 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
12879 XSTRING()->size_byte.
12880
12881 * lisp.h (SDATA, SREF): Produce rvalue.
12882 (SSET): New macro.
12883 * alloc.c (make_event_array): Use SSET for storing into a string.
12884 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
12885 a string.
12886 * casefiddle.c (casify_object): Use SSET.
12887 * charset.h (FETCH_STRING_CHAR_ADVANCE)
12888 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
12889 address of string contents.
12890 * data.c (Faref): Use SDATA.
12891 (Faset): Use SDATA, SSET.
12892 * dired.c (directory_files_internal): Use SSET.
12893 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
12894 (Fread_file_name): Use SREF, SSET.
12895 * fns.c (concat): Use SSET.
12896 (concat, Fdelete): Use SDATA.
12897 * insdel.c (insert_from_string_1): Use SDATA.
12898 * keyboard.c (Fevent_convert_list): Use SREF.
12899 * lread.c (Fload): Use SDATA, SSET.
12900 * macfns.c (validate_x_resource_name): Use SSET.
12901 * process.c (status_message): Use SSET.
12902 * search.c (wordify): Use SDATA.
12903 (Freplace_match): Use SREF.
12904 * w32fns.c (validate_x_resource_name): Use SSET.
12905 * xfns.c (validate_x_resource_name): Use SSET.
12906 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
12907
12908 2002-07-16 Richard M. Stallman <rms@gnu.org>
12909
12910 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
12911
12912 * xdisp.c (reconsider_clip_changes):
12913 Don't test prevent_redisplay_optimizations_p.
12914 (redisplay_internal): Test prevent_redisplay_optimizations_p
12915 along with clip_changed in some cases.
12916 (try_window_id): Likewise.
12917 (redisplay_window): New local var buffer_unchanged_p.
12918
12919 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
12920
12921 * process.c (create_process): Test USG_SUBTTY_WORKS.
12922 (process_send_signal): Clean up handling of GID.
12923 Detect errors in ioctls meant to set GID.
12924
12925 * window.c (temp_output_buffer_show):
12926 Don't set prevent_redisplay_optimizations_p.
12927
12928 2002-07-15 Juanma Barranquero <lektu@terra.es>
12929
12930 * eval.c (Fdefvaralias): Add docstring argument.
12931
12932 2002-07-15 Ken Raeburn <raeburn@gnu.org>
12933
12934 * lisp.h (STRING_INTERVALS): Produce rvalue.
12935 (STRING_SET_INTERVALS): New macro.
12936 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
12937 * fns.c (Fstring_as_multibyte): Likewise.
12938 * intervals.c (balance_possible_root_interval, delete_interval)
12939 (create_root_interval, copy_intervals_to_string): Likewise.
12940 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
12941 instead of 0.
12942
12943 2002-07-14 Ken Raeburn <raeburn@gnu.org>
12944
12945 * lisp.h (STRING_SET_CHARS): New macro.
12946 (SCHARS, SBYTES): Produce rvalues.
12947 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
12948 * fns.c (concat): Likewise.
12949 * lread.c (read_vector): Likewise.
12950
12951 * lisp.h (SMBP): Delete. All uses changed to STRING_MULTIBYTE.
12952 (STRING_SET_UNIBYTE): New macro.
12953 (SET_STRING_BYTES): Delete. Callers (all of which supplied a
12954 length of -1) changed to use STRING_SET_UNIBYTE.
12955 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
12956 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
12957 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
12958 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
12959 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
12960 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
12961 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
12962 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
12963 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
12964 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
12965 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
12966 STRING_BYTES or indirection changed to SCHARS, SBYTES,
12967 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
12968 unchanged for now.
12969
12970 2002-07-13 Kim F. Storm <storm@cua.dk>
12971
12972 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
12973
12974 2002-07-12 Richard M. Stallman <rms@gnu.org>
12975
12976 * fileio.c (Fwrite_region): Doc fix.
12977
12978 * print.c (print_error_message): Don't handle Vsignaling_function here.
12979
12980 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
12981 (command_loop_1): Avoid certain actions after memory-full error.
12982
12983 * eval.c (Fsignal): Don't call cancel_hourglass.
12984 For a memory-full error, don't call Vsignal_hook_function
12985 and don't set Vsignaling_function.
12986
12987 * process.c (process_send_signal): Add abort call.
12988
12989 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
12990
12991 * keymap.c (Fkey_binding): Fix typo.
12992
12993 2002-07-11 Richard M. Stallman <rms@gnu.org>
12994
12995 * alloc.c (Vmemory_full): New variable.
12996 (Vmemory_signal_data): Rename from memory_signal_data.
12997 Uses changed.
12998 (syms_of_alloc): Defvar them.
12999 (memory_full, buffer_memory_full): Set Vmemory_full.
13000
13001 * lisp.h (Vmemory_full): Add declaration.
13002 (current_column, indented_beyond_p): Change declaration.
13003
13004 * indent.c (last_known_column): Declare as double, not float.
13005 (current_column, current_column_1, string_display_width)
13006 (position_indentation): Return `double'.
13007 (indented_beyond_p): Arg `column' is `double'. Callers changed.
13008
13009 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
13010 (back_to_previous_visible_line_start)
13011 (reseat_at_next_visible_line_start, next_element_from_buffer):
13012 Use `double', not `float', when calling indented_beyond_p.
13013
13014 * s/hpux11.h (BROKEN_SA_RESTART): Define.
13015
13016 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
13017
13018 2002-07-11 Juanma Barranquero <lektu@terra.es>
13019
13020 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
13021 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
13022 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
13023 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
13024 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
13025 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
13026
13027 2002-07-10 Juanma Barranquero <lektu@terra.es>
13028
13029 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
13030 All callers changed.
13031
13032 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
13033
13034 * data.c (Fdefalias): Add an optional `docstring' argument.
13035 (set_internal, Fsetq_default): Use XCAR/XCDR.
13036
13037 * composite.c (HASH_VALUE, HASH_KEY):
13038 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
13039
13040 2002-07-09 Kenichi Handa <handa@etl.go.jp>
13041
13042 * callproc.c (Fcall_process): Fix previous change.
13043
13044 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
13045
13046 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
13047 Add support for hash-tables.
13048 (Ftry_completion): Return t even if the string appears multiple times.
13049
13050 * fns.c (Fnconc): Use XCDR.
13051 (Fprovide): Use CONSP and XCDR.
13052 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
13053 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
13054 (Fmake_hash_table): Accept `:size nil'.
13055 (Fmakehash): Delete: moved to subr.el.
13056 (syms_of_fns): Don't defsubr makehash.
13057
13058 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
13059 (HASH_TABLE_SIZE): Move from fns.c.
13060
13061 2002-07-07 Richard M. Stallman <rms@gnu.org>
13062
13063 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
13064 Instead just return 0 when there is something to be done.
13065 (try_scrolling): If make_cursor_line_fully_visible returns 0,
13066 retry scrolling as if cursor were off the bottom.
13067 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
13068 return CURSOR_MOVEMENT_MUST_SCROLL.
13069 (redisplay_window): If make_cursor_line_fully_visible returns 0,
13070 go to try_to_scroll.
13071
13072 * buffer.c (Fbuffer_local_value): Store current value into its binding
13073 so we get the up-to-date value for the binding that is loaded.
13074
13075 * eval.c (Fdefmacro): Doc fix.
13076
13077 2002-07-05 Dave Love <fx@gnu.org>
13078
13079 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
13080 correctly.
13081
13082 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
13083 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
13084 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
13085 CCL_LookupCharConstTbl.
13086 (syms_of_ccl): Defvar translation-hash-table-vector.
13087
13088 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13089
13090 * xdisp.c: Remove unused variable `face'.
13091
13092 2002-07-04 Juanma Barranquero <lektu@terra.es>
13093
13094 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
13095 obsolescence information.
13096
13097 2002-07-03 Andrew Choi <akochoi@shaw.ca>
13098
13099 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
13100 pattern. Search cache first.
13101 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
13102 for Japanese font.
13103 (XLoadQueryFont): Use it.
13104
13105 2002-07-02 Richard M. Stallman <rms@gnu.org>
13106
13107 * keymap.c (Fdefine_key): Doc fix.
13108
13109 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
13110
13111 2002-07-02 Juanma Barranquero <lektu@terra.es>
13112
13113 * keymap.c (syms_of_keymap): Fix typo.
13114
13115 2002-07-01 Andrew Choi <akochoi@shaw.ca>
13116
13117 * s/darwin.h: Define POSIX_SIGNALS.
13118
13119 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
13120 and FSRefMakePath to convert FSSpec returned with Apple Event to
13121 Posix pathname.
13122 (mac_initialize) [TARGET_API_MAC_CARBON]:
13123 Call init_required_apple_events and disable the `Quit' menu item
13124 provided automatically by the Carbon Toolbox.
13125
13126 2002-07-01 Dave Love <fx@gnu.org>
13127
13128 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13129 for K&R.
13130
13131 * xterm.c: Fix prototype for K&R.
13132
13133 * term.c (costs_set): Declare static, non-initialized for pcc.
13134
13135 2002-07-01 Richard M. Stallman <rms@gnu.org>
13136
13137 * keyboard.c (timer_last_idleness_start_time): New variable.
13138 (timer_start_idle): Set that.
13139 (read_key_sequence): Use that to reset timer_idleness_start_time
13140 to previous value.
13141
13142 * window.c (Frecenter): With arg, set optional_new_start.
13143
13144 * xdisp.c (redisplay_internal): Make optional_new_start really work.
13145
13146 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
13147 buffer for completion.
13148
13149 2002-06-29 Ken Raeburn <raeburn@gnu.org>
13150
13151 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
13152
13153 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
13154
13155 * keyboard.c (readable_filtered_events): New function that filters
13156 FOCUS_IN_EVENT depending on parameter.
13157 (readable_events): Calls readable_filtered_events, not filtering
13158 FOCUS_IN_EVENT.
13159 (get_filtered_input_pending): New function, filtering parameter passed
13160 to readable_filtered_events.
13161 (get_input_pending): Calls get_filtered_input_pending, not filtering
13162 FOCUS_IN_EVENT.
13163 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
13164 FOCUS_IN_EVENT.
13165
13166 * xterm.h (struct x_output): Add focus_state.
13167
13168 * xterm.c (x_focus_changed): New function.
13169 (x_detect_focus_change): New function.
13170 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
13171 EnterNotify and LeaveNotify to track X focus changes.
13172
13173 2002-06-28 Andreas Schwab <schwab@suse.de>
13174
13175 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
13176
13177 2002-06-27 Kim F. Storm <storm@cua.dk>
13178
13179 * xdisp.c: (mode_line_string_list, mode_line_string_face)
13180 (mode_line_string_face_prop): New variables.
13181 (store_mode_line_string): New function.
13182 (display_mode_element): Use store_mode_line_string to
13183 add mode-line string elements to mode_line_string_list
13184 when mode_line_string_list is non-nil.
13185 (Fformat_mode_line): Now returns propertized string by
13186 default. New arg NO-PROPS to ignore properties.
13187 (decode_mode_spec): Only add two dashes for %- in propertized
13188 mode-line string.
13189 (syms_of_xdisp): Init and staticpro mode_line_string_list.
13190
13191 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
13192
13193 * minibuf.c (minibuffer_completion_contents): Add return type.
13194
13195 2002-06-27 Juanma Barranquero <lektu@terra.es>
13196
13197 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
13198
13199 2002-06-26 Juanma Barranquero <lektu@terra.es>
13200
13201 * fileio.c (read_file_name_cleanup): Add missing return.
13202
13203 2002-06-26 Richard M. Stallman <rms@gnu.org>
13204
13205 * window.c (Frecenter): Don't set force_start flag.
13206
13207 * minibuf.c (do_completion, Fminibuffer_complete_word)
13208 (Fminibuffer_completion_help): Complete just the text before point.
13209 (minibuffer_completion_contents): New function.
13210
13211 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
13212
13213 * frame.c (frames_bury_buffer): Function deleted.
13214
13215 2002-06-25 Miles Bader <miles@gnu.org>
13216
13217 * callint.c (Fcall_interactively): When checking to see if doprnt hit
13218 the end of callint_message, allow for a terminating '\0'.
13219
13220 2002-06-24 Juanma Barranquero <lektu@terra.es>
13221
13222 * w32select.c: Include composite.h
13223
13224 * w16select.c: Likewise.
13225
13226 2002-06-24 Kenichi Handa <handa@etl.go.jp>
13227
13228 * callproc.c (Fcall_process): If code detection is necessary,
13229 call detect_coding directly here.
13230
13231 * coding.c (detect_eol): Preserve coding->cmp_data.
13232
13233 * w16select.c (Fw16_get_clipboard_data):
13234 * w32fns.c (w32_to_x_font):
13235 * w32select.c (Fw32_get_clipboard_data):
13236 * xselect.c (selection_data_to_lisp_data):
13237 * xterm.c (XTread_socket): Disable composition handling.
13238
13239 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
13240
13241 * print.c (temp_output_buffer_setup): Kill all local variables.
13242
13243 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
13244
13245 * lread.c (Fread): Remove redundant and imprecise declaration.
13246
13247 * xfns.c (check_x_display_info): Use check_x_frame.
13248
13249 * .gdbinit (xprintsym): Use the new `xname' field.
13250 (xsymbol): Use it.
13251
13252 2002-06-22 Jason Rumney <jasonr@gnu.org>
13253
13254 * w32fns.c (file_dialog_callback): New function.
13255 (Fx_file_dialog): Allow selecting directories as well as files.
13256
13257 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13258
13259 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
13260 OpenBSD. Add support for mipseb-*-netbsd* machines.
13261
13262 2002-06-17 Andrew Choi <akochoi@shaw.ca>
13263
13264 * macterm.c (mac_scroll_area): Set foreground and backcolor to
13265 black and white before scrolling. Restore frame background and
13266 foreground color after scrolling.
13267 (do_window_update): Call XClearWindow before calling expose_frame.
13268 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
13269 FRAME_FOREGROUND_PIXEL of frame.
13270
13271 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
13272 test Mac command key as <ALT> key.
13273
13274 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
13275
13276 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
13277
13278 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
13279 Lookup keys in function-key-map immediately so that key-translation-map
13280 can be applied earlier.
13281 Remove function_key_possible and key_translation_possible, replaced
13282 by checking `keytran_start < t'.
13283
13284 * .gdbinit (xsymbol): Use the new `xname' field.
13285
13286 2002-06-17 Andrew Choi <akochoi@shaw.ca>
13287
13288 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
13289 test Mac command key as <ALT> key.
13290
13291 * mac.c (do_applescript): Call initialize_applescript if necessary
13292 when first called. Dispose of result_desc only when there is no error.
13293 (Fdo_applescript): Use %d format specifier instead of %ld.
13294
13295 2002-06-16 Andrew Choi <akochoi@shaw.ca>
13296
13297 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
13298 of FrontWindow for cases keyDown and autoKey.
13299
13300 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
13301 Vdefault_fontset to Monaco with mac-roman coding.
13302
13303 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
13304 init_process before and after inclusion of Carbon/Carbon.h, resp.
13305
13306 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
13307 cursor_gc.
13308 (add_font_name_table_entry): New function.
13309 (init_font_name_table): Use add_font_name_table_entry; add italic,
13310 bold, and bold-italic entries for truetype fonts.
13311
13312 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
13313 for Mac too.
13314 (try_font_list) [MAC_OS]: If no font matches given registry, try
13315 fonts with any registry matching face_family.
13316 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
13317
13318 * s/darwin.h: If autoconf detects the Ncurses library, define
13319 LIBS_TERMCAP to -lncurses to use it.
13320
13321 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
13322
13323 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
13324
13325 2002-06-15 Richard M. Stallman <rms@gnu.org>
13326
13327 * window.c (Fset_window_configuration): Explicitly preserve
13328 the point value that new_current_buffer had at the start.
13329
13330 2002-06-14 Juanma Barranquero <lektu@terra.es>
13331
13332 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
13333 Fix typos.
13334
13335 2002-06-14 Kim F. Storm <storm@cua.dk>
13336
13337 * insdel.c (insert_1_both, insert_from_string_1)
13338 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
13339 insert happened in the end_unchanged region. Otherwise, the
13340 redisplay may be confused and duplicate the last line in the
13341 buffer [seen after save-buffer when require-final-newline==t].
13342
13343 2002-06-13 Jason Rumney <jasonr@gnu.org>
13344
13345 * w32.c (init_environment): Remove EMACSLOCKDIR.
13346 (stat): Swap _S_IFDIR and _S_IFREG.
13347
13348 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13349
13350 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
13351 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
13352 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
13353 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
13354 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
13355 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
13356 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
13357 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
13358 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
13359 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
13360 SELECTION_REQUEST_EVENT, selection_clear_event to
13361 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
13362 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
13363 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
13364 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
13365 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
13366 no_event to NO_EVENT.
13367
13368 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13369
13370 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
13371
13372 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
13373
13374 * intervals.c (textget): Don't forget to `return'.
13375 (lookup_char_property): Use XCAR/XCDR.
13376
13377 2002-06-12 Juanma Barranquero <lektu@terra.es>
13378
13379 * xdisp.c (Fformat_mode_line): Fix typo.
13380
13381 2002-06-12 Kim F. Storm <storm@cua.dk>
13382
13383 * xdisp.c (Fformat_mode_line): New function.
13384 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
13385 (store_frame_title_char, store_frame_title): Use unconditionally.
13386 (init_xdisp): Defsubr Fformat_mode_line.
13387 Initialize frame_title_buf etc. unconditionally.
13388
13389 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
13390
13391 * keyboard.c (read_key_sequence):
13392 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
13393 things through those maps after downcasing events.
13394 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
13395 applies after function-key-map.
13396 Make sure that keytran can be done in the middle in the sequence.
13397 Be careful not to throw away events past the one we downcase.
13398
13399 * lread.c (read_integer): Remove unused var `tem'.
13400 (read1): Fix int/Lisp_Object mixup.
13401
13402 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
13403
13404 2002-06-11 Richard M. Stallman <rms@gnu.org>
13405
13406 * keyboard.c (readable_events): Ignore any number of
13407 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
13408
13409 2002-06-09 Miles Bader <miles@gnu.org>
13410
13411 * xfaces.c (Ftty_supports_face_attributes_p): New function.
13412 (parse_rgb_list, tty_lookup_color): New functions.
13413 (tty_defined_color): Use `tty_lookup_color' to do all the work.
13414 (color_distance, Fcolor_distance): New functions.
13415 (TTY_SAME_COLOR_THRESHOLD): New macro.
13416 (Qtty_color_standard_values): New variable.
13417 (syms_of_xfaces): Initialize new vars & functions.
13418
13419 2002-06-08 Colin Walters <walters@verbum.org>
13420
13421 * textprop.c (Vchar_property_alias_alist): New variable.
13422 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
13423
13424 * intervals.c (lookup_char_property): New function for looking up
13425 overlay and text properties, created from textget.
13426 (textget): Use it.
13427
13428 * intervals.h (lookup_char_property): Declare.
13429 (Vchar_property_alias_alist): Declare.
13430
13431 * buffer.c (Foverlay_get): Use lookup_char_property.
13432
13433 2002-06-07 Sam Steingold <sds@gnu.org>
13434
13435 * xselect.c (lisp_data_to_selection_data): Fix last change:
13436 *data_ret is not a Lisp string, while unibyte_string is.
13437
13438 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
13439
13440 * xselect.c (lisp_data_to_selection_data): Fix last change:
13441 set size_ret.
13442
13443 2002-06-07 Andreas Schwab <schwab@suse.de>
13444
13445 * m/amdx86-64.h: New file.
13446
13447 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
13448
13449 * fns.c (Fstring_make_unibyte): Doc fix.
13450
13451 * xselect.c (lisp_data_to_selection_data): If the requested type
13452 is STRING, call string_make_unibyte to encode the selected text
13453 as a string.
13454
13455 * window.c (Fset_window_hscroll): Doc fix.
13456
13457 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13458
13459 * fileio.c (choose_write_coding_system):
13460 Call select-safe-coding-system properly.
13461
13462 2002-06-03 Richard M. Stallman <rms@gnu.org>
13463
13464 * xdisp.c (message_with_string): Error if STRING is not a string.
13465
13466 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
13467
13468 * fileio.c (choose_write_coding_system): Pass FILE arg to
13469 Vselect_safe_coding_system_function.
13470
13471 2002-06-03 Ken Raeburn <raeburn@gnu.org>
13472
13473 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
13474
13475 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
13476
13477 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
13478 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
13479 * keymap.c (describe_command): Likewise.
13480 * minibuf.c (read_minibuf): Likewise.
13481
13482 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
13483 Cast `current_column' return value to int.
13484 (back_to_previous_visible_line_start)
13485 (reseat_at_next_visible_line_start, next_element_from_buffer):
13486 Cast `indented_beyond_p' 3rd arg to float.
13487
13488 * indent.c (last_known_column): Now a float.
13489 (current_column_1, position_indentation, current_column)
13490 (string_display_width): Return float.
13491 (Fcurrent_column): Cast `current_column' return value to int.
13492 (Fcurrent_indentation): Cast `position_indentation' retval to int.
13493 (indented_beyond_p): Third arg now a float.
13494 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
13495
13496 * lisp.h (current_column): Now returns float.
13497 (indented_beyond_p): 3rd arg now a float.
13498
13499 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
13500
13501 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
13502 is Qcompound_text_with_extensions.
13503
13504 * xselect.c (lisp_data_to_selection_data): Always set selection
13505 type as string if x_encode_text returns streingp non-NULL.
13506
13507 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
13508
13509 2002-05-30 Richard M. Stallman <rms@gnu.org>
13510
13511 * window.c (Fset_window_configuration): Correct the handling
13512 of point in current buffer, to work with multiple windows.
13513
13514 2002-05-29 Colin Walters <walters@verbum.org>
13515
13516 * lread.c (Fread_from_string): Don't depend on order of evaluation
13517 for C function parameters.
13518
13519 2002-05-28 Richard M. Stallman <rms@gnu.org>
13520
13521 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
13522 way for blinked-off state and for a nonselected window.
13523
13524 * window.c (window_scroll_pixel_based): Don't call Fbolp;
13525 instead, see if the new start pos is at beginning of line.
13526
13527 * fileio.c (Fwrite_region): If START is a string, don't
13528 make any annotations.
13529
13530 * eval.c (syms_of_eval): Doc fix.
13531
13532 2002-05-28 Colin Walters <walters@debian.org>
13533
13534 * emacs.c (USAGE1): Add --no-splash.
13535 (standard_args): Ditto.
13536
13537 2002-05-28 Colin Walters <walters@gnu.org>
13538
13539 * lread.c (readchar_count): New variable.
13540 (readchar): Increment it.
13541 (unreadchar): Decrement it.
13542 (read_multibyte): Decrement it.
13543 (Vread_with_symbol_positions): New variable.
13544 (Vread_symbol_positions_list): New variable.
13545 (read_internal_start): New function, created from Fread and
13546 Fread_from_string. Handle Vread_symbol_positions_list and
13547 Vread_with_symbol_positions.
13548 (readevalloop, Fread, Fread_from_string): Use it.
13549 (read1): Use readchar_count to add symbol positions to
13550 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
13551 (syms_of_lread): DEFVAR_LISP and initialize them.
13552
13553 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
13554 (substitute_object_recurse, substitute_object_in_subtree)
13555 (substitute_in_interval): Prototype.
13556 (read_multibyte): Return c if it's less than zero.
13557
13558 2002-05-28 Kim F. Storm <storm@cua.dk>
13559
13560 * fileio.c (Fread_file_name_internal): Added brute-force
13561 speed up for using predicate file-directory-p.
13562
13563 2002-05-28 Kim F. Storm <storm@cua.dk>
13564
13565 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
13566 New variables.
13567 (syms_of_fileio): DEFVAR_LISP them.
13568 (read_file_name_cleanup): New unwind function.
13569 (Fread_file_name_internal): Only return completions satifying
13570 Vread_file_name_predicate. Temporarily unwind protect and rebind
13571 default-directory while checking completions against the predicate.
13572 (Fread_file_name): Added PREDICATE argument. Specbind it to
13573 Vread_file_name_predicate during completion.
13574 Call Vread_file_name_function to read the file name if non-nil.
13575
13576 * lisp.h (Fread_file_name): Now has 6 args.
13577
13578 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
13579 predicate for Fread_file_name when reading directory name.
13580 Supply Qnil for predicate in other calls to Fread_file_name.
13581
13582 2002-05-26 Miles Bader <miles@gnu.org>
13583
13584 * term.c (tty_capable_p): New function.
13585 * dispextern.h (tty_capable_p): New function declaration.
13586 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
13587 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
13588
13589 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
13590
13591 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
13592 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
13593 (Vwrite_region_annotate_functions): Docstring fix.
13594
13595 2002-05-23 Kim F. Storm <storm@cua.dk>
13596
13597 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
13598 phys_cursor's hpos is overwritten. This is still not completely
13599 correct, as it doesn't really make sense to use hpos at all to
13600 get the cursor glyph (as that is relative to the width of the
13601 characters on the line, which may have changed during the update).
13602
13603 2002-05-22 Jason Rumney <jasonr@gnu.org>
13604
13605 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
13606 Lisp_Object.
13607 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
13608 Use modified enumfont_t struct.
13609
13610 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
13611
13612 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
13613 Handle the `hbar' cursor type.
13614 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
13615
13616 * w32fns.c (Qhbar): New variable.
13617 (x_specified_cursor_type): Use it.
13618
13619 2002-05-21 Ken Raeburn <raeburn@gnu.org>
13620
13621 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
13622 now, when the address is needed.
13623
13624 2002-05-21 Colin Walters <walters@gnu.org>
13625
13626 * Makefile.in (shortlisp): Add font-core.el.
13627
13628 2002-05-20 Richard M. Stallman <rms@gnu.org>
13629
13630 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
13631
13632 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
13633 equivalent key bindings here.
13634
13635 2002-05-20 Ken Raeburn <raeburn@gnu.org>
13636
13637 Change symbol structure to contain a lisp object for the symbol
13638 name:
13639 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
13640 object field named "xname".
13641 (SYMBOL_NAME): New macro.
13642 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
13643 name field.
13644 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
13645 (mark_object, gc_sweep): Use symbol xname field and XSTRING
13646 instead of name field.
13647 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
13648 SYMBOL_NAME instead of XSYMBOL and name field.
13649 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
13650 instead of XSYMBOL and name field.
13651 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
13652 and SYMBOL_NAME instead of XSYMBOL and name field.
13653 * coding.c (Fread_coding_system, code_convert_region1)
13654 (code_convert_string1, code_convert_string_norecord)
13655 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
13656 XSYMBOL and name field.
13657 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
13658 (Fmake_variable_buffer_local, Fmake_local_variable)
13659 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
13660 of XSYMBOL and name field.
13661 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
13662 XSYMBOL and name field.
13663 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
13664 instead of XSYMBOL and name field.
13665 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
13666 XSYMBOL and name field.
13667 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
13668 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
13669 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
13670 instead of XSYMBOL and name field.
13671 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
13672 (parse_modifiers, apply_modifiers, Fevent_convert_list)
13673 (parse_solitary_modifier, Fexecute_extended_command):
13674 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
13675 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
13676 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
13677 of XSYMBOL and name field.
13678 (describe_command, describe_translation): Use SYMBOL_NAME and
13679 assignment instead of XSYMBOL and name field and XSETSTRING.
13680 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
13681 instead of XSYMBOL and name field.
13682 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
13683 name field and XSETSTRING.
13684 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
13685 of XSYMBOL and name field.
13686 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
13687 assignment instead of XSYMBOL and name field and XSETSTRING.
13688 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
13689 XSTRING instead of XSYMBOL and name field.
13690 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
13691 and XSTRING instead of XSYMBOL and name field.
13692 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
13693 and XSTRING instead of XSYMBOL and name field.
13694 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
13695 XSTRING instead of XSYMBOL and name field.
13696 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
13697 of XSYMBOL and name field.
13698 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
13699 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
13700
13701 2002-05-19 Ken Raeburn <raeburn@gnu.org>
13702
13703 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
13704 and XCDR real rvalues in most configurations.
13705
13706 * buffer.c (fix_overlays_in_range, fix_overlays_before):
13707 Don't take the address of the cdr part of a cons cell; instead, track
13708 the parent cell and call XSETCDR, or set the variable for the head
13709 of the list if we haven't started down the list yet.
13710
13711 2002-05-19 Richard M. Stallman <rms@gnu.org>
13712
13713 * doc.c (reread_doc_file): Don't ask for confirmation.
13714
13715 2002-05-18 Jason Rumney <jasonr@gnu.org>
13716
13717 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
13718 (xbm_load_image): Use it.
13719 (xbm_load): Ditto.
13720 (xbm_read_bitmap_data): Reverted to xfns.c version.
13721 From David Ponce <david@dponce.com>.
13722
13723 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
13724
13725 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
13726 2.02 and later.
13727
13728 2002-05-16 Juanma Barranquero <lektu@terra.es>
13729
13730 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
13731
13732 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
13733
13734 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
13735 meaningful test.
13736 (read_char_minibuf_menu_prompt): Fix typo.
13737
13738 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
13739
13740 * eval.c (Fcommandp): Doc fix.
13741
13742 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
13743
13744 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
13745 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
13746 (Fset_keymap_parent): Gcpro a bit more.
13747 (access_keymap): Gcpro around meta_map call and around the main loop.
13748 (get_keyelt): Gcpro when following indirect references.
13749 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
13750 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
13751 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
13752 Remove useless ad-hoc remap code.
13753
13754 2002-05-13 Richard M. Stallman <rms@gnu.org>
13755
13756 * search.c (search_buffer): Give up boyer moore search if inverse
13757 translation change charset_base.
13758
13759 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
13760
13761 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
13762 characters is carried over from the previous block of text, adjust
13763 coding->produced to account for the extra character.
13764
13765 2002-05-11 Andreas Schwab <schwab@suse.de>
13766
13767 * coding.c (intersection): Keep the elements of the returned list
13768 in the same order as in the first list.
13769
13770 2002-05-11 Kim F. Storm <storm@cua.dk>
13771
13772 * keymap.c (current_minor_maps): Fix resizing of cmm_maps;
13773 only update cmm_size if realloc actually succeeds.
13774 Testing with initial size of 2 elements revealed that using
13775 realloc on GNU/Linux would cause a random trap in xmalloc
13776 later on, so I rewrote the code to use malloc/bcopy/free instead
13777 of realloc.
13778
13779 2002-05-10 Jason Rumney <jasonr@gnu.org>
13780
13781 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
13782
13783 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
13784
13785 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
13786 parens, to ensure correct evaluation order.
13787
13788 2002-05-10 Kim F. Storm <storm@cua.dk>
13789
13790 * keymap.c (Vemulation_mode_map_alists): New variable.
13791 (syms_of_keymap): DEFVAR_LISP it.
13792 (current_minor_maps): Process keymap alists in that list before
13793 minor-mode-overriding-map-alist and minor-mode-map-alist.
13794
13795 2002-05-09 Richard M. Stallman <rms@gnu.org>
13796
13797 * search.c (Freplace_match): Doc fix.
13798
13799 2002-05-09 Kim F. Storm <storm@cua.dk>
13800
13801 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
13802 Enlarge cursor rectangle drawn around image with non-zero relief.
13803
13804 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
13805 Enlarge cursor rectangle drawn around image with non-zero relief.
13806
13807 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
13808 Enlarge cursor rectangle drawn around image with non-zero relief.
13809
13810 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
13811
13812 * xselect.c (lisp_data_to_selection_data): Don't set selection
13813 type if comes from the Lisp object's car. If the selection
13814 contains a pure ASCII text, always return QSTRING as its type.
13815
13816 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13817
13818 * mac.c (mac-cut-function): Doc fix.
13819
13820 2002-05-05 Richard M. Stallman <rms@gnu.org>
13821
13822 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
13823
13824 2002-05-04 Jason Rumney <jasonr@gnu.org>
13825
13826 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
13827 for event-click-count.
13828
13829 * process.c (init_process): Only add server subfeature if we can
13830 use non-blocking I/O.
13831
13832 2002-05-04 Andrew Choi <akochoi@shaw.ca>
13833
13834 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
13835 repeatedly.
13836
13837 2002-05-03 Jason Rumney <jasonr@gnu.org>
13838
13839 * process.c (Fmake_network_process): Only support server sockets
13840 when we can make them non-blocking.
13841
13842 * s/ms-w32.h (HAVE_SELECT): Define.
13843
13844 * w32.h (FILE_NDELAY): New flag.
13845
13846 * w32.c (sys_getpeername, fcntl): New functions.
13847 (_sys_read_ahead): Temporarily block on non-blocking sockets.
13848
13849 * w32proc.c: include sys/file.h.
13850
13851 2002-05-03 Colin Walters <walters@verbum.org>
13852
13853 * callproc.c (Vgame_score_directory): Renamed to
13854 Vshared_game_score_directory.
13855
13856 2002-04-30 Richard M. Stallman <rms@gnu.org>
13857
13858 * s/gnu.h [emacs]: Include stdio.h.
13859 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
13860
13861 * eval.c (do_autoload): Error if called while preparing to dump.
13862
13863 * fns.c (Frequire): Error if need to load while preparing to dump.
13864
13865 2002-04-28 Colin Walters <walters@verbum.org>
13866
13867 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
13868 Default to "~/.emacs.d/games".
13869
13870 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
13871
13872 * lread.c (openp): Change arg exec_only to predicate.
13873 (build_load_history): Use XCAR/XCDR.
13874 (Flocate_file_internal): New fun.
13875 (syms_of_lread): Defsubr it.
13876 (Fload): Update call to openp.
13877
13878 * lisp.h (openp): Update prototype.
13879
13880 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
13881 * w32proc.c (sys_spawnve):
13882 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
13883 * w32.c (check_windows_init_file):
13884 * sound.c (Fplay_sound_internal):
13885 * process.c (Fstart_process):
13886 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
13887 * mac.c (run_mac_command):
13888 * emacs.c (init_cmdargs):
13889 * callproc.c (Fcall_process): Update call to openp.
13890
13891 * textprop.c (remove_properties): Don't use XCAR without CONSP.
13892
13893 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
13894
13895 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13896
13897 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
13898 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
13899
13900 2002-04-28 Richard M. Stallman <rms@gnu.org>
13901
13902 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
13903
13904 * eval.c (Fcommandp): New arg for_call_interactively.
13905 * lisp.h (Fcommandp): Declare new arg.
13906
13907 2002-04-28 Jason Rumney <jasonr@gnu.org>
13908
13909 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
13910
13911 * w32.c (stat, fstat): Use file index information to generate
13912 inodes for directories where available.
13913
13914 2002-04-26 Andrew Choi <akochoi@shaw.ca>
13915
13916 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
13917 [HAVE_CARBON]: Include Mac object files.
13918
13919 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
13920 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
13921 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
13922 MAC_OSX, and MAC_OS instead of macintosh.
13923
13924 * editfns.c [MAC_OS8]: Include stdio.h.
13925
13926 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
13927
13928 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
13929 Apple Monaco.
13930
13931 * process.c (QCfamily, QCfilte): Declare extern.
13932 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
13933 calling select.
13934
13935 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
13936
13937 * tparam.c [MAC_OSX]: Don't define BC and UP.
13938
13939 * config.in [HAVE_CARBON]: Add.
13940
13941 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
13942 Move here from mac/src and mac/inc.
13943
13944 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
13945
13946 2002-04-26 Gerd Moellmann <gerd@gnu.org>
13947
13948 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
13949 Compute phys_cursor_width from the x position returned
13950 by x_draw_glyhs, which is cheaper.
13951 (x_display_and_set_cursor): Compute the buffer-local value
13952 of `cursor-in-non-selected-windows' only when needed.
13953
13954 2002-04-25 Gerd Moellmann <gerd@gnu.org>
13955
13956 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
13957 cursor on a stretch glyph has a width that depends on
13958 x_stretch_cursor_p.
13959
13960 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13961
13962 * abbrev.c (abbrev-start-location): Doc fix.
13963
13964 * indent.c (Fvertical_motion): Fix last change.
13965
13966 2002-04-25 Gerd Moellmann <gerd@gnu.org>
13967
13968 * indent.c (Fvertical_motion): Move to the start of the line
13969 containing PT before moving up or down.
13970
13971 2002-04-24 Gerd Moellmann <gerd@gnu.org>
13972
13973 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
13974 case of writing a whole row, more or less analogous to the case of
13975 writing only parts of a row.
13976
13977 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
13978 0 for NO_CURSOR.
13979
13980 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
13981
13982 2002-04-23 Colin Walters <walters@verbum.org>
13983
13984 * buffer.c (syms_of_buffer): Doc fix.
13985
13986 2002-04-23 Gerd Moellmann <gerd@gnu.org>
13987
13988 * xterm.c (notice_overwritten_cursor): Handle the special case
13989 of the cursor being in the first blank non-text line at the
13990 end of a window.
13991
13992 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
13993 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
13994 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
13995 bar cursors only, to make phys_cursor_width contain what its name
13996 suggests.
13997 (notice_overwritten_cursor): Consider the cursor image erased if
13998 the output area intersects the cursor image in y-direction.
13999
14000 2002-04-23 Simon Marshall <simon@gnu.org>
14001
14002 * xfns.c (x_set_mouse_color): Change default for cross_cursor
14003 to XC_hand2.
14004
14005 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14006
14007 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
14008
14009 2002-04-22 Kim F. Storm <storm@cua.dk>
14010
14011 * textprop.c (remove_properties): Fixed trap for malformed plist.
14012
14013 2002-04-22 Richard M. Stallman <rms@gnu.org>
14014
14015 * cmds.c (Fend_of_line): Handle intangible text in mid line.
14016
14017 * window.c (make_window): Initialize height_fixed_p,
14018 last_cursor_off_p, and p->cursor_off_p slots.
14019
14020 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14021
14022 * fns.c (use-dialog-box): Doc fix.
14023
14024 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14025
14026 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
14027 variables `row', `i' and `area'.
14028 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
14029 toolkit library.
14030
14031 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
14032
14033 * xfaces.c (clear_font_table): Don't free the default font of
14034 a frame even if it's on another display.
14035 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
14036 that could be Qt.
14037
14038 2002-04-19 Juanma Barranquero <lektu@terra.es>
14039
14040 * indent.c (Fmove_to_column): Remove unused local variable
14041 `next_boundary_byte'.
14042 (current_column_1): Likewise.
14043
14044 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
14045
14046 * msdos.c (Qhbar): New variable.
14047 (syms_of_msdos): Intern and staticpro it.
14048 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
14049 cursor type.
14050
14051 2002-04-19 Dave Lambert <dlambert@acm.org>
14052
14053 Theses change implement an underscore-like (`hbar') cursor.
14054
14055 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
14056
14057 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
14058 Handle the `hbar' cursor type.
14059 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
14060
14061 * xfns.c (Qhbar): New variable.
14062 (syms_of_xfns): Intern and staticpro it.
14063 (x_specified_cursor_type): Handle `hbar' cursor.
14064
14065 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
14066 not defined.
14067
14068 2002-04-18 Richard M. Stallman <rms@gnu.org>
14069
14070 * textprop.c (remove_properties): New arg LIST allows scanning
14071 either a list or a plist.
14072 (interval_has_some_properties_list): New function, like
14073 interval_has_some_properties using list instead of plist.
14074 All callers changed.
14075 (Fremove_list_of_text_properties): New function.
14076 (syms_of_textprop): Defsubr it.
14077
14078 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
14079
14080 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
14081
14082 2002-04-17 Juanma Barranquero <lektu@terra.es>
14083
14084 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
14085
14086 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
14087
14088 * window.c (coordinates_in_window): Don't report on margin area
14089 if its width is zero.
14090
14091 2002-04-16 Jason Rumney <jasonr@gnu.org>
14092
14093 * w32fns.c (Fx_file_dialog): Decode file name before using.
14094
14095 * w32term.c (construct_drag_n_drop): Likewise.
14096
14097 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
14098
14099 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
14100 store load-history in pure space.
14101
14102 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
14103
14104 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
14105
14106 * xterm.c (Qlatin_1, Qutf_8): New vars.
14107 (syms_of_xterm): Initialize them.
14108 (XTread_socket): Eliminate incorrect optimization that tried to avoid
14109 decoding the output of X*LookupString.
14110 Always use latin-1 to decode the output of XLookupString.
14111 Try Xutf8LookupString if XmbLookupString failed.
14112
14113 * region-cache.c (new_region_cache): Use BEG.
14114
14115 2002-04-16 Gerd Moellmann <gerd@gnu.org>
14116
14117 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
14118 configuration files.
14119 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
14120 returns 0.
14121
14122 2002-04-15 Andreas Schwab <schwab@suse.de>
14123
14124 * config.in: Regenerated using autoheader.
14125
14126 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
14127 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
14128 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
14129 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
14130 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
14131 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
14132 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
14133 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
14134 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
14135 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
14136 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
14137 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
14138 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
14139 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
14140 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
14141 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
14142 STACK_DIRECTION, now set by autoconf.
14143
14144 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14145
14146 * dispnew.c (marginal_area_string): Sort arguments.
14147
14148 * dispextern.h (marginal_area_string): Add prototype.
14149
14150 2002-04-13 Richard M. Stallman <rms@gnu.org>
14151
14152 * fileio.c (Finsert_file_contents):
14153 Don't call temp_output_buffer_setup--do just part, by hand.
14154
14155 * coding.c (run_pre_post_conversion_on_str):
14156 Don't call temp_output_buffer_setup--do just part, by hand.
14157
14158 * keyboard.c (command_loop_1): Don't call start_hourglass
14159 or cancel_hourglass when executing a macro.
14160
14161 * marker.c (count_markers): New function.
14162
14163 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
14164 grow without limit. Move recently used elements to the front.
14165
14166 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
14167
14168 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
14169
14170 2002-04-12 Gerd Moellmann <gerd@gnu.org>
14171
14172 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
14173 rows marginal areas.
14174 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
14175 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14176
14177 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
14178
14179 2002-04-12 Dave Love <fx@gnu.org>
14180
14181 * dispnew.c (marginal_area_string): New.
14182
14183 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
14184 (Qleft_margin, Qright_margin): Declare.
14185 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
14186
14187 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
14188 note_mode_line_highlight and extended.
14189
14190 * keyboard.c (Qleft_margin, Qright_margin): Declare.
14191 (make_lispy_event): Deal with mouse events in margins.
14192
14193 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
14194
14195 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
14196
14197 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
14198 than deactivating the mark if tmm is set to `lambda'.
14199 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
14200 Use a single event for HELP_EVENT.
14201 (Fexecute_extended_command): Save last_point_position.
14202
14203 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14204
14205 * lisp.h (Fpropertize): Add prototype.
14206
14207 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
14208
14209 2002-04-10 Colin Walters <walters@verbum.org>
14210
14211 * config.in: Add HAVE_SHARED_GAME_DIR.
14212
14213 * callproc.c: (Vgame_score_directory): New variable.
14214 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
14215
14216 2002-04-10 Richard M. Stallman <rms@gnu.org>
14217
14218 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
14219
14220 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
14221
14222 * minibuf.c (read_minibuf): Use empty_string.
14223 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
14224 Short-circuit the search as soon as it "failed".
14225 (Fall_completions): Allow lambda forms and lists of strings for alist.
14226 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
14227 when require_match is nil.
14228 (Ftest_completion): Rename from `test_completion' and export to elisp.
14229 Call the predicate also when alist is a list.
14230 Obey Vcompletion_regexp_list.
14231 (do_completion, Fminibuffer_complete_and_exit): Use it.
14232 (Fassoc_string): Rename from `assoc_for_completion'.
14233 Allow list of strings as well and export to elisp.
14234
14235 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
14236
14237 * puresize.h (BASE_PURESIZE): Increase to 900KB.
14238
14239 2002-04-08 Juanma Barranquero <lektu@terra.es>
14240
14241 * w32.c (sys_accept): Don't hide variable `s'.
14242
14243 2002-04-05 Gerd Moellmann <gerd@gnu.org>
14244
14245 * callint.c (Fcall_interactively): Use INTEGERP instead of
14246 NUMBERP for checking Vhistory_length.
14247
14248 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14249
14250 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
14251 Doc fix to reflect it.
14252
14253 2002-04-04 Richard M. Stallman <rms@gnu.org>
14254
14255 * xdisp.c (display_mode_element): New arg RISKY.
14256 Disregard text props found or specified within a variable
14257 that isn't marked risky-local-variable.
14258 (Qrisky_local_variable): New variable.
14259 (syms_of_xdisp): Init and staticpro it.
14260
14261 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
14262
14263 * undo.c (record_point): New fun.
14264 (record_delete, record_insert): Use it.
14265
14266 2002-04-03 Juanma Barranquero <lektu@terra.es>
14267
14268 * doc.c (Fdocumentation): Add missing parentheses.
14269 (Fdocumentation_property): Likewise.
14270
14271 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
14272
14273 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
14274 data is 0, just return nil.
14275
14276 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
14277
14278 * msdos.c (syms_of_msdos): Fix last change with
14279 mouse_autoselect_window.
14280
14281 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14282
14283 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
14284 mouse_autoselect_window.
14285
14286 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
14287
14288 * keyboard.c (make_lispy_event): Handle unknown keysyms together
14289 with system-specific keysyms. Use it also for unknown function keys.
14290
14291 * doc.c (reread_doc_file): Return whether reload was attempted.
14292 (Fdocumentation, Fdocumentation_property): Don't try to reload
14293 if the doc is 0 and only ask once.
14294
14295 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
14296
14297 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
14298
14299 * keyboard.c (read_char): If the event was Qselect_window,
14300 restore timer_idleness_start_time to its previous value.
14301
14302 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
14303
14304 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
14305
14306 * region-cache.c (new_region_cache): Use BEG.
14307
14308 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
14309 Use BEG and BEG_BYTE.
14310
14311 * doc.c (get_doc_string): Return nil if the location is wrong.
14312 (reread_doc_file): New fun.
14313 (Fdocumentation, Fdocumentation_property):
14314 Call it if get_doc_string fails.
14315 (Fsnarf_documentation): Make it work for a dumped Emacs.
14316
14317 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
14318 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
14319
14320 * charset.c (Fstring): Allow 0 arguments.
14321
14322 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
14323
14324 * process.c (DATAGRAM_CONN_P, list_processes_1)
14325 (Fprocess_datagram_address, Fset_process_datagram_address)
14326 (Fset_network_process_options, server_accept_connection):
14327 Fix some int/Lisp_Object confusions (thank you union types).
14328
14329 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14330
14331 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
14332
14333 * w32term.c: Likewise.
14334 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
14335
14336 * keyboard.c (Qselect_window): New symbol.
14337 (head_table): Use it.
14338 (keys_of_keyboard): Bound select-window event to handle-select-window.
14339 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
14340
14341 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
14342 (last_window): New variable.
14343 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
14344 (note_mouse_movement): Remove reimplemented code in #if 0.
14345 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
14346 Emacs windows.
14347
14348 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
14349
14350 2002-03-31 Gerd Moellmann <gerd@gnu.org>
14351
14352 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
14353 Callers changed.
14354
14355 2002-03-30 Richard M. Stallman <rms@gnu.org>
14356
14357 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
14358 loop whenever it stops making progress.
14359
14360 * widget.c (set_frame_size): Don't call change_frame_size.
14361
14362 2002-03-30 Gerd Moellmann <gerd@gnu.org>
14363
14364 * dispnew.c (direct_output_for_insert):
14365 Call mark_window_display_accurate.
14366
14367 2002-03-29 Jason Rumney <jasonr@gnu.org>
14368
14369 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
14370
14371 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
14372
14373 * Makefile.in (lread.o): Depend on coding.h.
14374
14375 * lread.c (openp, Fload): Encode the file name before passing it
14376 to `stat', `access', and `emacs_open'.
14377 (openp): GCPRO the encoded file name. Don't recompute Lisp
14378 strings unnecessarily.
14379
14380 2002-03-29 Kim F. Storm <storm@cua.dk>
14381
14382 * fns.c (Flax_plist_put): Doc fix.
14383
14384 2002-03-28 Miles Bader <miles@gnu.org>
14385
14386 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
14387
14388 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14389
14390 * process.c (set-network-process-options): Add usage.
14391 (make-network-process): Doc fix.
14392
14393 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
14394
14395 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
14396
14397 2002-03-26 Richard M. Stallman <rms@gnu.org>
14398
14399 * fns.c (Fsubstring_no_properties): New function.
14400 (Flax_plist_get, Flax_plist_put): New functions.
14401 (syms_of_fns): defsubr them.
14402
14403 * xdisp.c (update_menu_bar): Test only update_mode_lines;
14404 don't test or alter w->update_mode_line.
14405
14406 * window.c (Fdisplay_buffer): Doc fix.
14407
14408 2002-03-24 Richard M. Stallman <rms@gnu.org>
14409
14410 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
14411
14412 2002-03-24 Gerd Moellmann <gerd@gnu.org>
14413
14414 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
14415 (Fdefmacro): Handle `(declare ...)'.
14416 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
14417 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
14418
14419 2002-03-24 Jason Rumney <jasonr@gnu.org>
14420
14421 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
14422 (xbm_file_p): Add prototypes.
14423 (xbm_format, xbm_image_p): Sync with xfns.c.
14424 (reflect_byte): New function.
14425 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
14426 (xbm_load_image): Create bitmaps with a depth of 1.
14427 (init_xfns): Enable XBM images.
14428
14429 2002-03-23 Jason Rumney <jasonr@gnu.org>
14430
14431 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
14432 correctly. Do not pass up_modifier to keyboard buffer.
14433
14434 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
14435
14436 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
14437
14438 * Makefile.in (bootstrapclean): New target.
14439 (bootstrap-temacs, bootstrap-doc): Remove.
14440 (bootstrap-emacs): Use a bog-standard `temacs'.
14441 Don't bother to build a DOC file.
14442
14443 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
14444
14445 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
14446 in temacs even if !CANNOT_DUMP.
14447 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
14448
14449 * alloc.c (check_pure_size): Only output a warning.
14450
14451 2002-03-22 Jason Rumney <jasonr@gnu.org>
14452
14453 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
14454 supported.
14455
14456 * w32term.c (zv_bits): Declare as short, for word alignment.
14457 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
14458 (syms_of_w32term): Define x-use-underline-position-properties.
14459
14460 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
14461 (clear_image_cache): Block input, fix logic, clear matrices in
14462 all frames that share this cache.
14463
14464 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
14465
14466 * emacs.c (main): Update the Copyright year in the blurb printed
14467 by "emacs --version".
14468
14469 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
14470
14471 * xterm.c (XTread_socket): If XK_ISO_Lock and
14472 XK_ISO_Last_Group_Lock are defined, handle keysyms between
14473 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
14474
14475 2002-03-21 Kim F. Storm <storm@cua.dk>
14476
14477 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
14478 menu-bar bindings in keymap and local-map properties _are_ used.
14479 But try keymap property first in accordance with 2002-01-03 patch.
14480 Added comment describing why this is not always reliable.
14481 (tool_bar_items): Ditto for tool-bar.
14482
14483 2002-03-21 Jason Rumney <jasonr@gnu.org>
14484
14485 * w32fns.c (x_clear_image_1): Disable color table code.
14486
14487 2002-03-21 Kim F. Storm <storm@cua.dk>
14488
14489 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
14490 removed the wrong version of the DEFUN macro; fixed it.
14491
14492 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
14493 Fmember rather than Fmemq).
14494 (Fprovide): Check that subfeatures is a list.
14495
14496 * process.c (QCfeature, QCdatagram): Removed variables.
14497 (QCtype, Qdatagram): New variables.
14498 (network_process_featurep): Removed function.
14499 (Fmake_network_process): Removed :feature check.
14500 Use :type 'datagram instead of :datagram t to create a datagram
14501 socket. This allows us to add other connection types (e.g. raw
14502 sockets) later in a consistent manner.
14503 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
14504 supported subfeatures for feature make-network-process.
14505 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
14506 Intern and staticpro QCtype and Qdatagram.
14507 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
14508
14509 * xfns.c: (QCtype): Remove duplicate declaration and
14510 initialization (is now declared in process.c).
14511
14512 * w32fns.c: (QCtype): Remove duplicate declaration and
14513 initialization (is now declared in process.c).
14514
14515 2002-03-21 Richard M. Stallman <rms@gnu.org>
14516
14517 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
14518 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
14519 when jumping to `fail' to avoid undoing reg changes in the
14520 last iteration of the loop.
14521 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
14522
14523 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
14524 Depend on process.h.
14525
14526 2002-03-20 Jason Rumney <jasonr@gnu.org>
14527
14528 Most of the following changes are still conditional on HAVE_IMAGES
14529 which is not set by default on Windows.
14530
14531 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
14532
14533 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
14534 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
14535 (four_corners_best, x_clear_image_1, x_clear_image)
14536 (x_alloc_image_color, postprocess_image)
14537 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
14538 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
14539 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
14540
14541 * w32gui.h (struct XImage): Define.
14542
14543 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
14544 extract mouse co-ordinates.
14545
14546 2002-03-20 Jason Rumney <jasonr@gnu.org>
14547
14548 * w32.c (init_winsock): Dynamically load new server and UDP
14549 socket functions.
14550 (socket_to_fd): New function.
14551 (sys_socket): Use it.
14552 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
14553 (sys_recvfrom, sys_sendto): New wrapper functions.
14554
14555 * process.c (QCfamily, QCfilter): Remove duplicate declaration
14556 and initialization.
14557
14558 * makefile.w32-in (LIBS): Remove $(WSOCK32).
14559
14560 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
14561
14562 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
14563 Don't use "sun" as a variable, it's a predefined constant on Sun
14564 machines.
14565
14566 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14567
14568 * bytecode.c (Fbyte_code): Revert last change.
14569
14570 2002-03-19 Kim F. Storm <storm@cua.dk>
14571
14572 * makefile.w32-in (LIBS): Add $(WSOCK32).
14573 From David Ponce <dponce@voila.fr>.
14574
14575 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14576
14577 * process.c (wait_reading_process_input): Move variables `pname'
14578 and `pnamelen' down where they are used.
14579
14580 * bytecode.c (Fbyte_code): Discard unused computed value to
14581 prevent gcc warning.
14582
14583 * lisp.h (Fplist_member): Add prototype.
14584
14585 2002-03-18 Kim F. Storm <storm@cua.dk>
14586
14587 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
14588 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
14589
14590 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
14591 Remove explicit GNU_LINUX settings for datagram support.
14592
14593 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14594
14595 * process.c (Fmake_network_process): Remove unused variable `sa'.
14596 Doc fix. Add usage:.
14597 (set_socket_options): Remove unused variables `optnum' and `opttype'.
14598
14599 2002-03-17 Richard M. Stallman <rms@gnu.org>
14600
14601 * xdisp.c (cursor_type_changed): New variable.
14602 (redisplay_internal): Redisplay all windows if cursor_type_changed.
14603 Clear it when clearing windows_or_buffers_changed.
14604 (try_cursor_movement, redisplay_window, try_window_id)
14605 (try_window_reusing_current_matrix): Test cursor_type_changed
14606 along with windows_or_buffers_changed.
14607
14608 * window.h (cursor_type_changed): New variable.
14609
14610 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
14611 not update_mode_lines, and always set it to 1.
14612
14613 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
14614 if no frames needed redrawing.
14615
14616 2002-03-17 Kim F. Storm <storm@cua.dk>
14617
14618 The following changes add support for network server processes,
14619 datagram connections, and local (unix) sockets.
14620
14621 * process.h (struct Lisp_Process): New member log.
14622 Doc fix: Member command used to indicate stopped network process.
14623 Doc fix: Member childp contains plist for network process.
14624 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
14625
14626 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
14627 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
14628 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
14629 New variables.
14630 (NETCONN1_P): New macro.
14631 (DATAGRAM_SOCKETS): New conditional symbol.
14632 (datagram_address): New array.
14633 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
14634 (status_message): Use concat3.
14635 (Fprocess_status): Add `listen' status to doc string. Return `stop'
14636 for a stopped network process.
14637 (Fset_process_buffer): Update contact plist for network process.
14638 (Fset_process_filter): Ditto. Don't enable input for stopped
14639 network processes. Server must listen, even if filter is t.
14640 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
14641 New functions.
14642 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
14643 (Fprocess_contact): Added KEY argument. Handle datagrams.
14644 (list_processes_1): Optionally show only processes with the query
14645 on exit flag set. Dynamically adjust column widths. Omit tty
14646 column if not needed. Report stopped network processes.
14647 Identify server and datagram network processes.
14648 (Flist_processes): New optional arg `query-only'.
14649 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
14650 (conv_lisp_to_sockaddr, set_socket_options)
14651 (network_process_featurep, unwind_request_sigio): New helper functions.
14652 (Fprocess_datagram_address, Fset_process_datagram_address):
14653 (Fset_network_process_options): New lisp functions.
14654 (Fopen_network_stream): Removed. Now defined in simple.el.
14655 (Fmake_network_process): New lisp function. Code is based on previous
14656 Fopen_network_stream, but heavily reworked with new property list based
14657 argument list, support for datagrams, server processes, and local
14658 sockets in addition to old client-only functionality.
14659 (server_accept_connection): New function.
14660 (wait_reading_process_input): Use it to handle incoming connects.
14661 Do not enable input on a new connection if process is stopped.
14662 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
14663 (send_process): Handle datagram sockets.
14664 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
14665 network process is indicated by setting command field to t .
14666 (Fprocess_send_eof): No-op if datagram connection.
14667 (Fstatus_notify): Don't read input for a stream server socket or a
14668 stopped network process.
14669 (init_process): Initialize datagram_address array.
14670 (syms_of_process): Intern and staticpro new variables, defsubr new
14671 functions.
14672
14673 2002-03-16 Jason Rumney <jasonr@gnu.org>
14674
14675 * w32fns.c (w32_to_all_x_charsets): Return correct type in
14676 startup case.
14677
14678 2002-03-16 Richard M. Stallman <rms@gnu.org>
14679
14680 * xdisp.c (redisplay_internal, redisplay_windows):
14681 Use list_of_error to call internal_condition_case_1.
14682 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
14683 so as to catch all errors with no possibility of debugger redisplay.
14684 (list_of_error): New variable.
14685 (syms_of_xdisp): Init and staticpro it.
14686
14687 * print.c (print_object): Delete `\ ' from printed rep of frame.
14688
14689 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
14690
14691 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
14692 until its implementation is fixed.
14693
14694 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14695
14696 * xfns.c (png_load): Remove unused variable `gamma_str'.
14697
14698 2002-03-14 Richard M. Stallman <rms@gnu.org>
14699
14700 * xfns.c (x_real_positions): Handle failure in XQueryTree.
14701
14702 2002-03-14 Miles Bader <miles@gnu.org>
14703
14704 * intervals.c (adjust_for_invis_intang): New function.
14705 (set_point_both): Use `adjust_for_invis_intang' to do most of the
14706 work for dealing with invisible+intangible regions. Do so before
14707 and after both forward and backward movements, to handle both
14708 front-sticky and rear-sticky cases.
14709 * textprop.c (text_property_stickiness): Function moved here from
14710 `editfns.c'.
14711 * intervals.h (text_property_stickiness): New declaration.
14712 * editfns.c (char_property_eq): Function removed.
14713 (text_property_stickiness): Function moved to `textprop.c'.
14714
14715 2002-03-13 Jason Rumney <jasonr@gnu.org>
14716
14717 * config.in: Add STRFTIME_NO_POSIX2.
14718
14719 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
14720 and %OX when underlying strftime does not.
14721
14722 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
14723
14724 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
14725 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
14726 line) to avoid annoying flicker.
14727 (xm_scroll_callback): Get rid of the now unnecessary kludge.
14728 (XTread_socket): Mark it static.
14729
14730 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
14731
14732 2002-03-13 Kim F. Storm <storm@cua.dk>
14733
14734 * puresize.h (BASE_PURESIZE): Increase to 775000.
14735
14736 2002-03-12 Juanma Barranquero <lektu@terra.es>
14737
14738 * editfns.c (syms_of_editfns): Fix typo.
14739
14740 2002-03-12 Gerd Moellmann <gerd@gnu.org>
14741
14742 * xsmfns.c: Include stdio.h because termhooks.h needs it.
14743 Include termopt.h for interrupt_input.
14744
14745 2002-03-11 Andreas Schwab <schwab@suse.de>
14746
14747 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
14748
14749 2002-03-11 Gerd Moellmann <gerd@gnu.org>
14750
14751 * xterm.c (note_mouse_movement): Put code for
14752 x_autoselect_window_p in #if 0.
14753
14754 * lread.c (Fload): Don't assume that message_with_string uses the
14755 string it is given like a C string.
14756
14757 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
14758
14759 * xterm.h (x_session_check_input, x_session_initialize): Declare.
14760
14761 * xterm.c: (XTread_socket): Add call to x_session_check_input and
14762 x_session_have_connection.
14763 (x_initialize): Add call to x_session_initialize.
14764
14765 * termhooks.h (enum event_kind): Add save_session_event.
14766
14767 * keyboard.c: Add Emacs event save_session_event.
14768
14769 * emacs.c (main): Add call to syms_of_xsmfns.
14770
14771 * lisp.h (syms_of_xsmfns): Declare extern.
14772
14773 * config.in: Add HAVE_X_SM.
14774
14775 * Makefile.in (LIBXT): Add -lSM -lICE
14776 if HAVE_X_SM and not USE_X_TOOLKIT.
14777 (XOBJ): New file xsmfns.c added.
14778
14779 * xsmfns.c: New file for X session management.
14780
14781 2002-03-09 Jason Rumney <jasonr@gnu.org>
14782
14783 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
14784 read-only when setting modified time.
14785
14786 2002-03-08 Gerd Moellmann <gerd@gnu.org>
14787
14788 * xdisp.c (move_it_vertically_backward): At the end of the function,
14789 when moving forward by lines, treat terminal frames specially.
14790
14791 * keyboard.c (echo_char): Make sure to add a separator between
14792 keys even if echo_dash hasn't been called.
14793
14794 * xdisp.c: Use new string macros.
14795 (update_echo_area): Pass number of bytes to message3 instead of
14796 number of chars.
14797 (set_message_1): Don't access a string's size_byte directly.
14798 (decode_mode_spec_coding): Use number of bytes of eoltype string
14799 instead number of chars.
14800
14801 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
14802
14803 2002-03-08 Juanma Barranquero <lektu@terra.es>
14804
14805 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
14806 24-bit.
14807
14808 2002-03-06 Jason Rumney <jasonr@gnu.org>
14809
14810 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
14811
14812 2002-03-06 Gerd Moellmann <gerd@gnu.org>
14813
14814 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
14815 (cancel_echoing, echo_length, echo_truncate): Changed to
14816 work with new kboard definition.
14817 (echo_now): Use message3_nolog instead of message2_nolog.
14818
14819 * alloc.c (mark_kboards): Mark echo_string.
14820
14821 * keyboard.h (ECHOBUFSIZE): Removed.
14822 (struct kboard): Member echoptr removed, member echobuf renamed
14823 to echo_string.
14824
14825 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
14826 message3 instead of message2 to display the message using STRING's
14827 text properties.
14828
14829 2002-03-05 Andreas Schwab <schwab@suse.de>
14830
14831 * xdisp.c (hscroll_margin): Change to EMACS_INT.
14832
14833 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
14834
14835 * frame.c (default-frame-alist): Explain that setting it doesn't
14836 affect existing frames.
14837
14838 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
14839
14840 * indent.c (skip_invisible): Fix my brain fart.
14841
14842 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
14843
14844 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
14845
14846 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
14847 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
14848 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
14849 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
14850 and variables to use EMACS_INT instead of just int.
14851
14852 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
14853
14854 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
14855
14856 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
14857 environment, pass it down with corrected value.
14858
14859 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14860
14861 * lread.c (read_filtered_event): Do not call start_hourglass
14862 before returning.
14863
14864 2002-03-04 Juanma Barranquero <lektu@terra.es>
14865
14866 * w32term.c (x_display_and_set_cursor): Fix typo.
14867
14868 2002-03-03 Richard M. Stallman <rms@gnu.org>
14869
14870 * fileio.c (Fmake_temp_name): Doc fix.
14871
14872 2002-03-03 Gary Wong <gtw@gnu.org>
14873
14874 * termcap.c [!emacs]: Replace ospeed for building standalone
14875 libtermcap, for binary compatibility.
14876
14877 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
14878
14879 2002-03-03 Richard M. Stallman <rms@gnu.org>
14880
14881 * xrdb.c (file_p): Rename arg `path' to `filename'.
14882
14883 * abbrev.c (Fexpand_abbrev): Increment plist as use count
14884 only if it is an integer.
14885
14886 * xfns.c (png_load): Set screen_gamma based on f->gamma.
14887 If png_get_sRGB gives an answer, call png_set_gamma
14888 using the default image gamma value.
14889
14890 * lread.c (read1): When reading from a file, default string to
14891 multibyte only if it has some multibyte characters.
14892
14893 * print.c (print_object): Output multibyte chars 128...255
14894 using \x even if ! print_escape_multibyte.
14895
14896 * xdisp.c (display_mode_element): Move the places where
14897 bytepos, charpos, this, and lisp_string are set.
14898 Use lisp_string to set bytepos.
14899
14900 * xdisp.c (redisplay_internal):
14901 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
14902
14903 * xdisp.c (display_mode_element): Merge properties specified with
14904 :propertize onto those that come with the string.
14905
14906 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
14907
14908 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
14909 automatic-hscrolling. Users changed.
14910 <hscroll-margin>: Renamed from automatic-hscroll-margin.
14911 Users changed.
14912 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
14913
14914 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14915
14916 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
14917
14918 2002-03-02 Kim F. Storm <storm@cua.dk>
14919
14920 * window.c (Fminibuffer_selected_window): New function.
14921 (syms_of_window): Defsubr it.
14922
14923 2002-03-01 Kim F. Storm <storm@cua.dk>
14924
14925 * window.h (struct window): New member phys_cursor_width.
14926
14927 * window.c (make_window, replace_window): Init phys_cursor_width.
14928
14929 * xterm.c (x_display_and_set_cursor): Blink box cursor using
14930 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
14931
14932 * w32term.c (x_display_and_set_cursor): Blink box cursor using
14933 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
14934
14935 * lisp.h (GCPRO6): New macro.
14936
14937 * process.c (Fopen_network_stream): Use GCPRO6.
14938
14939 2002-03-01 Kim F. Storm <storm@cua.dk>
14940
14941 * process.c (Qconnect, Qfailed): New variables.
14942 (syms_of_process): Intern and staticpro them.
14943 (Fprocess_status): Document connect and failed return values.
14944 [NON_BLOCKING_CONNECT]: New conditional.
14945 (connect_wait_mask, num_pending_connects): New variables.
14946 (status_message): Convert Qfailed status.
14947 (Fopen_network_stream): Added support for non-blocking connect.
14948 New optional args: filter, sentinel, non_blocking. Doc updated.
14949 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
14950 (deactivate_process): Handle pending non-blocking connect.
14951 (wait_reading_process_input): Poll for status of non-blocking
14952 connects. Exec sentinel directly when connect succeeds.
14953 (status_notify): Don't read process output if not yet connected.
14954
14955 2002-02-28 Kim F. Storm <storm@cua.dk>
14956
14957 * window.c: (minibuf_selected_window): Renamed from
14958 Vminibuf_selected_window. Users changed.
14959 (syms_of_window): Staticpro it.
14960
14961 2002-02-26 Kim F. Storm <storm@cua.dk>
14962
14963 The following changes add a new Vminibuf_selected_window variable
14964 which is similar to Vminibuf_scroll_window, but which is only set
14965 on entry to the minibuffer (from a non-minibuffer window):
14966
14967 * window.c: (Vminibuf_selected_window): New variable.
14968 (struct save_window_data): New member minibuf_selected_window.
14969 (Fset_window_configuration): Restore Vminibuf_selected_window.
14970 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
14971 Set minibuf_scroll_window member to nil if minibuf_level is 0.
14972 (compare_window_configurations): Compare minibuf_selected_window.
14973
14974 * window.h: (Vminibuf_selected_window): Declare extern.
14975
14976 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
14977 entry to minibuffer or on entry from a non-minibuffer window.
14978
14979 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
14980 Vminibuf_selected_window instead of Vminibuf_scroll_window.
14981
14982 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
14983 instead of Vminibuf_scroll_window when deciding in which window
14984 the region should be highlighted. Consequently, the region remains
14985 highlighteded even when a completion buffer is also displayed.
14986
14987 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
14988
14989 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
14990
14991 * xselect.c (Qcompound_text_with_extensions): Renamed from
14992 Qcompound_text_no_extensions.
14993 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
14994
14995 2002-02-26 Juanma Barranquero <lektu@terra.es>
14996
14997 * w32proc.c (syms_of_ntproc): Doc fix.
14998
14999 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15000
15001 * intervals.h: Include "dispextern.h" unconditionally.
15002
15003 2002-02-24 Jason Rumney <jasonr@gnu.org>
15004
15005 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
15006 and disp-table.elc.
15007 (lisp): Add emacs-lisp/backquote.elc.
15008
15009 2002-02-24 Kim F. Storm <storm@cua.dk>
15010
15011 * keymap.c (Flookup_key): Fix problem in 2001-12-28 patch:
15012 The validation of the event type was too strict as it didn't
15013 allow string events; buffer names are used in bindings for
15014 menu-bar-select-buffer (see `menu-bar-update-buffers').
15015
15016 2002-02-23 Kim F. Storm <storm@cua.dk>
15017
15018 The following changes rework my patch of 2002-02-06 which
15019 added command remapping by entering the commands directly into
15020 the keymaps. Now, command remapping uses an explicit `remap'
15021 prefix in the keymaps, i.e. [remap COMMAND].
15022
15023 * keymap.c (Qremap, remap_command_vector): New variables.
15024 (is_command_symbol): Remove function.
15025 (Fdefine_key): No longer accept a symbol for KEY.
15026 Added validation of [remap COMMAND] argument for KEY.
15027 The DEF is no longer required to be a symbol when remapping a command.
15028 (Fremap_command): New function to remap command through keymaps.
15029 (Flookup_key): Perform command remapping initiated by
15030 Fremap_command directly for speed.
15031 (Fkey_binding): Use Fremap_command for command remapping.
15032 (where_is_internal): Handle new command remapping representation.
15033 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
15034 staticpro them. Defsubr Fremap_command.
15035
15036 * keymap.h (Fremap_command): Declare extern.
15037 (is_command_symbol): Remove extern.
15038
15039 * keyboard.c (command_loop_1): Use Fremap_command for command
15040 remapping; now try command remapping for all symbols.
15041
15042 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
15043
15044 * coding.h (run_pre_post_conversion_on_str): Add prototype.
15045
15046 2002-02-23 Jason Rumney <jasonr@gnu.org>
15047
15048 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
15049 on the string before encoding it.
15050 (Fw32_get_clipboard_data): Run post-read-conversion on the string
15051 after decoding it.
15052
15053 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
15054
15055 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15056
15057 * w32term.c (enter_timestamp): Remove unused static variable to
15058 prevent warning.
15059
15060 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
15061
15062 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
15063
15064 * w16select.c (Fw16_get_clipboard_data): Fix last change.
15065
15066 * xselect.c (selection_data_to_lisp_data): Fix last change.
15067
15068 2002-02-22 Jason Rumney <jasonr@gnu.org>
15069
15070 * w32term.h (struct w32_output): New member menu_command_in_progress.
15071
15072 * w32menu.c (menubar_selection_callback): Free the menu and
15073 clear the menu_command_in_progress flag.
15074
15075 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
15076 (menu_free_timer): New variable.
15077 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
15078 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
15079 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
15080 menu command is in progress.
15081 <WM_COMMAND>: Set the menu_command_in_progress flag.
15082 Kill any menu_free_timer that is running.
15083
15084 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
15085 Call ExtTextOutA rather than ExtTextOut.
15086
15087 2002-02-22 Eli Zaretskii <eliz@gnu.org>
15088
15089 * puresize.h (BASE_PURESIZE): Increase to 755000.
15090
15091 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15092
15093 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
15094 on the string before encoding it.
15095 (Fw16_get_clipboard_data): Run post-read-conversion on the string
15096 after decoding it.
15097
15098 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15099
15100 Support for ICCCM Extended Segments in X selections:
15101
15102 * xselect.c <Qcompound_text_no_extensions>: New variable.
15103 (syms_of_xselect): Intern and staticpro it.
15104 (selection_data_to_lisp_data): Run post-read-conversion on decoded
15105 selection text.
15106 (lisp_data_to_selection_data): If next-selection-coding-system is
15107 compound-text-no-extensions, set the type of selection to be
15108 compound-text.
15109
15110 * xterm.h (x_encode_text): Update prototype.
15111
15112 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
15113 callers changed. If SELECTIONP is non-zero, run the
15114 pre-write-conversion function before encoding the selection text.
15115
15116 2002-02-21 Kim F. Storm <storm@cua.dk>
15117
15118 * frame.c (syms_of_frame): Change mouse-highlight default to t.
15119
15120 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
15121 Correct composing of language-change event.
15122
15123 2002-02-20 Kim F. Storm <storm@cua.dk>
15124
15125 * keyboard.c (menu_bar_items): Don't include keymap or local-map
15126 bindings at PT when building menu (the menu is not updated often
15127 enough for this to work reliable).
15128 (tool_bar_items): Likewise.
15129 (current_active_maps): Removed unused (and buggy) function.
15130
15131 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15132
15133 * xfns.c (gif_load): Use correct width and height for GIF images.
15134
15135 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
15136
15137 * floatfns.c (Fatan): Accept an optional second arg and call
15138 atan2 if passed 2 args.
15139
15140 2002-02-18 Jason Rumney <jasonr@gnu.org>
15141
15142 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
15143
15144 2002-02-17 Jason Rumney <jasonr@gnu.org>
15145
15146 * w32term.c (x_autoselect_window_p): New variable.
15147 (syms_of_w32term): DEFVAR_BOOL and initialize it.
15148 (note_mouse_movement): Use it.
15149
15150 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
15151
15152 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
15153
15154 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
15155 New variables.
15156 (syms_of_w32fns): Intern and staticpro them.
15157 (x_frame_parms) <"fullscreen">: New parameter.
15158 (x_fullscreen_move, x_set_fullscreen): New functions.
15159 (x_set_frame_parameters): Support Qfullscreen.
15160 (x_real_positions): Save x/y_pixels_diff frame params.
15161 (x_figure_window_size): Support full-screen frames.
15162 (Fx_create_frame): Default the fullscreen parameter.
15163
15164 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
15165 (x_fullscreen_adjust): New functions.
15166 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
15167 fullscreen. Call x_check_fullscreen_move, and set the
15168 want_fullscreen member of output_data.w32
15169 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
15170
15171 * w32term.h: New enum for FULLSCREEN_* constants.
15172 (struct w32_output): New members want_fullscreen, x_pixels_diff,
15173 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
15174 (x-fullscreen-adjust): New prototype.
15175
15176 2002-02-17 Kim F. Storm <storm@cua.dk>
15177
15178 * frame.c: (Vmouse_highlight): New variable.
15179 (syms_of_frame): DEFVAR_LISP it.
15180
15181 * frame.h: (Vmouse_highlight): Declare extern.
15182
15183 * xterm.h (struct x_display_info): Add mouse_face_hidden.
15184
15185 * xterm.c (disable_mouse_highlight): Removed variable.
15186 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
15187 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15188 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
15189 and on after keyboard input.
15190 (x_term_init): Initialize mouse_face_hidden.
15191
15192 * msdos.h (struct display_info): Add mouse_face_hidden.
15193
15194 * msdos.c (disable_mouse_highlight): Removed variable.
15195 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15196 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
15197 (internal_terminal_init): Initialize mouse_face_hidden.
15198 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
15199 and on after keyboard input.
15200
15201 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
15202
15203 * w32term.c (disable_mouse_highlight): Removed variable.
15204 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
15205 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15206 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
15207 and on after keyboard input.
15208 (w32_initialize_display_info): Initialize mouse_face_hidden.
15209
15210 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
15211
15212 * msdos.c (last_mouse_window): New variable.
15213 (dos_rawgetc): Fix last change--if the mouse is in the same window
15214 as recorded in last_mouse_window, don't select this window.
15215
15216 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
15217
15218 * msdos.c (x_autoselect_window_p): New variable.
15219 (syms_of_msdos): Defvar it.
15220 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
15221 which the last mouse movement occured, unless it is already selected.
15222
15223 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
15224 New variables.
15225 (syms_of_xdisp): DEVFAR them.
15226 (hscroll_window_tree): Use automatic_hscroll_margin and
15227 Vautomatic_hscroll_step to compute the amount of window scrolling.
15228
15229 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15230
15231 * xterm.c (x-autoselect-window): New variable.
15232 (note_mouse_movement): Use it.
15233
15234 * keyboard.c: Do not include "systime.h" twice.
15235
15236 2002-02-15 Andreas Schwab <schwab@suse.de>
15237
15238 * puresize.h (PURESIZE_RATIO): Increase to 9/5.
15239
15240 * alloc.c (NSTATICS): Increase to 1280.
15241
15242 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
15243
15244 * alloc.c (NSTATICS): Bump to 1026.
15245
15246 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
15247 (Vx_super_keysym): New variables.
15248 (syms_of_xterm): DEFVAR_LISP them.
15249 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
15250 variables to determine which keys to use for the various modifiers.
15251
15252 2002-02-13 Kim F. Storm <storm@cua.dk>
15253
15254 * window.c: (Vmode_line_in_non_selected_windows): Removed.
15255 (mode_line_in_non_selected_windows): New variable.
15256 (syms_of_window): DEFVAR_BOOL it.
15257
15258 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
15259 Use mode_line_in_non_selected_windows.
15260 (mode_line_in_non_selected_windows): Declare extern.
15261 (Vmode_line_in_non_selected_windows): Removed extern.
15262
15263 2002-02-13 Richard M. Stallman <rms@gnu.org>
15264
15265 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
15266 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
15267 (Fclear_this_command_keys): Doc fixes.
15268
15269 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
15270 (update_face_from_frame_parameter): Increment face_change_count
15271 and windows_or_buffers_changed to force redisplay using changed faces.
15272
15273 * xdisp.c (QCpropertize): New variable.
15274 (mode_line_proptrans_alist): New variable.
15275 (display_mode_element): New arg PROPS; all calls changed.
15276 Implement this, for strings.
15277 Handle literal output of strings by sharing the
15278 main-line code for strings, using local var `literal'.
15279 Handle :propertize feature.
15280 (syms_of_xdisp): Initialze and staticpro QCpropertize and
15281 mode_line_proptrans_alist.
15282
15283 2002-02-11 Kim F. Storm <storm@cua.dk>
15284
15285 * window.c: (Vmode_line_in_non_selected_windows): New variable.
15286 (syms_of_window): DEFVAR_LISP it.
15287
15288 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
15289 (CURRENT_MODE_LINE_FACE_ID): Use it.
15290 (Vmode_line_in_non_selected_windows): Declare extern.
15291
15292 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
15293 to get mode line face.
15294
15295 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
15296
15297 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
15298 variables; cus-start.el doesn't need them anymore.
15299
15300 2002-02-09 Kim F. Storm <storm@cua.dk>
15301
15302 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
15303 reduction. This fixes a display problem where stray newlines were
15304 inserted in the window (corrected by C-l). Clarified code (IMHO).
15305
15306 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
15307
15308 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
15309
15310 * xdisp.c (display_mode_lines): Fix last change.
15311
15312 2002-02-09 Jason Rumney <jasonr@gnu.org>
15313
15314 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
15315 match each other.
15316 (w32_load_system_font): Prevent Cleartype fonts from loading.
15317 (Fx_show_tip): Ensure tip frames are above other topmost windows.
15318
15319 2002-02-09 Kim F. Storm <storm@cua.dk>
15320
15321 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
15322 (CURRENT_MODE_LINE_HEIGHT): Use it.
15323 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
15324
15325 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
15326 (pos_visible_p, handle_face_prop): Likewise.
15327 (display_mode_lines): Likewise, but for the real selected window.
15328 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
15329
15330 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
15331 in non-selected windows.
15332 (realize_basic_faces): Realize it.
15333 (syms_of_term): Intern and staticpro it.
15334
15335 2002-02-08 Kim F. Storm <storm@cua.dk>
15336
15337 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
15338 Changed mail addresses to emacs-devel@gnu.org.
15339
15340 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
15341
15342 * fileio.c (Fsubstitute_in_file_name): If the file name includes
15343 ~user, and there's no such user, don't discard everything before ~user.
15344
15345 * floatfns.c (Fround): Doc fix.
15346
15347 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15348
15349 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
15350
15351 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
15352
15353 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
15354
15355 2002-02-07 Kim F. Storm <storm@cua.dk>
15356
15357 * keymap.c (where_is_internal): Only check whether definition is
15358 remapped if it fulfills is_command_symbol.
15359
15360 2002-02-07 Andreas Schwab <schwab@suse.de>
15361
15362 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
15363
15364 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
15365
15366 2002-02-06 Kim F. Storm <storm@cua.dk>
15367
15368 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
15369 defining command remapping. Doc updated.
15370 (Flookup_key): Remap command through keymap if KEY is a symbol.
15371 (is_command_symbol): New function.
15372 (Fkey_binding): Use it. New optional argument NO-REMAP.
15373 Doc updated. Callers changed. Perform command remapping via
15374 recursive call unless that arg is non-nil.
15375 (where_is_internal): New argument no_remap. Callers changed.
15376 Call recursively to find original key bindings for a remapped
15377 comand unless that arg is non-nil.
15378 (Fwhere_is_internal): New optional argument NO-REMAP.
15379 Doc updated. Callers changed. Pass arg to where_is_internal.
15380
15381 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
15382 (is_command_symbol): Add prototype.
15383
15384 * keyboard.c (Vthis_original_command): New variable.
15385 (syms_of_keyboard): DEFVAR_LISP it.
15386 (command_loop_1): Set it, and perform command remapping.
15387
15388 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15389
15390 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
15391
15392 2002-02-06 Jason Rumney <jasonr@gnu.org>
15393
15394 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
15395
15396 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
15397
15398 * charset.c (get_charset_id): Use if-else instead of ?:.
15399
15400 2002-02-06 Richard M. Stallman <rms@gnu.org>
15401
15402 * filelock.c (S_ISLNK): Define if not defined.
15403
15404 2002-02-03 Richard M. Stallman <rms@gnu.org>
15405
15406 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
15407
15408 * lread.c (read1): Redesign strategy for force_multibyte and
15409 force_singlebyte. Now is_multibyte records whether read_buffer
15410 is multibyte. Encountering any multibyte character makes it so.
15411
15412 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
15413
15414 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
15415 with the same sequence, map that sequence to f10 rather than f0.
15416
15417 2002-02-03 Andreas Schwab <schwab@suse.de>
15418
15419 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
15420 latter never being defined on GNU/Linux.
15421
15422 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
15423
15424 * xfaces.c (realize_default_face): Don't set the weight and slant of
15425 the default face to Qnormal, unless these attributes are unspecified.
15426
15427 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15428
15429 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
15430 Call cancel_hourglass unconditionally.
15431
15432 * eval.c (Fsignal): Remove duplicated declaration of
15433 the variable `display_hourglass_p'.
15434
15435 2002-01-31 Richard M. Stallman <rms@gnu.org>
15436
15437 * editfns.c (region_limit): Nicer error message.
15438
15439 * coding.c (decode_composition_emacs_mule):
15440 Give up if NCOMPONENT gets too large to index `component'.
15441
15442 * callint.c (check_mark): New arg to specify clearer error message.
15443 Callers changed.
15444
15445 2002-01-27 Richard M. Stallman <rms@gnu.org>
15446
15447 * minibuf.c (Fcompleting_read): Doc fix.
15448
15449 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15450
15451 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
15452 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
15453 Fix doc-strings.
15454
15455 2002-01-26 Richard M. Stallman <rms@gnu.org>
15456
15457 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
15458
15459 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
15460 and scroll_up_aggressively.
15461
15462 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15463
15464 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
15465
15466 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
15467
15468 * textprop.c (Fnext_property_change, Fnext_single_property_change)
15469 (Fprevious_property_change, Fprevious_single_property_change):
15470 Stay within the narrowed-buffer boundaries.
15471
15472 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
15473
15474 * term.c (Ftty_display_color_cells): New function.
15475 (syms_of_term): Defsubr it.
15476 (Ftty_display_color_cells, Ftty_display_color_p): Change the
15477 argument name to DISPLAY. Doc fix.
15478
15479 * dispextern.h: Add prototype for set_tty_color_mode and
15480 tty_setup_colors.
15481
15482 2002-01-24 Jason Rumney <jasonr@gnu.org>
15483
15484 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
15485 If region left to draw is not what was expected, mark the frame as
15486 garbaged.
15487
15488 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
15489 Combine the regions returned by BeginPaint and GetUpdateRect.
15490
15491 2002-01-23 Jason Rumney <jasonr@gnu.org>
15492
15493 * w32term.c (x_update_window_begin): Only hide caret if
15494 w32_use_visible_system_caret is set.
15495 (x_update_window_end): Only show caret if
15496 w32_use_visible_system_caret is set.
15497 (syms_of_w32term): Handle SystemParametersInfo call failing.
15498
15499 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
15500
15501 2002-01-22 Richard M. Stallman <rms@gnu.org>
15502
15503 * unexelf.c (unexec): Define n so as to cause compilation error
15504 for the code where people have often written n instead of nn.
15505
15506 * .gdbinit (hookpost-run): Defined.
15507
15508 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15509
15510 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
15511
15512 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15513
15514 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
15515 if fullscreen is being set.
15516
15517 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15518
15519 * minibuf.c (Fminibuffer_contents)
15520 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
15521 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
15522
15523 2002-01-21 Richard M. Stallman <rms@gnu.org>
15524
15525 * window.c (check_frame_size): Fix minimum height calculation.
15526
15527 2002-01-20 Ken Raeburn <raeburn@gnu.org>
15528
15529 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
15530 height before comparison.
15531 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
15532
15533 2002-01-20 Jason Rumney <jasonr@gnu.org>
15534
15535 * w32term.c (w32_system_caret_width): Remove.
15536 (w32_use_visible_system_caret): New user flag.
15537 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
15538 Windows reports a screen reader running.
15539 (x_update_window_begin): Hide the system caret.
15540 (x_update_window_end): Show the system caret.
15541 (x_display_and_set_cursor): Don't draw a cursor when
15542 w32_use_visible_system_caret is set. Do not adjust width.
15543
15544 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
15545 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
15546 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
15547 the user requests it. Use system default width when creating.
15548 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
15549
15550 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
15551 New window messages.
15552
15553 2002-01-20 Richard M. Stallman <rms@gnu.org>
15554
15555 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
15556
15557 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15558
15559 * doprnt.c (doprnt1): Fix typos in error call.
15560
15561 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
15562
15563 * unexelf.c (unexec) [__sgi]: Support the .got sections.
15564
15565 2002-01-20 Jason Rumney <jasonr@gnu.org>
15566
15567 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
15568 that Windows returns. If a double check fails, try to guess how
15569 ExtTextOut is going to act.
15570
15571 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
15572 in place of stricmp.
15573 (w32_list_synthesized_fonts): Removed.
15574 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
15575 (struct enumfont_t): New element; list.
15576 (enum_font_cb2): List all style and charset variations of a font.
15577 (Fw32_select_font): New optional argument; include_proportional.
15578 Exclude vertical fonts. Exclude proportional fonts unless
15579 include_proportional is non-nil.
15580 (w32_enable_synthesized_fonts): Change to a boolean.
15581 (Fw32_send_sys_command): Doc fix.
15582
15583 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15584
15585 * dispnew.c (update_frame): Move the variable `tem' to the block
15586 where it is used.
15587
15588 2002-01-19 Jason Rumney <jasonr@gnu.org>
15589
15590 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
15591 call to face-set-after-frame-default.
15592
15593 2002-01-18 Richard M. Stallman <rms@gnu.org>
15594
15595 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
15596 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
15597
15598 2002-01-17 Richard M. Stallman <rms@gnu.org>
15599
15600 * window.c (enlarge_window): When exceeding size of parent,
15601 directly delete all the siblings instead of trying to resize it.
15602
15603 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15604
15605 * term.c (set_tty_color_mode): Remove unused variable `tem'.
15606
15607 2002-01-16 Henrik Enberg <henrik@enberg.org>
15608
15609 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
15610
15611 2002-01-16 Kim F. Storm <storm@cua.dk>
15612
15613 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
15614 is invisible. This can happen if cursor is on top line of a
15615 window, and we switch to a buffer with a header line.
15616
15617 * w32term.c (x_erase_phys_cursor): Ditto.
15618
15619 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15620
15621 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
15622 `dont_resize' only when used.
15623
15624 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
15625
15626 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
15627
15628 * xdisp.c (display_mode_element): When computing charpos, depend
15629 on multibyteness of elt, not the text in field.
15630
15631 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15632
15633 * buffer.c (Fkill_all_local_variables):
15634 Increment `update_mode_lines' only once.
15635
15636 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15637
15638 * lisp.h (adjust_after_replace_noundo)
15639 (Fupdate_coding_systems_internal): Add prototypes.
15640
15641 * sound.c (Fplay_sound): Initialize header_size also for :data case.
15642
15643 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
15644
15645 Support for the --color command-line argument and tty-color-mode
15646 frame parameter:
15647
15648 * term.c (tty_default_color_capabilities, tty_setup_colors)
15649 (set_tty_color_mode): New functions.
15650 (term_init): Call tty_default_color_capabilities.
15651 (Qtty_color_mode_alist): New variable.
15652 (syms_of_term): Intern and staticpro it.
15653
15654 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
15655 frames.
15656 (do_switch_frame): For termcap frames, switch the tty
15657 color mode as specified by the frame's parameters.
15658 (Qtty_color_mode): New variable.
15659 (syms_of_frame): Intern and staticpro it.
15660
15661 * emacs.c (USAGE2): Add the --color option.
15662 (standard_args): Ditto.
15663
15664 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15665
15666 * xterm.h (struct x_output): New members want_fullscreen,
15667 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
15668 y_pixels_outer_diff.
15669 New enum for FULLSCREEN_* constants.
15670 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
15671 is NULL.
15672 (x_fullscreen_adjust): Add prototype.
15673
15674 * emacs.c (USAGE2): Add the new full-screen arguments.
15675 (standard_args): Ditto.
15676
15677 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
15678 New variables.
15679 (syms_of_xfns): Intern and staticpro them.
15680 (x_frame_parms) <"fullscreen">: New parameter.
15681 (x_fullscreen_move, x_set_fullscreen): New functions.
15682 (x_set_frame_parameters): Support for Qfullscreen.
15683 (x_real_positions): More accurate computation of the frame position.
15684 (x_figure_window_size): Support full-screen frames.
15685 (Fx_create_frame): Default the fullscreen parameter.
15686
15687 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
15688 (XTread_socket) <Expose>: Call x_check_fullscreen.
15689 <ConfigureNotify>: Don't resize to fullscreen.
15690 Call x_check_fullscreen_move, and set the want_fullscreen member of
15691 output_data.x.
15692
15693 2002-01-13 Jason Rumney <jasonr@gnu.org>
15694
15695 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
15696 for mice with more than 3 buttons.
15697
15698 * w32term.c (parse_button): New parameter xbutton. Callers changed.
15699 (w32_read_socket): Handle new "XBUTTON" messages.
15700
15701 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
15702 (syms_of_w32fns): DEFVAR_BOOL it.
15703 (w32_wnd_proc): Handle new "XBUTTON" messages.
15704
15705 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15706
15707 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
15708
15709 2002-01-13 Andreas Schwab <schwab@suse.de>
15710
15711 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
15712
15713 2002-01-12 Andreas Schwab <schwab@suse.de>
15714
15715 * .gdbinit (xbuffer): Remove address operator since data is now a
15716 pointer.
15717
15718 2002-01-11 Richard M. Stallman <rms@gnu.org>
15719
15720 * insdel.c (adjust_after_replace_noundo): New function.
15721
15722 * coding.c (code_convert_region): Don't copy old text if undo disabled.
15723
15724 2002-01-09 Jason Rumney <jasonr@gnu.org>
15725
15726 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
15727 when checking for multiple frames.
15728
15729 2002-01-08 Richard M. Stallman <rms@gnu.org>
15730
15731 * window.c (delete_window): Rewrite the code for changing the
15732 selected window to handle the case where WINDOW is not a leaf.
15733
15734 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
15735
15736 * process.c (send_process): Set src_multibyte to 1 after the call
15737 top setup_coding_system, not before the call.
15738
15739 2002-01-07 Jason Rumney <jasonr@gnu.org>
15740
15741 * xmenu.c (set_frame_menubar, xmenu_show):
15742 (xdialog_show): Initialize wv->help to Qnil.
15743
15744 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
15745 (w32_dialog_show): Initialize wv->help to Qnil.
15746
15747 2002-01-06 Jason Rumney <jasonr@gnu.org>
15748
15749 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
15750
15751 * w32menu.c (w32_menu_display_help): Revert last change.
15752
15753 * xmenu.c (menu_highlight_callback): Revert last change.
15754
15755 2002-01-06 Andreas Schwab <schwab@suse.de>
15756
15757 * insdel.c (make_gap_larger): Make sure buffer size does not
15758 overflow range of int.
15759
15760 2002-01-05 Jason Rumney <jasonr@gnu.org>
15761
15762 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
15763 OVERLAPS_P.
15764
15765 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
15766
15767 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
15768 to the left or to the right of the pointer, put it against
15769 the left screen edge.
15770 (x_frame_parms): Add missing braces around initializer.
15771
15772 * w32term.c (x_setup_relief_colors): Don't compute an image's
15773 background color if it doesn't have a Pixmap.
15774 (notice_overwritten_cursor): Don't depend on
15775 output_cursor and updated_area. Compare pixel coordinates with
15776 window's cursor pixel coordinates.
15777 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
15778 Call notice_overwritten_cursor with new arg list.
15779 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
15780 unconditionally.
15781 (x_draw_image_relief): Use predefined macro instead of
15782 constant when the value of `tool_bar_button_relief' is negative.
15783
15784 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
15785
15786 2002-01-04 Richard M. Stallman <rms@gnu.org>
15787
15788 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
15789
15790 2002-01-03 Richard M. Stallman <rms@gnu.org>
15791
15792 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
15793 (Fkey_binding): Try the `keymap' property map first.
15794 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
15795 minor mode bindings.
15796
15797 2002-01-03 Kim F. Storm <storm@cua.dk>
15798
15799 * keyboard.c (read_key_sequence): Fix cast of submaps arg to bcopy.
15800
15801 2002-01-02 Richard M. Stallman <rms@gnu.org>
15802
15803 * keyboard.c (read_key_sequence): Handle the keymap property
15804 before minor mode maps.
15805
15806 * editfns.c (Fformat): Update thissize from field_width
15807 based on the actual width, in the string case.
15808
15809 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15810
15811 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
15812 when used as truth value to prevent gcc warnings.
15813
15814 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
15815 * w32proc.c: Include <config.h>.
15816
15817 2002-01-01 Andreas Schwab <schwab@suse.de>
15818
15819 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
15820 not EMACS_INT, to make them compatible with DEFVAR_INT.
15821 * lisp.h (max_specpdl_size): Adjust declaration.
15822
15823 2002-01-01 Richard M. Stallman <rms@gnu.org>
15824
15825 * print.c (print_object): Test print_escape_nonascii only for
15826 unibyte strings.
15827 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
15828 when outputting to a multibyte buffer.
15829
15830 2001-12-29 Richard M. Stallman <rms@gnu.org>
15831
15832 * print.c (print_object): In multibyte string, use hex escapes.
15833 Use octal only for unibyte strings.
15834 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
15835
15836 * lread.c (read_escape): New arg BYTEREP for reporting whether
15837 escape forces unibyte or multibyte.
15838 (read1): When reading a string, take note of that info.
15839
15840 2001-12-29 Ken Raeburn <raeburn@gnu.org>
15841
15842 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
15843 comparison to test lisp value returned by Fget.
15844
15845 2001-12-29 Richard M. Stallman <rms@gnu.org>
15846
15847 * lisp.h (max_specpdl_size): Add declaration.
15848
15849 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
15850
15851 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
15852 Handle modifier bits. Correct typo in error message.
15853
15854 2001-12-28 Richard M. Stallman <rms@gnu.org>
15855
15856 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
15857 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
15858 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15859 Update calls to Fdefine_abbrev.
15860 (write_abbrev): Update for changed data format.
15861 Don't list "system" abbrevs.
15862 (Fexpand_abbrev): Update use count with new data format.
15863 (describe_abbrev): Update for changed data format.
15864 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
15865
15866 * config.in (HAVE_MBSINIT): Add #undef.
15867
15868 * strftime.c (mbsinit): Define as no-op if not available.
15869
15870 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
15871 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
15872
15873 * keymap.c (Flookup_key): Error message if key has wrong data type.
15874 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
15875 (exclude_key): New variable.
15876
15877 2001-12-28 Gerd Moellmann <gerd@gnu.org>
15878
15879 * xterm.c (x_setup_relief_colors): Don't compute an image's
15880 background color if it doesn't have a Pixmap.
15881
15882 * xterm.c (notice_overwritten_cursor): Don't depend on
15883 output_cursor and updated_area. Compare pixel coordinates with
15884 window's cursor pixel coordinates.
15885 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
15886 Call notice_overwritten_cursor with new arg list.
15887 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
15888 unconditionally.
15889
15890 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
15891 height of the cursor line to the amount to scroll.
15892
15893 2001-12-27 Richard M. Stallman <rms@gnu.org>
15894
15895 * intervals.c (set_point_both): The position after an invisible,
15896 intangible character is not an acceptable stopping point.
15897
15898 2001-12-27 Ken Raeburn <raeburn@gnu.org>
15899
15900 * window.c (enlarge_window): In new preserve_before code, convert
15901 CURBEG from lisp object to integer before doing arithmetic.
15902
15903 2001-12-27 Richard M. Stallman <rms@gnu.org>
15904
15905 * bytecode.c (Fbyte_code): Undo previous change.
15906
15907 2001-12-26 Kim F. Storm <storm@cua.dk>
15908
15909 * keyboard.c (record_char): Ignore duplicate help-echo events only
15910 separated by mouse-movement. When tracking mouse, only record
15911 first and last mouse-movement event in same window.
15912 Don't record mouse-movement events in keyboard macros.
15913
15914 2001-12-25 Richard M. Stallman <rms@gnu.org>
15915
15916 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
15917 (Fenlarge_window): New arg PRESERVE_BEFORE.
15918
15919 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
15920 instead of Fstring_as_unibyte.
15921
15922 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15923
15924 The following changes remove mocklisp support:
15925
15926 * mocklisp.h, mocklisp.c: Files removed.
15927
15928 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
15929 `Qmocklisp' and `Qmocklisp_arguments'.
15930 Remove prototype of syms_of_mocklisp.
15931
15932 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
15933
15934 * callint.c: Do not include mocklisp.h.
15935 (Fcall_interactively): Do not test for mocklisp case.
15936
15937 * eval.c: Remove variables `Qmocklisp_arguments',
15938 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
15939 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
15940 Do not test for mocklisp case.
15941 (Fwhile): Remove unused variable `tem'.
15942 (syms_of_eval): Remove variable `moclisp-arguments'.
15943
15944 * data.c (wrong_type_argument): Remove mocklisp case.
15945
15946 * doc.c (Fdocumentation): Remove mocklisp case.
15947
15948 * emacs.c (main): Do not call syms_of_mocklisp.
15949
15950 2001-12-21 Richard M. Stallman <rms@gnu.org>
15951
15952 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
15953 to the left or to the right of the pointer, put it against
15954 the left screen edge.
15955
15956 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
15957
15958 * Makefile.in (distclean): Remove .gdbinit if we are building
15959 outside the source tree.
15960
15961 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
15962
15963 * w32.c (emacs_root_dir): New function.
15964
15965 * msdos.c (emacs_root_dir): New function.
15966
15967 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
15968 of the current drive as the fallback for default_directory.
15969
15970 * dired.c (file_name_completion): Run the elements of
15971 completion-ignored-extensions through ENCODE_FILE.
15972
15973 * lisp.h (scmp): Remove prototype, since it's now a static
15974 function private to dired.c.
15975
15976 2001-12-18 Richard M. Stallman <rms@gnu.org>
15977
15978 * dired.c (scmp): Function moved from minibuf.c.
15979 Delete multibyte handling--used only on encoded strings.
15980
15981 * minibuf.c (scmp): Function moved to dired.c.
15982
15983 * fns.c (merge): Add QUIT call.
15984
15985 2001-12-18 Dave Love <fx@gnu.org>
15986
15987 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
15988 language/georgian.el.
15989
15990 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
15991
15992 * Makefile.in (lisp, shortlisp): Synchronize with changes to
15993 lisp/Makefile.in:DONTCOMPILE.
15994
15995 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15996
15997 * xdisp.c (window_box_height): Do not return negative values.
15998 From Gerd Moellmann <gerd@gnu.org>.
15999
16000 * keyboard.c (head_table): Add missing braces around initializer.
16001
16002 * term.c (keys): Likewise.
16003
16004 * xfns.c (x_frame_parms, visual_classes): Likewise.
16005
16006 2001-12-17 Sam Steingold <sds@gnu.org>
16007
16008 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
16009 patch (COMPOSING_P, not COMPOSING).
16010
16011 2001-12-17 Richard M. Stallman <rms@gnu.org>
16012
16013 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
16014
16015 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
16016 before calling decode_coding.
16017
16018 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
16019
16020 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
16021 instead of only for COMPOSITION_DISABLED.
16022
16023 2001-12-16 Richard M. Stallman <rms@gnu.org>
16024
16025 * alloc.c (pure_alloc): After overflow, allocate just a small block.
16026
16027 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
16028
16029 * buffer.h (struct buffer): New field `display_error_modiff'.
16030 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
16031
16032 * window.c (Frecenter): Clear display_error_modiff field.
16033
16034 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
16035 Call redisplay_window, but not if display_error_modiff field says no.
16036 (redisplay_window_error): New function.
16037 (displayed_buffer): New variable.
16038 (redisplay_internal, redisplay_windows): Call the new functions
16039 instead of redisplay_window directly.
16040
16041 2001-12-15 Richard M. Stallman <rms@gnu.org>
16042
16043 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
16044
16045 2001-12-14 Andrew Innes <andrewi@gnu.org>
16046
16047 * makefile.w32-in (EMACSLOADPATH): Define.
16048 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
16049 (bootstrap-temacs): Remove dependency on bootstrap-clean.
16050
16051 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
16052
16053 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
16054 parameter have a numeric value all the time.
16055
16056 * w32fns.c (x_report_frame_params): Likewise.
16057
16058 2001-12-12 Richard M. Stallman <rms@gnu.org>
16059
16060 * fileio.c (Fwrite_region): Doc fix.
16061
16062 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
16063 (redisplay_internal): Call clear_image_cache only for window terminals.
16064
16065 2001-12-12 Gerd Moellmann <gerd@gnu.org>
16066
16067 * xdisp.c (move_it_vertically_backward): Change heuristic
16068 for the case that we didn't move far enough initially.
16069
16070 * window.c (Frecenter): Simplify computation in the case of window
16071 system frames and ARG < 0; use window_box_height.
16072
16073 2001-12-11 Richard M. Stallman <rms@gnu.org>
16074
16075 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
16076 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
16077
16078 2001-12-11 Andrew Innes <andrewi@gnu.org>
16079
16080 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
16081 arg is negative.
16082
16083 2001-12-11 Richard M. Stallman <rms@gnu.org>
16084
16085 * m/hp800.h: Split the __hpux conditional into the parts
16086 that are right for GNU/Linux too and the parts that are not.
16087 Use the former if GNU_LINUX.
16088 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
16089
16090 * s/gnu-linux.h (GNU_LINUX): Defined.
16091
16092 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16093
16094 * macros.c, msdos.c, w16select.c: Change doc-string comments to
16095 `new style' [w/`doc:' keyword].
16096
16097 2001-12-10 Jason Rumney <jasonr@gnu.org>
16098
16099 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
16100 before using.
16101
16102 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16103
16104 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
16105 keyword].
16106
16107 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
16108
16109 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
16110
16111 * s/hpux10.h (srand48): Don't undefine.
16112
16113 2001-12-09 Jason Rumney <jasonr@gnu.org>
16114
16115 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
16116 Add comment to explain where the struct came from.
16117 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
16118 (add_menu_item): Process pop-up menus first to avoid memory leak.
16119 (add_menu_item, w32_menu_display_help): Use `help' field as
16120 Lisp_Object.
16121 (w32_free_submenu_strings): Only free owner-drawn strings.
16122
16123 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16124
16125 * COPYING: Moved back.
16126
16127 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
16128 Add parentheses around && within ||.
16129
16130 * indent.c (compute_motion): Likewise.
16131
16132 * intervals.c (merge_properties_sticky): Likewise.
16133
16134 * coding.c (setup_coding_system, shrink_encoding_region)
16135 (Fdecode_sjis_char): Likewise.
16136
16137 2001-12-07 Andreas Schwab <schwab@suse.de>
16138
16139 * xdisp.c (display_mode_element): Don't read past end of string if
16140 it ends with '%'.
16141
16142 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
16143 can hold.
16144
16145 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
16146 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
16147 type changed to Lisp_Object.
16148 (syms_of_data): DEFVAR_LISP them.
16149
16150 2001-12-07 Richard M. Stallman <rms@gnu.org>
16151
16152 * callproc.c (init_callproc): Set Vdata_directory based on the source
16153 location whenever Emacs was run uninstalled.
16154
16155 2001-12-06 Paul Eggert <eggert@twinsun.com>
16156
16157 * config.in (HAVE_WORKING_VFORK): New #undefs.
16158 * process.c (create_process):
16159 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
16160 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
16161 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
16162 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
16163 * m/intel386.h (HAVE_VFORK): Likewise.
16164 * m/mips-siemens.h (HAVE_VFORK): Likewise.
16165 * m/mips.h (HAVE_VFORK): Likewise.
16166 * s/freebsd.h (vfork): Remove #define.
16167 * s/lynxos.h (HAVE_VFORK): Remove #undef.
16168 * s/usg5-4-2.h: Fix comment about vfork.
16169
16170 2001-12-06 Richard M. Stallman <rms@gnu.org>
16171
16172 * s/hpux10.h (random): Add undef.
16173 (HAVE_RANDOM): Define it just once.
16174
16175 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
16176
16177 * eval.c: Undo last change: the standard syntax is not wanted.
16178
16179 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
16180
16181 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
16182 scroll bars of the frame before deleting the frame itself. If the
16183 frame has a widget, delete the frame with XtDestroyWidget, and do
16184 not call XDestroyWindow before that.
16185
16186 2001-12-06 Kim F. Storm <storm@cua.dk>
16187
16188 * xfns.c (x_report_frame_params): Return actual fringe widths.
16189
16190 * w32fns.c (x_report_frame_params): Return actual fringe widths.
16191
16192 2001-12-05 Andrew Innes <andrewi@gnu.org>
16193
16194 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
16195 excessively large.
16196
16197 * insdel.c (make_gap_larger): New function.
16198 (make_gap_smaller): New function.
16199 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
16200 Call make_gap_smaller if arg is negative.
16201
16202 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
16203
16204 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
16205 Pass a dummy argument when calling interrupt_signal.
16206 (parse_menu_item): Mark disabled items before checking for empty def.
16207 (read_char_minibuf_menu_prompt): Make safety more visible.
16208 (read_key_sequence): Add a `first_unbound' variable.
16209 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
16210 unbound prefix as soon as we can detect it.
16211
16212 * doc.c (Fsnarf_documentation): Add prototype.
16213 (get_doc_string): Handle negative arguments.
16214 (Fdocumentation): Use AREF and ASIZE.
16215 Move the calls to get_doc_string to a single place.
16216 Don't confuse an interactive-spec for a docstring reference.
16217 (Fdocumentation_property): Take advantage of the fact that
16218 get_doc_string now ignores the sign of the docstring position.
16219
16220 * eval.c: Use standard syntax for usage in docstrings.
16221
16222 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16223
16224 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
16225
16226 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16227
16228 * xterm.c (x_draw_image_relief): Use predefined macro instead of
16229 constant when the value of `tool_bar_button_relief' is negative.
16230
16231 2001-12-02 Richard M. Stallman <rms@gnu.org>
16232
16233 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
16234 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
16235
16236 * fileio.c (read_non_regular): Delete Fsignal call.
16237
16238 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
16239
16240 * lisp.h (run_hook_list_with_args): Undo last change.
16241
16242 2001-12-01 Gerd Moellmann <gerd@gnu.org>
16243
16244 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
16245
16246 2001-12-01 Jason Rumney <jasonr@gnu.org>
16247
16248 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
16249
16250 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
16251 [!WM_MOUSELEAVE]: Define.
16252
16253 * w32menu.c (current_popup_menu, get_menu_item_info):
16254 (set_menu_item_info): New vars.
16255 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
16256 (w32_menu_show): Set current_popup_menu.
16257 (add_menu_item): Allocate new strings for owner-drawn menu items
16258 and help strings.
16259 Use owner-draw for disabled menu items again.
16260 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
16261 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
16262
16263 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
16264 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
16265 <WM_EXITMENULOOP>: Free menu strings.
16266 <WM_MOUSELEAVE>: Stop tracking mouse.
16267 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
16268
16269 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
16270 and mouse face.
16271
16272 2001-12-01 Kim F. Storm <storm@cua.dk>
16273
16274 The following changes add left-fringe and right-fringe
16275 frame parameters to adjust fringe widths, or remove one or
16276 both fringes.
16277
16278 * frame.h (struct frame): Remove trunc_area_pixel_width and
16279 trunc_area_cols fields.
16280 (Qleft_fringe, Qright_fringe): Declare.
16281 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
16282
16283 * frame.c (Qleft_fringe, Qright_fringe): New vars.
16284 (syms_of_frame): Initialize them.
16285
16286 * window.c (coordinates_in_window): Handle separate left and right
16287 fringe widths.
16288
16289 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
16290 and fringe_cols fields.
16291 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
16292 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
16293 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
16294 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
16295 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
16296 (x_compute_fringe_widths): Add prototype.
16297
16298 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
16299 fill fringe evenly with small dashes.
16300 (x_draw_fringe_bitmap): Clear background if necessary. Align and
16301 clip the new ZV bitmap to avoid jitter between rows.
16302 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
16303 background. Don't draw fringe bitmaps if fringe width is zero.
16304 (x_compute_fringe_widths): New function.
16305 (x_new_font, x_set_window_size_1): Use it.
16306
16307 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
16308 (x_set_frame_parameters): Process `font' parameter before other
16309 parameters as fringe widths depend on it.
16310 (x_set_fringe_width): New function.
16311 (x_figure_window_size): Use x_compute_fringe_widths.
16312 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
16313 parameters.
16314
16315 * widget.c (set_frame_size): Use x_compute_fringe_widths.
16316 (EmacsFrameSetCharSize): Ditto.
16317
16318 * w32term.h: Merged changes from xterm.h.
16319 * w32term.c: Merged changes from xterm.c.
16320 * w32fns.c: Merged changes from xfns.c.
16321
16322 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16323
16324 * COPYING: Removed.
16325
16326 2001-11-29 Dave Love <fx@gnu.org>
16327
16328 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
16329 extra extra slot.
16330 (detect_coding_mask): Fix call of detect_coding_iso2022.
16331
16332 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16333
16334 * fileio.c (file-name-coding-system)
16335 (default-file-name-coding-system): Doc fix (links to referenced
16336 variables added).
16337
16338 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
16339
16340 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
16341 Add dummy uses of gcproN variables.
16342
16343 * category.c (describe_category, describe_category_1)
16344 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
16345 (syms_of_category): Don't defsubr Sdescribe_categories.
16346
16347 2001-11-28 Richard M. Stallman <rms@gnu.org>
16348
16349 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
16350
16351 * Makefile.in (lispdir): New variable, referring to build dir.
16352 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
16353
16354 2001-11-28 Andrew Innes <andrewi@gnu.org>
16355
16356 * w32menu.c (w32_menu_display_help): Actually add the new argument
16357 OWNER.
16358
16359 2001-11-28 Jason Rumney <jasonr@gnu.org>
16360
16361 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
16362 menu items. From David Ponce <dponce@wanadoo.fr>.
16363 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
16364 conditionally.
16365 (w32_menu_display_help): New argument OWNER. Rewritten to store a
16366 help event in the owner frame's keyboard buffer.
16367
16368 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
16369 (Fx_show_tip): Don't subtract last width from row width.
16370
16371 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
16372 (w32_read_socket): Use EQ to compare frames.
16373
16374 2001-11-28 Gerd Moellmann <gerd@gnu.org>
16375
16376 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
16377 OVERLAPS_P.
16378
16379 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16380
16381 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
16382 `gcpro3' and `gcpro4'.
16383
16384 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
16385
16386 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
16387
16388 * ccl.c: Use AREF and ASIZE.
16389
16390 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
16391
16392 * lisp.h (run_hook_list_with_args): Remove.
16393 (LIST_END_P): Fix call to wrong_type_argument.
16394 (make_fixnum_or_float): Use EMACS_INT rather than int.
16395
16396 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
16397
16398 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
16399 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
16400
16401 * eval.c: Use AREF and ASIZE.
16402 (Ffetch_bytecode): Add the file name to the error message.
16403
16404 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
16405 which match the end of the file-name.
16406 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
16407 is not a valid env var, but leave it as is instead.
16408
16409 * keymap.c (access_keymap): Handle t bindings like nil bindings.
16410 Make nil bindings in char-tables transparent.
16411 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
16412
16413 2001-11-26 Richard M. Stallman <rms@gnu.org>
16414
16415 * textprop.c (set_text_properties_1): Allow START, END in either order.
16416 Do nothing if range is empty.
16417
16418 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
16419
16420 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
16421 (clean): Not here.
16422
16423 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
16424
16425 * textprop.c (set_text_properties_1): Clearly mark that the
16426 interval should not be empty.
16427
16428 * intervals.c (graft_intervals_into_buffer):
16429 Don't call set_text_properties_1 on an empty interval.
16430
16431 2001-11-25 Richard M. Stallman <rms@gnu.org>
16432
16433 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
16434
16435 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
16436 don't lose the data in it.
16437
16438 2001-11-25 Juanma Barranquero <lektu@terra.es>
16439
16440 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
16441
16442 * buffer.c (Fkill_buffer): Likewise.
16443
16444 * print.c (temp_output_buffer_setup): Likewise.
16445
16446 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
16447
16448 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
16449
16450 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
16451
16452 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
16453 Niemitalo <kon@iki.fi>.
16454
16455 2001-11-25 Jason Rumney <jasonr@gnu.org>
16456
16457 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
16458
16459 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
16460 (Fx_show_tip): Block input during frame creation.
16461 (Fx_show_tip, Fx_hide_tip): Enable.
16462
16463 2001-11-24 Richard M. Stallman <rms@gnu.org>
16464
16465 * lread.c (Fload): Detect recursive load error for more than 3
16466 nestings of the same file.
16467 (Vrecursive_load_depth_limit): Variable deleted.
16468 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
16469
16470 2001-11-24 Jason Rumney <jasonr@gnu.org>
16471
16472 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
16473 mouse position if either left or top is not specified.
16474
16475 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
16476 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
16477 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
16478 (my_create_tip_window): Assign tip_window.
16479 (x_create_tip_frame): Use same defaults as X.
16480 (compute_tip_xy): Remove unused variable. Use full screen width.
16481 (Fx_show_tip): Do not double height. Call ShowWindow directly.
16482
16483 * w32term.c (x_after_update_window_line): Doc fix.
16484 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
16485 frames.
16486 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
16487
16488 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
16489 for all Windowed systems.
16490
16491 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
16492
16493 * msdos.c (IT_clear_screen): If the frame's faces are not yet
16494 realized, use the initial screen colors to clear the screen.
16495
16496 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16497
16498 * textprop.c (Fset_text_properties): Remove unused variables
16499 `unchanged', `prev_changed', `s' and `len'.
16500
16501 * search.c (Freplace_match): Remove unused variable `inslen'.
16502
16503 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
16504
16505 2001-11-22 Jason Rumney <jasonr@gnu.org>
16506
16507 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
16508 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
16509 (my_create_tip_window): New function.
16510 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
16511 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
16512
16513 2001-11-20 Jason Rumney <jasonr@gnu.org>
16514
16515 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
16516 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
16517
16518 * w32fns.c (Vw32_system_coding_system): Remove.
16519 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
16520
16521 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
16522
16523 * fileio.c (Fwrite_region): Move choose_write_coding_system to
16524 after build_annotations.
16525
16526 * syntax.c (describe_syntax): Add dummy arg.
16527 (describe_syntax_1): Update call to describe_vector.
16528
16529 * category.c (describe_category): Add dummy arg.
16530 (describe_category_1): Update call to describe_vector.
16531
16532 * keymap.c (Fdescribe_vector): Add `describer' parameter.
16533 (describe_command, describe_translation): Add dummy second param.
16534 (describe_map): Call elt_describer with two arguments.
16535 (describe_vector_princ): Add `fun' parameter.
16536 Call it instead of the hardcoded `princ'.
16537 (describe_vector): Add arg `args'.
16538 Pass it as a new second argument to elt_describer.
16539
16540 * keymap.h (describe_vector): Update prototype.
16541
16542 * frame.c: Don't include keymap.h any more.
16543 (keys_of_frame): Remove.
16544
16545 * lisp.h (keys_of_frame): Remove declaration.
16546
16547 * emacs.c (main): Don't call `keys_of_frame' any more.
16548
16549 2001-11-14 Andreas Schwab <schwab@suse.de>
16550
16551 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
16552 if defined, 0 otherwise.
16553 (MAP_FAILED): Define if not defined and use it to test mmap failure.
16554 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
16555
16556 2001-11-19 Richard M. Stallman <rms@gnu.org>
16557
16558 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
16559
16560 2001-11-18 Jason Rumney <jasonr@gnu.org>
16561
16562 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
16563 (x_draw_bar_cursor): If the background color of the glyph under
16564 the cursor equals the frame's cursor color, use the glyph's
16565 foreground color for drawing the bar cursor.
16566 (x_after_update_window_line): Clear internal border in different
16567 circumstances.
16568 (w32_set_vertical_scroll_bar): Check for width and height > 0.
16569 (w32_draw_relief_rect): Correct relief by 1 pixel.
16570 (x_set_glyph_string_background_width):
16571 Set extends_to_end_of_line_p if the row's fill_line_p is set and
16572 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
16573 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
16574 if cursor_in_non_selected_windows is false.
16575 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
16576 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
16577 Notice if cursor gets overwritten.
16578 (notice_overwritten_cursor): Renamed from
16579 note_overwritten_text_cursor. Rewritten to take glyph widths
16580 into account, and to take X positions as parameters.
16581 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
16582 around call to x_draw_glyphs.
16583 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
16584 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
16585 color to use for image glyph reliefs.
16586 (x_draw_image_relief): Accept zero tool_bar_button_relief.
16587 (glyph_rect): Remove unused variable `area'.
16588
16589 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
16590 some items.
16591 (x_set_internal_border_width): Set frame garbaged when window
16592 doesn't exist yet.
16593 (Fx_create_frame): Accept zero tool_bar_button_relief.
16594 (x_clear_image_1, four_corners_best, image_background)
16595 (image_background_transparent): New functions.
16596 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
16597 (gs_format): Add `:background' entry.
16598 (lookup_image): Set IMG's background color if specified.
16599 (pbm_load, xbm_load_image, png_load): Set IMG's background field
16600 when appropriate.
16601 (x_clear_image_1): Reset `background_valid' and
16602 `background_transparent_valid' fields.
16603 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
16604 calculating it here. Set IMG's background_transparent field.
16605 (enum xpm_keyword_index): Add XPM_BACKGROUND.
16606 (enum png_keyword_index): Add PNG_BACKGROUND.
16607 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
16608 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
16609 (enum gif_keyword_index): Add GIF_BACKGROUND.
16610 (enum gs_keyword_index): Add GS_BACKGROUND.
16611 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
16612 Pre-calculate image background color where necessary.
16613 (x_create_x_image_and_pixmap, xbm_load, gs_load):
16614 Use display info's n_cbits entry for screen depth.
16615 (Fx_show_tip): Remove unused variables `buffer', `top',
16616 `left', `max_width' and `max_height'.
16617
16618 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
16619
16620 2001-11-18 Gerd Moellmann <gerd@gnu.org>
16621
16622 * puresize.h (BASE_PURESIZE): Increase to 750000.
16623
16624 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16625
16626 * frame.c (Fframe_live_p): Doc fix.
16627
16628 2001-11-18 Richard M. Stallman <rms@gnu.org>
16629
16630 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
16631 (message_dolog_marker3): New static variables hold three markers.
16632 (syms_of_xdisp): Initialize and staticpro them.
16633 (message_dolog): Use message_dolog_marker1..3 instead of
16634 allocating markers each time. Unchain them when done.
16635
16636 2001-11-17 Richard M. Stallman <rms@gnu.org>
16637
16638 * doc.c (Fsnarf_documentation): Doc fix.
16639
16640 2001-11-17 Andreas Schwab <schwab@suse.de>
16641
16642 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
16643
16644 2001-11-17 Richard M. Stallman <rms@gnu.org>
16645
16646 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
16647
16648 2001-11-17 Jason Rumney <jasonr@gnu.org>
16649
16650 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
16651
16652 2001-11-17 Gerd Moellmann <gerd@gnu.org>
16653
16654 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
16655 with invalid position.
16656
16657 2001-11-16 Richard M. Stallman <rms@gnu.org>
16658
16659 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
16660
16661 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
16662 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
16663 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
16664
16665 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
16666
16667 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
16668
16669 * fileio.c (build_annotations): Split off the tail.
16670 (build_annotations_2): New fun. Extracted from build_annotations.
16671 (Fwrite_region): Split the call to build_annotations into two
16672 calls to build_annotations and build_annotations_2.
16673
16674 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16675
16676 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
16677 clear_waiting_for_input with argument.
16678
16679 * xterm.h (x_update_cursor): Remove duplicated prototype.
16680
16681 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
16682
16683 * xterm.c (waiting_for_input): Remove unnecessary declaration.
16684
16685 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
16686
16687 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
16688
16689 * fileio.c (choose_write_coding_system): New fun, extracted
16690 from Fwrite_region.
16691 (Fwrite_region): Use it.
16692
16693 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
16694 (funcall_lambda, run_hook_with_args): Make static and add prototype.
16695 (ml_apply, find_handler_clause): Add prototype.
16696
16697 2001-11-16 Eli Zaretskii <eliz@gnu.org>
16698
16699 * config.in: Add #undef HAVE_COFF_H.
16700
16701 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
16702 Required for ISC 4.1.
16703
16704 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
16705
16706 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
16707 Andrew Wiseman <a.wiseman@btclick.com>.
16708
16709 2001-11-16 Kim F. Storm <storm@cua.dk>
16710
16711 The following changes are made to clean up the various internal
16712 references to the fringes to actually use the term `fringe' for
16713 them. Previously, they were called `flags areas', `bitmap areas',
16714 `left/right side of windows', or implicitly as `flags' or
16715 `bitmaps':
16716
16717 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
16718 Comments fixed. Use renamed symbols.
16719
16720 * dispnew.c: Comment fix. Use renamed symbols.
16721
16722 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
16723 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
16724 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
16725
16726 * msdos.c: Comment fix.
16727
16728 * w32fns.c: Use renamed symbols.
16729
16730 * w32term.c: Comment fixes. Use renamed symbols.
16731 (fringe_bitmap_type): Renamed from bitmap_type.
16732 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
16733 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
16734 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
16735
16736 * w32term.h: Comment fixes. Use renamed symbols.
16737 (fringes_extra): Renamed from flags_areas_extra.
16738 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
16739 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
16740 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
16741 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
16742 (FRAME_X_LEFT_FRINGE_WIDTH):
16743 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
16744 (FRAME_X_RIGHT_FRINGE_WIDTH):
16745 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
16746
16747 * widget.c: Use renamed symbols.
16748
16749 * window.c: Comment fixes. Use renamed symbols.
16750 (coordinates-in-window-p): Doc fix.
16751
16752 * xdisp.c: Comment fixes. Use renamed symbols.
16753
16754 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
16755
16756 * xfns.c: Use renamed symbols.
16757
16758 * xterm.c: Comment fixes. Use renamed symbols.
16759 (fringe_bitmap_type): Renamed from bitmap_type.
16760 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
16761 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
16762 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
16763
16764 * xterm.h: Comment fixes. Use renamed symbols.
16765 (fringes_extra): Renamed from flags_areas_extra.
16766 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
16767 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
16768 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
16769 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
16770 (FRAME_X_LEFT_FRINGE_WIDTH):
16771 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
16772 (FRAME_X_RIGHT_FRINGE_WIDTH):
16773 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
16774
16775 2001-11-15 Jason Rumney <jasonr@gnu.org>
16776
16777 * w32menu.c (add-menu-item): Make help_echo and radio buttons
16778 work for most menu items. From David Ponce
16779 <david.ponce@wanadoo.fr>.
16780
16781 2001-11-15 Gerd Moellmann <gerd@gnu.org>
16782
16783 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
16784 Some x_set_* function expect to be called even if old and new
16785 value are equal.
16786
16787 * xdisp.c (build_desired_tool_bar_string): Accept zero
16788 tool_bar_button_relief.
16789
16790 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
16791
16792 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
16793
16794 * xterm.c (x_draw_bar_cursor): If the background color of the
16795 glyph under the cursor equals the frame's cursor color, use
16796 the glyph's foreground color for drawing the bar cursor.
16797
16798 * dispnew.c (direct_output_forward_char): Fix character/byte
16799 position comparison.
16800
16801 2001-11-15 Miles Bader <miles@gnu.org>
16802
16803 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
16804 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
16805 Update arguments to find_field.
16806 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
16807 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
16808 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
16809 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
16810
16811 2001-11-14 Richard M. Stallman <rms@gnu.org>
16812
16813 * editfns.c (Fpropertize): Allow call with 1 arg.
16814
16815 * dispextern.h (image_background, image_background_transparent):
16816 Conditionalize on HAVE_X_WINDOWS.
16817
16818 2001-11-13 Richard M. Stallman <rms@gnu.org>
16819
16820 * print.c (Fprin1_to_string): Doc fix.
16821
16822 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
16823
16824 * floatfns.c (Fceiling, Ffloor): Doc fixes.
16825
16826 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
16827
16828 * fileio.c (Ffile_accessible_directory_p): Doc fix.
16829
16830 * eval.c (syms_of_eval): Doc fix.
16831
16832 * coding.c (syms_of_coding): Doc fix.
16833
16834 * doc.c (Fsnarf_documentation): Doc fix.
16835
16836 * dispnew.c (syms_of_display): Doc fix.
16837
16838 * category.c (Fget_unused_category): Doc fix.
16839
16840 * buffer.c (syms_of_buffer): Doc fixes.
16841
16842 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
16843
16844 * print.c (prin1, print): Doc fix.
16845
16846 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16847
16848 * fontset.h: Remove declarations of variables
16849 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
16850
16851 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
16852 `Vclip_large_size_font'.
16853
16854 2001-11-13 Jason Rumney <jasonr@gnu.org>
16855
16856 * w32fns.c: Doc fix.
16857
16858 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16859
16860 * xfaces.c (Fface_attributes_as_vector): Doc fix.
16861
16862 * fns.c: Doc fix.
16863
16864 * emacs.c: Doc fix.
16865
16866 * coding.c: Doc fix.
16867
16868 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
16869 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
16870 `new style' [w/`doc:' keyword].
16871
16872 2001-11-12 Richard M. Stallman <rms@gnu.org>
16873
16874 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
16875 LeaveNotify events. Only FocusIn and FocusOut do that now.
16876 (x_display_and_set_cursor): Do display hollow cursors in active
16877 minibuffer windows when they are not selected.
16878
16879 2001-11-12 Jason Rumney <jasonr@gnu.org>
16880
16881 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
16882 * w32term.c: Change doc-string comments to `new style'
16883 [w/`doc:' keyword]. Doc fixes.
16884
16885 * w32fns.c: Don't define max.
16886 (Fx_open_connection): Only execute once.
16887
16888 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16889
16890 * ccl.c: Change macros to use do-while block instead of if-else.
16891 Use braces to follow GNU Coding Standards.
16892
16893 2001-11-11 Richard M. Stallman <rms@gnu.org>
16894
16895 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
16896
16897 * lread.c (read_escape): Use end_of_file_error for reporting eof.
16898
16899 * insdel.c (replace_range): Use adjust_markers_for_replace
16900 instead of adjust_markers_for_delete and adjust_markers_for_insert.
16901
16902 * intervals.h (set_text_properties, set_text_properties_1): Declare.
16903
16904 * textprop.c (set_text_properties_1): New subroutine
16905 broken out of set_text_properties.
16906 (set_text_properties): Use set_text_properties_1.
16907
16908 * intervals.c (graft_intervals_into_buffer):
16909 Use set_text_properties_1 to clear out properties.
16910
16911 * search.c (Freplace_match): Use replace_range to insert
16912 and delete. Don't request property inheritance from
16913 surrounding text.
16914
16915 2001-11-10 Jason Rumney <jasonr@gnu.org>
16916
16917 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
16918 vertical fonts. Allow them if face name is explicitly specified.
16919 Do not give up if we find a font that cannot be converted to an xlfd.
16920
16921 2001-11-10 Gerd Moellmann <gerd@gnu.org>
16922
16923 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
16924 instead of malloc/free.
16925
16926 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16927
16928 * xfaces.c (merge_face_vectors): Use braces to follow GNU
16929 Coding Standards.
16930 (Finternal_set_lisp_face_attribute): Likewise.
16931
16932 * buffer.c (Fbury_buffer): Likewise.
16933
16934 * indent.c (current_column_1): Remove unused variable `prev_col'.
16935
16936 * coding.c (encode_coding): Use precomputed value of `src'.
16937 (encode_coding): Remove unused variable `src_end'.
16938 (code_convert_region): Remove unused variables `count'.
16939
16940 2001-11-07 Jason Rumney <jasonr@gnu.org>
16941
16942 * w32term.c (x_display_and_set_cursor): Do not move system caret
16943 if cursor_glyph is NULL.
16944
16945 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16946
16947 * keymap.c (access_keymap): Fix compilation error.
16948
16949 2001-11-07 Miles Bader <miles@gnu.org>
16950
16951 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
16952
16953 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16954
16955 * intervals.c (graft_intervals_into_buffer):
16956 Remove #ifdef'd-out code.
16957 (graft_intervals_into_buffer): Remove unused variable `middle'.
16958
16959 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
16960 code (eval-current-buffer).
16961 Change doc-string comments to `new style' [w/`doc:' keyword].
16962
16963 2001-11-06 Richard M. Stallman <rms@gnu.org>
16964
16965 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
16966
16967 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
16968
16969 * lread.c (read1): Fix behavior with nested backquoting.
16970
16971 * keyboard.c (make_lispy_event): Check integerness and fix
16972 Lisp_Object/int mixup.
16973
16974 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16975
16976 * fns.c (copy_hash_table): Remove unused variable `v'.
16977
16978 * fontset.c (fontset_font_pattern): Remove unused variable
16979 `family_registry'.
16980
16981 * indent.c (current_column_1): Remove unused variable `prev_col'.
16982
16983 2001-11-05 Richard M. Stallman <rms@gnu.org>
16984
16985 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
16986
16987 * buffer.c (Fkill_buffer): Don't delete auto save file
16988 if buffer is modified.
16989
16990 2001-11-05 Andrew Innes <andrewi@gnu.org>
16991
16992 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
16993 CHECK_NUMBER_CDR.
16994
16995 2001-11-05 Richard M. Stallman <rms@gnu.org>
16996
16997 * unexelf.c (unexec): Minor changes; clean up comments.
16998
16999 2001-11-05 Sam Steingold <sds@gnu.org>
17000
17001 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
17002
17003 2001-11-05 Andreas Schwab <schwab@suse.de>
17004
17005 * sound.c (sound_perror): Save errno from being clobbered.
17006
17007 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
17008
17009 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
17010 the program image directly.
17011
17012 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17013
17014 * buffer.h (Fbuffer_local_value): Add prototype.
17015
17016 2001-11-04 Richard M. Stallman <rms@gnu.org>
17017
17018 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
17019 and CHECK_BUFFER.
17020
17021 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
17022 (record_char): Likewise.
17023
17024 * keyboard.c (make_lispy_event): Don't insist a drag event must
17025 move to a different buffer position. Instead, check for moving at
17026 least double_click_fuzz.
17027
17028 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
17029
17030 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
17031
17032 * indent.c (current_column_1, Fmove_to_column): Separate the code
17033 for display-table glyphs from the code for buffer text, to fix
17034 bugs in the former.
17035
17036 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
17037
17038 * buffer.c (Fbuffer_local_value): New function.
17039 (syms_of_buffer): Defsubr it.
17040
17041 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
17042 value of `cursor-in-non-selected-windows'.
17043
17044 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
17045 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
17046 (syms_of_xdisp): Initialize it.
17047
17048 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17049
17050 * xfns.c (Fx_create_frame): Doc fix.
17051
17052 * coding.c: Change doc-string comments to `new style' [w/`doc:'
17053 keyword].
17054
17055 * eval.c (top_level_value, top_level_set): Remove commented and
17056 #ifdef'd-out code.
17057 (Fdefvar): Fix usage in doc-string.
17058
17059 2001-11-03 Richard M. Stallman <rms@gnu.org>
17060
17061 * xfns.c: Include unistd.h, if it exists.
17062
17063 * editfns.c: Move the include of ctype.h after unistd.h.
17064
17065 * gmalloc.c: Test BROKEN_PROTOTYPES.
17066
17067 2001-11-03 Ken Raeburn <raeburn@gnu.org>
17068
17069 * lisp.h (CHECK_STRING_CAR): New macro.
17070 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
17071 treating XCAR and XCDR as lvalues.
17072 (openp): Use CHECK_STRING_CAR.
17073 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
17074
17075 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
17076
17077 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
17078 (SIGMASKTYPE): Define.
17079
17080 * syssignal.h (sigunblock): Don't define if already defined.
17081
17082 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17083
17084 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
17085 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
17086 Fix typos in comments.
17087
17088 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
17089 and #ifdef'd-out code.
17090 Fix and reindent comments.
17091
17092 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
17093
17094 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
17095 argument `i' in macros.
17096
17097 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
17098 `i' in macros.
17099
17100 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
17101 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
17102 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
17103 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
17104 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
17105 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
17106 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
17107 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
17108 in macros.
17109
17110 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
17111 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
17112 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
17113 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
17114 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
17115 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
17116 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
17117 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
17118 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
17119 (remove unused second argument).
17120
17121 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
17122
17123 * syntax.c (describe_syntax): New wrapper.
17124 (Finternal_describe_syntax_value): Rename from describe_syntax.
17125 Don't insert space at front and \n at the end.
17126 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
17127
17128 * regex.c (re_wctype): Try to fix some warnings.
17129 (regcomp, regexec): Don't forget the __restrict.
17130
17131 2001-11-02 Richard M. Stallman <rms@gnu.org>
17132
17133 * textprop.c (Fget_char_property): Doc fix.
17134
17135 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17136
17137 * process.c (Fstart_process): Add usage to doc-string.
17138
17139 * data.c (Fsetq_default): Ditto.
17140
17141 * callint.c (Finteractive): Ditto.
17142
17143 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
17144
17145 * macros.c: Don't include keymap.h any more.
17146
17147 2001-11-01 Richard M. Stallman <rms@gnu.org>
17148
17149 * data.c (Fmake_local_variable): Doc fix.
17150
17151 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
17152 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
17153
17154 * keymap.c (Fdescribe_buffer_bindings): Print character property
17155 bindings along with or instead of the buffer local map.
17156 Make the overriding maps override what they should.
17157
17158 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17159
17160 * window.c (grow_mini_window): Fix typo in comment.
17161
17162 2001-11-01 Gerd Moellmann <gerd@gnu.org>
17163
17164 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
17165 (XTset_vertical_scroll_bar): Likewise.
17166
17167 * xfns.c (x_build_heuristic_mask): Use four_corners_best
17168 instead of IMAGE_BACKGROUND.
17169
17170 * xfns.c (four_corners_best): Reindent.
17171
17172 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
17173 Handle :box so that it is possible to specify sexprs.
17174
17175 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
17176
17177 * s/hpux11.h: New file.
17178
17179 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17180
17181 * emacs.c (USAGE1): Show command line option --no-window-system
17182 instead of --no-windows in usage.
17183 (standard_args): Rename --no-windows to --no-window-system.
17184 (bug_reporting_address): Follow Emacs coding conventions.
17185
17186 * eval.c (Fcommandp): Doc fix.
17187 Change doc-string comments to `new style' [w/`doc:' keyword].
17188
17189 * frame.c (Fframe_live_p): Doc fix.
17190
17191 * buffer.c (selective-display-ellipses): Doc fix.
17192
17193 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17194
17195 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
17196
17197 * xfaces.c (realize_x_face): If C is not a single-byte character,
17198 set the face's colors_copied_bitwise_p instead of the defaulted_p
17199 members which have a different meaning.
17200 (free_face_colors): Do nothing for a face whose colors have been
17201 copied bitwise.
17202
17203 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
17204
17205 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17206
17207 * marker.c, mocklisp.c: Change doc-string comments to `new style'
17208 [w/`doc:' keyword].
17209
17210 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17211
17212 * fns.c (require_unwind): Return Lisp_Object.
17213
17214 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17215
17216 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
17217 (last-input-char): Revert doc-string to be the same as the
17218 doc-string of `last-input-event'.
17219
17220 * xdisp.c: Fix typos in comments.
17221
17222 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17223
17224 * window.c (grow_mini_window): Handle case that the root
17225 window is already smaller than the nominal mininum height.
17226
17227 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
17228
17229 * emacs.c (main): Don't call keys_of_macros any more.
17230
17231 * lisp.h (keys_of_macros): Remove.
17232
17233 * macros.c (keys_of_macros): Remove.
17234
17235 * xfaces.c (Fface_attribute_relative_p): Declare args.
17236
17237 2001-10-30 Jason Rumney <jasonr@gnu.org>
17238
17239 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
17240 (enum_font_cb2): Ignore fonts with vertical orientation.
17241
17242 2001-10-30 Richard M. Stallman <rms@gnu.org>
17243
17244 * keyboard.c (Finput_pending_p): Doc fix.
17245
17246 2001-10-30 Gerd Moellmann <gerd@gnu.org>
17247
17248 * xterm.c (x_after_update_window_line): Don't run the code
17249 clearing in borders for rows whose visible height is 0.
17250
17251 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
17252 resized_p flag is set. If not set, use the much less flickering
17253 method previously used.
17254
17255 * dispnew.c (change_frame_size_1): Set frame's resized_p.
17256
17257 * frame.h (struct frame) <resized_p>: New member.
17258
17259 * lread.c (to_multibyte): Ensure read_buffer is at least twice
17260 as large as the number of bytes to convert.
17261
17262 * lread.c (to_multibyte): New function.
17263 (read1): Use it.
17264
17265 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
17266
17267 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
17268
17269 2001-10-30 Gerd Moellmann <gerd@gnu.org>
17270
17271 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
17272 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
17273 if the row's fill_line_p is set and drawing the last glyph with
17274 DRAW_IMAGE_{RAISED,SUNKEN}.
17275
17276 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
17277
17278 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
17279
17280 * xmenu.c: Include coding.h and charset.h.
17281 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
17282 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
17283 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
17284 Explicitly set wv->help. Use `TRUE' rather than `True'.
17285 (menu_help_callback): Use empty_string.
17286
17287 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
17288 (Fx_popup_dialog): Explicitly init f.
17289 (w32_menu_display_help): Use empty_string.
17290
17291 2001-10-29 Richard M. Stallman <rms@gnu.org>
17292
17293 * fns.c (Frequire): Detect recursive try to require the same
17294 feature 3 or more levels deep, and get error.
17295 (require_unwind): New subroutine.
17296 (require_nesting_list): New variable.
17297 (syms_of_fns): Init and staticpro it.
17298
17299 * print.c (print_object): Clarify indication of insertion type.
17300
17301 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
17302
17303 * coding.c (syms_of_coding): Document that locale-coding-system is
17304 used for decoding input on X.
17305
17306 * window.c (Fscroll_left, Fscroll_right): Doc fix.
17307
17308 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17309
17310 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
17311 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
17312
17313 2001-10-29 Gerd Moellmann <gerd@gnu.org>
17314
17315 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
17316 use NO_CURSOR if cursor_in_non_selected_windows is false.
17317
17318 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
17319 the slant attribute if FRAME is t.
17320
17321 * xfns.c (x_set_internal_border_width): Set frame garbaged
17322 when X window doesn't exist yet.
17323
17324 * xterm.c (x_after_update_window_line): Clear internal border
17325 in different circumstances.
17326
17327 * xterm.c (XTread_socket) <KeyPress>: Don't use
17328 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
17329 <handa@etl.go.jp>.
17330
17331 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
17332
17333 * m/ibms390.h: New file. From Adam Thornton
17334 <athornton@sinenomine.net>.
17335
17336 2001-10-28 Gerd Moellmann <gerd@gnu.org>
17337
17338 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
17339
17340 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
17341 a loop counter.
17342
17343 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17344
17345 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
17346
17347 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
17348 keyword].
17349 Fix typos in comments.
17350
17351 * emacs.c (bug_reporting_address): New function.
17352 Use it when displaying usage message.
17353
17354 * minibuf.c (read_minibuf): Remove unused external declaration of
17355 variable `Qread_only'.
17356
17357 * keymap.c (access_keymap): Remove unused variable `charset'.
17358
17359 2001-10-28 Miles Bader <miles@gnu.org>
17360
17361 * xfaces.c (merge_face_heights): Handle TO being relative as well.
17362 Remove #ifdef'd-out code.
17363 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
17364 (syms_of_xfaces): Initialize them.
17365
17366 2001-10-27 Jason Rumney <jasonr@gnu.org>
17367
17368 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
17369 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
17370 position using the system caret.
17371
17372 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
17373 (w32_system_caret_height, w32_system_caret_x)
17374 (w32_system_caret_y): New variables for tracking system caret.
17375 (w32_initialize): Initialize them.
17376 (x_display_and_set_cursor): Make system caret follow the active cursor.
17377
17378 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
17379 New messages types.
17380
17381 * w32term.c (note_mouse_highlight): Clear old help_echo.
17382
17383 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17384
17385 * xterm.c: Fix typo in a comment.
17386
17387 * emacs.c: Fix typos in comments.
17388 Remove unnecessary spaces.
17389 Change doc-string comments to `new style' [w/`doc:' keyword].
17390 (USAGE2): Fix typos in usage string.
17391
17392 * xterm.c: Fix typo in a comment.
17393
17394 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
17395 emacs.c.
17396
17397 2001-10-27 Gerd Moellmann <gerd@gnu.org>
17398
17399 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
17400 instead of 1/2 line_height in the heuristic for skipping
17401 farther backward when target_y was not reached.
17402
17403 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
17404 Display errno only if non-zero.
17405 (sound_warning): New function.
17406 (vox_configure): Don't treat failing to set sample rate as error.
17407 (various places): Improve error messages.
17408
17409 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
17410
17411 * fileio.c (Faccess_file): Run the argument filename through
17412 Fexpand_file_name, before using it.
17413
17414 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
17415 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
17416
17417 2001-10-26 Gerd Moellmann <gerd@gnu.org>
17418
17419 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
17420
17421 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
17422 Fix clearing in the case of scroll bars on the right.
17423
17424 2001-10-26 Juanma Barranquero <lektu@terra.es>
17425
17426 * w32gui.h (XImage): Add a dummy typedef.
17427
17428 2001-10-26 Gerd Moellmann <gerd@gnu.org>
17429
17430 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
17431
17432 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
17433
17434 * frame.c (Fframe_parameter): Fix last change.
17435
17436 * fileio.c: Revert last change (which removed old commented-out
17437 version of expand-file-name). Add a comment that explains why
17438 this old version should not be removed.
17439
17440 2001-10-25 Gerd Moellmann <gerd@gnu.org>
17441
17442 * frame.c (Fframe_parameter): Fix a bug whereby some
17443 ``artificial'' frame parameters, like `minibuffer' were not
17444 obtained by calling Fframe_parameters.
17445
17446 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
17447 cursor differently.
17448
17449 * xdisp.c (move_it_vertically_backward): Compute line height
17450 differently. Add heuristic to try to be more compatible to 20.x.
17451
17452 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
17453
17454 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
17455
17456 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
17457 boolean.
17458
17459 2001-10-25 Miles Bader <miles@gnu.org>
17460
17461 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
17462 BG is a pointer to a structure, not a structure.
17463 (gif_format, png_format): Add missing commas.
17464
17465 2001-10-24 Richard M. Stallman <rms@gnu.org>
17466
17467 * xfaces.c (Fface_attributes_as_vector): New function.
17468 (syms_of_xfaces): Defsubr it.
17469
17470 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17471
17472 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
17473 variable `area'.
17474
17475 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17476
17477 * search.c (scan_newline): Remove unused variable `selective_display'.
17478
17479 2001-10-25 Miles Bader <miles@gnu.org>
17480
17481 * dispextern.h (struct image): Add `background',
17482 `background_valid', and `background_transparent' fields.
17483 (image_background, image_background_transparent): New declarations.
17484 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
17485 * xfns.c (image_background, image_background_transparent)
17486 (four_corners_best): New functions.
17487 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
17488 (gs_format): Add `:background' entry.
17489 (lookup_image): Set IMG's background color if specified.
17490 (pbm_load, xbm_load_image, png_load): Set IMG's background field
17491 when appropriate.
17492 (x_clear_image_1): Reset `background_valid' and
17493 `background_transparent_valid' fields.
17494 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
17495 calculating it here. Set IMG's background_transparent field.
17496 (enum xpm_keyword_index): Add XPM_BACKGROUND.
17497 (enum png_keyword_index): Add PNG_BACKGROUND.
17498 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
17499 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
17500 (enum gif_keyword_index): Add GIF_BACKGROUND.
17501 (enum gs_keyword_index): Add GS_BACKGROUND.
17502 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
17503 Pre-calculate image background color where necessary.
17504 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
17505 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
17506 color to use for image glyph reliefs.
17507
17508 2001-10-24 Gerd Moellmann <gerd@gnu.org>
17509
17510 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
17511 in full-width rows.
17512
17513 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
17514 Fix clearing of area not covered by scroll bar.
17515
17516 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17517
17518 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
17519 and `real_start'.
17520 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
17521 (glyph_rect): Remove unused variable `area'.
17522
17523 2001-10-24 Gerd Moellmann <gerd@gnu.org>
17524
17525 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
17526
17527 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
17528 (row_containing_pos): Take additional argument DY.
17529 Treat rows ending in middle of char differently.
17530 (display_line): Handle tabs on window systems differently.
17531
17532 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
17533 with additional argument.
17534
17535 * dispextern.h (row_containing_pos): Adjust prototype.
17536
17537 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
17538 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
17539 (try_window_id, try_window_reusing_current_matrix)
17540 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
17541 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
17542
17543 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17544
17545 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
17546 gnuemacs).
17547 (HAVE_BOXES): Fix typo in comment.
17548 (push_menu_pane): Fix typo in comment.
17549
17550 * xdisp.c: (display_prop_string_p): Remove unused local declaration
17551 of `Qwhen'.
17552 (single_display_prop_string_p): Remove unused local declarations
17553 of `Qwhen' and `Qmargin'.
17554 (string_buffer_position): Remove unused variable `around'.
17555 (store_frame_title): Remove unused variable `width'.
17556
17557 * window.c: Don't define max.
17558 (coordinates_in_window): Remove unused variable `uy'.
17559
17560 * widget.c: Don't define max.
17561
17562 * process.c: Don't define max.
17563 (create_process): Remove unused variable `buffer'.
17564
17565 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17566
17567 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
17568
17569 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
17570
17571 * xfaces.c (Finternal_set_lisp_face_attribute)
17572 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
17573 frame is on a windowed display.
17574
17575 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17576
17577 * dispnew.c (sync_window_with_frame_matrix_rows):
17578 Fix handling of windows which aren't full-width, fix handling
17579 of marginal areas.
17580
17581 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
17582
17583 2001-10-23 Andreas Schwab <schwab@suse.de>
17584
17585 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
17586 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
17587
17588 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17589
17590 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
17591 REAL_END. Notice if cursor gets overwritten.
17592 (notice_overwritten_cursor): Take X positions as parameters.
17593 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
17594 around call to x_draw_glyphs.
17595
17596 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17597
17598 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
17599 instead of C) and usage.
17600
17601 * editfns.c (char-to-string): Fix argument names (use CHAR instead
17602 of C) and usage.
17603
17604 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
17605 `left', `max_width' and `max_height'.
17606
17607 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17608
17609 * xdisp.c (display_line): For a tab continued to the next line,
17610 set row's ends_in_middle_of_char_p.
17611
17612 2001-10-22 Gerd Moellmann <gerd@gnu.org>
17613
17614 * xdisp.c (display_line): Fix computation of continuation lines
17615 width for TABs.
17616
17617 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17618
17619 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
17620 `Qlaplace'.
17621
17622 * fileio.c: Remove unused code.
17623
17624 2001-10-22 Miles Bader <miles@gnu.org>
17625
17626 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
17627 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
17628 Remove `DOC_STRINGS_IN_COMMENTS' cases.
17629
17630 2001-10-21 Jason Rumney <jasonr@gnu.org>
17631
17632 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
17633
17634 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
17635
17636 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
17637 (Finsert_string): Avoid the multi-line string literals warning.
17638
17639 2001-10-22 Miles Bader <miles@gnu.org>
17640
17641 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
17642 (Fdocumentation): Don't use it.
17643 (syms_of_doc): Don't initialize it.
17644
17645 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
17646 * print.c (Fwith_output_to_temp_buffer): Likewise.
17647 * window.c (Fsave_window_excursion): Likewise.
17648 * editfns.c (Fsave_excursion, Fsave_current_buffer)
17649 (Fsave_restriction): Likewise.
17650 * eval.c (Frun_hooks, Frun_hook_with_args)
17651 (Frun_hook_with_args_until_failure)
17652 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
17653 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
17654 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
17655 (Funwind_protect, Fcondition_case): Likewise.
17656 * coding.c (Ffind_operation_coding_system): Likewise.
17657 * keyboard.c (Ftrack_mouse): Likewise.
17658
17659 2001-10-21 Miles Bader <miles@gnu.org>
17660
17661 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
17662 (Fmake_hash_table): Add usage: string to doc string.
17663 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
17664 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
17665 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
17666 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
17667 (Fml_prefix_argument_loop): Likewise.
17668
17669 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17670
17671 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
17672
17673 * sysdep.c (init_sys_modes): Change doc-string comments to `new
17674 style' [w/`doc:' keyword].
17675
17676 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
17677 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
17678 comments to `new style' [w/`doc:' keyword].
17679
17680 2001-10-21 Jason Rumney <jasonr@gnu.org>
17681
17682 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
17683
17684 * w32term.c (remember_mouse_glyph): New function.
17685 (w32_mouse_position): Use it.
17686 (note_mouse_movement): If the mouse moved off the glyph, remember
17687 its new position.
17688
17689 * w32term.h (struct w32_output): Correct spelling of x_compatible.
17690 (w32_display_info): Add mouse_face_overlay.
17691
17692 * w32term.c (notice_overwritten_cursor): Renamed from
17693 note_overwritten_text_cursor. Rewritten to take glyph widths into
17694 account.
17695 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
17696 (fast_find_string_pos): New function.
17697 (fast_find_position): Return the correct vpos. Add parameter
17698 STOP. In the final row, stop before glyphs having STOP as object.
17699 Don't consider glyphs that are not from a buffer.
17700 (fast_find_position) [0]: Add a presumably more correct version
17701 for after 21.1.
17702 (expose_window_tree, expose_frame): Don't compute intersections here.
17703 (expose_window): Do it here instead.
17704 (expose_window_tree, expose_window, expose_line): Return 1 when
17705 overwriting mouse-face.
17706 (expose_window): If W is the window currently being updated, mark
17707 the frame garbaged.
17708 (expose_frame): If mouse-face was overwritten, redo it.
17709 (x_use_underline_position_properties): New variable.
17710 (syms_of_xterm): DEFVAR_BOOL it.
17711 (x_draw_glyph_string): Add comment to use it in future.
17712 (x_draw_glyph_string): Restore clipping after drawing box.
17713 Fix a computation of the underline position.
17714 (w32_get_glyph_string_clip_rect): Minor cleanup.
17715 (x_fill_stretch_glyph_string): Remove an assertion.
17716 (x_produce_glyphs): Don't convert multibyte characters
17717 to unibyte characters in unibyte buffers.
17718 (cursor_in_mouse_face_p): New function.
17719 (x_draw_stretch_glyph_string): Use it to choose a different GC
17720 when drawing a cursor within highlighted text. Don't draw
17721 background again if it has already been drawn.
17722 (x_draw_glyph_string_box): Don't draw a full-width
17723 box just because the glyph row's full_width_p flag is set.
17724 (x_draw_glyphs): Fix computation of rightmost x for
17725 full-width rows.
17726 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
17727 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
17728 change bottom shadow accordingly. Some cleanup.
17729 (x_update_window_end): Handle overwritten mouse face
17730 also for tool bar windows.
17731 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
17732 DRAW is DRAW_IMAGE_RAISED.
17733 (clear_mouse_face): Return 1 if text with mouse face was
17734 actually redrawn. Make the function static.
17735 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
17736 optimize away highlighting if we pass over that same overlay again.
17737 (note_mouse_highlight): Call mouse_face_overlay_overlaps
17738 to detect a case where we have to highlight a different region
17739 despite not having left the currently highlighted region.
17740 Set mouse_face_overlay in the x_display_info. Avoid changing the
17741 mouse pointer shape when show_mouse_face has already done it, or
17742 there is no need. Handle mouse-face and help-echo in strings.
17743 (glyph_rect): New function.
17744 (w32_mouse_position): Use it to raise the threshold for mouse
17745 movement event generation.
17746 (w32_initialize_display_info): Initialize the x_display_info's
17747 mouse_face_overlay.
17748 (w32_set_vertical_scroll_bar): Don't clear a zero height
17749 or width area.
17750 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
17751 a widget to zero height.
17752
17753 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
17754 Protect unibyte strings created by replacing their multibyte
17755 equivalents in menu_items.
17756 (w32_menu_show): Don't overwrite an item's name with its key
17757 description in case the description is a multibyte string.
17758 (single_submenu): Some cleanup.
17759
17760 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
17761 (postprocess_image): New function.
17762 (lookup_image): Call it for all image types except PostScript.
17763 (x_kill_gs_process): Call postprocess_image.
17764 (tiff_error_handler, tiff_warning_handler): New functions.
17765 (tiff_load): Install them as handlers.
17766 (x_kill_gs_process): Recognize if someone has cleared the image
17767 cache under us.
17768 (valid_image_p): Protect better against invalid image
17769 specifications. Previous code could signal an error.
17770 (Fx_hide_tip, Fshow_tip): Doc fix.
17771 (Fv_max_tooltip_size): New variable.
17772 (syns_of_xfns): DEFVAR_LISP it.
17773 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
17774 window buffer to *tip* right after creating the frame. Set frame's
17775 window_width. Use a maximum tooltip size specified by
17776 Vx_max_tooltip_size, if that has valid contents.
17777 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
17778 Make sure the tooltip is completely visible.
17779 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
17780 (Fx_create_frame): Adjust the frame's height for presence
17781 of the tool bar before calling x_figure_window_size.
17782 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
17783 when the window gets smaller.
17784 (x_set_foreground_color): Set frame's cursor_pixel.
17785 (x_set_foreground_color, x_set_background_color): Cleaned up.
17786 (x_set_font): Handle case of x_new_fontset returning the same name
17787 as before, although there was a change in fontsets.
17788
17789 2001-10-21 Miles Bader <miles@gnu.org>
17790
17791 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
17792 (Flogxor): Add usage: string to doc string.
17793 * charset.c (Fstring): Likewise.
17794 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
17795 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
17796
17797 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17798
17799 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
17800
17801 * alloc.c: Reindent DEFUNs with doc: keywords.
17802
17803 * abbrev.c (Finsert_abbrev_table_description): Reindent.
17804
17805 * frame.c: Change doc-string comments to `new style' [w/`doc:'
17806 keyword].
17807
17808 See ChangeLog.9 for earlier changes.
17809
17810 ;; Local Variables:
17811 ;; coding: iso-2022-7bit
17812 ;; End:
17813
17814 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
17815 Copying and distribution of this file, with or without modification,
17816 are permitted provided the copyright notice and this notice are preserved.
17817
17818 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4