Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-17
[bpt/emacs.git] / src / ChangeLog
1 2005-01-06 Kim F. Storm <storm@cua.dk>
2
3 * fringe.c (fringe_faces): Change to Lisp_Object pointer.
4 (draw_fringe_bitmap_1): Lookup user defined fringe faces here.
5 (destroy_fringe_bitmap): Set fringe_faces element to nil.
6 (Fdefine_fringe_bitmap, init_fringe): Change allocation of
7 fringe_faces array and init elements to nil.
8 (Fset_fringe_bitmap_face): Set fringe_faces to face name instead of
9 non-persistent face id.
10 (mark_fringe_data): New function for GC.
11
12 * alloc.c (mark_fringe_data): Declare extern.
13 (Fgarbage_collect): Call mark_fringe_data.
14
15 * alloc.c (overrun_check_free): Invalidate freed memory if
16 XMALLOC_CLEAR_FREE_MEMORY is defined.
17
18 2005-01-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
19
20 * macfns.c: Include sys/param.h.
21 [TARGET_API_MAC_CARBON] (mac_nav_event_callback): New declaration
22 and function.
23 [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size
24 of filename string. Set event callback function when creating
25 dialog boxes. Add code conversions for filenames. Don't dispose
26 apple event descriptor record if failed to create it.
27
28 * macterm.c: Include sys/param.h.
29 [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for
30 kEventWindowUpdate.
31 (install_window_handler) [USE_CARBON_EVENTS]: Register it.
32 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Get FSRef instead
33 of FSSpec from apple event descriptor record.
34 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Use MAXPATHLEN for
35 size of filename string.
36 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise.
37 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a
38 file dialog is in action.
39 [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise. Reject
40 only when there are no filename items. Set background color
41 before (un)highlighting the window below the dragged items.
42 (XTread_socket) [!USE_CARBON_EVENTS]: Don't call do_window_update.
43
44 2005-01-05 Romain Francoise <romain@orebokech.com>
45
46 * term.c (encode_terminal_code): Fix buffer size computation.
47
48 2005-01-04 Richard M. Stallman <rms@gnu.org>
49
50 * xdisp.c (Fformat_mode_line): Doc fix.
51
52 2005-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
53
54 * alloc.c (refill_memory_reserve): Move.
55 (emacs_blocked_free, emacs_blocked_malloc, emacs_blocked_realloc)
56 (reset_malloc_hooks, uninterrupt_malloc) [SYNC_INPUT]: Don't define.
57
58 2005-01-03 Richard M. Stallman <rms@gnu.org>
59
60 * window.c (window_scroll_pixel_based): Don't correct preserve_y
61 for CURRENT_HEADER_LINE_HEIGHT when moving backwards.
62
63 2005-01-03 Jason Rumney <jasonr@gnu.org>
64
65 * w32bdf.c (w32_load_bdf_font): Set fontp->average_width and
66 fontp->space_width to FONT_WIDTH so they are valid.
67
68 * w32fns.c (w32_load_system_font): Set FONT_WIDTH to maximum, not
69 average width. Set fontp->average_width and fontp->space_width to
70 their appropriate values.
71
72 * w32term.c (x_new_font): Set FRAME_COLUMN_WIDTH to
73 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
74 fontp->space_width.
75
76 2005-01-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
77
78 * macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
79 (x_font_min_bounds, XLoadQueryFont): Use the correct font width
80 metrics for max and min bounds.
81 (x_load_font): Correctly calculate average font width metrics.
82
83 2005-01-02 Richard M. Stallman <rms@gnu.org>
84
85 * alloc.c (Fgarbage_collect): Don't truncate_undo_list on dead buffers.
86
87 2004-12-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
88
89 * xterm.c (handle_one_xevent): Clear area in expose event for GTK.
90
91 2004-12-31 Richard M. Stallman <rms@gnu.org>
92
93 * xdisp.c (setup_for_ellipsis, get_next_display_element):
94 Set it->ellipsis_p to 1 or 0.
95 (display_line): Record whether row ends in mid-ellipsis.
96 (set_cursor_from_row): If ends in ellipsis. find start of it.
97 (cursor_row_p): If PT's at the end of the ellipsis the row
98 ends within, don't display cursor on this row.
99
100 * dispextern.h (struct it): New element ellipsis_p.
101 (struct glyph_row): New element ends_in_ellipsis_p.
102
103 * xdisp.c (BUFFER_POS_REACHED_P): We haven't reached the specified
104 position if we're reading from something other than the buffer.
105
106 * window.c (window_scroll_pixel_based): Only look at
107 Vscroll_preserve_screen_position if the old PT can't be kept.
108 (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
109
110 2004-12-30 Kim F. Storm <storm@cua.dk>
111
112 * xdisp.c (get_line_height_property): New function extracted from
113 original calc_line_height_property.
114 (calc_line_height_property): Rework. Handle t and (nil . ratio).
115 (x_produce_glyphs): Use them to handle line-height and
116 line-spacing according to new height spec.
117 (Qtotal): Remove.
118 (syms_of_xdisp): Remove intern and staticpro for Qtotal.
119
120 2004-12-30 Kenichi Handa <handa@m17n.org>
121
122 * fileio.c (Finsert_file_contents): Don't use
123 current_buffer->buffer_file_coding_system even if REPLACE is
124 non-nil. Call Qafter_insert_file_set_coding with the second arg
125 VISIT.
126
127 * fontset.h (struct font_info): New members space_width and
128 average_width.
129
130 * frame.h (struct frame): New member space_width.
131 (FRAME_SPACE_WIDTH): New macro.
132
133 * xterm.h (struct x_display_info): New member Xatom_AVERAGE_WIDTH.
134
135 * xterm.c (x_new_font): Set FRAME_COLUMN_WIDTH to
136 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
137 fontp->space_width.
138 (x_load_font): Calculate fontp->space_width and
139 fontp->average_width.
140 (x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH.
141
142 * xdisp.c (x_produce_glyphs): Calculate tab width by
143 FRAME_SPACE_WIDTH, not FRAME_COLUMN_WIDTH.
144
145 2004-12-29 Sanghyuk Suh <han9kin@mac.com>
146
147 * macterm.c (SelectionRange): Add Xcode position apple event struct.
148 (do_ae_open_documents): Handle Xcode-style file position open
149 events.
150
151 2004-12-29 Luc Teirlinck <teirllm@auburn.edu>
152
153 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Correct typo.
154
155 2004-12-29 Richard M. Stallman <rms@gnu.org>
156
157 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Doc fix.
158
159 2004-12-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
160
161 * macfns.c (install_window_handler): Modify extern to return OSErr
162 value.
163 (mac_window): Handle return value of install_window_handler.
164
165 * macterm.c (reflect_byte): Remove function.
166 (mac_create_bitmap_from_bitmap_data): Don't call reflect_byte.
167 Lookup table instead.
168 (mac_do_font_lists): Simplify calculation of the longest
169 nonspecial string.
170 (init_mac_drag_n_drop): Remove function and declaration.
171 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
172 init_mac_drag_n_drop.
173 (mac_do_track_drag): New function and declaration.
174 (install_window_handler): Return OSErr value.
175 (install_window_handler) [TARGET_API_MAC_CARBON]: Register
176 handlers for tracking/receiving drag-and-drop items.
177 (do_ae_open_documents): Generate unibyte strings for filenames.
178 (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise. Reject
179 only non-filename items. Set event modifiers. Set return value.
180
181 2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
182
183 * coding.c (decode_coding): Fix previous change.
184
185 2004-12-28 Richard M. Stallman <rms@gnu.org>
186
187 * xdisp.c (back_to_previous_visible_line_start):
188 Don't call handle_display_prop.
189
190 2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
191
192 * coding.c (decode_coding_XXX, decode_composition_emacs_mule)
193 (decode_coding_emacs_mule, encode_coding_emacs_mule)
194 (decode_coding_iso2022, encode_designation_at_bol)
195 (encode_coding_iso2022, decode_coding_sjis_big5, decode_eol)
196 (decode_coding): Constify arguments and local vars.
197
198 2004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
199
200 * xmenu.c (popup_get_selection): Only pop down dialogs
201 on C-g and Escape.
202 (popup_get_selection): Remove parameter down_on_keypress.
203 (create_and_show_popup_menu, create_and_show_dialog): Remove
204 parameter down_on_keypress to popup_get_selection.
205
206 2004-12-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
207
208 * dispextern.h: Change HAVE_CARBON to MAC_OS.
209 (struct glyph_string): Likewise.
210
211 * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of
212 mac_initialize.
213
214 * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name):
215 Change TARGET_API_MAC_CARBON to HAVE_CARBON.
216
217 * fns.c (vector): Change MAC_OSX to MAC_OS.
218
219 * frame.c (x_set_frame_parameters, x_report_frame_params)
220 (x_set_fullscreen): Remove #ifndef HAVE_CARBON.
221 (x_set_border_width, Vdefault_frame_scroll_bars): Change
222 HAVE_CARBON to MAC_OS.
223
224 * image.c [MAC_OS]: Include sys/stat.h.
225 [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and
226 QuickTimeComponents.h.
227
228 * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern.
229 [!MAC_OSX] (select): Use mac_wait_next_event.
230 [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to
231 Vexec_suffixes.
232 [!MAC_OSX] (select, run_mac_command): Change `#ifdef
233 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
234 (mac_clear_font_name_table): Add extern.
235 (Fmac_clear_font_name_table): New defun.
236 (syms_of_mac): Defsubr it.
237 [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define.
238 [MAC_OSX] (select_and_poll_event): New function.
239 [MAC_OSX] (sys_select): Use it.
240 [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function.
241 [MAC_OSX && SELECT_USE_CFSOCKET]
242 (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines.
243 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and
244 RunLoop for simultaneously monitoring two kinds of inputs, window
245 events and process outputs, without periodically polling.
246
247 * macfns.c (mac_initialized): Remove extern.
248 (stricmp): Put in #if 0. All callers changed to use xstricmp in
249 xfaces.c.
250 (strnicmp): Decrement `n' at the end of each loop, not the
251 beginning.
252 (check_mac): Use the term "Mac native windows" instead of "Mac
253 OS".
254 (check_x_display_info, x_display_info_for_name): Sync with xfns.c.
255 (mac_get_rdb_resource): New function (from w32reg.c).
256 (x_get_string_resource): Use it.
257 (install_window_handler): Add extern.
258 (mac_window): New function.
259 (Fx_create_frame): Use it instead of make_mac_frame. Set
260 parameter for Qfullscreen. Call x_wm_set_size_hint.
261 (Fx_open_connection, Fx_close_connection): New defuns.
262 (syms_of_macfns): Defsubr them.
263 (x_create_tip_frame) [TARGET_API_MAC_CARBON]: Add
264 kWindowNoUpdatesAttribute to the window attribute.
265 (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow.
266 (x_create_tip_frame): Don't call ShowWindow.
267 (Fx_show_tip): Call ShowWindow.
268 (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if
269 TARGET_API_MAC_CARBON'.
270 (mac_frame_parm_handlers): Set handlers for Qfullscreen.
271 (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0.
272
273 * macgui.h [!MAC_OSX]: Don't include Controls.h. Include
274 Windows.h.
275 (Window): Typedef to WindowPtr and move outside `#if
276 TARGET_API_MAC_CARBON'.
277 (XSizeHints): New struct.
278
279 * macterm.c (x_update_begin, x_update_end)
280 [TARGET_API_MAC_CARBON]: Disable screen updates during update of a
281 frame.
282 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
283 [MAC_OS8]: Use XDrawImageString/XDrawImageString16.
284 (construct_mouse_click): Put in #if 0.
285 (x_check_fullscreen, x_check_fullscreen_move): Remove decls.
286 (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef
287 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
288 (activate_scroll_bars, deactivate_scroll_bars)
289 [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl.
290 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window
291 if the position is neither user-specified nor program-specified.
292 (x_free_frame_resources): Free size_hints.
293 (x_wm_set_size_hint): Allocate size_hints if needed. Set
294 size_hints.
295 (mac_clear_font_name_table): New function.
296 (mac_do_list_fonts): Initialize font_name_table if needed.
297 (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT
298 around mac_do_list_fonts.
299 (mac_unload_font): New function.
300 (x_load_font): Add BLOCK_INPUT around XLoadQueryFont.
301 (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations
302 and definitions with #if TARGET_API_MAC_CARBON.
303 [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl.
304 (install_window_handler): Add decl.
305 (do_window_update): Add BeginUpdate/EndUpdate for the tooltip
306 window. Use UpdateControls. Get the rectangle that should be
307 updated and restrict the target of expose_frame to it.
308 (do_grow_window): Set minimum height/width according to
309 size_hints.
310 (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow.
311 (do_zoom_window): Don't use x_set_window_size.
312 [USE_CARBON_EVENTS] (mac_handle_window_event): New function.
313 (install_window_handler): New function.
314 [!USE_CARBON_EVENTS] (mouse_region): New variable.
315 [!USE_CARBON_EVENTS] (mac_wait_next_event): New function.
316 (XTread_socket) [USE_CARBON_EVENTS]: Move call to
317 GetEventDispatcherTarget inside BLOCK_INPUT.
318 (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event.
319 Update mouse_region when mouse is moved.
320 (make_mac_frame): Remove.
321 (make_mac_terminal_frame): Put in #ifdef MAC_OS8. Initialize
322 mouse pointer shapes. Change values of f->left_pos and
323 f->top_pos. Don't use make_mac_frame. Use NewCWindow. Don't
324 call ShowWindow.
325 (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from
326 Vinvocation_name and Vsystem_name.
327 (mac_make_rdb): New function (from w32term.c).
328 (mac_term_init): Use it. Add BLOCK_INPUT. Error if display has
329 already been opened. Don't pass argument to
330 mac_initialize_display_info. Don't set dpyinfo->height/width.
331 Add entries to x_display_list and x_display_name_list.
332 (x_delete_display): New function.
333 (mac_initialize): Don't call mac_initialize_display_info.
334 (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide.
335
336 * macterm.h (check_mac): Add extern.
337 (struct mac_output): New member size_hints.
338 (FRAME_SIZE_HINTS): New macro.
339 (mac_unload_font): Add extern.
340
341 * xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
342
343 * xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
344
345 2004-12-27 Richard M. Stallman <rms@gnu.org>
346
347 * buffer.c (Fbuffer_disable_undo): Deleted (moved to simple.el).
348 (syms_of_buffer): Don't defsubr it.
349
350 * process.c (list_processes_1): Set undo_list instead
351 of calling Fbuffer_disable_undo.
352
353 * xdisp.c (single_display_spec_string_p): Renamed from
354 single_display_prop_string_p.
355 (single_display_spec_intangible_p): Renamed from
356 single_display_prop_intangible_p.
357 (handle_single_display_spec): Renamed from handle_single_display_prop.
358 Rewritten to be easier to understand.
359
360 Change in load-history format. Functions now get (defun . NAME),
361 and variables get just NAME.
362
363 * data.c (Fdefalias): Use (defun . FN_NAME) in LOADHIST_ATTACH.
364
365 * eval.c (Fdefun, Fdefmacro): Use (defun . FN_NAME) in LOADHIST_ATTACH.
366 (Fdefvaralias, Fdefvar, Fdefconst): Use just SYM in LOADHIST_ATTACH.
367 (Qdefvar): Var deleted.
368 (syms_of_eval): Don't initialze it.
369
370 * lread.c (syms_of_lread) <load-history>: Doc fix.
371
372 2004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
373
374 * xmenu.c (popup_get_selection): Pop down on C-g.
375 (set_frame_menubar): Install translations for Lucid/Motif/Lesstif that
376 pops down menu on C-g.
377 (xdialog_show): If dialog popped down and no button in the dialog was
378 pushed, call Fsignal to quit.
379 (xmenu_show): In no toolkit version, if menu returns NO_SELECT call
380 Fsignal to quit.
381
382 * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g.
383
384 * gtkutil.c (xg_initialize): Install bindings for C-g so that
385 dialogs and menus pop down.
386
387 2004-12-27 Kenichi Handa <handa@m17n.org>
388
389 * coding.c (code_convert_region): Fix calculation of `ratio'.
390
391 2004-12-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
392
393 * gtkutil.c (update_frame_tool_bar): Make the value of
394 tool-bar-button-margin control margins of images in tool bar.
395
396 * alloc.c (check_depth): New variable.
397 (overrun_check_malloc, overrun_check_realloc): Only add
398 overhead and write check pattern if check_depth is 1 (to handle
399 recursive calls). Increase/decrease check_depth in entry/exit.
400 (overrun_check_free): Only check for overhead if check_depth is 1.
401 Increase/decrease check_depth in entry/exit.
402
403 2004-12-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
404
405 * keyboard.c (input_available_signal): Call SIGNAL_THREAD_CHECK
406 before touching input_available_clear_time, to avoid accessing it
407 from multiple threads.
408
409 2004-12-23 Jason Rumney <jasonr@gnu.org>
410
411 * image.c (__WIN32__) [HAVE_NTGUI]: Define for correct behaviour
412 of JPEG library.
413
414 2004-12-22 Richard M. Stallman <rms@gnu.org>
415
416 * emacs.c (main): If batch mode, set Vundo_outer_limit to nil.
417
418 * lisp.h (Vundo_outer_limit): Fix decl.
419
420 * undo.c (Vundo_outer_limit): Replaces undo_outer_limit.
421 Uses changed.
422 (syms_of_undo): Initialize appropriately.
423 (truncate_undo_list): If it's nil, there's no limit.
424
425 2004-12-22 Kenichi Handa <handa@m17n.org>
426
427 * xselect.c (Fx_get_cut_buffer_internal): Return a unibyte string.
428
429 2004-12-21 Richard M. Stallman <rms@gnu.org>
430
431 * eval.c (unwind_to_catch): Clear immediate_quit.
432
433 * xdisp.c (get_next_display_element): Display codes 8a0 and 8ad
434 specially as `\ ' and `\-'.
435
436 * keyboard.c (kbd_buffer_store_event_hold):
437 In the code for while-no-input, handle immediate_quit.
438
439 * alloc.c (Fgarbage_collect): Update call to truncate_undo_list.
440 Call that at the very start.
441 (undo_limit, undo_strong_limit, undo_outer_limit): Moved to undo.c.
442 (syms_of_alloc): Don't define undo-limit,
443 undo-strong-limit and undo-outer-limit here.
444
445 * undo.c (truncate_undo_list): Return void.
446 Take just one argument, the buffer.
447 Make it current, and inhibit recursive GC.
448 Access and update the undo list directly; return void.
449 Refer to the undo...limit variables directly.
450 Test undo_outer_limit only after counting the whole current command.
451 When it's exceeded, call the function in undo-outer-limit-function.
452 (undo_limit, undo_strong_limit, undo_outer_limit): From alloc.c.
453 (Vundo_outer_limit_function): New variable.
454 (syms_of_undo): Define undo-limit, undo-strong-limit
455 and undo-outer-limit here, and undo-outer-limit-function.
456 Doc fixes.
457
458 * lisp.h (truncate_undo_list): Update decl.
459
460 2004-12-21 Piet van Oostrum <piet@cs.uu.nl>
461
462 * fileio.c (Fread_file_name): Delete duplicates in
463 file-name-history when history_delete_duplicates is true.
464
465 2004-12-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
466
467 * macterm.c (mac_do_list_fonts): Fix memory leak
468
469 2004-12-20 Richard M. Stallman <rms@gnu.org>
470
471 * regex.c (re_match_2_internal) <symend, wordend>:
472 Fix calls to UPDATE_SYNTAX_TABLE_FORWARD.
473
474 2004-12-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
475
476 * macterm.c (endif, x_font_name_to_mac_font_name): Use
477 maccentraleurroman instead of maccentraleuropean
478 (mac_c_string_match, mac_do_list_fonts): Speed up font search by
479 quickly finding a specific font without needing regexps.
480
481 2004-12-15 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
482
483 * syssignal.h: Declare main_thread.
484 (SIGNAL_THREAD_CHECK): New macro.
485
486 * keyboard.c (input_available_signal): Move thread checking code
487 to macro SIGNAL_THREAD_CHECK and call that macro.
488 (interrupt_signal): Call SIGNAL_THREAD_CHECK.
489
490 * alloc.c (uninterrupt_malloc): Move main_thread to emacs.c.
491
492 * emacs.c: Define main_thread.
493 (main): Initialize main_thread.
494 (handle_USR1_signal, handle_USR2_signal, fatal_error_signal)
495 (memory_warning_signal): Call SIGNAL_THREAD_CHECK.
496
497 * floatfns.c (float_error): Call SIGNAL_THREAD_CHECK.
498
499 * dispnew.c (window_change_signal): Call SIGNAL_THREAD_CHECK.
500
501 * sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK.
502
503 * process.c (send_process_trap, sigchld_handler): Call
504 SIGNAL_THREAD_CHECK.
505
506 * data.c (arith_error): Call SIGNAL_THREAD_CHECK.
507
508 * atimer.c (alarm_signal_handler): Call SIGNAL_THREAD_CHECK.
509
510 * xterm.c (xg_scroll_callback): Update XG_LAST_SB_DATA before
511 returning when xg_ignore_gtk_scrollbar is true.
512
513 2004-12-14 Kim F. Storm <storm@cua.dk>
514
515 * keyboard.c (read_char): Save and restore echo_string when
516 handling input method.
517
518 2004-12-13 Richard M. Stallman <rms@gnu.org>
519
520 * eval.c (syms_of_eval) <quit-flag>: Doc fix.
521
522 * keyboard.c (Vthrow_on_input): New variable.
523 (syms_of_keyboard): Defvar and initialize it.
524 (kbd_buffer_store_event_hold): Handle Vthrow_on_input.
525
526 * lisp.h (QUIT): Check for Vthrow_on_input.
527 (Vthrow_on_input): Declare it.
528
529 2004-12-13 Kim F. Storm <storm@cua.dk>
530
531 * xdisp.c (set_iterator_to_next): Reset stop_charpos after display
532 vector.
533
534 2004-12-12 Richard M. Stallman <rms@gnu.org>
535
536 * indent.c (Fvertical_motion): Call move_it_by_lines even if LINES = 0.
537
538 * minibuf.c (Fall_completions): Add var `zero' and use it in loop.
539 (Ftry_completion): Really use outer `zero'; eliminate inner one.
540
541 2004-12-12 Kenichi Handa <handa@m17n.org>
542
543 * term.c (encode_terminal_code): Fix previous change.
544
545 2004-12-11 Stefan Monnier <monnier@iro.umontreal.ca>
546
547 * keyboard.c (handle_async_input): Remove pthread mutex handling.
548 (input_available_signal): Move pthread thingy to !SYNC_INPUT branch.
549
550 * syntax.c (Fforward_word): Avoid non-idempotent side-effects
551 in macro arguments.
552
553 * minibuf.c (Ftry_completion, Fall_completions): Don't use
554 XFASTINT blindly.
555
556 * emacs.c (main, Fdump_emacs): Don't touch malloc hooks if SYNC_INPUT.
557
558 2004-12-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
559
560 * w32term.c (x_calc_absolute_position): Remove calculation of
561 difference between inner and outer window. Don't subtract difference
562 for left and top calculations.
563
564 * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
565 for left and top calculations. Remove call to x_real_positions.
566 [Bug report by Drew Adams in November]
567 (x_check_expected_move): Do not set change_gravity to 1 when calling
568 x_set_offset.
569
570 2004-12-08 Richard M. Stallman <rms@gnu.org>
571
572 * xdisp.c (get_next_display_element): Use `escape-glyph' for
573 control chars and escaped octal codes.
574 (Qescape_glyph): New variable.
575 (syms_of_xdisp): Initialize it.
576 (escape_glyph_face): New variable.
577 (redisplay_window): Initialize it.
578
579 2004-12-07 Paul Eggert <eggert@cs.ucla.edu>
580
581 * image.c (our_fill_input_buffer, jpeg_load, CHECK_LIB_AVAILABLE)
582 (init_image): Use 1 rather than TRUE. TRUE's not always defined.
583
584 2004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
585
586 * emacs.c (Fdump_emacs): Add ! defined (SYSTEM_MALLOC) around
587 reset_malloc_hooks.
588
589 * keyboard.c (handle_async_input, input_available_signal):
590 Add ! defined (SYSTEM_MALLOC) around thread code.
591
592 * alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC.
593
594 2004-12-07 Stefan <monnier@iro.umontreal.ca>
595
596 * eval.c (init_eval_once): Increase max_specpdl_size to 1000.
597
598 * config.in: Regenerate.
599
600 2004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
601
602 * xmenu.c (Fx_popup_menu): Correct documentation about position.
603 (xmenu_show): Do not call XTranslateCoordinates. Adjust position
604 if not given by a mouse click to correspond with x-popup-menu
605 documentation.
606
607 * config.in: Regenerate.
608
609 * gtkutil.c: Include signal.h and syssignal.h.
610 (xg_get_file_name): Block and unblock __SIGRTMIN if defined.
611
612 * alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h,
613 new variables main_thread and alloc_mutex,
614 define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect
615 emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread.
616 If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same as
617 (UN)BLOCK_INPUT.
618 (emacs_blocked_free, emacs_blocked_malloc)
619 (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC.
620 (uninterrupt_malloc): Initialize main_thread and alloc_mutex.
621 (reset_malloc_hooks): New function.
622
623 * lisp.h: Declare reset_malloc_hooks.
624
625 * emacs.c (Fdump_emacs): Call reset_malloc_hooks.
626
627 * keyboard.c: Conditionally include pthread.h
628 (handle_async_input, input_available_signalt): If not in the main
629 thread, block signal, send signal to main thread and return.
630
631 * gtkutil.c (xg_get_file_with_chooser): Handle local files only.
632 Set current folder in file chooser if default_filename is a directory.
633
634 2004-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
635
636 * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end.
637 Remove redundant correctness checks.
638 (regex_compile): Fix up error codes for \{..\} expressions.
639
640 2004-12-05 Richard M. Stallman <rms@gnu.org>
641
642 * regex.c (regex_compile): Fix end-of-pattern case for space.
643
644 2004-12-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
645
646 * macterm.h (cfstring_create_with_utf8_cstring): Add prototype.
647 * mac.c (cfstring_create_with_utf8_cstring): Add to prevent
648 crashes with invalid characters.
649 * macmenu.c (add_menu_item): Use it.
650 * image.c (image_load_quartz2d): Likewise.
651 * macfns.c (x_set_name, x_set_title): Likewise.
652 (Fx_file_dialog): Likewise. Use constant CFRefs instead of
653 creating them each time for labels.
654
655 2004-12-02 Richard M. Stallman <rms@gnu.org>
656
657 * config.in (RE_TRANSLATE_P): If make_number is not a macro,
658 don't use it here.
659
660 * eval.c (Fcalled_interactively_p): Don't check INTERACTIVE.
661 (interactive_p): Skip Scalled_interactively_p frames
662 like Sinteractive_p frames.
663 (unwind_to_catch): Clear handling_signal.
664
665 * data.c (Fmake_variable_buffer_local): Doc fix.
666 (Fmake_local_variable): Doc fix.
667
668 * insdel.c (insert_from_string_before_markers)
669 (insert_from_string): Don't modify buffer on empty insertion.
670
671 * window.c (Fget_lru_window, Fget_largest_window): Doc fixes.
672
673 2004-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
674
675 * macmenu.c (add_menu_item): Fallback on MacRoman if encoding
676 menu text as UTF8 fails.
677
678 2004-12-01 Kim F. Storm <storm@cua.dk>
679
680 * alloc.c: Add commentary for last change.
681 (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): New macros to handle
682 sizeof(size_t) != 4.
683 (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
684 Use them. Also clear header and trailer of freed memory.
685 (GC_STRING_OVERRUN_COOKIE_SIZE): Rename from GC_STRING_EXTRA.
686 (string_overrun_cookie): Rename from string_overrun_pattern.
687 (GC_STRING_EXTRA): Define from GC_STRING_OVERRUN_COOKIE_SIZE.
688
689 2004-12-01 Andreas Schwab <schwab@suse.de>
690
691 * lisp.h: Declare string_to_multibyte.
692
693 2004-12-01 Kenichi Handa <handa@m17n.org>
694
695 * w32console.c (w32con_write_glyphs): Decide coding here.
696 Adjusted for the change of encode_terminal_code.
697
698 * term.c (encode_terminal_code): Don't make it "static".
699
700 2004-11-30 Kenichi Handa <handa@m17n.org>
701
702 * term.c (encode_terminal_buf, encode_terminal_bufsize): New variables.
703 (encode_terminal_code): Argument changed. Encode all
704 characters at once, and return a pointer to the result of encoding.
705 (write_glyphs): Decide coding here. Adjusted for the above change.
706 (insert_glyphs): Likewise.
707 (term_init): Initialize encode_terminal_bufsize to 0.
708
709 * coding.c (Vcode_conversion_workbuf_name): New variable.
710 (syms_of_coding): Initialize and staticpro it.
711 (set_conversion_work_buffer): New function.
712 (run_pre_post_conversion_on_str): Use it.
713 (run_pre_write_conversin_on_c_str): New function.
714
715 * coding.h (run_pre_write_conversin_on_c_str): Extern it.
716
717 2004-11-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
718
719 * keyboard.c: Don't undef SIGIO
720 * s/darwin.h (NO_SOCK_SIGIO): Define NO_SOCK_SIGIO on carbon
721 * Makefile.in (mac.o): Depend on blockinput.h and atimer.h.
722 (macfns.o): Don't depend on ccl.h.
723 * macfns.c (mac_frame_parm_handlers): Set handlers for
724 Qleft_fringe and Qright_fringe.
725 * macterm.c (mac_fill_rectangle_to_pixmap)
726 (mac_draw_rectangle_to_pixmap, mac_copy_area_to_pixmap)
727 (mac_copy_area_with_mask_to_pixmap, x_draw_image_foreground_1):
728 Put in #if 0.
729 (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use ScrollWindowRect.
730 (x_flush) [TARGET_API_MAC_CARBON]: Don't traverse frames.
731 (XFlush) [TARGET_API_MAC_CARBON]: Define to an empty replacement.
732 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
733 [!MAC_OS8]: Added ifdef'd out code for os8. Don't use
734 XDrawImageString. Always draw background and foreground separately.
735 (x_draw_image_foreground): Use clipping instead of computing the
736 intersection rectangle.
737 (x_draw_image_glyph_string): Don't draw an image with mask to a
738 pixmap.
739 (x_redisplay_interface): Set flush_display_optional member to 0.
740 (XTread_socket): Correctly reset the TEConverter
741 object.
742
743 2004-11-30 Kim F. Storm <storm@cua.dk>
744
745 * lisp.h: New defines to enable buffer overrun checking.
746 (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST)
747 (XMALLOC_OVERRUN_CHECK, GC_CHECK_CONS_LIST): Add.
748
749 * alloc.c: Add more checks for buffer overruns.
750 (XMALLOC_OVERRUN_CHECK_SIZE, xmalloc_overrun_check_header)
751 xmalloc_overrun_check_trailer, overrun_check_malloc)
752 overrun_check_realloc, overrun_check_free): Add.
753 (GC_STRING_EXTRA, string_overrun_pattern): Add.
754 (check_sblock, allocate_string_data, compact_small_strings):
755 Set and check string_overrun_pattern if GC_CHECK_STRING_OVERRUN.
756 (check_cons_list): Condition on GC_CHECK_CONS_LIST.
757 (check_string_free_list): Add.
758 (allocate_string, sweep_strings): Call check_string_free_list.
759
760 * emacs.c (malloc_initialize_hook): Don't free malloc_state_ptr if
761 XMALLOC_OVERRUN_CHECK to avoid crash during load.
762
763 2004-11-29 Kim F. Storm <storm@cua.dk>
764
765 * fns.c (concat): Use SAFE_ALLOCA.
766
767 2004-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
768
769 * sysdep.c (emacs_write): Don't use QUIT.
770
771 2004-11-29 Kenichi Handa <handa@m17n.org>
772
773 * buffer.c (init_buffer): Set current_buffer->directory to a
774 multibyte string made by string_to_multibyte.
775
776 * emacs.c (init_cmdargs): Set unibyte strings in Vcommand_line_args.
777
778 2004-11-27 Andreas Schwab <schwab@suse.de>
779
780 * alloc.c (mark_stack): Call GC_MARK_SECONDARY_STACK if defined.
781
782 * s/gnu-linux.h: Enable no-op gcpros on ia64.
783 (GC_MARK_SECONDARY_STACK) [__ia64__]: Define.
784
785 * filelock.c (lock_file_1): Call get_boot_time early.
786 Increase buffer size.
787
788 2004-11-27 Eli Zaretskii <eliz@gnu.org>
789
790 * lisp.h (DECL_ALIGN): Define non-trivially only if NO_DECL_ALIGN
791 is not defined.
792
793 2004-11-27 Kim F. Storm <storm@cua.dk>
794
795 * search.c (syms_of_search) <search-spaces-regexp>: Move 'doc:'
796 marker out of doc string.
797
798 2004-11-26 Stefan Monnier <monnier@iro.umontreal.ca>
799
800 * s/darwin.h (POSIX_SIGNALS): Undo the removal of 2002-08-25,
801 which was not mentioned in the log.
802
803 2004-11-26 Kim F. Storm <storm@cua.dk>
804
805 * fringe.c (update_window_fringes): Prefer truncation bitmaps over
806 angle bitmaps at top/bottom line.
807
808 * xdisp.c: Undo recent changes for restoring saved_face_id. Instead,
809 set it when it->method is set to next_element_from_display_vector.
810 (setup_for_ellipsis): Add LEN argument. Callers changed.
811 Set it->saved_face_id.
812 (get_next_display_element): Use loop instead of recursion.
813 Set it->saved_face_id. Combine duplicate code for ctr chars.
814 (next_element_from_display_vector): Do not set it->saved_face_id.
815 (next_element_from_ellipsis): Use setup_for_ellipsis.
816
817 2004-11-26 Eli Zaretskii <eliz@gnu.org>
818
819 * eval.c (Fdefvar): Declare pdl from last change as `volatile' to
820 prevent compiler warnings.
821
822 2004-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
823
824 * keyboard.c (command_loop_1): Print a message describing the key
825 the user just pressed when this key has no binding.
826
827 * sysdep.c (sys_signal): Don't use SA_RESTART if SYNC_INPUT is set.
828 (emacs_open, emacs_read, emacs_write): Check QUIT when interrupted.
829
830 * lread.c (readchar): Check QUIT when `getc' is interrupted.
831
832 2004-11-24 Richard M. Stallman <rms@gnu.org>
833
834 * coding.c (run_pre_post_conversion_on_str): Bind Qinhibit_read_only.
835
836 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>: Doc fix.
837
838 2004-11-24 Kim F. Storm <storm@cua.dk>
839
840 * xdisp.c (move_it_in_display_line_to, display_line):
841 Restore saved_face_id also when truncate-lines or hscrolled.
842
843 2004-11-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
844
845 * gtkutil.c (xg_get_file_name): Rename use-old-gtk-file-dialog to
846 x-use-old-gtk-file-dialog.
847
848 * xfns.c: Define x_use_old_gtk_file_dialog.
849 (syms_of_xfns): Rename use-old-gtk-file-dialog to x-... Move it
850 outside ifdef USE_GTK.
851
852 2004-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
853
854 * coding.h (ENCODE_FILE, DECODE_FILE, ENCODE_SYSTEM, DECODE_SYSTEM):
855 Don't use XFASTINT blindly.
856
857 * config.in (RE_TRANSLATE_P): Don't use XFASTINT blindly.
858
859 * indent.c (skip_invisible): Avoid non-idempotent side-effects
860 in macro arguments.
861
862 * keymap.c (Flookup_key): Check INTEGERP before XINT.
863
864 * lread.c (oblookup): Don't use XFASTINT blindly.
865
866 * window.c (Fset_window_scroll_bars): Don't use XINT if it isn't int.
867 (decode_next_window_args, window_loop): Don't use XFASTINT blindly.
868
869 2004-11-23 Kim F. Storm <storm@cua.dk>
870
871 * dispextern.h (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P)
872 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Not if dpvec_index is zero.
873
874 * xfaces.c (lookup_named_face): Add signal_p arg. Return -1 if
875 signal_p is zero and face name is unknown.
876 (Fx_list_fonts): Don't signal error in lookup_named_face.
877 (Fface_font): Signal error in lookup_named_face.
878 (ascii_face_of_lisp_face): Likewise.
879
880 * dispextern.h (lookup_named_face): Fix prototype.
881
882 * xdisp.c (handle_single_display_prop): Don't signal error in
883 lookup_named_face for unknown fringe face name.
884 (highlight_trailing_whitespace): Don't signal error in
885 lookup_named_face if trailing-whitespace face unknown.
886 (calc_line_height_property): Don't signal error in
887 lookup_named_face if specified face name is unknown.
888
889 * fringe.c (update_window_fringes): Show top row indicator if
890 window has header-line. Don't show arrow at bob and eob
891 if the boundary indicators are not used.
892 (Fset_fringe_bitmap_face): Signal error in lookup_named_face.
893
894 * window.c (set_window_buffer): Clear display_error_modiff.
895
896 2004-11-22 Kim F. Storm <storm@cua.dk>
897
898 * fringe.c (update_window_fringes): Provide sensible fall-back
899 value for non-nil indicate-buffer-boundaries setting.
900
901 2004-11-22 Markus Rost <rost@ias.edu>
902
903 * minibuf.c (Fminibuffer_complete_and_exit): Fix previous change.
904
905 2004-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
906
907 * eval.c (Fdefvar): Warn when var is let-bound but globally void.
908
909 2004-11-21 Kim F. Storm <storm@cua.dk>
910
911 * xdisp.c (erase_phys_cursor): Clear hollow cursor inside TEXT_AREA.
912
913 * xterm.c (x_clip_to_row): Add area arg. Callers changed.
914 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
915
916 * w32term.c (w32_clip_to_row): Add area arg. Callers changed.
917 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
918
919 * macterm.c (x_clip_to_row): Add area arg. Callers changed.
920 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
921
922 * xdisp.c (move_it_in_display_line_to, display_line):
923 Restore saved_face_id if overflow-newline-into-fringe is enabled and
924 line is continued before or in middle of element from display vector.
925
926 * indent.c (Fvertical_motion): Fix last change. Use another
927 method to detect if iterator moved too far ahead after reseat.
928
929 * xdisp.c (IT_EXPAND_MATRIX_WIDTH): New macro. Do not
930 expand matrix width for overflow in zero-width area.
931 (append_glyph, append_composite_glyph, produce_image_glyph)
932 (append_stretch_glyph): Use it to avoid loop in redisplay.
933 (note_mode_line_or_margin_highlight): Don't let help-echo from
934 string override help-echo from image map.
935
936 2004-11-20 Luc Teirlinck <teirllm@auburn.edu>
937
938 * fns.c (Fyes_or_no_p): Call Fread_from_minibuffer with extra argument.
939 * callint.c (Fcall_interactively): Ditto.
940
941 2004-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
942
943 * minibuf.c (Fminibuffer_complete_and_exit):
944 Fixup the case of the completed value, for case-indep completion.
945
946 2004-11-20 Richard M. Stallman <rms@gnu.org>
947
948 * lisp.h (Fread_from_minibuffer): Add arg in decl.
949
950 * minibuf.c (read_minibuf): New arg KEEP_ALL. Callers changed.
951 (Fread_from_minibuffer): New arg KEEP_ALL. Callers changed.
952
953 * search.c (Vsearch_spaces_regexp):
954 Rename from Vsearch_whitespace_regexp. All uses changed.
955
956 2004-11-20 Thien-Thi Nguyen <ttn@gnu.org>
957
958 * eval.c (init_eval_once): Increase `max_specpdl_size' to 650.
959
960 2004-11-19 Richard M. Stallman <rms@gnu.org>
961
962 * search.c (Vsearch_whitespace_regexp): New variable.
963 (syms_of_search): Defvar it.
964 (compile_pattern_1): Call re_set_whitespace_regexp with it.
965 (search_buffer): No regexp is trivial if Vsearch_whitespace_regexp
966 is non-nil.
967 (struct regexp_cache): New element whitespace_regexp.
968 (syms_of_search): Initialize whitespace_regexp elements.
969 (compile_pattern): Compare whitespace_regexp elements.
970 (compile_pattern_1): Set whitespace_regexp elements.
971
972 * regex.c (regex_compile): Substitute whitespace_regexp
973 for spaces, if it is nonzero.
974 (whitespace_regexp): New variable.
975 (re_set_whitespace_regexp): New function.
976
977 2004-11-19 Kim F. Storm <storm@cua.dk>
978
979 * indent.c (Fvertical_motion): Fix last change.
980
981 2004-11-18 Kim F. Storm <storm@cua.dk>
982
983 * indent.c (Fvertical_motion): Undo 2004-11-16 change.
984 Instead, move back again if reseating moves too far ahead.
985
986 2004-11-17 Luc Teirlinck <teirllm@auburn.edu>
987
988 * xdisp.c (message3): Call clear_message.
989
990 2004-11-17 Kim F. Storm <storm@cua.dk>
991
992 * xdisp.c (erase_phys_cursor): Adjust cursor row visible height.
993
994 2004-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
995
996 * gtkutil.c (xg_get_file_name): Typo in HAVE_GTK_FILE_SELECTION_NEW.
997
998 * xmenu.c (x_menu_in_use): Remove.
999 (x_menu_set_in_use): Also set popup_activated_flag.
1000
1001 * xfns.c (Fx_file_dialog): Call popup_activated instead of
1002 x_menu_in_use. Call x_menu_set_in_use in Motif version also.
1003
1004 * xterm.h: (x_menu_in_use): Remove.
1005
1006 2004-11-16 Richard M. Stallman <rms@gnu.org>
1007
1008 * keymap.c (Fmap_keymap): New arg SORT-FIRST.
1009 Use map-keymap-internal to implement that.
1010
1011 * indent.c (Fvertical_motion): In batch mode, use vmotion directly.
1012
1013 2004-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
1014
1015 * xdisp.c (get_glyph_string_clip_rect, init_glyph_string): Check it's
1016 a window before using XWINDOW.
1017
1018 * window.c (make_window, Fselect_window, make_dummy_parent)
1019 (save_window_save):
1020 * frame.c (make_frame):
1021 * fns.c (concat): Avoid side-effects inside XSETFASTINT's arguments.
1022
1023 * lisp.h (NILP): Use EQ rather than XFASTINT.
1024
1025 2004-11-16 Kim F. Storm <storm@cua.dk>
1026
1027 * fringe.c (Fdefine_fringe_bitmap): Always set 'h'. Simplify.
1028
1029 * indent.c (Fvertical_motion): Fix last change. Only reseat when
1030 moving backwards.
1031
1032 2004-11-16 Luc Teirlinck <teirllm@auburn.edu>
1033
1034 * dispextern.h: Extern reseat_at_previous_visible_line_start.
1035
1036 2004-11-16 Kenichi Handa <handa@m17n.org>
1037
1038 * xdisp.c (display_mode_element): Fix previous change (calculate
1039 end position of substring to display correctly).
1040
1041 2004-11-16 Kim F. Storm <storm@cua.dk>
1042
1043 * keyboard.c (Fposn_at_point): Remove extra */ after doc string.
1044 Reported by Andrew M. Scott.
1045
1046 2004-11-15 Kim F. Storm <storm@cua.dk>
1047
1048 * fns.c (Fsafe_plist_get): New defun.
1049 (syms_of_fns): Defsubr it.
1050
1051 * lisp.h (Fsafe_plist_get): Add EXFUN.
1052
1053 * xdisp.c (store_mode_line_string, produce_stretch_glyph):
1054 Use Fsafe_plist_get.
1055 (note_mode_line_or_margin_highlight, note_mouse_highlight):
1056 Fix image map element parsing. Use Fsafe_plist_get.
1057
1058 2004-11-15 Richard M. Stallman <rms@gnu.org>
1059
1060 * xdisp.c (get_next_display_element): Fix previous change.
1061
1062 2004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1063
1064 * window.c (shrink_windows): Handle special case of one window left
1065 when trying to shrink the final reminder. Grow windows if
1066 total_removed is less than total_shrink.
1067
1068 * xmenu.c (pop_down_menu): Remove global variable current_menu,
1069 extract pointer from arg with XSAVE_VALUE.
1070 (create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
1071 Construct arg to record_unwind_protect with make_save_value.
1072
1073 2004-11-13 Richard M. Stallman <rms@gnu.org>
1074
1075 * xdisp.c (reseat_at_previous_visible_line_start): No longer static.
1076 (get_next_display_element): Fix previous change to apply only to \n.
1077
1078 * indent.c (Fvertical_motion): Scan to PT from start of line to
1079 make iterator consistent.
1080
1081 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
1082
1083 2004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1084
1085 * gtkutil.c (pop_down_file_dialog): Add BLOCK_INPUT.
1086
1087 * xfns.c (Fx_file_dialog): Call x_menu_in_use and x_menu_set_in_use.
1088 Record unwind with clean_up_file_dialog.
1089
1090 * xterm.h (x_menu_in_use, x_menu_set_in_use, x_menu_wait_for_event):
1091 Declare.
1092
1093 * xmenu.c (x_menu_in_use, x_menu_set_in_use): New functions.
1094
1095 2004-11-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1096
1097 * gtkutil.c (xg_file_sel_ok, xg_file_sel_cancel)
1098 (xg_file_sel_destroy): Remove.
1099 (xg_file_response_cb, pop_down_file_dialog)
1100 (xg_get_file_name_from_chooser, xg_get_file_name_from_selector):
1101 New functions.
1102 (xg_get_file_with_chooser, xg_get_file_with_selection):
1103 Take new arg func, set it to xg_get_file_name_from_chooser/selector.
1104 Move common code to xg_get_file_name. Return widget created.
1105 (xg_get_file_name): Set name, transient for, modal and destroy
1106 with parent here. Connect response signal to xg_file_response_cb,
1107 connect delete-event to gtk_true. Record pop_down_file_dialog
1108 for unwind. Do event loop and call x_menu_wait_for_event in loop.
1109 (xg_create_widget): Make dialogs modal.
1110
1111 * xmenu.c (unuse_menu_items, pop_down_menu): Arg is of type
1112 Lisp_Object.
1113 (popup_get_selection): Move unwind protect ...
1114 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
1115 Move destroy of widget to pop_down_menu.
1116 (popup_widget_loop): Move unwind protect ...
1117 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
1118 Move destroy of widget to pop_down_menu.
1119 (pop_down_menu): BLOCK_INPUT and destroy widget/window.
1120 (xmenu_show): Record unwind pop_down_menu. Move XMenuDestroy,
1121 x_mouse_leave and grabbed = 0 to pop_down_menu.
1122
1123 2004-11-13 Kim F. Storm <storm@cua.dk>
1124
1125 * xdisp.c (make_cursor_line_fully_visible_p): New variable.
1126 (syms_of_xdisp): DEFVAR_BOOL it.
1127 (make_cursor_line_fully_visible, try_cursor_movement)
1128 (try_window_id): Use it.
1129
1130 2004-11-12 Kim F. Storm <storm@cua.dk>
1131
1132 * dispextern.h (struct glyph_row): New member extra_line_spacing.
1133 (struct it): New member max_extra_line_spacing.
1134 (MR_PARTIALLY_VISIBLE, MR_PARTIALLY_VISIBLE_AT_TOP)
1135 (MR_PARTIALLY_VISIBLE_AT_BOTTOM): New helper macros.
1136 (MATRIX_ROW_PARTIALLY_VISIBLE_P): Fix to return false if invisible
1137 part of last line is only extra line spacing (so the text on the
1138 line is fully visible). Use helper macros.
1139 Add W arg (to use them). All callers changed.
1140 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P)
1141 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P): Use helper macros.
1142
1143 * window.c (window_scroll_pixel_based, Frecenter):
1144 Use move_it_vertically_backward directly.
1145 (Frecenter): Fix calculation of new start pos for negative arg.
1146 Before, the new start pos was sometimes chosen too far back, so
1147 the last line became only partially visible, and thus would be
1148 either only semi-visible or automatically scrolled to the middle
1149 of the window by redisplay.
1150
1151 * xdisp.c (init_iterator): Clear it.max_extra_line_spacing.
1152 (move_it_vertically_backward): Don't recure to move further back.
1153 (move_it_vertically): Remove superfluous condition.
1154 (move_it_by_lines): Clear last_height when moved 0 lines.
1155 (resize_mini_window): Use it.max_extra_line_spacing.
1156 (display_tool_bar_line): Clear row->extra_line_spacing.
1157 (try_scrolling): Use move_it_vertically_backward directly.
1158 (redisplay_window): Likewise.
1159 (compute_line_metrics): Set row->extra_line_spacing.
1160 (display_line, display_string): Likewise.
1161 (x_produce_glyphs): Update it->max_extra_line_spacing.
1162
1163 * xmenu.c (pop_down_menu): Return nil.
1164
1165 2004-11-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1166
1167 * xmenu.c (x_menu_wait_for_event): New function.
1168 (popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event
1169 to handle timers.
1170 (popup_widget_loop): Add argument do_timers.
1171 (create_and_show_popup_menu, create_and_show_dialog): Pass 1 for
1172 do_timers to popup_widget_loop.
1173 (xmenu_show): Call XMenuActivateSetWaitFunction so that
1174 x_menu_wait_for_event is called by XMenuActivate.
1175 (create_and_show_popup_menu): Pass 1 for do_timers to
1176 popup_get_selection.
1177 (pop_down_menu): New function.
1178 (popup_get_selection, popup_widget_loop): Unwind protect to
1179 pop_down_menu.
1180 (popup_widget_loop): Add argument widget.
1181 (create_and_show_popup_menu, create_and_show_dialog): Pass new
1182 argument widget to popup_widget_loop.
1183
1184 2004-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
1185
1186 * keymap.c (Fkeymap_prompt): Accept symbol keymaps.
1187
1188 2004-11-09 Kim F. Storm <storm@cua.dk>
1189
1190 * xselect.c: Include <sys/types.h> and <unistd.h> (for getpid).
1191 Fix various comments referring to XEvents instead of input events.
1192 (x_queue_event): Fix format strings.
1193 (x_stop_queuing_selection_requests): Likewise.
1194
1195 * xdisp.c (produce_image_glyph): Remove unused variable 'face_ascent'.
1196 (pint2hrstr): Add extra braces to silence compiler.
1197
1198 * print.c (print_object): Fix format string.
1199
1200 * lread.c (read1): Fix next_char matching.
1201
1202 * lisp.h (Fdelete): Add EXFUN.
1203 (replace_range_2): Add prototype.
1204
1205 * keyboard.c (read_avail_input): Remove unused variable 'discard'.
1206
1207 * intervals.h (NULL_INTERVAL_P): Add separate version when
1208 ENABLE_CHECKING is not defined to silence compiler.
1209 (compare_string_intervals): Add prototype.
1210
1211 * fringe.c (destroy_fringe_bitmap): Fix return type.
1212 (Ffringe_bitmaps_at_pos): Remove unused var 'old_buffer'.
1213
1214 * emacs.c (Fdump_emacs): Fix format string.
1215
1216 * doc.c: Include <ctype.h>.
1217 (Fsubstitute_command_keys): Remove unused variable 'firstkey'.
1218
1219 * data.c (store_symval_forwarding): Remove unused variables.
1220
1221 * callint.c (Fcall_interactively): Remove unused variable 'funcar'.
1222
1223 2004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1224
1225 * Makefile.in (stamp-oldxmenu): If HAVE_GTK, don't add dependencies
1226 to ${OLDXMENU}.
1227
1228 2004-11-09 Kim F. Storm <storm@cua.dk>
1229
1230 * process.c (Fmake_network_process): Remove kludge for interrupted
1231 connects on BSD. If connect is interrupted, just close socket and
1232 start over rather than sleeping and retry with same socket.
1233
1234 2004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1235
1236 * .cvsignore: Add buildobj.lst.
1237
1238 * doc.c: New variable Vbuild_files.
1239 (Fsnarf_documentation): If Vbuild_files is nil, populate it with
1240 file names from buildobh.lst. Only attach docstrings from files
1241 that are in Vbuild_files.
1242 (syms_of_doc): Defvar Vbuild_files.
1243
1244 * Makefile.in (SOME_MACHINE_OBJECTS): Add fringe.o, image.o
1245 and w32*.o.
1246 (temacs${EXEEXT}): Generate buildobj.lst when temacs is linked.
1247 (mostlyclean): Rm buildobj.lst
1248
1249 * makefile.w32-in ($(TEMACS)): Generate buildobj.lst when temacs
1250 is linked.
1251
1252 2004-11-09 Kim F. Storm <storm@cua.dk>
1253
1254 * fringe.c (update_window_fringes): Update fringe bitmaps if
1255 cur and row ends_at_zv_p differs. If bitmaps of a row is updated,
1256 also update previous row to get rid of misc. artifacts.
1257
1258 2004-11-08 Kim F. Storm <storm@cua.dk>
1259
1260 * xdisp.c (fast_find_position): Fix start pos if header line present.
1261 (note_mouse_highlight): Clear mouse face if we move out of text area.
1262
1263 2004-11-08 Eli Zaretskii <eliz@gnu.org>
1264
1265 * editfns.c: Move #include "systime.h" before <sys/resource.h>.
1266 Don't include <sys/time.h> explicitly.
1267 Include <stdio.h> unconditionally, not just on MacOS.
1268
1269 2004-11-08 Kenichi Handa <handa@m17n.org>
1270
1271 * fontset.c (fontset_pattern_regexp): Cancel my previous change;
1272 don't pay attention to '\' before '*'.
1273 (fontset_pattern_regexp): Change the meaning of the second arg.
1274 (Fnew_fontset): Call fs_query_fontset, not Fquery_fontset.
1275 (check_fontset_name): Try NAME as literal at first, and if it
1276 failes, try NAME as pattern.
1277
1278 2004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1279
1280 * emacs.c (Fdump_emacs): Only output warning on GNU/Linux.
1281
1282 2004-11-07 Andreas Schwab <schwab@suse.de>
1283
1284 * lisp.h (Fmsdos_downcase_filename): Declare.
1285 * dired.c (Fmsdos_downcase_filename): Don't declare here.
1286 * fileio.c: Likewise.
1287
1288 2004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1289
1290 * dosfns.c (Fdos_memget, Fdos_memput): Use integer variable offs in
1291 comparisons with integers instead of Lisp_Object address.
1292 (Fmsdos_set_keyboard): Declare argument allkeys.
1293
1294 * msdos.c (IT_set_frame_parameters): Use EQ, not ==, for Lisp_Object:s.
1295
1296 * dired.c (Fmsdos_downcase_filename): Declare extern on MSDOS to avoid
1297 int/Lisp_Object mixup.
1298
1299 * fileio.c: Ditto.
1300
1301 2004-11-06 Steven Tamm <steventamm@mac.com>
1302
1303 * editfns.c: Need to include sys/time.h before resource.h on darwin.
1304
1305 2004-11-06 Richard M. Stallman <rms@gnu.org>
1306
1307 * callint.c (Fcall_interactively): Avoid reusing EVENT for other data.
1308
1309 * xfaces.c (merge_named_face): GCPRO the face_name in the
1310 named_merge_point struct that we make.
1311 (merge_face_heights): Eliminate GCPRO arg. All callers changed.
1312
1313 * keyboard.c (command_loop_1): Change Vtransient_mark_mode
1314 before deciding whether to inactivate mark.
1315
1316 2004-11-06 Lars Brinkhoff <lars@nocrew.org>
1317
1318 * config.in: Regenerate (add HAVE_GETRUSAGE).
1319 * editfns.c (Fget_internal_run_time): New function.
1320 (syms_of_data): Defsubr it.
1321 * fns.c (sxhash): As far as possible, merge calculation of
1322 hash code for symbols and strings.
1323
1324 2004-11-06 Eli Zaretskii <eliz@gnu.org>
1325
1326 * frame.c (syms_of_frame): Fix the example in the doc string.
1327
1328 2004-11-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1329
1330 * eval.c (Feval): Remove check for INPUT_BLOCKED_P.
1331
1332 * xmenu.c (popup_get_selection, create_and_show_popup_menu)
1333 (create_and_show_dialog): Revert change from 2004-10-31.
1334
1335 2004-11-05 Luc Teirlinck <teirllm@auburn.edu>
1336
1337 * macros.c (syms_of_macros) <defining-kbd-macro>: Doc fix.
1338
1339 2004-11-05 Kim F. Storm <storm@cua.dk>
1340
1341 * print.c (print_object): Print Lisp_Misc_Save_Value objects.
1342
1343 * fileio.c (Ffile_modes): Doc fix.
1344 (auto_save_1): Check for Ffile_modes nil value.
1345
1346 2004-11-05 Kim F. Storm <storm@cua.dk>
1347
1348 * xselect.c (struct selection_event_queue, selection_queue)
1349 (x_queue_selection_requests, x_queue_event)
1350 (x_start_queuing_selection_requests)
1351 (x_stop_queuing_selection_requests): Add new queue for selection
1352 input events to replace previous XEvent queue in xterm.c.
1353 (queue_selection_requests_unwind): Adapt to new queue.
1354 (x_reply_selection_request): Adapt to new queue.
1355 Unexpect wait_object in case of x errors (memory leak).
1356 (x_handle_selection_request, x_handle_selection_clear): Make static.
1357 (x_handle_selection_event): New function. May queue selection events.
1358 (wait_for_property_change_unwind): Use save_value instead of cons.
1359 Clear property_change_reply_object.
1360 (wait_for_property_change): Abort if already waiting.
1361 Use save_value instead of cons for unwind data.
1362 (x_handle_property_notify): Skip events already arrived, but don't
1363 free them, as "arrived" field is checked by wait_for_property_change,
1364 and it will be freed by unwind or explicit unexpect_property_change.
1365 (x_get_foreign_selection): Add to new queue.
1366 (receive_incremental_selection): Don't unexpect wait_object when done
1367 as it has already been freed by previous wait_for_property_change.
1368
1369 * xterm.h (x_start_queuing_selection_requests)
1370 (x_stop_queuing_selection_requests, x_handle_selection_request)
1371 (x_handle_selection_clear): Remove prototypes.
1372 (x_handle_selection_event): Add prototype.
1373
1374 * xterm.c (handle_one_xevent): Don't queue X selection events
1375 here, it may be too late if we start queuing after we have already
1376 stored some selection events into the kbd buffer.
1377 (struct selection_event_queue, queue, x_queue_selection_requests)
1378 (x_queue_event, x_unqueue_events, x_start_queuing_selection_requests)
1379 (x_stop_queuing_selection_requests): Remove/move to xselect.c.
1380 (x_catch_errors_unwind): Block input around final XSync.
1381
1382 * keyboard.h (kbd_buffer_unget_event): Add prototype.
1383
1384 * keyboard.c (kbd_buffer_store_event_hold): Remove obsolete code.
1385 (kbd_buffer_unget_event): New function.
1386 (kbd_buffer_get_event, swallow_events): Combine SELECTION events
1387 and use x_handle_selection_event.
1388 (mark_kboards): Don't mark x and y of SELECTION_CLEAR_EVENT.
1389
1390 2004-11-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1391
1392 * xselect.c (TRACE3): New debug macro.
1393 (x_reply_selection_request): Use it.
1394 (receive_incremental_selection): In call to TRACE0, the name of
1395 a symbol is in xname.
1396
1397 2004-11-05 Kim F. Storm <storm@cua.dk>
1398
1399 * fontset.c (fontset_pattern_regexp): Use unsigned char.
1400
1401 2004-11-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1402
1403 * fileio.c (Fnext_read_file_uses_dialog_p): New function.
1404
1405 * gtkutil.h (use_old_gtk_file_dialog): Declare.
1406
1407 * gtkutil.c: Make use_old_gtk_file_dialog non-static.
1408 (xg_initialize): Move DEFVAR_BOOL for use_old_gtk_file_dialog ...
1409 * xfns.c (syms_of_xfns): ... to here.
1410
1411 * gtkutil.c (xg_get_file_with_chooser): Expand DEFAULT_FILENAME if
1412 it doesn't start with /.
1413
1414 2004-11-04 Kenichi Handa <handa@m17n.org>
1415
1416 * fontset.c (fontset_pattern_regexp): If '*' is preceded by '\',
1417 treat it as a literal character.
1418
1419 2004-11-03 Kim F. Storm <storm@cua.dk>
1420
1421 * .gdbinit (ppt): New function.
1422
1423 2004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1424
1425 * xterm.c (x_window_to_scroll_bar): Only call
1426 xg_get_scroll_id_for_window if toolkit scroll bars are used.
1427
1428 * gtkutil.c (xg_get_file_with_chooser): Use GTK_STOCK_OK instead
1429 of save.
1430
1431 2004-11-02 Andreas Schwab <schwab@suse.de>
1432
1433 * window.c (Fscroll_right): Fix last change.
1434
1435 2004-11-02 Kim F. Storm <storm@cua.dk>
1436
1437 * Makefile.in (callproc.o): Depend on blockinput.h atimer.h systime.h.
1438
1439 2004-11-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1440
1441 * callproc.c (Fcall_process): Block input around vfork.
1442
1443 2004-11-02 Kim F. Storm <storm@cua.dk>
1444
1445 * eval.c (Fcalled_interactively_p): Rename from Fcall_interactive_p.
1446 (syms_of_eval): Defsubr it.
1447
1448 2004-11-02 Richard M. Stallman <rms@gnu.org>
1449
1450 * insdel.c (replace_range_2): New function.
1451
1452 * casefiddle.c (casify_region): Handle changes in byte-length
1453 using replace_range_2.
1454
1455 * emacs.c (USAGE3): Delete --horizontal-scroll-bars, -hb.
1456
1457 * xdisp.c (back_to_previous_visible_line_start):
1458 Subtract 1 from pos when checking previous newline for invisibility.
1459
1460 * window.c (window_scroll_pixel_based): Update preserve_y
1461 for header line if any.
1462 (Fscroll_left, Fscroll_right): Don't call interactive_p;
1463 use a new second argument instead.
1464
1465 * eval.c (Fcall_interactive_p): New function.
1466 (interactive_p): Don't test INTERACTIVE here.
1467 (Finteractive_p): Doc fix.
1468
1469 * eval.c (Feval): Abort if INPUT_BLOCKED_P.
1470
1471 2004-11-02 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
1472
1473 * w32fns.c (w32_font_match): Use fast_string_match_ignore_case for
1474 comparing font names.
1475
1476 2004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1477
1478 * fileio.c (Fread_file_name): Pass Qt as fifth parameter to
1479 Fx_file_dialog if only directories should be read.
1480
1481 * lisp.h: Fx_file_dialog takes 5 parameters.
1482
1483 * xfns.c (Fx_file_dialog): Both Motif and GTK version:
1484 Add parameter only_dir_p.
1485 In Motif version, don't put DEFAULT_FILENAME in filter part of the
1486 dialog, just text field part. Do not add DEFAULT_FILENAME
1487 to list of files if it isn't there.
1488 In GTK version, pass only_dir_p parameter to xg_get_file_name.
1489
1490 * macfns.c (Fx_file_dialog): Add parameter only_dir_p.
1491 Check only_dir_p instead of comparing prompt to "Dired". When using
1492 a save dialog, add option kNavDontConfirmReplacement, change title
1493 to "Enter name", change text for save button to "Ok".
1494
1495 * w32fns.c (Fx_file_dialog): Add parameter only_dir_p.
1496 Check only_dir_p instead of comparing prompt to "Dired".
1497
1498 * gtkutil.c (xg_get_file_with_chooser)
1499 (xg_get_file_with_selection): New functions, only defined ifdef
1500 HAVE_GTK_FILE_CHOOSER_DIALOG_NEW and HAVE_GTK_FILE_SELECTION_NEW
1501 respectively.
1502 (xg_get_file_name): Add parameter only_dir_p.
1503 Call xg_get_file_with_chooser or xg_get_file_with_selection
1504 depending on HAVE_GTK_FILE* and the value of use_old_gtk_file_dialog.
1505 (xg_initialize): New DEFVAR_BOOL use_old_gtk_file_dialog.
1506
1507 * gtkutil.h (xg_get_file_name): Add parameter only_dir_p.
1508
1509 * config.in: Rebuild (added HAVE_GTK_FILE_*).
1510
1511 2004-11-01 Kim F. Storm <storm@cua.dk>
1512
1513 * process.c (connect_wait_mask, num_pending_connects):
1514 Only declare and use them if NON_BLOCKING_CONNECT is defined.
1515 (init_process): Initialize them if NON_BLOCKING_CONNECT defined.
1516 (IF_NON_BLOCKING_CONNECT): New helper macro.
1517 (wait_reading_process_output): Only declare and use local vars
1518 Connecting and check_connect when NON_BLOCKING_CONNECT is defined.
1519
1520 2004-11-01 Andy Petrusenco <Igrek@star-sw.com> (tiny change)
1521
1522 * w32term.c (x_scroll_run): Delete region objects after use.
1523
1524 2004-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1525
1526 * xmenu.c: Add prototypes for forward function declarations.
1527 (popup_get_selection): Remove parameter do_timers, remove call to
1528 timer_check.
1529 (create_and_show_popup_menu, create_and_show_dialog):
1530 Remove parameter do_timers from call to popup_get_selection.
1531
1532 * xdisp.c (update_tool_bar): Pass a copy of f->tool_bar_items to
1533 tool_bar_items and assign the result to f->tool_bar_items if
1534 not equal. Move BLOCK/UNBLOCK_INPUT from around call to
1535 tool_bar_items to assignment of result.
1536
1537 * atimer.c (alarm_signal_handler): Do not call set_alarm if
1538 pending_atmers is non-zero.
1539
1540 2004-10-31 Kim F. Storm <storm@cua.dk>
1541
1542 * dispnew.c (margin_glyphs_to_reserve): Don't use ncols_scale_factor.
1543
1544 2004-10-28 Will <will@glozer.net>
1545
1546 * macterm.c: allow user to assign key modifiers to the Mac Option
1547 key via a 'mac-option-modifier' variable.
1548
1549 2004-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
1550
1551 * xselect.c (Vx_lost_selection_functions, Vx_sent_selection_functions):
1552 Rename from Vx_lost_selection_hooks and Vx_sent_selection_hooks.
1553 (x_handle_selection_request, x_handle_selection_clear)
1554 (x_clear_frame_selections, syms_of_xselect): Adjust accordingly.
1555
1556 2004-10-28 Richard M. Stallman <rms@gnu.org>
1557
1558 * w32fns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
1559
1560 * xfns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
1561
1562 2004-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
1563
1564 * syntax.c (scan_sexps_forward): Give precedence to a 2-char
1565 comment-starter over a 1-char one.
1566
1567 2004-10-27 Richard M. Stallman <rms@gnu.org>
1568
1569 * xdisp.c (get_next_display_element): In mode lines,
1570 treat newline and tab like other control characters.
1571
1572 * editfns.c (Fmessage): Doc fix.
1573
1574 * indent.c (vmotion): When moving up, check the newline before.
1575 Make prevline an int, not a Lisp_Object.
1576
1577 2004-10-27 Kim F. Storm <storm@cua.dk>
1578
1579 * editfns.c (Fformat): Allocate discarded table with SAFE_ALLOCA.
1580 Only allocate info and discarded tables once.
1581
1582 * lisp.h (USE_SAFE_ALLOCA): Add and init sa_must_free integer.
1583 (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used.
1584 (SAFE_FREE): Test it to determine if we need to unwind to free.
1585 Remove size arg. All users changed.
1586 (SAFE_FREE_LISP) Remove. All users changed to use SAFE_FREE.
1587
1588 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1589
1590 * gtkutil.c: Put empty line between comment and function body.
1591 (xg_destroy_widgets): Rename from remove_from_container.
1592 Just destroy all widgets in list. Argument wcont removed.
1593 (xg_update_menubar, xg_update_submenu): Call xg_destroy_widgets
1594 instead of remove_from_container.
1595 (xg_display_close, xg_create_tool_bar, update_frame_tool_bar)
1596 (free_frame_tool_bar): Add comment.
1597
1598 * xfns.c (xic_create_xfontset): Check that FRAME_XIC_BASE_FONTNAME
1599 is not NULL before strcmp.
1600
1601 2004-10-26 Kim F. Storm <storm@cua.dk>
1602
1603 * callint.c (Fcall_interactively): Add 'U' code to get the
1604 up-event discarded by a previous 'k' or 'K' argument.
1605
1606 2004-10-26 David Kastrup <dak@gnu.org>
1607
1608 * buffer.c (syms_of_buffer): Fix a few typos.
1609
1610 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1611
1612 * xsmfns.c: Put empty line between comment and function body.
1613 Use two spaces before comment end.
1614
1615 2004-10-25 Kenichi Handa <handa@m17n.org>
1616
1617 * fontset.c (fontset_pattern_regexp): Optimize for the case that
1618 PATTERN is full XLFD.
1619
1620 2004-10-24 Kenichi Handa <handa@m17n.org>
1621
1622 * regex.h (enum reg_errcode_t): New value REG_ERANGEX.
1623
1624 * regex.c (re_error_msgid): Add an entry for REG_ERANGEX.
1625 (regex_compile): Return REG_ERANGEX if appropriate.
1626
1627 2004-10-22 Kenichi Handa <handa@m17n.org>
1628
1629 * editfns.c (Ftranslate_region_internal): New function.
1630 (syms_of_editfns): Defsubr it.
1631
1632 2004-10-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1633
1634 * xfns.c (xic_create_xfontset): Initialize missing_list to NULL.
1635
1636 2004-10-21 K\e,Aa\e(Broly L\e$,1 q\e(Brentey <lorentey@elte.hu>
1637
1638 * xterm.h (x_output): New member `xic_base_fontname'.
1639 (FRAME_XIC_BASE_FONTNAME): New macro.
1640 (xic_free_xfontset): Declare.
1641
1642 * xfns.c (xic_create_xfontset): Share fontsets between frames
1643 based on base_fontname.
1644 (xic_free_xfontset): New function.
1645 (free_frame_xic): Use it.
1646 (xic_set_xfontset): Ditto.
1647
1648 * xterm.c (xim_destroy_callback): Ditto.
1649
1650
1651 2004-10-20 B. Anyos <banyos@freemail.hu> (tiny change)
1652
1653 * w32term.c (x_draw_glyph_string): Use overline_color for overlines.
1654
1655 2004-10-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1656
1657 * xterm.h (XSync): If USE_GTK, define XSync as process_all and then
1658 XSync.
1659
1660 * emacs.c (my_heap_start, heap_bss_diff, MAX_HEAP_BSS_DIFF):
1661 New variables and constant.
1662 (main): Calculate heap_bss_diff. If we are dumping and the
1663 heap_bss_diff is greater than MAX_HEAP_BSS_DIFF, set PER_LINUX32
1664 and exec ourself again.
1665 (Fdump_emacs): If heap_bss_diff is greater than MAX_HEAP_BSS_DIFF
1666 print a warning.
1667
1668 * lastfile.c: Make my_endbss and my_endbss_static available on all
1669 platforms.
1670
1671 * Makefile.in (RUN_TEMACS): Remove @SETARCH@.
1672 * config.in (HAVE_PERSONALITY_LINUX32): Regenerate.
1673
1674 2004-10-19 Luc Teirlinck <teirllm@auburn.edu>
1675
1676 * data.c (Flocal_variable_if_set_p): Doc fix.
1677
1678 2004-10-19 Jason Rumney <jasonr@gnu.org>
1679
1680 * w32.c (init_environment): Set emacs_dir correctly when running
1681 emacs from the build directory.
1682
1683 2004-10-19 Richard M. Stallman <rms@gnu.org>
1684
1685 * editfns.c (Fdelete_and_extract_region):
1686 If region is empty, return null string.
1687
1688 2004-10-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1689
1690 * gtkutil.h (xg_update_scrollbar_pos): Remove arguments real_left
1691 and canon_width.
1692 (xg_frame_cleared): Remove.
1693
1694 * gtkutil.c (xg_frame_cleared, xg_fixed_handle_expose)
1695 (xg_find_top_left_in_fixed): Remove.
1696 (xg_create_scroll_bar): Put an event box widget between
1697 the scroll bar widget and the edit widget.
1698 (xg_show_scroll_bar): Show the parent widget (the event box).
1699 (xg_remove_scroll_bar): Destroy parent (the event box) also.
1700 (xg_update_scrollbar_pos): Remove arguments real_left and canon_width.
1701 Move the parent (the event box) widget inside the fixed widget.
1702 Move window clear to xterm.c.
1703
1704 * gtkutil.h (xg_frame_cleared): Remove.
1705
1706 * xterm.c (x_clear_frame): Remove call to xg_frame_cleared
1707 (x_scroll_bar_create, XTset_vertical_scroll_bar):
1708 Remove arguments left and width to xg_update_scrollbar_pos.
1709 (XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also.
1710
1711 2004-10-19 Kenichi Handa <handa@m17n.org>
1712
1713 * xdisp.c (display_mode_element): Fix display of wide chars.
1714
1715 2004-10-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1716
1717 * gtkutil.c (xg_update_scrollbar_pos): Change XClearWindow to
1718 gdk_window_clear and move gdk_window_process_all_updates after
1719 clear so events are sent to the X server in correct order.
1720
1721 2004-10-18 Kenichi Handa <handa@m17n.org>
1722
1723 * fontset.c (fs_load_font): Use fast_string_match_ignore_case for
1724 comparing font names.
1725 (fs_query_fontset): Use fast_string_match for comparing fontset names.
1726 (list_fontsets): Likewise.
1727
1728 * search.c (fast_string_match_ignore_case): New function.
1729
1730 * lisp.h (fast_string_match_ignore_case): Extern it.
1731
1732 2004-10-17 Kim F. Storm <storm@cua.dk>
1733
1734 * xdisp.c (overlay_arrow_at_row): Return overlay string rather
1735 than bitmap if there is not left fringe.
1736 (get_overlay_arrow_glyph_row): Also used on windows system.
1737 (display_line): Display overlay string if no left fringe.
1738
1739 2004-10-16 Jason Rumney <jasonr@gnu.org>
1740
1741 * w32fns.c (w32_font_match): Encode font name being matched.
1742
1743 2004-10-16 Richard M. Stallman <rms@gnu.org>
1744
1745 * window.c (Fspecial_display_p): Doc fix.
1746
1747 2004-10-15 Stefan <monnier@iro.umontreal.ca>
1748
1749 * doc.c (Fsubstitute_command_keys): Fix remap-handling.
1750 Don't ignore menus, because where-is-internal already does it for us.
1751
1752 2004-10-15 Kim F. Storm <storm@cua.dk>
1753
1754 * xdisp.c (redisplay_window): Only update fringes and vertical
1755 border on window frames.
1756
1757 2004-10-14 Andreas Schwab <schwab@suse.de>
1758
1759 * m/ia64.h (DATA_SEG_BITS): Don't define.
1760
1761 2004-10-14 Kim F. Storm <storm@cua.dk>
1762
1763 * xterm.h: Include Xutil.h after keysym.h to work around bug
1764 in some X versions.
1765
1766 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
1767
1768 * fns.c (map_char_table): Add missing gcpros.
1769
1770 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
1771
1772 * keymap.c (get_keymap): An autoload form is not a keymap.
1773
1774 * textprop.c (syms_of_textprop): Make `syntax-table' nonsticky.
1775
1776 2004-10-13 Kim F. Storm <storm@cua.dk>
1777
1778 * callproc.c (Fcall_process): Simplify handling of display arg.
1779 Resume `display_on_the_fly' once a coding system is determined.
1780
1781 * xdisp.c (redisplay_preserve_echo_area): Fix last change.
1782
1783 2004-10-12 Kim F. Storm <storm@cua.dk>
1784
1785 * xdisp.c (redisplay_preserve_echo_area): Flush display in case
1786 caller, such as call-process, is not going to poll for input.
1787 (calc_line_height_property): Handle case where it->object is nil.
1788
1789 * xterm.c (x_redisplay_interface): Fix flush_display_optional.
1790
1791 2004-10-12 Kenichi Handa <handa@m17n.org>
1792
1793 * xdisp.c (get_next_display_element):
1794 If unibyte_display_via_language_environment is zero, display 8-bit
1795 chars in octal in unibyte buffer.
1796
1797 2004-10-12 Kim F. Storm <storm@cua.dk>
1798
1799 * doc.c (Fsubstitute_command_keys): Ignore remappings unless there
1800 are no ordinary bindings.
1801
1802 2004-10-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1803
1804 * xfns.c (syms_of_xfns): Defsubr x-file-dialog for GTK also.
1805
1806 2004-10-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1807
1808 * macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow.
1809 (x_lower_frame): Add BLOCK_INPUT around SendBehind.
1810 (make_mac_frame): Add BLOCK_INPUT around the making of a
1811 terminal frame.
1812 (mac_initialize): Add BLOCK_INPUT around carbon initialization.
1813 * macgui.h (mktime): Use emacs_mktime.
1814 * macfns.c (Fx_file_dialog): Add BLOCK_INPUT around more code.
1815 Make a cancel file-open dialog be like C-g.
1816 * mac.c (mktime): Use emacs_mktime.
1817 (Fdo_applescript): Add BLOCK_INPUT around do_applescript.
1818 (Fmac_paste_function): Add better error handling for carbon cut/paste.
1819
1820 2004-10-10 Kim F. Storm <storm@cua.dk>
1821
1822 * keyboard.c (timer_resume_idle): New function to resume idle
1823 timer without resetting timers on the idle list.
1824 (read_char): Use timer_resume_idle. Remove local var last_idle_start.
1825 (timer_start_idle, timer_stop_idle): Declare static.
1826 (read_key_sequence): Use timer_resume_idle instead of timer_start_idle.
1827
1828 * keyboard.h (timer_start_idle, timer_stop_idle): Remove prototypes.
1829
1830 2004-10-08 Steven Tamm <steventamm@mac.com>
1831
1832 * config.in (HAVE_MALLOC_MALLOC_H): Regenerate.
1833 * macterm.c (mac_check_for_quit_char): Remove warning for using
1834 NULL where 0 should be used.
1835 * unexmacosx.c: Use malloc/malloc.h on Tiger instead of
1836 objc/malloc.h
1837 * mac.c: Include time.h for Tiger compatibility.
1838
1839 2004-10-07 Kim F. Storm <storm@cua.dk>
1840
1841 * xdisp.c (redisplay_window): Fix flicker on vertical line between
1842 windows. Update vertical line after drawing window fringes, but
1843 only if actually drawing any bitmaps--or there is no fringe.
1844
1845 * xterm.c (x_update_window_end): Likewise.
1846 * macterm.c (x_update_window_end): Likewise.
1847 * w32term.c (x_update_window_end): Likewise.
1848
1849 * fringe.c (draw_window_fringes): Return value now indicates if
1850 any fringe bitmaps were redrawn (or there are no fringes).
1851
1852 * dispextern.h (draw_window_fringes): Update prototype.
1853
1854 2004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1855
1856 * macfns.c (mac_get_window_bounds): Add extern.
1857 (x_real_positions): Use mac_get_window_bounds.
1858
1859 * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for
1860 xmenu.c (YAILOM).
1861
1862 * macterm.c [!MAC_OSX]: Include Windows.h.
1863 (front_emacs_window): Rename from mac_front_window. All uses
1864 changed. Return the frontmost non-tooltip emacs window.
1865 (mac_get_window_bounds): New function.
1866 (x_calc_absolute_position): Use the difference of width and height
1867 between the inner and outer window.
1868 (x_set_offset): Specify window position by the coordinae of the
1869 outer window. Adjust the position if the title bar is completely
1870 outside the screen.
1871 (app_is_suspended, app_sleep_time): Remove unused variables.
1872 (do_app_resume, do_app_suspend): Remove their contents because
1873 window-activate/deactivate events will do the job.
1874 (do_zoom_window): Remove unused variables. Make compliant to the
1875 standard way of zooming. Set f->left_pos and f->top_pos.
1876 (XTread_socket): Don't use argument `expected'. Don't use
1877 FrontWindow to determine the clicked window. Exclude unprocessed
1878 mouseUp cases in the early stage. Add parentheses to fix operator
1879 precedence.
1880 (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area.
1881
1882 2004-10-05 Jan Dj\e,Ad\e(Brv. <jan.h.d@swipnet.se>
1883
1884 * config.in: Regenerate.
1885
1886 * Makefile.in (RUN_TEMACS): Check HAVE_RANDOM_HEAPSTART instead of
1887 HAVE_EXECSHIELD.
1888
1889 2004-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1890
1891 * xterm.c (x_find_modifier_meanings): Ignore any Super or Hyper for
1892 a row if Alt or Meta has been found for that row. Also stop scanning
1893 for Keysyms for that row.
1894
1895 2004-10-04 Kim F. Storm <storm@cua.dk>
1896
1897 * fringe.c (Ffringe_bitmaps_at_pos): Change return value from cons
1898 to list. Include overlay arrow bitmap in return value.
1899
1900 * xterm.c (XTset_vertical_scroll_bar): Improve handling of scroll
1901 bars with fractional column width. If scroll bar separates two
1902 windows, move it towards the window it belongs to. Only update
1903 the padding area below the scroll bar widget when necessary,
1904 i.e. when scroll bar widget is created, moved, or resized.
1905
1906 * xdisp.c (define_frame_cursor1): Do not change frame cursor
1907 while tracking/dragging mouse.
1908 (x_draw_vertical_border): Do not draw line if frame has scroll bars.
1909
1910 * window.c (coordinates_in_window): Relax check for cursor
1911 on vertial border between mode lines.
1912 (Fset_window_fringes): Do not allow negative widths.
1913 (Fset_window_scroll_bars): Likewise.
1914
1915 * .gdbinit (pp): Shorthand for p ARG + pr.
1916 (ff): New command: flush frame updates (X only).
1917
1918 2004-10-03 Michael Albinus <michael.albinus@gmx.de>
1919
1920 * fileio.c (auto_save_1) Call Ffile_modes for remote files.
1921
1922 2004-09-30 Kenichi Handa <handa@m17n.org>
1923
1924 * process.c (send_process): Free composition data.
1925
1926 * fileio.c (Finsert_file_contents): Free composition data.
1927
1928 * coding.c (code_convert_region): Don't skip ASCIIs if there are
1929 compositions to encode.
1930 (encode_coding_string): Likewise. Free composition data.
1931
1932 2004-09-30 Florian Weimer <fw@deneb.enyo.de>
1933
1934 * coding.c (code_convert_region): Free composition data.
1935
1936 2004-09-29 Kim F. Storm <storm@cua.dk>
1937
1938 * fringe.c: Remove limit on number of bitmaps.
1939 (fringe_bitmaps, fringe_faces): Change to pointers.
1940 (max_fringe_bitmaps): New var.
1941 (Fdefine_fringe_bitmap): Expand fringe_bitmaps and fringe_faces.
1942 (init_fringe): Allocate fringe_bitmaps and fringe_faces.
1943
1944 * dispextern.h (FRINGE_ID_BITS): Increase to 16 bits (64K bitmaps).
1945 (struct glyph_row): Reorder fringe_bitmap related fields.
1946 (struct it): Likewise.
1947
1948 * w32term.c (fringe_bmp): Change to pointer.
1949 (max_fringe_bmp): New var.
1950 (w32_define_fringe_bitmap): Expand fringe_bmp.
1951 (w32_draw_fringe_bitmap): Check max_fringe_bmp.
1952 (w32_destroy_fringe_bitmap): Likewise.
1953
1954 2004-09-29 Kim F. Storm <storm@cua.dk>
1955
1956 * fringe.c: Simplify last change.
1957 (lookup_fringe_bitmap): New function.
1958 (valid_fringe_bitmap_p, resolve_fringe_bitmap): Remove.
1959 (Fdestroy_fringe_bitmap): Use lookup_fringe_bitmap.
1960 Keep standard bitmaps in Vfringe_bitmaps.
1961 (Fdefine_fringe_bitmap): Use lookup_fringe_bitmap.
1962 (Fset_fringe_bitmap_face): Likewise.
1963
1964 * dispextern.h (lookup_fringe_bitmap): Add prototype.
1965 (valid_fringe_bitmap_p): Remove prototype.
1966
1967 * xdisp.c (handle_single_display_prop): Use lookup_fringe_bitmap.
1968
1969 2004-09-29 Kim F. Storm <storm@cua.dk>
1970
1971 * fringe.c (destroy_fringe_bitmap, init_fringe_bitmap)
1972 (w32_init_fringe, w32_reset_fringes): Fix bootstrap (NULL rif).
1973
1974 * dispextern.h (valid_fringe_bitmap_p): Fix prototype.
1975
1976 * fringe.c (Vfringe_bitmaps): New variable.
1977 (syms_of_fringe): DEFVAR_LISP it.
1978 (valid_fringe_bitmap_p): Rename from valid_fringe_bitmap_id_p.
1979 Change arg to Lisp_Object and fail if not an integer.
1980 (get_fringe_bitmap_name, resolve_fringe_bitmap)
1981 (destroy_fringe_bitmap): New functions.
1982 (Fdestroy_fringe_bitmap): Change arg to bitmap symbol.
1983 Use destroy_fringe_bitmap. Remove symbol from Vfringe_bitmaps and
1984 clear its fringe property.
1985 (init_fringe_bitmap): Use destroy_fringe_bitmap instead of
1986 Fdestroy_fringe_bitmap.
1987 (Fdefine_fringe_bitmap): Add BITMAP arg specifying new or existing
1988 bitmap symbol; remove WHICH arg. Add symbol to Vfringe_bitmaps
1989 and set fringe property. Signal error if no free slots.
1990 (Fset_fringe_bitmap_face): Change arg to bitmap symbol.
1991 (Ffringe_bitmaps_at_pos): Return bitmap symbols instead of numbers.
1992
1993 * xdisp.c (handle_single_display_prop): Fringe bitmaps are now
1994 symbols with a fringe property.
1995
1996 2004-09-27 Kim F. Storm <storm@cua.dk>
1997
1998 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>:
1999 Doc fix. Format may now be a symbol or alist, not a cons.
2000
2001 * fringe.c (update_window_fringes): Handle new formats of
2002 indicate-buffer-boundaries (symbol or alist). No longer
2003 allow a simple cons.
2004 (Ffringe_bitmaps_at_pos): Use nil value for no bitmap.
2005
2006 2004-09-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2007
2008 * config.in: Rebuild.
2009
2010 2004-09-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2011
2012 * config.in: Rebuild.
2013
2014 * Makefile.in: Run setarch i386 ./temacs if exec-shield is present.
2015
2016 2004-09-18 Stefan Monnier <monnier@iro.umontreal.ca>
2017
2018 * xterm.c (x_term_init): Work around a bug in some X servers.
2019
2020 2004-09-18 Richard M. Stallman <rms@gnu.org>
2021
2022 * buffer.c (syms_of_buffer) <default-major-mode>: Doc fix.
2023
2024 * xdisp.c (try_window_reusing_current_matrix):
2025 Handle the case where we reach the old displayed text,
2026 out of sync with the old line boundary.
2027
2028 2004-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
2029
2030 * fileio.c (Finsert_file_contents): Fix case of replacement in a
2031 narrowed buffer.
2032
2033 2004-09-14 Kim F. Storm <storm@cua.dk>
2034
2035 * puresize.h (PURESIZE_RATIO): Define based on BITS_PER_EMACS_INT.
2036
2037 * xfaces.c (Qface_no_inherit): New var.
2038 (syms_of_xfaces): Intern and staticpro it.
2039 (Finternal_make_lisp_face, Finternal_set_lisp_face_attribute)
2040 (Finternal_copy_lisp_face, update_face_from_frame_parameter):
2041 Don't increment face_change_count when face has non-nil
2042 face-no-inherit property.
2043
2044 2004-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
2045
2046 * bytecode.c (BYTE_CODE_QUIT): Add missing AFTER_POTENTIAL_GC.
2047 (Fbyte_code): Remove dead code after `wrong_type_argument'.
2048
2049 * alloc.c (Fgarbage_collect): Mark keyboards, gtk data, and specpdl
2050 before doing the mark_stack_check_gcpros since they're not on the stack.
2051
2052 2004-09-12 Kim F. Storm <storm@cua.dk>
2053
2054 * editfns.c (Fformat): Handle format strings with multiple text
2055 properties. Reverse text property list from the format string,
2056 so the positions are in increasing order.
2057
2058 2004-09-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2059
2060 * xselect.c (x_reply_selection_request): XSync and UNBLOCK before
2061 x_uncatch_errors so that possible protocol errors are delivered.
2062
2063 2004-09-10 Eli Zaretskii <eliz@gnu.org>
2064
2065 * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
2066 blockinput.h.
2067 (dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
2068 charset.h, and coding.h
2069 (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h.
2070 (term.o): Depend on window.h and keymap.h.
2071 (abbrev.o): Depend on syntax.h.
2072 (callint.o): Depend on keymap.h.
2073 (casefiddle.o): Depend on charset.h and keymap.h.
2074 (category.o): Depend on keymap.h.
2075 (coding.o): Depend on dispextern.h.
2076 (cmds.o): Depend on keyboard.h and keymap.h.
2077 (dispnew.o): Depend on indent.h and intervals.h.
2078 (doc.o): Depend on keymap.h.
2079 (editfns.o): Depend on frame.h.
2080 (emacs.o): Depend on dispextern.h.
2081 (fileio.o): Don't depend on ccl.h.
2082 (filelock.o): Depend on charset.h and coding.h.
2083 (frame.o): Depend on w32term.h and macterm.h.
2084 (insdel.o): Depend on region-cache.h.
2085 (keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
2086 (minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
2087 (search.o): Depend on $(INTERVALS_SRC).
2088 (syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
2089 (window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
2090 xterm.h, w32term.h, and macterm.h.
2091 (xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
2092 w32term.h, and macterm.h.
2093 (xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
2094 region-cache.h, xterm.h, w32term.h, and macterm.h.
2095 (bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
2096 (data.o): Depend on frame.h.
2097 (fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
2098 (print.o): Depend on termchar.h and $(INTERVALS_SRC).
2099 (lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
2100 (intervals.o): Depend on keymap.h.
2101
2102 * msdos.c (msdos_set_cursor_shape, IT_display_cursor):
2103 Add debugging print-out to termscript.
2104
2105 2004-09-09 Richard M. Stallman <rms@gnu.org>
2106
2107 * xdisp.c (decode_mode_spec): Use current buffer for most purposes.
2108
2109 2004-09-08 Richard M. Stallman <rms@gnu.org>
2110
2111 * window.c (Fset_window_buffer): Doc fix.
2112
2113 * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use.
2114
2115 2004-09-08 Dan Nicolaescu <dann@ics.uci.edu>
2116
2117 * minibuf.c (history_delete_duplicates): New variable.
2118 (read_minibuf): Use it.
2119 (syms_of_minibuf): Create the corresponding lisp variable.
2120
2121 2004-09-08 Kim F. Storm <storm@cua.dk>
2122
2123 * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in
2124 overlay just before point.
2125
2126 2004-09-07 Luc Teirlinck <teirllm@auburn.edu>
2127
2128 * buffer.h (struct buffer): Add auto_save_file_format field.
2129 * buffer.c (reset_buffer, init_buffer_once):
2130 Handle auto_save_file_format field.
2131 (syms_of_buffer): Add DEFVAR_PER_BUFFER for
2132 `buffer-auto-save-file-format'.
2133 * fileio.c: Delete declaration for removed Vauto_save_file_format.
2134 (build_annotations): Adapt to replacement of
2135 `auto-save-file-format' with the new buffer-local variable
2136 `buffer-auto-save-file-format'.
2137 (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format.
2138
2139 2004-09-07 Jason Rumney <jasonr@gnu.org>
2140
2141 * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c.
2142
2143 * w32fns.c (w32_wnd_proc) [WM_MEASUREITEM, WM_DRAWITEM]:
2144 Handle Unicode menu titles.
2145
2146 2004-09-07 Kim F. Storm <storm@cua.dk>
2147
2148 * xdisp.c (set_cursor_from_row): Fix last change. Only use 'cursor'
2149 property from text property or overlay strings at point.
2150
2151 2004-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
2152
2153 * xmenu.c (update_submenu_strings): YAILOM.
2154 (set_frame_menubar): Make sure last_i is initialized.
2155
2156 2004-09-03 Jason Rumney <jasonr@gnu.org>
2157
2158 * w32menu.c (_widget_value): Add lname and lkey.
2159 (digest_single_submenu): Set lname and lkey in widget_value
2160 instead of name and key.
2161 (update_submenu_strings): New function.
2162 (set_frame_menubar): Remove call to inhibit_garbage_collection,
2163 call update_submenu_strings.
2164
2165 * w32menu.c (globals_of_w32menu): Check for Unicode API.
2166 (digest_single_submenu, w32_menu_show): Encode menu strings as
2167 UTF-8 if Unicode API is available.
2168 (utf8to16): New function.
2169 (add_menu_item): Use it when calling Unicode API.
2170
2171 2004-09-03 Kim F. Storm <storm@cua.dk>
2172
2173 * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property
2174 in overlay or text-property strings; set cursor on corresponding
2175 glyph rather than at end of the string.
2176
2177 2004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2178
2179 * macfns.c (x_real_positions): Save the current window port and
2180 set a new one before obtaining the global coordinate.
2181 Use FRAME_MAC_WINDOW.
2182 (x_set_name, x_set_title): Encode title to UTF8.
2183 Use SetWindowTitleWithCFString.
2184 (Fx_server_version): Get correct OS version.
2185
2186 * macmenu.c (add_menu_item): Remove unused variable `i'.
2187 Don't let separator items destroy refence constants of other menu items.
2188
2189 * macterm.c (x_update_end): Move SetPortWindowPort to inside
2190 BLOCK_INPUT.
2191 (x_set_offset): Use FRAME_MAC_WINDOW.
2192
2193 * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to
2194 nontext_cursor if it is on a scroll bar.
2195
2196 * s/darwin.h (LIBS_CARBON): New define to specify libraries for
2197 Carbon support.
2198 (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++.
2199 Use LIBS_CARBON.
2200
2201 2004-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2202
2203 * xfns.c (x_set_name_internal): New function. Check if we shall call
2204 xfree before ENCODE_UTF_8.
2205 (x_set_name, x_set_title): Call x_set_name_internal.
2206
2207 2004-08-31 NAKAMURA Toshikazu <nr-tkz@nifty.com> (tiny change)
2208
2209 * w32fns.c (w32_load_font): If a BDF font is already loaded, do not
2210 reload it.
2211
2212 2004-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2213
2214 * macmenu.c (_widget_value): Add lname and lkey.
2215 (single_submenu): Set lname and lkey in widget_value
2216 instead of name and key.
2217 (update_submenu_strings): New function.
2218 (set_frame_menubar): Remove call to inhibit_garbage_collection,
2219 call update_submenu_strings.
2220
2221 * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
2222 instead of name and key.
2223 (update_submenu_strings): New function.
2224 (set_frame_menubar): Remove call to inhibit_garbage_collection,
2225 call update_submenu_strings.
2226
2227 * gtkutil.h (_widget_value): Added lname and lkey.
2228
2229 2004-08-30 Steven Tamm <steventamm@mac.com>
2230
2231 * macmenu.c (mac_menu_show): Remove shadowing of menu variable
2232 by using different names for inner loop variables.
2233
2234 2004-08-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2235
2236 * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection
2237 from 2002-07-15T00:01:34Z!raeburn@raeburn.org so that strings from ENCODE_UTF_8 isn't GC:ed before used.
2238
2239 * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when
2240 tool bar items is 0.
2241
2242 2004-08-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2243
2244 * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
2245 strings in menu items.
2246 (single_submenu): Use ENCODE_MENU_STRING
2247 (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because
2248 button release isn't passed to event loop
2249 (add_menu_item): Use SetMenuItemWithCFString
2250
2251 2004-08-26 Steven Tamm <steventamm@mac.com>
2252
2253 * fileio.c (Fread_file_name): Call x_file_dialog on carbon on
2254 tool-bar/menu click
2255 * macfns.c (Fx_file_dialog): Implemented using NavServices
2256
2257 2004-08-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2258
2259 * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
2260
2261 * xfns.c (x_window_to_frame, x_any_window_to_frame)
2262 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
2263 (x_top_window_to_frame): Return 0 if wdesc is None.
2264
2265 2004-08-22 Richard M. Stallman <rms@gnu.org>
2266
2267 * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS,
2268 HAVE_TERMIOS]: If there's no char for this signal, drop through
2269 and use system calls.
2270
2271 * bytecode.c (Fbyte_code) <unwind-protect>: Cannot GC.
2272
2273 2004-08-20 Kim F. Storm <storm@cua.dk>
2274
2275 * process.c (wait_reading_process_output): Rename from
2276 wait_reading_process_input. All uses changed.
2277 (wait_reading_process_output_1): Rename from
2278 wait_reading_process_input_1. All uses changed.
2279
2280 * dispnew.c (Fsleep_for): Remove obsolete code.
2281
2282 2004-08-20 Kenichi Handa <handa@m17n.org>
2283
2284 * syntax.c (skip_chars): Fix for unibyte case.
2285
2286 2004-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
2287
2288 * syntax.c (char_quoted): Mixup byte/char pos.
2289 (back_comment): Fixup globals in all cases.
2290
2291 2004-08-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2292
2293 * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before
2294 passing it to gtk_window_set_title.
2295
2296 2004-08-19 Kim F. Storm <storm@cua.dk>
2297
2298 * process.c (wait_reading_process_input): Clean up.
2299 Add wait_for_cell, wait_proc, and just_wait_proc args
2300 to avoid overloading `read_kbd' and `do_display' args.
2301 Change read_kbd arg to int. All callers changed.
2302
2303 * process.c (process_send_signal): Use CDISABLE.
2304
2305 * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE.
2306
2307 2004-08-18 Kim F. Storm <storm@cua.dk>
2308
2309 * process.c (Faccept_process_output): Add arg JUST-THIS-ONE;
2310 forward to wait_reading_process_input via DO_DISPLAY arg.
2311 (wait_reading_process_input): If DO_DISPLAY < 0 for a process
2312 object, only process output from that process; also inhibit
2313 running timers if DO_DISPLAY==-2.
2314
2315 2004-08-17 Kim F. Storm <storm@cua.dk>
2316
2317 * process.c (process_send_signal): Fix last change--use
2318 _POSIX_VDISABLE instead of CVDISABLE when available.
2319
2320 2004-08-16 Richard M. Stallman <rms@gnu.org>
2321
2322 * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
2323 Set VQUIT and VINTR chars to the standard ones if they are unset.
2324 [AIX]: Don't do that here. And don't force VINTR to standard
2325 when SIGNALS_VIA_CHARACTERS.
2326
2327 * process.c (process_send_signal)
2328 [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up.
2329 Do nothing if the character is CVDISABLE.
2330
2331 * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op.
2332
2333 * intervals.c (move_if_not_intangible):
2334 Force POSITION to be between BEGV and ZV.
2335
2336 2004-08-14 John Paul Wallington <jpw@gnu.org>
2337
2338 * buffer.c (Frestore_buffer_modified_p): Doc fix.
2339
2340 * fileio.c (Fread_file_name): Doc fix.
2341
2342 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
2343
2344 2004-08-09 Luc Teirlinck <teirllm@auburn.edu>
2345
2346 * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
2347
2348 2004-08-08 Luc Teirlinck <teirllm@auburn.edu>
2349
2350 * keyboard.c: Declare Qdisabled_command_function instead of
2351 Qdisabled_command_hook.
2352 (Fcommand_execute): Use Qdisabled_command_function instead of
2353 Qdisabled_command_hook.
2354 (syms_of_keyboard): Ditto.
2355
2356 2004-08-07 Luc Teirlinck <teirllm@auburn.edu>
2357
2358 * keymap.c (Flocal_key_binding, Fglobal_key_binding)
2359 (syms_of_keymap) <key-translation-map>: Doc fixes.
2360
2361 2004-08-07 Stefan Monnier <monnier@iro.umontreal.ca>
2362
2363 * window.c (window_list_1): YAILOM.
2364
2365 * fileio.c (make_temp_name): Handle multibyte prefixes.
2366
2367 2004-08-06 Luc Teirlinck <teirllm@auburn.edu>
2368
2369 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2370 Doc fix.
2371
2372 2004-08-03 Kenichi Handa <handa@m17n.org>
2373
2374 * coding.c (decode_coding_string): Adjust coding->consumed, and
2375 etc. with shrinked_bytes.
2376
2377 2004-08-03 Kim F. Storm <storm@cua.dk>
2378
2379 * indent.c (compute_motion): Fix check for full width window
2380 in non-window case. Do not count left truncation glyph on
2381 window systems.
2382
2383 2004-08-02 Luc Teirlinck <teirllm@auburn.edu>
2384
2385 * data.c (Finteractive_form): Doc fix.
2386
2387 2004-08-02 Kim F. Storm <storm@cua.dk>
2388
2389 * indent.c (compute_motion): Use actual window width if WIDTH is -1,
2390 properly accounting for continuation glyph on non-window systems.
2391 (Fcompute_motion): Use actual window width if WIDTH is nil, and
2392 actual window width/height if TOPOS is nil, properly accounting for
2393 continuation glyphs on non-window systems, and optional header lines.
2394 (vmotion): Let compute_motion calculate actual window width.
2395
2396 * window.c (window_scroll_line_based): Let compute_motion
2397 calculate actual window width.
2398
2399 2004-08-02 Kim F. Storm <storm@cua.dk>
2400
2401 * process.c (read_process_output): Use whole read buffer.
2402 Don't trigger adaptive read buffering on errors.
2403
2404 2004-07-31 Luc Teirlinck <teirllm@auburn.edu>
2405
2406 * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
2407
2408 * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
2409
2410 * callint.c (Fcall_interactively): Doc fix.
2411
2412 2004-07-30 Richard M. Stallman <rms@gnu.org>
2413
2414 * abbrev.c (Fexpand_abbrev): Undo previous change.
2415
2416 2004-07-30 Kim F. Storm <storm@cua.dk>
2417
2418 * editfns.c (Fformat): Allocate extra (dummy) element in info.
2419
2420 2004-07-28 Luc Teirlinck <teirllm@auburn.edu>
2421
2422 * eval.c (Fdefvar, Fdefconst): Doc fixes.
2423
2424 2004-07-27 Kim F. Storm <storm@cua.dk>
2425
2426 * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after
2427 we have ensured that the glyph fits on the current line (or returned
2428 MOVE_LINE_CONTINUED otherwise).
2429
2430 2004-07-26 Kim F. Storm <storm@cua.dk>
2431
2432 * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe
2433 is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV
2434 if target position is at end of display line but char is not a newline.
2435
2436 2004-07-25 Richard M. Stallman <rms@gnu.org>
2437
2438 * window.c (coordinates_in_window): Return ON_SCROLL_BAR
2439 instead of ON_VERTICAL_BORDER, when on scroll bar.
2440 (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil.
2441
2442 * dispextern.h (enum window_part): Add ON_SCROLL_BAR.
2443
2444 * window.c (Fcoordinates_in_window_p):
2445 Take account of FRAME_INTERNAL_BORDER_WIDTH.
2446
2447 * alloc.c (check_cons_list): New function (contents commented out).
2448
2449 2004-07-24 Luc Teirlinck <teirllm@auburn.edu>
2450
2451 * xfaces.c (Fcolor_supported_p): Doc fix.
2452
2453 * frame.c (Fselect_frame, Fset_frame_selected_window)
2454 (Fframe_visible_p, Fraise_frame): Doc fixes.
2455
2456 2004-07-24 Richard M. Stallman <rms@gnu.org>
2457
2458 * keyboard.h (not_single_kboard_state): Declare.
2459
2460 * fileio.c (Fwrite_region): Doc fix.
2461
2462 * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH.
2463
2464 * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook
2465 only when a real abbrev is present.
2466
2467 * xfns.c (x_icon_verify): New function.
2468 (Fx_create_frame): Use it.
2469
2470 2004-07-22 Barry Fishman <barry_fishman@att.net> (tiny change)
2471
2472 * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined.
2473
2474 2004-07-21 Kim F. Storm <storm@cua.dk>
2475
2476 * window.h (struct glyph_matrix): New members nrows_scale_factor
2477 and ncols_scale_factor.
2478
2479 * window.c (make_window): Initialize nrows_scale_factor and
2480 ncols_scale_factor members.
2481
2482 * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor.
2483 (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up.
2484 (required_matrix_height): Apply nrows_scale_factor.
2485 (required_matrix_width): Apply ncols_scale_factor.
2486
2487 * xdisp.c (display_line): Increment nrows_scale_factor and set
2488 fonts_changed_p if past last allocated row.
2489 (append_glyph, append_composite_glyph, produce_image_glyph)
2490 (append_stretch_glyph): Increment ncols_scale_factor and set
2491 fonts_changed_p if current area is full.
2492
2493 2004-07-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2494
2495 * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0.
2496
2497 2004-07-19 Luc Teirlinck <teirllm@auburn.edu>
2498
2499 * window.c (Fpos_visible_in_window_p, Fset_window_hscroll)
2500 (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point)
2501 (Fset_window_start, Fscroll_up, Fscroll_down)
2502 (Fother_window_for_scrolling, Fscroll_other_window)
2503 (Fsave_window_excursion, Fset_window_vscroll)
2504 (syms_of_window) <window-size-fixed>: Doc fixes.
2505
2506 2004-07-19 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
2507
2508 * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of
2509 ENCODE_SYSTEM for filenames.
2510
2511 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2512
2513 * mac.c (sys_select): Block input around call to
2514 ReceiveNextEvent to prevent breakage. Correctly handle
2515 blocking on event queue only by calling ReceiveNextEvent
2516 instead of select (since GUI events aren't on an fd).
2517 (sys_read): Remove function
2518 * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
2519
2520 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2521
2522 * mac.c (sys_select): Redo sys_select to use alarm-based
2523 polling instead of 1 sec timeouts (like solaris).
2524
2525 * macterm.c (x_make_frame_visible): Comment in polling on
2526 frame creation.
2527
2528 * keyboard.c: Undef SIGIO on Carbon
2529
2530 * atimer.c (alarm_signal_handler): Call alarm handlers after
2531 scheduling.
2532
2533 * eval.c (Feval): Remove quit_char test
2534
2535 * process.c (wait_reading_process_input): Remove clearing
2536 stdin for select call on process input.
2537
2538 2004-07-18 Luc Teirlinck <teirllm@auburn.edu>
2539
2540 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Correct
2541 capitalization error in docstring.
2542
2543 2004-07-17 Juanma Barranquero <lektu@terra.es>
2544
2545 * keyboard.c (not_single_kboard_state): Do nothing unless
2546 MULTI_KBOARD is defined.
2547
2548 2004-07-17 Richard M. Stallman <rms@gnu.org>
2549
2550 * window.c (coordinates_in_window): Inside the window but outside
2551 its box to the L or R, return ON_VERTICAL_BORDER.
2552 (window_list_1): Rotate the list to start with WINDOW.
2553
2554 * print.c (print_preprocess): Test for print_depth at limit
2555 before entering in being_printed.
2556
2557 * keyboard.c (not_single_kboard_state): New function.
2558 (stuff_buffered_input): Now no-op only if no SIGTSTP.
2559
2560 * frame.c (Fdelete_frame): If we're in single_bboard_state on
2561 this kboard, and we delete its last frame, go to any_kboard_state.
2562
2563 * buffer.c (syms_of_buffer) <transient-mark-mode>: Doc fix.
2564
2565 2004-07-15 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
2566
2567 * w32fns.c (Fx_file_dialog): Encode strings in system coding
2568 system before passing them to OS functions for display.
2569
2570 2004-07-15 David Kastrup <dak@gnu.org>
2571
2572 * search.c (syms_of_search): Staticpro `saved_last_thing_searched'.
2573 Apparently fixes an abort condition.
2574
2575 2004-07-14 Luc Teirlinck <teirllm@auburn.edu>
2576
2577 * fileio.c (Fvisited_file_modtime): Return a list of two integers,
2578 instead of a cons.
2579
2580 2004-07-14 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
2581
2582 * keyboard.c (echo_dash): Do nothing if there already is a dash
2583 at the end of the echo string.
2584
2585 2004-07-12 Kim F. Storm <storm@cua.dk>
2586
2587 * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
2588 if GC_MARK_STACK.
2589
2590 2004-07-10 Luc Teirlinck <teirllm@auburn.edu>
2591
2592 * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
2593
2594 * window.c (Fwindow_buffer, Fother_window, Fget_lru_window)
2595 (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
2596 (Freplace_buffer_in_windows, Fset_window_buffer)
2597 (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
2598 (syms_of_window): Expand docstring of `display-buffer-function'.
2599
2600 2004-07-09 Luc Teirlinck <teirllm@auburn.edu>
2601
2602 * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
2603 (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
2604 that time values of the type (HIGH . LOW) are considered obsolete.
2605
2606 2004-07-06 Luc Teirlinck <teirllm@auburn.edu>
2607
2608 * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
2609 docstring.
2610
2611 * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
2612
2613 2004-07-06 John Paul Wallington <jpw@gnu.org>
2614
2615 * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
2616
2617 * fns.c (Fclear_string): Signal an error if STRING is not a string.
2618
2619 2004-07-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2620
2621 * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
2622 instead of CGMainDisplayID (only in OSX 10.2 and later).
2623
2624 2004-07-04 John Paul Wallington <jpw@gnu.org>
2625
2626 * fileio.c (read_file_name_completion_ignore_case): New variable.
2627 (syms_of_fileio): Declare and initialise it.
2628 (Fread_file_name): Bind `completion-ignore-case' to respect it.
2629
2630 2004-07-03 Eli Zaretskii <eliz@gnu.org>
2631
2632 * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
2633 for event.x and event.y.
2634
2635 2004-07-01 Kenichi Handa <handa@m17n.org>
2636
2637 * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
2638 after getting a new string by pre-write-conversion.
2639
2640 2004-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
2641
2642 * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
2643 (x_calc_absolute_position): Remove unused var `child'.
2644
2645 * xfaces.c (x_supports_face_attributes_p)
2646 (Fdisplay_supports_face_attributes_p): YAILOM.
2647 (tty_supports_face_attributes_p): Remove unused var `i'.
2648
2649 * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
2650 back_unibyte_ok.
2651
2652 * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
2653
2654 * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'.
2655
2656 * Makefile.in (${etc}DOC): Fix file name of make-docfile.
2657
2658 2004-06-30 Andreas Schwab <schwab@suse.de>
2659
2660 * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
2661 (Finit_image_library): Pass LIBRARIES through to
2662 CHECK_LIB_AVAILABLE. Declare parameters. Doc fix.
2663 (lookup_image_type): Pass Qnil as second argument to
2664 Finit_image_library.
2665
2666 * lisp.h (Finit_image_library): Declare.
2667
2668 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2669
2670 * macterm.c (do_window_activate, do_window_deactivate): Remove.
2671 (XTread_socket): Send mouse button events to the toolbox
2672 dispatcher even when the mouse is grabbed. Don't process window
2673 activate events for non-Emacs windows. Replace function calls to
2674 do_window_activate and do_window_deactivate with their contents.
2675 Reset mouse grabbing status when a window is deactivated.
2676
2677 2004-06-29 Steven Tamm <steventamm@mac.com>
2678
2679 * macterm.c (mac_get_emulated_btn)
2680 (mac_event_to_emacs_modifiers): Fix emulated mouse button
2681 support to correctly mask out modifiers.
2682
2683 2004-06-29 David Kastrup <dak@gnu.org>
2684
2685 * search.c (Fset_match_data): Allow buffer before end of list
2686 which can happen if set-match-data is using a pre-consed list.
2687
2688 2004-06-28 Steven Tamm <steventamm@mac.com>
2689
2690 * macterm.c (XTread_socket): Correctly set the frame position
2691 after the window is moved.
2692
2693 2004-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2694
2695 * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
2696 gpix and gmask just before return to avoid memory leak.
2697 (xg_get_image_for_pixmap): Add workaround for monochrome displays
2698 so insensitive and activated icons look ok.
2699
2700 2004-06-27 Jason Rumney <jasonr@gnu.org>
2701
2702 * w32fns.c (file_dialog_callback): Disable edit control if set
2703 to directories only on CDN_INITDONE message.
2704 (Fx_file_dialog): Default to directories only when prompt starts
2705 with "Dired".
2706
2707 2004-06-25 Kim F. Storm <storm@cua.dk>
2708
2709 * alloc.c (allocate_misc): Update total_free_markers.
2710 (free_misc): New function.
2711 (safe_alloca_unwind, free_marker): Use it.
2712
2713 * lisp.h (free_misc): Add prototype.
2714
2715 * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
2716
2717 2004-06-24 Richard M. Stallman <rms@gnu.org>
2718
2719 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
2720 (syms_of_emacs): Lisp variables deleted.
2721
2722 2004-06-23 David Kastrup <dak@gnu.org>
2723
2724 * search.c (Freplace_match): Adjust the match-data more thoroughly
2725 when replacing strings in the buffer.
2726 (Fmatch_data): When INTEGERS is non-nil and the last match was in
2727 a buffer, add the buffer as last element to the match data.
2728 (Fset_match_data): If an additional element of the match-data is a
2729 buffer, restore it to last_thing_searched.
2730 (save_search_regs): Save last_thing_searched as part of the match data.
2731 (restore_match_data): Restore it again.
2732
2733 2004-06-23 Luc Teirlinck <teirllm@auburn.edu>
2734
2735 * keymap.c (Ftext_char_description): Doc fix.
2736 * doc.c (Fsnarf_documentation): Doc fix.
2737
2738 2004-06-22 Kim F. Storm <storm@cua.dk>
2739
2740 * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
2741
2742 * lisp.h (struct Lisp_Save_Value): New member dogc.
2743 (SAFE_ALLOCA_LISP): Change second arg to number of elements.
2744 Set dogc member in Lisp_Save_Value object so it will be GC'ed.
2745 (SAFE_FREE_LISP): New macro.
2746
2747 * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
2748 (make_save_value): Init new dogc member.
2749 (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
2750
2751 * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
2752 SAFE_FREE_LISP macros.
2753
2754 2004-06-22 Kim F. Storm <storm@cua.dk>
2755
2756 * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
2757 Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
2758 in that memory area are unknown to GC. Add comments.
2759
2760 * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
2761
2762 2004-06-21 Kim F. Storm <storm@cua.dk>
2763
2764 * lisp.h (MAX_ALLOCA): Define here.
2765 (safe_alloca_unwind): Add prototype.
2766 (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
2767
2768 * alloc.c (safe_alloca_unwind): New function.
2769
2770 * casefiddle.c (casify_object): Use SAFE_ALLOCA.
2771
2772 * charset.c (Fstring): Use SAFE_ALLOCA.
2773
2774 * coding.c (MAX_ALLOCA): Remove define.
2775
2776 * data.c (MAX_ALLOCA): Remove define.
2777 (Faset): Use SAFE_ALLOCA.
2778
2779 * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
2780
2781 * fns.c (string_make_multibyte, string_to_multibyte)
2782 (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
2783 (MAX_ALLOCA): Remove define.
2784 (Fbase64_encode_region, Fbase64_encode_string)
2785 (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
2786 (Fbase64_encode_region, Fbase64_encode_string): Fix potential
2787 memory leak if encoding fails.
2788
2789 * xdisp.c (add_to_log): Use SAFE_ALLOCA.
2790
2791 2004-06-21 Eli Zaretskii <eliz@gnu.org>
2792
2793 * print.c (Fwith_output_to_temp_buffer): Doc fix.
2794
2795 2004-06-20 Richard M. Stallman <rms@gnu.org>
2796
2797 * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
2798
2799 * search.c (match_limit): Cleaner err msg when no match data available.
2800
2801 * window.c (syms_of_window): Doc fix.
2802
2803 * keyboard.c (command_loop_1): Handle values `only' and `identity'
2804 for Vtransient_mark_mode.
2805
2806 * buffer.c (syms_of_buffer): Doc fix.
2807
2808 2004-06-21 David Kastrup <dak@gnu.org>
2809
2810 * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
2811 and unbinding of `case-fold-search' according to
2812 `completion-ignore-case' around calls of string-match and
2813 predicates, respectively. Should give satisfactory performance
2814 in all relevant cases.
2815
2816 2004-06-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2817
2818 * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
2819 clip_x/y_origin.
2820
2821 * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
2822
2823 * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
2824
2825 * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
2826 on Mac OSX.
2827
2828 2004-06-16 Luc Teirlinck <teirllm@auburn.edu>
2829
2830 * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
2831
2832 2004-06-16 Kim F. Storm <storm@cua.dk>
2833
2834 * dispextern.h (Vimage_types): Remove extern.
2835
2836 2004-06-16 Miles Bader <miles@gnu.org>
2837
2838 * image.c (lookup_image_type): Initialize image type if necessary.
2839
2840 2004-06-15 Kim F. Storm <storm@cua.dk>
2841
2842 * xdisp.c (try_cursor_movement): Exclude header line from scroll
2843 margin at top of window.
2844 (try_window_reusing_current_matrix): Calculate proper cursor position
2845 after scrolling up with non-zero scroll margin, as the old cursor
2846 position corresponds to value of PT before executing this command.
2847 (try_window_id): Consider scroll margin at bottom of window too;
2848 otherwise we fail to scroll when hl-line-mode is enabled.
2849
2850 * syntax.c (skip_chars): Only recognize [:class:] when it has the
2851 proper format and class is a lower-case word.
2852
2853 2004-06-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2854
2855 * gtkutil.c (xg_get_image_for_pixmap): New function.
2856 (xg_get_gdk_pixmap_and_mask): Remove.
2857 (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
2858 xg_get_gdk_pixmap_and_mask.
2859
2860 * xterm.h (struct x_display_info): Typo in comment fixed.
2861
2862 2004-06-14 Juanma Barranquero <lektu@terra.es>
2863
2864 * dispextern.h (Vimage_types): Make it conditional on
2865 HAVE_WINDOW_SYSTEM.
2866
2867 * image.c (Vimage_types): Move from xdisp.c.
2868 (Vimage_type_cache): New variable.
2869 (define_image_type): New argument indicating whether an image
2870 library was loaded; cache loaded status and return t on success,
2871 nil otherwise.
2872 (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
2873 (w32_delayed_load): New function to load an image library from a
2874 list of possible filenames.
2875 (init_xpm_functions, init_png_functions, init_jpeg_functions)
2876 (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
2877 (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
2878 (Finit_image_library): New function, extracted from `init_image'.
2879 Try to initialize an image library on demand and cache whether we
2880 were successful or not.
2881 (syms_of_image): Initialize `Vimage_types' and
2882 `Vimage_type_cache'. Add recognized image types to Vimage_types.
2883 Export `init-image-library'.
2884 (init_image): Remove initialization of all image types, except xbm
2885 and pbm.
2886
2887 * xdisp.c (Vimage_types): Delete (moved to image.c).
2888
2889 2004-06-14 Andreas Schwab <schwab@suse.de>
2890
2891 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
2892 Avoid calling specbind when completion-regexp-list is empty.
2893
2894 2004-06-13 Richard M. Stallman <rms@gnu.org>
2895
2896 * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
2897 (re_wctype, re_iswctype, re_wctype_to_bit):
2898 Non-function definitions moved here from regex.c.
2899
2900 * regex.c (re_wctype, re_iswctype): Function defs longer static.
2901 (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
2902 (re_wctype, re_iswctype, re_wctype_to_bit):
2903 Non-function definitions moved to regex.h.
2904
2905 * window.c (Fselect_window): Doc fix.
2906
2907 * syntax.c: Include regex.h.
2908 (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed.
2909 If requested, make a list of classes, then check the scanned
2910 chars for membership in them.
2911 (in_classes): New function.
2912 Doc fix.
2913
2914 * keyboard.c (cmd_error): Don't call any_kboard_state
2915 if inside a recursive edit level.
2916
2917 2004-06-13 Lorentey K\e,Aa\e(Broly <lorentey@elte.hu>
2918
2919 * keyboard.c (command_loop): Call any_kboard_state before
2920 command_loop_2 when at top level.
2921
2922 2004-06-13 Andreas Schwab <schwab@suse.de>
2923
2924 * print.c (print_object): Always use %ld for printing EMACS_INT.
2925
2926 * keyboard.c (cancel_hourglass_unwind): Return a value.
2927 (modify_event_symbol): Always use %ld for printing EMACS_INT.
2928 (Fexecute_extended_command): Likewise.
2929
2930 * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
2931 avoid clashes.
2932 (SYNTAX): Likewise.
2933 (SYNTAX_WITH_FLAGS): Likewise.
2934 (SYNTAX_MATCH): Likewise.
2935
2936 * syntax.c (char_quoted): Avoid warning about undefined operation.
2937 (find_defun_start): Likewise.
2938 (scan_lists): Likewise.
2939 (INC_FROM): Likewise.
2940 (scan_sexps_forward): Likewise.
2941
2942 * image.c: Include <ctype.h>.
2943
2944 * xfaces.c (face_attr_equal_p): Declare parameters.
2945
2946 2004-06-13 Kenichi Handa <handa@m17n.org>
2947
2948 * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
2949
2950 2004-06-12 Matthew Mundell <matt@mundell.ukfsn.org>
2951
2952 * eval.c (Fdefun): Signal an error if NAME is not a symbol.
2953
2954 2004-06-12 Kenichi Handa <handa@m17n.org>
2955
2956 * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
2957 ccl_prog_stack_struct and update it.
2958 (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
2959 (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
2960 ccl->eof_ic on EOF.
2961 (ccl_debug_hook): New function.
2962 (struct ccl_prog_stack): New member eof_ic.
2963 (ccl_driver): Handle EOF in subrountine call correctly.
2964
2965 2004-06-11 Kenichi Handa <handa@m17n.org>
2966
2967 * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
2968
2969 2004-06-11 Kim F. Storm <storm@cua.dk>
2970
2971 * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
2972
2973 2004-06-11 Juanma Barranquero <lektu@terra.es>
2974
2975 * keyboard.c (Fposn_at_point): Doc fix.
2976
2977 2004-06-11 David Kastrup <dak@gnu.org>
2978
2979 * search.c (match_limit): Don't flag an error if match-data
2980 exceeding the allocated search_regs.num_regs gets requested, just
2981 return Qnil.
2982
2983 2004-06-08 Miles Bader <miles@gnu.org>
2984
2985 * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
2986
2987 2004-06-07 Juanma Barranquero <lektu@terra.es>
2988
2989 * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
2990 (Fcurrent_time_string, Fcurrent_time_zone)
2991 (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
2992
2993 2004-06-07 Miles Bader <miles@gnu.org>
2994
2995 * xfaces.c (struct named_merge_point): New type.
2996 (push_named_merge_point): New function.
2997 (merge_named_face): New function.
2998 (merge_face_ref, face_at_buffer_position, face_at_string_position):
2999 Use `merge_named_face'.
3000 (merge_face_inheritance): Function removed.
3001 (merge_face_ref): Rename from `merge_face_vector_with_property'.
3002 Add new `err_msgs' and `named_merge_points' args. Return error
3003 status. Only print error messages if ERR_MSGS is true. Don't try to
3004 do :inherit attribute validation.
3005 (merge_face_heights): Handle `unspecified' in both directions.
3006 (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
3007 Call `merge_face_ref' instead of `merge_face_inheritance'.
3008 (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
3009 (compute_char_face, face_at_buffer_position)
3010 (face_at_string_position): Call `merge_face_ref' instead of
3011 `merge_face_vector_with_property'.
3012
3013 2004-06-07 Kenichi Handa <handa@m17n.org>
3014
3015 * coding.c (find_safe_codings): Check NILP (safe_codings) only at
3016 the necessary places.
3017
3018 2004-06-07 Kim F. Storm <storm@cua.dk>
3019
3020 * process.c (Fdelete_process): Undo 2004-05-28 change.
3021 Instead, call status_notify also for network process.
3022 (status_message): Use process instead of status as arg.
3023 Give messages "deleted" or "connection broken by remote peer" for
3024 an exited network process.
3025 (status_notify): Change call to status_message.
3026 (read_process_output): Increase readmax to 4096. Do not increase
3027 buffer size for datagram channels (default is now large enough).
3028
3029 2004-06-06 Steven Tamm <tamm@Steven-Tamms-Computer.local>
3030
3031 * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
3032 problem due to newly defined variable.
3033
3034 2004-06-06 Miles Bader <miles@gnu.org>
3035
3036 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
3037 immediately if non-interactive or not initialized.
3038
3039 2004-06-05 Richard M. Stallman <rms@gnu.org>
3040
3041 * minibuf.c (Fcompleting_read): Doc fix.
3042
3043 2004-06-05 Andreas Schwab <schwab@suse.de>
3044
3045 * macfns.c (x_create_tip_frame): Fix declaration after statement.
3046
3047 2004-06-05 Juanma Barranquero <lektu@terra.es>
3048
3049 * keymap.c (Fdescribe_vector): Fix docstring.
3050 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
3051
3052 2004-06-05 Miles Bader <miles@gnu.org>
3053
3054 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
3055 attributes have different values than the default face.
3056
3057 2004-06-04 Eli Zaretskii <eliz@gnu.org>
3058
3059 * xfaces.c (x_supports_face_attributes_p): Make this function
3060 conditional on HAVE_WINDOW_SYSTEM.
3061 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
3062 Don't call x_supports_face_attributes_p if it was not compiled in.
3063
3064 2004-06-04 Miles Bader <miles@gnu.org>
3065
3066 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
3067 from Ftty_supports_face_attributes_p.
3068 (x_supports_face_attributes_p): New function.
3069 (Ftty_supports_face_attributes_p): Function deleted.
3070 (Fdisplay_supports_face_attributes_p): New function.
3071 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
3072 (face_attr_equal_p): New function.
3073 (lface_equal_p): Use it.
3074
3075 2004-06-03 Juanma Barranquero <lektu@terra.es>
3076
3077 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
3078 (Vw32_color_map): Fix typo in docstring.
3079 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
3080 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
3081 Make argument names match their use in docstring.
3082
3083 2004-06-02 Juanma Barranquero <lektu@terra.es>
3084
3085 Work around bugs/problems with MinGW builds of graphics libraries
3086 called from MSVC builds of Emacs.
3087
3088 * image.c (lookup_image): Make pointer to img static.
3089 (png_read_from_memory): Disable "global" optimization.
3090
3091 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
3092
3093 * eval.c (Fcondition_case): Fix usage. Simplify.
3094
3095 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
3096
3097 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3098
3099 * macfns.c: Don't include ccl.h.
3100 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
3101 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
3102 TextUtils.h.
3103 (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors.
3104 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
3105 display height/width.
3106 (compute_tip_xy, Vx_max_tooltip_size): Declare.
3107 (unwind_create_tip_frame, compute_tip_xy): New functions.
3108 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
3109 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
3110 and last_show_tip_args.
3111
3112 * macgui.h [!MAC_OSX]: Include Gestalt.h.
3113 (Cursor, No_Cursor): New defines.
3114 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
3115 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
3116
3117 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
3118
3119 * macterm.c: Don't include Gestalt.h.
3120 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
3121 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
3122 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
3123 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
3124 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
3125 (construct_mouse_click, XTmouse_position)
3126 (x_scroll_bar_report_motion, x_calc_absolute_position)
3127 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
3128 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
3129 (note_mouse_movement): Clear the mouse face and reset the pointer
3130 shape when the pointer goes outside the frame without grabbing.
3131 (mac_front_window): New function.
3132 (mac_window_to_frame): New macro.
3133 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
3134 (do_window_activate, do_window_deactivate, do_app_resume)
3135 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
3136 (do_zoom_window, mac_do_receive_drag, XTread_socket)
3137 (mac_check_for_quit_char): Use mac_front_window and/or
3138 mac_window_to_frame.
3139 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
3140 scroll-bar click event.
3141 (mac_define_frame_cursor): Change the pointer shape.
3142 (x_free_frame_resources): Reset tip_window to NULL when it is disposed.
3143 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
3144 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
3145 (do_window_update): Don't do anything if the updated window is the
3146 tooltip window.
3147 (do_mouse_moved): Handle mouse movement events here (previously in
3148 XTread_socket). Clear the mouse face if
3149 dpyinfo->mouse_face_hidden is set.
3150 (do_os_event, do_events): Remove (now in XTread_socket).
3151 (XTread_socket): Immediately return if interrupt_input_blocked.
3152 Loop until all the events in the queue are processed.
3153 Rearrange codes for mouse grabbing. Add tooltip support. Include the
3154 contents of do_os_event and do_events. Remove mouse movement
3155 handling (now in do_mouse_moved). Add the case where
3156 Vmouse_highlight has an integer value.
3157 (NewMacWindow): Remove.
3158 (make_mac_frame): Do what NewMacWindow previously did. Don't do
3159 excess initializations.
3160 (make_mac_terminal_frame): Previous initializations in
3161 make_mac_frame are moved here.
3162 (mac_initialize_display_info):
3163 Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
3164
3165 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
3166 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
3167
3168 2004-05-29 Richard M. Stallman <rms@gnu.org>
3169
3170 * lisp.h (truncate_undo_list): Update decl.
3171
3172 * alloc.c (undo_outer_limit): New variable.
3173 (syms_of_alloc): Defvar it.
3174 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
3175
3176 * undo.c (truncate_undo_list): New arg LIMITSIZE.
3177
3178 * alloc.c (lisp_align_malloc): Check for base == 0
3179 regardless of HAVE_POSIX_MEMALIGN.
3180 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
3181
3182 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3183
3184 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
3185 (marker_blocks_pending_free): Remove.
3186 (Fgarbage_collect): Sweep after cleaning up undo-lists.
3187 Mark the undo lists after claning them up.
3188 Don't free block in marker_blocks_pending_free.
3189 (mark_buffer): Don't mark undo_list.
3190 (gc_sweep): Sweep hash-tables and strings first.
3191 Do free marker blocks that are empty.
3192
3193 2004-05-28 Jim Blandy <jimb@redhat.com>
3194
3195 * regex.c (print_partial_compiled_pattern): Add missing 'break'
3196 after 'case wordend'. For symbeg and symend, print to stderr,
3197 like the other cases.
3198
3199 2004-05-28 Noah Friedman <friedman@splode.com>
3200
3201 * process.c (Fdelete_process): Do not call remove_process.
3202
3203 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
3204
3205 * alloc.c (struct backtrace): Remove.
3206 (Fgarbage_collect): Use the new mark_backtrace.
3207
3208 * eval.c (mark_backtrace): New function.
3209
3210 * minibuf.c (run_exit_minibuf_hook): New function.
3211 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
3212 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
3213
3214 2004-05-27 Kim F. Storm <storm@cua.dk>
3215
3216 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
3217 over display properties, e.g. images, that replace buffer text.
3218
3219 2004-05-25 Kim F. Storm <storm@cua.dk>
3220
3221 * alloc.c (marker_blocks_pending_free): New var.
3222 (gc_sweep): Store free marker blocks on that list.
3223 (Fgarbage_collect): Free them after undo-list cleanup.
3224
3225 * process.c (wait_reading_process_input): Check connect_wait_mask
3226 before actually accepting connection in case it has already been
3227 accepted due to recursion.
3228
3229 2004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
3230
3231 * coding.c (Fset_safe_terminal_coding_system_internal):
3232 Set suppress_error in safe_terminal_coding, not terminal_coding.
3233
3234 2004-05-22 Richard M. Stallman <rms@gnu.org>
3235
3236 * alloc.c (Fmake_string): Doc fix.
3237
3238 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
3239 and the alist pairs too.
3240
3241 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
3242
3243 * emacs.c (main): Update copyright year.
3244
3245 * fileio.c (Fread_file_name): Expand DIR if not absolute.
3246
3247 * insdel.c (del_range_2, replace_range): Don't write an anchor
3248 if the gap is empty.
3249
3250 * xdisp.c (try_scrolling): If scroll-up-aggressively or
3251 scroll-down-aggressively is small but positive, put point
3252 near the screen edge.
3253
3254 2004-05-22 Juanma Barranquero <lektu@terra.es>
3255
3256 * keymap.c (Fdefine_key): Doc fix.
3257
3258 2004-05-22 Kim F. Storm <storm@cua.dk>
3259
3260 * alloc.c (struct backtrace): Add debug_on_exit member.
3261 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
3262 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
3263 the removed cons cells.
3264 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
3265 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
3266 any cons cells pointing to unallocated stings.
3267 Do not lisp_free any marker blocks, as there may still be pointers
3268 to them from buffer undo lists at this stage of GC.
3269
3270 * keyboard.c (struct backtrace): Add debug_on_exit member.
3271 (Fcommand_execute): Clear it.
3272
3273 2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
3274
3275 * intervals.c (lookup_char_property): Do not prematurely return nil.
3276
3277 2004-05-19 Jim Blandy <jimb@redhat.com>
3278
3279 Add support for new '\_<' and '\_>' regexp operators, matching the
3280 beginning and end of symbols.
3281
3282 * regex.c (enum syntaxcode): Add Ssymbol.
3283 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
3284 (re_opcode_t): New opcodes `symbeg' and `symend'.
3285 (print_partial_compiled_pattern): Print the new opcodes properly.
3286 (regex_compile): Parse the new operators.
3287 (analyse_first): Skip sym(beg|end) (they match only the empty string).
3288 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
3289 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
3290 (re_match_2_internal): Match symbeg and symend.
3291
3292 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
3293
3294 2004-05-19 Kim F. Storm <storm@cua.dk>
3295
3296 * .gdbinit (xsymbol): Fix last change.
3297
3298 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
3299
3300 * .gdbinit (xprintstr): New fun.
3301 (xstring, xprintsym): Use it.
3302
3303 * w32proc.c (create_child): Use INTMASK.
3304
3305 * alloc.c (Fgarbage_collect): Do all the marking before flushing
3306 unmarked elements of the undo list.
3307
3308 2004-05-18 David Ponce <david@dponce.com>
3309
3310 * print.c (print): Reset print_depth before to call print_object.
3311
3312 2004-05-18 Jason Rumney <jasonr@gnu.org>
3313
3314 * w32console.c: Prefix RIF functions with w32con_ to avoid
3315 namespace clash with functions in term.c and w32term.c.
3316
3317 * w32menu.c (add_menu_item, w32_menu_display_help)
3318 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
3319
3320 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
3321
3322 2004-05-18 Eli Zaretskii <eliz@gnu.org>
3323
3324 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
3325
3326 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
3327 with make_number.
3328 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
3329 with XINT.
3330
3331 2004-05-18 Kim F. Storm <storm@cua.dk>
3332
3333 * blockinput.h (INPUT_BLOCKED_P): New macros.
3334
3335 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
3336 (Ftop_level): Unblock input if blocked.
3337
3338 * buffer.h (GET_OVERLAYS_AT): New macro.
3339 * msdos.c (IT_note_mouse_highlight): Use it.
3340 * textprop.c (get_char_property_and_overlay): Use it.
3341 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
3342 * xfaces.c (face_at_buffer_position): Use it.
3343
3344 * print.c (print_object): Increase buf size.
3345
3346 2004-05-17 Jason Rumney <jasonr@gnu.org>
3347
3348 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
3349 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
3350 Lisp_Object using i member.
3351 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
3352 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
3353 consistently.
3354
3355 * w32proc.c (create_child): Use make_number instead of masking pid.
3356
3357 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
3358 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
3359 Use EQ to compare Lisp_Objects.
3360 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
3361
3362 * w32term.c (w32_num_mouse_buttons): Rename from
3363 Vw32_num_mouse_buttons and make it an int.
3364
3365 * w32.c (init_environment): Use it.
3366
3367 * w32fns.c (w32_wnd_proc): Likewise.
3368
3369 * w32proc.c (w32_pipe_read_delay): Rename from
3370 Vw32_pipe_read_delay and make it an int.
3371
3372 * w32.c (_sys_read_ahead): Use it.
3373
3374 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
3375
3376 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
3377
3378 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
3379 (key_event): Don't mix Lisp_Object and int.
3380
3381 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
3382
3383 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
3384 modifiers in language change event.
3385
3386 2004-05-17 Kim F. Storm <storm@cua.dk>
3387
3388 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
3389 Such objects may be freed markers which still exist on an undo list.
3390
3391 2004-05-16 Juanma Barranquero <lektu@terra.es>
3392
3393 * data.c (Fset_default): Make argument names match their use in
3394 docstring.
3395
3396 2004-05-15 Andreas Schwab <schwab@suse.de>
3397
3398 * emacs.c (gdb_array_mark_flag): Define.
3399 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
3400
3401 2004-05-15 Eli Zaretskii <eliz@gnu.org>
3402
3403 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
3404 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
3405 defined for the MS-DOS build.
3406
3407 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
3408
3409 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
3410
3411 2004-05-14 Kenichi Handa <handa@m17n.org>
3412
3413 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
3414
3415 2004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3416
3417 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
3418 section to frame.c section.
3419 (Fxw_display_color_p, Fx_file_dialog): Declare if
3420 HAVE_WINDOW_SYSTEM defined.
3421
3422 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
3423
3424 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
3425
3426 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
3427 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
3428 (XTread_socket): Fix int/Lisp_Object mixup.
3429 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
3430
3431 * macterm.h (struct frame, struct face, struct image)
3432 (display_x_get_resource, Fx_display_color_p)
3433 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
3434 Add prototypes.
3435
3436 2004-05-14 Kim F. Storm <storm@cua.dk>
3437
3438 * process.c (wait_reading_process_input): Make reentrant.
3439 Make Available and Connecting non-static. Save and restore value
3440 of waiting_for_user_input_p.
3441
3442 2004-05-13 Kim F. Storm <storm@cua.dk>
3443
3444 * keyboard.c (mark_kboards): Don't mark x and y members
3445 that are overloaded in selection request events.
3446
3447 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
3448
3449 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
3450
3451 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
3452
3453 * window.c (Fdisplay_buffer, Fsplit_window)
3454 (split-height-threshold): Doc fix.
3455
3456 2004-05-13 Juanma Barranquero <lektu@terra.es>
3457
3458 * xfaces.c (Ftty_supports_face_attributes_p)
3459 (Finternal_copy_lisp_face): Fix typo in docstring.
3460 (Finternal_get_lisp_face_attribute): Fix docstring.
3461
3462 2004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3463
3464 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
3465
3466 2004-05-11 Steven Tamm <steventamm@mac.com>
3467
3468 * macfns.c (Fx_create_frame): Default to using tool-bar by
3469 setting tool-bar-lines to 1 in default-frame-alist.
3470
3471 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3472
3473 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
3474 (xpm_get_color_table_v, xpm_make_color_table_h)
3475 (xpm_put_color_table_h, xpm_get_color_table_h)
3476 (xpm_str_to_color_key, xpm_load_image, xpm_load)
3477 (syms_of_image): Support XPM on Carbon Emacs. Does not
3478 depend on libXpm, but only supports XPM version 3 without extensions.
3479
3480 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3481
3482 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
3483 instead of FRAME_X_P
3484
3485 2004-05-11 Kim F. Storm <storm@cua.dk>
3486
3487 * process.c (read_process_output): Grow decoding_buf when needed;
3488 this could cause a crash in allocate_string and compact_small_strings.
3489
3490 2004-04-29 Jim Blandy <jimb@redhat.com>
3491
3492 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
3493 against proper opcode.
3494
3495 2004-05-10 Juanma Barranquero <lektu@terra.es>
3496
3497 * process.c (Fstart_process): Fix docstring.
3498
3499 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
3500 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
3501 (Fsplit_char, Fchar_charset): Make argument names match their use
3502 in docstring.
3503
3504 2004-05-10 Richard M. Stallman <rms@gnu.org>
3505
3506 * print.c (print_preprocess): Use being_printed, loop_count and
3507 halftail to detect overdeep nesting and cyclic cdr chains.
3508
3509 2004-05-10 Andreas Schwab <schwab@suse.de>
3510
3511 * lisp.h (Fmake_symbolic_link): Declare.
3512
3513 * fileio.c (Frename_file): Remove extra argument in call to
3514 Fmake_symbolic_link.
3515
3516 2004-05-10 Kim F. Storm <storm@cua.dk>
3517
3518 * xdisp.c (calc_line_height_property): Use string position when
3519 object is a string.
3520
3521 2004-05-10 Kenichi Handa <handa@m17n.org>
3522
3523 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
3524 inhibit-modification-hooks to t temporarily before calling
3525 Ferase_buffer.
3526
3527 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
3528 inhibit-modification-hooks to t temporarily before calling
3529 Ferase_buffer.
3530
3531 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
3532 inhibit-modification-hooks to t temporarily before calling
3533 Ferase_buffer.
3534
3535 * fns.c (count_combining): Delete it.
3536 (concat): Don't check combining bytes.
3537
3538 2004-05-09 Jason Rumney <jasonr@gnu.org>
3539
3540 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
3541 (globals_of_w32fns): Set it.
3542
3543 2004-05-09 Piet van Oostrum <piet@cs.uu.nl>
3544
3545 * data.c (Fquo): Simplify.
3546
3547 2004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
3548
3549 * data.c (Fquo): If any argument is float, do the computation in
3550 floating point.
3551
3552 2004-05-08 Juanma Barranquero <lektu@terra.es>
3553
3554 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
3555 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
3556 Fix spelling of Emacs on docstring.
3557 (Fset_process_coding_system, Fprocess_coding_system)
3558 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
3559 Make argument names match their use in docstring.
3560 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
3561 Fix docstring.
3562
3563 * editfns.c (Finsert_buffer_substring): Make argument names match their
3564 use in docstring.
3565
3566 * syntax.c (Fmodify_syntax_entry): Fix docstring.
3567
3568 2004-05-07 Steven Tamm <steventamm@mac.com>
3569
3570 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
3571 around call to ReceiveEvent to avoid certain crashes.
3572
3573 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3574
3575 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
3576 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
3577 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
3578 Save/restore the current graphics port and device handle when
3579 drawing into an offscreen graphics world.
3580
3581 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
3582 (gif_load): Likewise.
3583
3584 2004-05-07 Juanma Barranquero <lektu@terra.es>
3585
3586 * window.c (Fset_window_buffer): Fix docstring.
3587
3588 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
3589
3590 * emacs.c (main) [VMS]: Fix var ref.
3591
3592 2004-05-06 Romain Francoise <romain@orebokech.com>
3593
3594 * data.c (Fsetq_default): Fix docstring.
3595
3596 2004-05-06 Jason Rumney <jasonr@gnu.org>
3597
3598 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
3599 to avoid name clash.
3600
3601 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3602
3603 * fileio.c (barf_or_query_if_file_exists): Use lstat.
3604 (Frename_file): Handle renaming of symlinks across file systems.
3605 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
3606
3607 2004-05-04 Kim F. Storm <storm@cua.dk>
3608
3609 * xdisp.c (Qtotal): New var.
3610 (syms_of_xdisp): Intern and staticpro it.
3611 (calc_line_height_property): New arg total. Set it if
3612 line-spacing property has format (total . VALUE).
3613 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
3614 Handle total line-spacing property.
3615
3616 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3617
3618 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
3619 "under" scroll bar when size/position changes.
3620
3621 2004-05-03 Jason Rumney <jasonr@gnu.org>
3622
3623 * makefile.nt: Remove.
3624
3625 2004-05-02 Eli Zaretskii <eliz@gnu.org>
3626
3627 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
3628 Avoid compiler warnings.
3629
3630 * Makefile.in (region-cache.o): Depend on config.h.
3631
3632 2004-05-02 Romain Francoise <romain@orebokech.com>
3633
3634 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
3635 with continuation lines, too.
3636
3637 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
3638
3639 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
3640
3641 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
3642
3643 * xdisp.c (calc_line_height_property): YAILOM (yet another
3644 int/Lisp_Object mixup).
3645
3646 2004-05-01 Eli Zaretskii <eliz@gnu.org>
3647
3648 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
3649 undo bad effect of pack(4) in some versions of system headers.
3650
3651 2004-05-01 Jason Rumney <jasonr@gnu.org>
3652
3653 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
3654
3655 2004-04-30 Kim F. Storm <storm@cua.dk>
3656
3657 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
3658 (syms_of_buffer) <cursor-type>: Doc fix.
3659
3660 * dispextern.h (struct it): Remove member use_default_face.
3661 Add members override_ascent, override_descent, override_boff.
3662
3663 * xdisp.c (init_iterator): Handle line-spacing float value.
3664 Initialize override_ascent member.
3665 (append_space_for_newline): Reset override_ascent.
3666 Remove use_default_face.
3667 (calc_line_height_property): New function to calculate value of
3668 line-height and line-spacing properties. Look at overlays, too.
3669 Set override_ascent, override_descent, override_boff members when
3670 using another face than the current face. Float values are now
3671 relative to the frame default font, by default; accept a cons
3672 of ratio and face name to specify value relative to a specific face.
3673 (x_produce_glyphs): Use calc_line_height_property.
3674 Use override_ascent etc. when set to handle different face heights.
3675 A negative line-spacing property value is interpreted as a total
3676 line height, rather than inter-line spacing.
3677 (note_mouse_highlight): Allocate room for 40 overlays initially.
3678
3679 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
3680
3681 * data.c (Fsubr_name): New fun.
3682 (syms_of_data): Defsubr it.
3683
3684 2004-04-29 Kim F. Storm <storm@cua.dk>
3685
3686 * xdisp.c (null_glyph_slice): New var.
3687 (append_glyph, append_composite_glyph, append_stretch_glyph):
3688 Use it to initialize glyph slice.
3689
3690 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
3691
3692 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
3693 (on_hot_spot_p): Make sure we always return a value.
3694 (Flookup_image_map): Remove unused var ix and iy.
3695 (note_mode_line_or_margin_highlight): Remove unused var `image'.
3696
3697 2004-04-27 Eli Zaretskii <eliz@gnu.org>
3698
3699 * msdos.c (init_environment): If one of the TMP... environment
3700 variables is set to a drive letter without a trailing slash,
3701 append a slash.
3702
3703 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
3704
3705 * editfns.c (lisp_time_argument): Provide externally.
3706
3707 * fileio.c (Fset_file_times): New function.
3708 (syms_of_fileio): Intern and staticpro it.
3709
3710 2004-04-27 Kim F. Storm <storm@cua.dk>
3711
3712 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
3713 header line strings.
3714
3715 * dispextern.h (struct it): New member use_default_face.
3716
3717 * xdisp.c (Qline_height): New variable.
3718 (syms_of_xdisp): Intern and staticpro it.
3719 (append_space_for_newline): Partially undo 2004-04-25 change;
3720 add default_face_p arg, and restore callers.
3721 Clear it->use_default_face after use.
3722 (x_produce_glyphs): Set default font for ascii char if
3723 it->use_default_font is set. Change line-spacing property to set
3724 just extra line spacing. Handle new line-height property.
3725
3726 2004-04-26 Andreas Schwab <schwab@suse.de>
3727
3728 * print.c (print_object): Print non-ascii characters in bool
3729 vector representation as octal escapes.
3730
3731 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
3732 * print.c (print_object): Use it instead of BITS_PER_CHAR for
3733 bool vectors.
3734 * lread.c (read1): Likewise.
3735 * alloc.c (Fmake_bool_vector): Likewise.
3736 * data.c (Faref, Faset): Likewise.
3737 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
3738 (mapcar1): Likewise.
3739
3740 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
3741
3742 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
3743
3744 2004-04-26 Miles Bader <miles@gnu.org>
3745
3746 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
3747
3748 2004-04-26 Juanma Barranquero <lektu@terra.es>
3749
3750 * buffer.c (Fpop_to_buffer): Fix docstring.
3751
3752 2004-04-26 Steven Tamm <steventamm@mac.com>
3753
3754 * lread.c (init_lread): Don't display missing lisp directory
3755 warnings with Carbon Emacs because self-contained bundled Emacs
3756 may be built without correct installation path.
3757
3758 2004-04-25 Kim F. Storm <storm@cua.dk>
3759
3760 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
3761
3762 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
3763
3764 * xdisp.c (append_space_for_newline): Rename from append_space.
3765 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
3766 (x_produce_glyphs): Handle line-spacing property on newline char.
3767 If value is t, adjust ascent and descent to fit current row height.
3768 If value is an integer or float, set extra_line_spacing to integer
3769 value, or to float value x current line height.
3770
3771 2004-04-23 Kenichi Handa <handa@m17n.org>
3772
3773 * fontset.c (Finternal_char_font): If POSITION is nil, return
3774 font for displaying CH with the default face.
3775
3776 2004-04-23 Juanma Barranquero <lektu@terra.es>
3777
3778 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
3779
3780 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
3781
3782 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
3783 Don't make assumptions about the relative place of i and val.
3784 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
3785
3786 2004-04-21 Kim F. Storm <storm@cua.dk>
3787
3788 * dispextern.h (struct glyph_slice): New struct.
3789 (struct glyph): New member slice.
3790 (GLYPH_SLICE_EQUAL_P): New macro.
3791 (GLYPH_EQUAL_P): Use it.
3792 (struct glyph_string): New member slice.
3793 (struct it_slice): New struct.
3794 (struct it): New member slice, add member to stack too.
3795 New member constrain_row_ascent_descent_p.
3796 (image_ascent): Add prototype.
3797
3798 * dispnew.c (buffer_posn_from_coords): Return full image width
3799 and height even for image slices (posn is relative to full image).
3800 (marginal_area_string): Adjust x0,y0 for image slice.
3801
3802 * image.c (image_ascent): Add slice arg; calculate ascent for
3803 image slice (or full image).
3804
3805 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
3806 (syms_of_keyboard): Defsubr them.
3807
3808 * lisp.h (pos_visible_p): Fix prototype.
3809
3810 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
3811 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
3812 (x_draw_image_foreground, x_draw_image_relief)
3813 (x_draw_image_foreground_1, x_draw_image_glyph_string):
3814 Draw sliced images.
3815
3816 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
3817 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
3818 (x_draw_image_foreground, x_draw_image_relief)
3819 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
3820 Draw sliced images.
3821
3822 * w32term.h (image_ascent): Remove prototype.
3823
3824 * window.c (Fpos_visible_in_window_p): Return pixel position if
3825 PARTIALLY arg is non-nil. Simplify. Doc fix.
3826 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
3827 to return/set vscroll in pixels.
3828
3829 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
3830
3831 * xdisp.c (Qslice): New variable.
3832 (syms_of_xdisp): Intern and staticpro it.
3833 (pos_visible_p): Return pixel position in new x and y args.
3834 (init_iterator): Reset it->slice info.
3835 (handle_display_prop): Parse (slice ...) property.
3836 (push_it, pop_it): Save/restore slice info.
3837 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
3838 force repositioning of tall row if window is vscrolled, as that
3839 would reset vscroll.
3840 (append_space): Set it->constrain_row_ascent_descent_p to avoid
3841 increasing row height if row is non-empty.
3842 (fill_image_glyph_string): Copy slice info.
3843 (take_vertical_position_into_account): Simplify.
3844 (produce_image_glyph): Handle iterator slice info, setup glyph
3845 slice info. Do not force minimum line height.
3846 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
3847 do not increase height (ascent/descent) of non-empty row when
3848 adding normal character glyph; instead reduce glyph ascent/descent
3849 appropriately; if row is higher than current glyph, adjust glyph
3850 descent/ascent to reposition glyph within the existing row.
3851 Likewise, when char is newline, only set ascent/descent if row is
3852 currently empty.
3853 (note_mouse_highlight): Handle hotspots with sliced image.
3854
3855 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
3856 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
3857 (x_draw_image_foreground, x_draw_image_relief)
3858 (x_draw_image_foreground_1, x_draw_image_glyph_string):
3859 Draw sliced images.
3860
3861 * xterm.h (image_ascent): Remove prototype.
3862
3863 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
3864
3865 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
3866
3867 2004-04-20 John Paul Wallington <jpw@gnu.org>
3868
3869 * fns.c (Fassoc, Feql): Fix indentation.
3870
3871 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
3872
3873 2004-04-19 John Paul Wallington <jpw@gnu.org>
3874
3875 * fns.c (Feql): New function.
3876 (syms_of_fns): Defsubr it.
3877
3878 2004-04-18 Jason Rumney <jasonr@gnu.org>
3879
3880 * w32select.c (Fw32_set_clipboard_data): Get sequence number
3881 after closing the clipboard.
3882
3883 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
3884
3885 * buffer.c (Fbuffer_base_buffer): Doc fix.
3886
3887 2004-04-17 Kim F. Storm <storm@cua.dk>
3888
3889 * keymap.c (Fkey_description): Add optional PREFIX arg.
3890 Combine prefix with KEYS to make up the full key sequence to describe.
3891 Correlate meta_prefix_char and following (simple) key to describe
3892 as meta modifier. All callers changed.
3893 (describe_map): Rename arg `keys' to `prefix'. Remove local
3894 `elt_prefix' var. Use Fkey_description with prefix instead of
3895 elt_prefix combined with Fsingle_key_description.
3896 (describe_vector): Declare static. Replace arg `elt_prefix' with
3897 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
3898 if !KEYMAP_P. Use Fkey_description with prefix instead of
3899 Fsingle_key_description.
3900
3901 * keymap.h (Fkey_description): Fix prototype.
3902 (describe_vector): Remove prototype.
3903
3904 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
3905
3906 * image.c (PNG_BG_COLOR_SHIFT): Remove.
3907 (png_load): Fix calculation of transparent background color on X
3908 and W32 platforms.
3909
3910 2004-04-16 Juanma Barranquero <lektu@terra.es>
3911
3912 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
3913 not too large before computing how much to scroll.
3914
3915 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
3916
3917 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
3918
3919 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
3920
3921 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
3922 Add hyperlink to Elisp manual to the docstring.
3923
3924 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
3925
3926 * callint.c (fix_command): Use XDCR.
3927
3928 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
3929
3930 * window.c (Fget_lru_window): Doc fix.
3931
3932 2004-04-14 Kim F. Storm <storm@cua.dk>
3933
3934 * editfns.c (Fformat): Fix allocation size of precision array.
3935
3936 * dispnew.c (update_window): Only set changed_p if
3937 scrolling_window actually did scroll.
3938 (scrolling_window): Only return 1 if we actually did scroll.
3939
3940 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
3941 height to glyph height when cursor row is not fully visible.
3942 (make_cursor_line_fully_visible): Add FORCE_P arg to return
3943 failure in case row is higher than window. Callers changed.
3944 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
3945 Try to scroll partially visible, higher-than-window cursor row.
3946 (redisplay_window): Always try to scroll partially visible,
3947 higher-than-window cursor row - both initially and again with
3948 centering_position = 0.
3949 Clear desired matrix before retrying with centering_position = 0.
3950
3951 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
3952
3953 * syntax.c (scan_lists): Simplify backward string scan.
3954 Fix off-by-one boundary check for string and comment fences.
3955
3956 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
3957
3958 * sheap.c, unexcw.c: New files.
3959
3960 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
3961
3962 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
3963 base buffer has been killed. Correct the error message if the
3964 base buffer does not exist.
3965
3966 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
3967
3968 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
3969 Cygwin itself. Add support for Xaw3d scrollbars.
3970
3971 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
3972
3973 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
3974
3975 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
3976 before Cygwin unexec.
3977
3978 * Makefile.in: Link changes for Cygwin unexec() support.
3979
3980 2004-04-12 Andreas Schwab <schwab@suse.de>
3981
3982 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
3983
3984 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
3985
3986 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
3987 IGNORE argument equals NAME. Doc fix.
3988
3989 2004-04-11 Masatake YAMATO <jet@gyve.org>
3990
3991 * buffer.c (fix_start_end_in_overlays): Make overlays
3992 empty if they are backwards.
3993
3994 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
3995
3996 * xfaces.c (face_color_supported_p): Fix compilation without X11.
3997
3998 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
3999
4000 * doc.c (Fsnarf_documentation): Ignore new file name entries.
4001
4002 2004-04-06 Kim F. Storm <storm@cua.dk>
4003
4004 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
4005 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
4006
4007 * w32term.c (w32_read_socket): Set mouse_face_hidden after
4008 clearing highlight.
4009
4010 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
4011
4012 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
4013 clearing highlight.
4014
4015 * indent.c (vmotion): Do not reserve one column for continuation
4016 marks on window frames.
4017
4018 2004-04-04 Eli Zaretskii <eliz@gnu.org>
4019
4020 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
4021 from GCC.
4022
4023 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
4024
4025 * .gdbinit-union: Remove.
4026
4027 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
4028 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
4029 ($nonvalbits): Remove.
4030 ($valmask): Set it by calling xreload to avoid redundancy.
4031
4032 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
4033 (gdb_emacs_intbits): Remove.
4034
4035 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4036
4037 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
4038
4039 2004-03-30 Kenichi Handa <handa@m17n.org>
4040
4041 * editfns.c (Fformat): Fix initialization of the array info.
4042
4043 2004-03-30 Kim F. Storm <storm@cua.dk>
4044
4045 * xterm.c (x_mouse_click_focus_ignore_position): New var.
4046 (syms_of_xterm): DEFVAR_BOOL it.
4047 (ignore_next_mouse_click_timeout): New var.
4048 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
4049 Use it to filter mouse clicks following focus event.
4050
4051 2004-03-29 David Ponce <david@dponce.com>
4052
4053 * callint.c (Fcall_interactively): Fix last change.
4054
4055 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
4056
4057 * eval.c (Fcommandp): Simplify.
4058
4059 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
4060 Extend to handle all kinds of functions.
4061
4062 * lisp.h (Finteractive_form): Declare.
4063
4064 * callint.c (Fcall_interactively): Use it.
4065
4066 2004-03-26 Kim F. Storm <storm@cua.dk>
4067
4068 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
4069 to catch errors in calc_pixel_width_or_height during redisplay.
4070
4071 2004-03-26 Masatake YAMATO <jet@gyve.org>
4072
4073 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
4074
4075 * lisp.h (fix_start_end_in_overlays): Likewise.
4076
4077 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
4078
4079 * editfns.c (Ftranspose_regions): Likewise.
4080
4081 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4082
4083 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
4084
4085 2004-03-19 Richard M. Stallman <rms@gnu.org>
4086
4087 * s/sol2-6.h: Delete previous change.
4088
4089 2004-03-19 Kim F. Storm <storm@cua.dk>
4090
4091 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
4092 to_charpos corresponds to newline in right fringe. Use local
4093 BUFFER_POS_REACHED_P macro.
4094
4095 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4096
4097 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
4098 to compile on non-window system.
4099
4100 2004-03-19 Kim F. Storm <storm@cua.dk>
4101
4102 * dispextern.h (calc_pixel_width_or_height): Add prototype.
4103
4104 * image.c (Qcenter): Move to xdisp.c.
4105
4106 * xdisp.c (Qcenter): Declare here.
4107 (syms_of_xdisp): Intern and staticpro it.
4108 (handle_single_display_prop): Allow space display property on all
4109 platforms.
4110 (display_mode_line): Set mode_line_p before displaying line.
4111 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
4112 handling. Remove complex cases for fringes and scroll-bars.
4113 Add left, right, and center alignment positions. Add text (area)
4114 width/height. Return width or height for image specs.
4115 (produce_stretch_glyph): Improve handling of :align-to. Is now
4116 relative to left of text area by default, but other base offsets
4117 can be specified -- also for text lines.
4118
4119 * term.c (produce_glyphs): Handle IT_STRETCH.
4120 (produce_stretch_glyph): New function to handle space width and
4121 align-to display properties on non-window systems.
4122
4123 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
4124
4125 * fileio.c (Fread_file_name): Set completion-ignore-case for
4126 case-insensitive systems.
4127
4128 2004-03-14 Masatake YAMATO <jet@gyve.org>
4129
4130 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
4131 when keymap and cursor are setup.
4132
4133 2004-03-14 Steven Tamm <steventamm@mac.com>
4134
4135 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
4136
4137 2004-03-14 Kim F. Storm <storm@cua.dk>
4138
4139 * dispextern.h (x_find_image_file): Add prototype.
4140
4141 * image.c (x_find_image_file): Make extern.
4142
4143 * xfns.c (x_find_image_file): Remove prototype.
4144
4145 2004-03-13 Eli Zaretskii <eliz@gnu.org>
4146
4147 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
4148
4149 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
4150
4151 2004-03-12 Richard M. Stallman <rms@gnu.org>
4152
4153 * fns.c (internal_equal): New arg PROPS controls comparing
4154 text properties. All callers changed.
4155 (Fequal_including_properties): New function.
4156 (syms_of_fns): defsubr it.
4157
4158 2004-03-12 Kim F. Storm <storm@cua.dk>
4159
4160 Fix image support on MAC. From YAMAMOTO Mitsuharu.
4161
4162 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
4163 (image_background, image_background_transparent): Fix prototypes.
4164
4165 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
4166
4167 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
4168 (x_query_font, x_find_ccl_program, x_set_window_size)
4169 (x_make_frame_visible, mac_initialize, XCreatePixmap)
4170 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
4171 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
4172
4173 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
4174 (x_query_font, x_find_ccl_program, x_set_window_size)
4175 (x_make_frame_visible, mac_initialize, XCreatePixmap)
4176 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
4177 (mac_draw_line_to_pixmap): Add prototypes.
4178
4179 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4180
4181 * macterm.c (XTread_socket): Fix mouse click on tool bar.
4182
4183 2004-03-11 Kim F. Storm <storm@cua.dk>
4184
4185 * dispextern.h: Move image related prototypes from xfns.c section
4186 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
4187 HAVE_X_WINDOWS.
4188
4189 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
4190 Move gtkutil.o to new GTK_OBJ list.
4191 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
4192 (GTK_OBJ) [USE_GTK]: New declaration.
4193 (obj): Add $(GTK_OBJ) to list.
4194
4195 2004-03-11 Steven Tamm <steventamm@mac.com>
4196
4197 * image.c [MAC_OSX]: Include sys/stat.h
4198
4199 * macfns.c (syms_of_macfns): Remove definitions of things now
4200 defined in image.c
4201
4202 2004-03-11 Kim F. Storm <storm@cua.dk>
4203
4204 The following changes consolidates the identical/similar image
4205 support code previously found in xfns.c, w32fns.c, and macfns.c
4206 into a new file image.c.
4207
4208 * makefile.w32-in (OBJ1): Add image.o.
4209 ($(BLD)/image.$(O)): Add dependencies.
4210
4211 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
4212 (image.o): Add dependencies.
4213
4214 * image.c: New file with consolidated image support code.
4215 (COLOR_TABLE_SUPPORT): New define to control whether
4216 color table support is available (X only).
4217 (Bitmap_Record): Common name for x_bitmap_record,
4218 w32_bitmap_record, and mac_bitmap_record.
4219 (XImagePtr): Common name for pointer to XImage or equivalent.
4220 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
4221 to XImagePtr on X+MAC, and to HDC on W32.
4222 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
4223 (NO_PIXMAP): Common name for "None" or equivalent.
4224 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
4225 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
4226 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
4227 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
4228 Define with suitable equivalents on W32 and MAC for code sharing.
4229 (XDrawLine): Define on MAC for code sharing.
4230 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
4231 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
4232 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4233 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4234 (x_reference_bitmap, x_create_bitmap_from_data)
4235 (x_create_bitmap_from_file, x_destroy_bitmap)
4236 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4237 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4238 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4239 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4240 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4241 (define_image_type, lookup_image_type, valid_image_p)
4242 (image_error, enum image_value_type, struct image_keyword)
4243 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
4244 (make_image, free_image, prepare_image_for_display, image_ascent)
4245 (four_corners_best, image_background, image_background_transparent)
4246 (x_clear_image_1, x_clear_image, x_alloc_image_color)
4247 (make_image_cache, free_image_cache, clear_image_cache)
4248 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
4249 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
4250 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
4251 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
4252 (init_image_func_pointer, image_load_quartz2d)
4253 (struct ct_color, init_color_table, free_color_table)
4254 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
4255 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
4256 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
4257 (x_disable_image, x_build_heuristic_mask)
4258 (XBM support, XPM support, PBM support, PNG support, JPEG support)
4259 (TIFF support, GIF support, Ghostscript support): Consolidate image
4260 code from xfns.c, w32fns.c, and macfns.c.
4261 (syms_of_image): Consolidate image related symbol setup here.
4262 (init_image): Consolidate image related initializations here.
4263
4264 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
4265 and init_image. Remove call to init_xfns.
4266
4267 * macterm.h (struct mac_bitmap_record): Add file member.
4268 Not currently used, but simplifies code sharing.
4269
4270 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4271 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4272 (x_reference_bitmap, x_create_bitmap_from_data)
4273 (x_create_bitmap_from_file, x_destroy_bitmap)
4274 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4275 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4276 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4277 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4278 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4279 (define_image_type, lookup_image_type, valid_image_p)
4280 (image_error, enum image_value_type, struct image_keyword)
4281 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
4282 (make_image, free_image, prepare_image_for_display, image_ascent)
4283 (four_corners_best, image_background, image_background_transparent)
4284 (x_clear_image_1, x_clear_image, x_alloc_image_color)
4285 (make_image_cache, free_image_cache, clear_image_cache)
4286 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
4287 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
4288 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
4289 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
4290 (init_image_func_pointer, image_load_quartz2d)
4291 (struct ct_color, init_color_table, free_color_table)
4292 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
4293 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
4294 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
4295 (x_disable_image, x_build_heuristic_mask)
4296 (XBM support, XPM support, PBM support, PNG support, JPEG support)
4297 (TIFF support, GIF support, Ghostscript support): Merge with image
4298 code from xfns.c and macfns.c into image.c.
4299 (syms_of_xfns): Move image related symbols to image.c.
4300 (init_external_image_libraries, init_xfns): Remove; initialization
4301 moved to init_image in image.c.
4302
4303 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4304 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4305 (x_reference_bitmap, x_create_bitmap_from_data)
4306 (x_create_bitmap_from_file, x_destroy_bitmap)
4307 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4308 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4309 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4310 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4311 (define_image_type, lookup_image_type, valid_image_p)
4312 (image_error, enum image_value_type, struct image_keyword)
4313 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
4314 (make_image, free_image, prepare_image_for_display, image_ascent)
4315 (four_corners_best, image_background, image_background_transparent)
4316 (x_clear_image_1, x_clear_image, x_alloc_image_color)
4317 (make_image_cache, free_image_cache, clear_image_cache)
4318 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
4319 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
4320 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
4321 (struct ct_color, init_color_table, free_color_table)
4322 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
4323 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
4324 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
4325 (x_disable_image, x_build_heuristic_mask)
4326 (XBM support, XPM support, PBM support, PNG support, JPEG support)
4327 (TIFF support, GIF support, Ghostscript support): Merge with image
4328 code from xfns.c and macfns.c into image.c.
4329 (syms_of_xfns): Move image related symbols to image.c.
4330 (init_external_image_libraries, init_xfns): Remove; initialization
4331 moved to init_image in image.c.
4332
4333 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
4334 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4335 (x_reference_bitmap, x_create_bitmap_from_data)
4336 (x_create_bitmap_from_file, x_destroy_bitmap)
4337 (x_destroy_all_bitmaps, x_create_bitmap_mask)
4338 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
4339 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
4340 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
4341 (define_image_type, lookup_image_type, valid_image_p)
4342 (image_error, enum image_value_type, struct image_keyword)
4343 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
4344 (make_image, free_image, prepare_image_for_display, image_ascent)
4345 (four_corners_best, image_background, image_background_transparent)
4346 (x_clear_image_1, x_clear_image, x_alloc_image_color)
4347 (make_image_cache, free_image_cache, clear_image_cache)
4348 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
4349 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
4350 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
4351 (struct ct_color, init_color_table, free_color_table)
4352 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
4353 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
4354 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
4355 (x_disable_image, x_build_heuristic_mask)
4356 (XBM support, XPM support, PBM support, PNG support, JPEG support)
4357 (TIFF support, GIF support, Ghostscript support): Merge with
4358 w32fns.c and macfns.c image code into image.c.
4359 (syms_of_xfns): Move image related symbols to image.c.
4360 (init_xfns): Remove; initialization moved to init_image in image.c.
4361
4362 * lisp.h (syms_of_image, init_image): Add protoypes.
4363 (init_xfns): Remove prototype.
4364
4365 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4366 (x_reference_bitmap, x_create_bitmap_from_data)
4367 (x_create_bitmap_from_file, x_destroy_bitmap)
4368 (x_create_bitmap_mask): Move prototypes from dispextern.h.
4369 (gamma_correct) [MAC_OS]: Add prototype.
4370
4371 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
4372 (x_reference_bitmap, x_create_bitmap_from_data)
4373 (x_create_bitmap_from_file, x_destroy_bitmap)
4374 (x_create_bitmap_mask): Move prototypes to dispextern.h.
4375
4376 2004-03-09 Kenichi Handa <handa@etlken2>
4377
4378 * coding.c (decode_coding_emacs_mule): Handle insufficent source
4379 correctly.
4380
4381 2004-03-04 Richard M. Stallman <rms@gnu.org>
4382
4383 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
4384
4385 * window.c (Fdisplay_buffer): Doc fix.
4386
4387 * buffer.c (Fpop_to_buffer): Doc fix.
4388
4389 2004-03-03 Kim F. Storm <storm@cua.dk>
4390
4391 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
4392
4393 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
4394
4395 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
4396
4397 2004-03-02 Richard M. Stallman <rms@gnu.org>
4398
4399 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
4400
4401 2004-03-02 Kenichi Handa <handa@m17n.org>
4402
4403 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
4404
4405 2004-03-02 Kim F. Storm <storm@cua.dk>
4406
4407 * window.h (struct window): New member overlay_arrow_bitmap.
4408
4409 * window.c (make_window): Initialize overlay_arrow_bitmap.
4410
4411 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
4412 implement and integrate multiple overlay arrows with redisplay.
4413 (syms_of_xdisp): DEFVAR_LISP and initialize it.
4414 (last_arrow_position, last_arrow_string): Replace by properties.
4415 (Qlast_arrow_position, Qlast_arrow_string)
4416 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
4417 (syms_of_xdisp): Intern and staticpro them.
4418 (overlay_arrow_string_or_property, update_overlay_arrows)
4419 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
4420 (overlay_arrow_at_row): New functions for multiple overlay arrows.
4421 (redisplay_internal): Use them instead of directly accessing
4422 Voverlay_arrow_position etc. for multiple overlay arrows.
4423 (mark_window_display_accurate): Use update_overlay_arrows.
4424 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
4425 (try_window_id): Use overlay_arrows_changed_p.
4426 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
4427 (display_line): Use overlay_arrow_at_row to check multiple
4428 overlay arrows, and get relevant overlay-arrow-string and
4429 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
4430 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
4431 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
4432
4433 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
4434 (update_window_fringes): Remove unused code.
4435
4436 2004-03-01 Jason Rumney <jasonr@gnu.org>
4437
4438 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
4439
4440 2004-03-01 Juanma Barranquero <lektu@terra.es>
4441
4442 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
4443
4444 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
4445
4446 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4447
4448 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
4449 how many colors can be displayed.
4450
4451 2004-03-01 Kenichi Handa <handa@m17n.org>
4452
4453 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
4454 correctly.
4455
4456 2004-02-28 Kim F. Storm <storm@cua.dk>
4457
4458 * dispnew.c (update_window): Update header line also if there are
4459 no other changes in window (move code after set_cursor label).
4460
4461 * lisp.h (mark_window_display_accurate): Remove prototype.
4462
4463 * window.c (window_loop, Fforce_window_update): Force mode line
4464 updates by setting prevent_redisplay_optimizations_p and
4465 update_mode_lines.
4466
4467 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4468
4469 * xfns.c (x_window): Fix indentation.
4470
4471 * xterm.c (x_calc_absolute_position): Call x_real_positions
4472 to get WM window sizes and use those to calculate position.
4473 (x_set_offset): Remove code commented out.
4474
4475 2004-02-28 Miles Bader <miles@gnu.org>
4476
4477 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
4478
4479 2004-02-28 Kim F. Storm <storm@cua.dk>
4480
4481 * keyboard.c (kbd_buffer_store_event_hold): New function to store
4482 an event into kbd fifo, but with special handling of quit event;
4483 a quit event is saved for later, and further events are discarded
4484 until the saved quit event has been processed.
4485 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
4486 (gen_help_event): Store help event in kbd fifo.
4487 (NREAD_INPUT_EVENTS): Remove.
4488 (read_avail_input): Adapt to new read_socket_hook interface.
4489 Remove allocation and initialization of local input_event buffer,
4490 as read_socket_hook stores events directly in fifo. Allocate and
4491 initialize local hold_quit event to handle postponed quit event
4492 (and store it if set by kbd_buffer_store_event_hold).
4493
4494 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
4495 (gen_help_event): Fix prototype.
4496
4497 * macterm.c (XTread_socket): Remove bufp_r and
4498 numcharsp args. Add hold_quit arg.
4499 Rework to use just one, local, inev input_event. Store inev
4500 directly in fifo using kbd_buffer_store_event_hold.
4501
4502 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
4503 (read_input_waiting): Adapt to new read_socket_hook interface.
4504 Remove allocation and initialization of local input_event buffer,
4505 as read_socket_hook stores events directly in fifo. Allocate and
4506 initialize local hold_quit event to handle postponed quit event
4507 (and store it if set by kbd_buffer_store_event_hold).
4508
4509 * term.c (read_socket_hook): Fix arg list.
4510
4511 * termhooks.h (read_socket_hook): Fix prototype.
4512
4513 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
4514 numcharsp args. Add hold_quit arg.
4515 Rework to use just one, local, inev input_event. Store inev
4516 directly in fifo using kbd_buffer_store_event_hold.
4517
4518 * w32inevt.h (w32_console_mouse_position): Fix prototype.
4519
4520 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
4521 Add hold_quit arg. Rework to use just one, local, inev
4522 input_event. Store inev directly in fifo using
4523 kbd_buffer_store_event_hold. Update count in one place.
4524 Postpone call to gen_help_event until inev is stored; use new
4525 local do_help for this.
4526 Remove local emacs_event in handing of ButtonPress event; just use
4527 inev instead (so no reason to copy it later).
4528
4529 * xsmfns.c (x_session_check_input): Remove numchars arg.
4530
4531 * xterm.c (x_focus_changed, x_detect_focus_change):
4532 Remove numchars arg. Always store event into bufp arg.
4533 Return nothing. Callers changed accordingly.
4534 (glyph_rect): Simplify.
4535 (STORE_KEYSYM_FOR_DEBUG): New macro.
4536 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
4537 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
4538 (current_hold_quit) [USE_GTK]: Add.
4539 (event_handler_gdk): Adapt to new handle_one_xevent.
4540 (handle_one_xevent): Remove bufp_r and numcharsp args.
4541 Add hold_quit arg. Rework to use just one, local, inev
4542 input_event. Store inev directly in fifo using
4543 kbd_buffer_store_event_hold. Update count in one place.
4544 Postpone call to gen_help_event until inev is stored; use new
4545 local do_help for this.
4546 Simplify handling of keysyms (consolidate common code). Fix bug
4547 where count was updated with nchars instead of nbytes.
4548 Remove local emacs_event in handing of ButtonPress event; just use
4549 inev instead (so no reason to copy it later).
4550 Remove `out' label. Rename label `ret' to `done'; add various
4551 `goto done' to clarify code flow in deeply nested blocks.
4552 (x_dispatch_event): Simplify as handle_one_xevent now calls
4553 kbd_buffer_store_event itself.
4554 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
4555 arg. Call handle_one_xevent with new arglist. Store event from
4556 x_session_check_input in fifo.
4557 [USE_GTK]: Setup current_hold_quit.
4558 Decrement handling_signal before unblocking input.
4559 (x_initialize) [USE_GTK]: Initialize current_count.
4560
4561 * xterm.h (x_session_check_input): Fix prototype.
4562
4563 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4564
4565 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
4566
4567 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
4568 macgui.h).
4569
4570 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
4571
4572 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
4573 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
4574 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
4575 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
4576 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
4577 (Bitmap): Remove typedef.
4578 (Pixmap): Change int to GWorldPtr.
4579
4580 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
4581
4582 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
4583 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
4584 New #define to extract 16-bit depth color components from unsigned
4585 long representation.
4586 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
4587 colors used for masks.
4588 (struct mac_display_info): Add color_p. Remove n_cbits.
4589
4590 * macfns.c: Include sys/types.h and sys/stat.h.
4591 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
4592 Include QuickTime/QuickTime.h.
4593 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
4594 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
4595 functions defined in macterm.c.
4596 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
4597 (ZPixmap): New #define for compatibility with xfns.c.
4598 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
4599 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
4600 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
4601 New functions.
4602 (four_corners_best, x_create_x_image_and_pixmap)
4603 (x_destroy_x_image, unwind_create_frame, x_disable_image)
4604 (x_edge_detection, init_color_table, colors_in_color_table)
4605 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
4606 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
4607 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
4608 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
4609 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
4610 long mixup.
4611 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
4612 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
4613 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
4614 (x_set_cursor_type, Fxw_color_values, valid_image_p)
4615 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
4616 (x_alloc_image_color, clear_image_cache, lookup_image)
4617 (x_find_image_file, xbm_read_bitmap_file_data)
4618 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
4619 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
4620 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
4621 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
4622 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
4623 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
4624 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
4625 #if 0.
4626 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
4627 #if 0. Free white_relief.gc and black_relief.gc.
4628 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
4629 New functions (from xfns.c).
4630 (Fx_create_frame): Record unwind_create_frame.
4631 (Fxw_display_color_p): Use dpyinfo->color_p.
4632 (Fx_display_grayscale_p, Fx_display_planes): Don't use
4633 dpyinfo->n_cbits.
4634 (Fx_display_color_cells): Use dpyinfo->n_planes;
4635 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
4636 (Qheuristic, cross_disabled_images, emboss_matrix)
4637 (laplace_matrix): New variables (from xfns.c).
4638 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
4639 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
4640 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
4641 (image_background_transparent): New function (from xfns.c).
4642 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
4643 (image_load_quicktime): Add declaration.
4644 [MAC_OSX] (image_load_quartz2d): Likewise.
4645 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
4646 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
4647 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
4648 (xbm_load_image_from_file, x_laplace_read_row)
4649 (x_laplace_write_row, pbm_read_file): Remove functions.
4650 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
4651 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
4652 (colors_in_color_table): Sync with xfns.c (although not used).
4653 (lookup_rgb_color): Don't lookup color table. Just do gamma
4654 correction.
4655 (COLOR_INTENSITY): New #define (from xfns.c).
4656 (x_disable_image): New function (from xfns.c).
4657 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
4658 (x_build_heuristic_mask): Sync with xfns.c.
4659 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
4660 (HAVE_PBM): Remove #ifdef.
4661 (pbm_load): Sync with xfns.c. Set img->width and img->height
4662 before IMAGE_BACKGROUND.
4663 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
4664 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
4665 Don't enclose with #if HAVE_PNG.
4666 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
4667 symbol _CGImageCreateWithPNGDataProvider is defined.
4668 Otherwise use image_load_quicktime.
4669 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
4670 [HAVE_PNG] (png_load): Sync with xfns.c.
4671 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
4672 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
4673 HAVE_JPEG.
4674 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
4675 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
4676 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
4677 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
4678 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
4679 (tiff_image_p, tiff_load): Don't enclose declarations with #if
4680 HAVE_TIFF.
4681 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
4682 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
4683 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
4684 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
4685 New functions (from xfns.c).
4686 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
4687 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
4688 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
4689 Don't enclose with #if HAVE_GIF.
4690 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
4691 animated gif. Otherwise use image_load_quicktime.
4692 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
4693 gif_DrawText to avoid conflict with QuickdrawText.h.
4694 [HAVE_GIF] (gif_load): Sync with xfns.c.
4695 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
4696 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
4697 Ghostscript is not supported yet).
4698 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
4699 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
4700 cross_disabled_images (from xfns.c). Remove #if 0 for supported
4701 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
4702 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
4703 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
4704 HAVE_PNG. Call EnterMovies to support animated gifs.
4705 Call init_image_func_pointer to bind a symbol
4706 _CGImageCreateWithPNGDataProvider if it is defined.
4707
4708 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
4709 (x_draw_bar_cursor): Sync declaration with xterm.c.
4710 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
4711 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
4712 graphics).
4713 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
4714 (mac_draw_line_to_pixmap, XCreatePixmap)
4715 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
4716 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
4717 New functions.
4718 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
4719 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
4720 Cast bits to char *.
4721 (reflect_byte): New function (from w32fns.c).
4722 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
4723 due to byte alignment.
4724 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
4725 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
4726 (XSetForeground): Remove static (now used in macfns.c).
4727 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
4728 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
4729 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
4730 (x_draw_glyph_string_box, x_draw_image_foreground)
4731 (x_draw_image_foreground_1, x_draw_image_glyph_string)
4732 (x_draw_stretch_glyph_string, x_draw_glyph_string)
4733 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
4734 Sync with xterm.c.
4735 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
4736 than the xterm.c version when a strictly horizontal or vertical
4737 line is drawn.
4738 (XTset_terminal_window): Add static.
4739 (x_make_frame_visible): Add UNBLOCK_INPUT.
4740 (x_free_frame_resources): New funcion (from xterm.c).
4741 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
4742 occurs in tool bar area.
4743 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
4744 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
4745 Initialize image cache.
4746 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
4747 Enclose unused functions with #if 0.
4748 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
4749 (decode_mac_font_name): New function to apply code conversions
4750 from a mac font name to an XLFD font name according to its script code.
4751 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
4752 font name to a mac font name according to REGISTRY and ENCODING fields.
4753 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
4754 whose name starts with `.'.
4755 (init_font_name_table): Use decode_mac_font_name. Add both
4756 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
4757 of a font is smJapanese.
4758 (mac_do_list_fonts): New function to list fonts that match a given
4759 pattern.
4760 (x_list_fonts, XLoadQueryFont): Use it.
4761 (XLoadQueryFont): Set rbearing field for each variable width
4762 character to avoid needless redraw.
4763 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
4764
4765 2004-02-26 Kim F. Storm <storm@cua.dk>
4766
4767 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
4768 as read_socket_hook handler on X aborts if buffer is too small
4769 and W32 handler doesn't always check buffer limit.
4770
4771 * xdisp.c (handle_single_display_prop): Handle left-fringe and
4772 right-fringe similar to a display margin image. Specifically,
4773 the characters having the fringe prop are no longer shown, and
4774 we use IT_IMAGE/next_element_from_image with image_id = -1 to
4775 do this. Set fringe bitmap face_id in it->face_id.
4776 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
4777 still realize it->face (i.e. the fringe bitmap face).
4778
4779 2004-02-25 Miles Bader <miles@gnu.org>
4780
4781 * xdisp.c (check_it): Check string/string_pos consistency.
4782 (init_iterator): Initialize string-related fields properly.
4783
4784 2004-02-11 Miles Bader <miles@gnu.org>
4785
4786 * xdisp.c (produce_image_glyph): Force negative descents to zero.
4787
4788 2004-02-10 Miles Bader <miles@gnu.org>
4789
4790 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
4791 BLOCK_INPUT can be nested, so it doesn't make much sense.
4792
4793 2004-02-24 Michael Mauger <mmaug@yahoo.com>
4794
4795 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
4796 (xbm_read_bitmap_data): Use unsigned char for image data.
4797
4798 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
4799
4800 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
4801
4802 2004-02-22 Jason Rumney <jasonr@gnu.org>
4803
4804 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
4805 correctly over other bitmaps.
4806
4807 2004-02-21 Eli Zaretskii <eliz@gnu.org>
4808
4809 * emacs.c (USAGE1): Split into two halves.
4810 (USAGE2): Second half of the old USAGE1.
4811 (USAGE3): Rename from USAGE2.
4812 (USAGE4): Rename from USAGE3.
4813
4814 2004-02-21 Juri Linkov <juri@jurta.org>
4815
4816 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
4817 Fix --multibyte. Move --help, --version to USAGE2. Add alias
4818 --file. Fix -f, -l. Sort options. Untabify.
4819 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
4820
4821 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
4822
4823 * category.c (Fdefine_category, Fcategory_docstring)
4824 (Fget_unused_category, Fset_category_table)
4825 (Fcategory_set_mnemonics): Doc fixes.
4826
4827 2004-02-20 Kim F. Storm <storm@cua.dk>
4828
4829 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
4830 The following changes are relative to the 2004-01-21 revision.
4831 (NREAD_INPUT_EVENTS): Define as max number of input events to read
4832 in one call to read_socket_hook. Value is 8.
4833 (read_avail_input): Separate and rework handling of read_socket_hook
4834 and non-read_socket_hook cases. Use smaller input_event buffer
4835 in read_socket_hook case, and repeat if full buffer is read.
4836 Use new local variable 'discard' to skip input after C-g.
4837 In non-read_socket_hook case, just use a single input_event, and
4838 call kbd_buffer_store_event on the fly for each character.
4839
4840 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
4841
4842 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
4843 Remove unused `gu' alternative.
4844
4845 2004-02-19 Andreas Schwab <schwab@suse.de>
4846
4847 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
4848 warning.
4849
4850 2004-02-18 Kim F. Storm <storm@cua.dk>
4851
4852 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
4853 Fix last change.
4854
4855 2004-02-17 Kim F. Storm <storm@cua.dk>
4856
4857 * xdisp.c (fast_find_position): Fix return value of new version;
4858 it was inverted compared to the 21.1 version.
4859 (get_window_cursor_type): Don't look at glyph if NULL.
4860 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
4861
4862 * keyboard.c: Rework previous change; it didn't consider that the
4863 buf array was allocated on the stack.
4864 (prev_read): Remove variable.
4865 (read_avail_input_buf): New static event buffer array.
4866 (in_read_avail_input): New static variable to handle re-entrancy.
4867 (read_avail_input): Change buf to pinter to read_avail_input_buf.
4868 Use in_read_avail_input to handle re-entrance; when re-entered,
4869 fully initialize and use tmp_buf array instead of read_avail_input_buf.
4870 Do not initialize read_avail_input_buf in full here; instead assume it
4871 is always cleared on entry. To ensure that, we clear (just) the
4872 entries that were used before we return.
4873 (init_keyboard): Initialize read_avail_input_buf here.
4874
4875 2004-02-16 Jesper Harder <harder@ifa.au.dk>
4876
4877 * cmds.c (Fend_of_line): Doc fix.
4878
4879 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
4880
4881 * keyboard.c (prev_read): New static variable.
4882 (read_avail_input): Use it to zero out only those slots in buf[]
4883 that were used last time we were called.
4884
4885 2004-02-16 Eli Zaretskii <eliz@gnu.org>
4886
4887 * Makefile.in (obj): Move fringe.o from here...
4888 (XOBJ, MAC_OBJ): ...to here.
4889
4890 2004-02-16 Stephen Eglen <stephen@gnu.org>
4891
4892 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
4893
4894 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
4895
4896 * data.c (Fbyteorder):
4897 * fringe.c (Fdefine_fringe_bitmap):
4898 * xdisp.c (handle_single_display_prop):
4899 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
4900
4901 2004-02-16 Jason Rumney <jasonr@gnu.org>
4902
4903 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
4904
4905 2004-02-15 Steven Tamm <steventamm@mac.com>
4906
4907 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
4908 controlling emulation of a three button mouse with option and
4909 command keys.
4910 (Qreverse, mac_get_enumlated_btn): Handle the emulation
4911 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
4912
4913 2004-02-15 Kim F. Storm <storm@cua.dk>
4914
4915 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
4916
4917 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
4918 Perform byte-swapping.
4919
4920 2004-02-14 Kim F. Storm <storm@cua.dk>
4921
4922 * dispextern.h (struct draw_fringe_bitmap_params): Change member
4923 bits from char to short to facilitate wider bitmaps.
4924 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
4925 member.
4926
4927 * fringe.c (struct fringe_bitmap): Change member bits from char to
4928 short to facilitate 16 bits wide bitmaps. Modify all standard
4929 bitmaps accordingly.
4930 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
4931 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
4932 (draw_fringe_bitmap): Ditto.
4933 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
4934 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
4935 handle up to 16 bits wide bitmaps.
4936 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
4937 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
4938
4939 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
4940 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
4941 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
4942
4943 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
4944 so it is no longer necessary to expand them here.
4945
4946 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
4947
4948 2004-02-12 Kim F. Storm <storm@cua.dk>
4949
4950 * window.c (Fwindow_fringes): Doc fix.
4951
4952 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4953
4954 * xselect.c (x_get_foreign_selection): Add new optional parameter
4955 time_stamp.
4956 (Fx_get_selection_internal): Ditto, pass time_stamp to
4957 x_get_foreign_selection.
4958
4959 * data.c (Fbyteorder): New function.
4960
4961 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4962
4963 * atimer.c: Move include stdio.h to same place as in other files.
4964
4965 * region-cache.c: Ditto.
4966
4967 * sysdep.c: Ditto.
4968
4969 * xfaces.c: Ditto.
4970
4971 2004-02-09 Sam Steingold <sds@gnu.org>
4972
4973 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
4974
4975 2004-02-09 Kim F. Storm <storm@cua.dk>
4976
4977 * fringe.c: New file. Move original fringe related declarations
4978 and code from dispextern.h and xdisp.c here.
4979 Rework code to support user defined fringe bitmaps, redefining
4980 standard bitmaps, ability to overlay user defined bitmap with
4981 overlay arrow bitmap, and add faces to bitmaps.
4982 (Voverflow_newline_into_fringe): Declare here.
4983 (enum fringe_bitmap_align): New enum.
4984 (..._bits): All bitmaps are now defined without bitswapping; that
4985 is now done in init_fringe_once (if necessary).
4986 (standard_bitmaps): New array with specifications for the
4987 standard fringe bitmaps.
4988 (fringe_faces): New array.
4989 (valid_fringe_bitmap_id_p): New function.
4990 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
4991 (draw_fringe_bitmap): New function which draws fringe bitmap,
4992 possibly overlaying bitmap with cursor in right fringe or the
4993 overlay arrow in the left fringe.
4994 (update_window_fringes): Do not handle overlay arrow here.
4995 Compare and copy fringe bitmap faces.
4996 (init_fringe_bitmap): New function.
4997 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
4998 define and destroy user defined fringe bitmaps.
4999 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
5000 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
5001 (syms_of_fringe): New function. Defsubr new DEFUNs.
5002 DEFVAR_LISP Voverflow_newline_into_fringe.
5003 (init_fringe_once, init_fringe): New functions.
5004 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
5005
5006 * Makefile.in (obj): Add fringe.o.
5007 (fringe.o): New dependencies.
5008
5009 * dispextern.h (FRINGE_ID_BITS): New definition for number of
5010 bits allocated to hold a fringe number. Increase number of bits
5011 from 4 to 8 to allow user defined fringe bitmaps.
5012 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
5013 left_user_fringe_face_id, right_user_fringe_bitmap,
5014 right_user_fringe_face_id.
5015 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
5016 Move to new file fringe.c.
5017 (MAX_FRINGE_BITMAPS): Define here.
5018 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
5019 and overlay_p. Change member which to int.
5020 (struct redisplay_interface): New members define_fringe_bitmap
5021 and destroy_fringe_bitmap.
5022 (valid_fringe_bitmap_id_p): Add prototype.
5023 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
5024
5025 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
5026 arrows.
5027 (update_frame): Do flush_display if force_flush_display_p to
5028 ensure display (specifically fringes) are updated in a timely
5029 manner when resizing the frame by dragging the mouse.
5030 (update_window_line): Update row if overlay arrow changed.
5031 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
5032 or overlay arrow changed.
5033
5034 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
5035 syms_of_fringe, and init_fringe.
5036
5037 * frame.h (struct frame): New member force_flush_display_p.
5038
5039 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
5040 Add prototypes.
5041
5042 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
5043 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
5044 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
5045 Use cursor color for displaying cursor in fringe.
5046 (x_redisplay_interface): Add null handlers for
5047 define_fringe_bitmap and destroy_fringe_bitmap functions.
5048
5049 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
5050 xterm.c to handle overlayed fringe bitmaps and to use cursor color
5051 for displaying cursor in fringe.
5052 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
5053 specific functions to define and destroy fringe bitmaps in fringe_bmp.
5054 (w32_redisplay_interface): Add them to redisplay_interface.
5055 (w32_term_init): Call w32_init_fringe instead of explicitly
5056 defining fringe bitmaps in fringe_bmp array.
5057 (x_delete_display): Call w32_reset_fringes instead of explicitly
5058 destroying fringe bitmaps in fringe_bmp array.
5059
5060 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
5061 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
5062 (continued_bits, continuation_bits, ov_bits, first_line_bits)
5063 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
5064 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
5065 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
5066 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
5067 Move fringe handling vars and code to new file fringe.c.
5068 (handle_display_prop): Handle left-fringe and right-fringe
5069 display properties; store user fringe bitmaps in iterator.
5070 (move_it_in_display_line_to): Handle cursor in fringe at eob.
5071 (clear_garbaged_frames): Set force_flush_display_p if resized.
5072 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
5073 (display_line): Handle cursor in fringe at eob.
5074 (display_line): Set row user fringe bitmaps from iterator.
5075
5076 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
5077 Use cursor color for displaying cursor in fringe.
5078 (x_redisplay_interface): Add null handlers for
5079 define_fringe_bitmap and destroy_fringe_bitmap functions.
5080
5081 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5082
5083 * macfns.c (Fx_change_window_property): Make doc string and
5084 parameters same as for X version.
5085
5086 * w32fns.c (Fx_change_window_property): Ditto.
5087
5088 2004-02-07 Kim F. Storm <storm@cua.dk>
5089
5090 * xdisp.c (hscroll_window_tree): Position cursor near to right
5091 margin in hscrolled window when jumping to end of line (rather
5092 than centering cursor).
5093
5094 * process.c (wait_reading_process_input): Don't do adaptive read
5095 buffering if waiting for a specific process.
5096
5097 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
5098
5099 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
5100 (Fread_minibuffer, Feval_minibuffer)
5101 (Fread_string, Fread_no_blanks_input)
5102 (Fcompleting_read): Doc fixes.
5103 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
5104 completion-regexp-list. Define Qcase_fold_search and staticpro it.
5105 (read_minibuf): Fix initial comment.
5106 (Ftry_completion, Fall_completions, Ftest_completion): Bind
5107 case-fold-search to the value of completion-ignore-case when
5108 checking completion-regexp-list.
5109 (Fdisplay_completion_list): Make it handle arguments that are
5110 symbols. Doc fix.
5111
5112 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5113
5114 * xterm.h: Add declaration of free_frame_menubar.
5115
5116 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
5117 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
5118 (Fx_change_window_property): Add declaration of parameters type and
5119 format. Remove unused variable cons.
5120
5121 * xselect.c: Include stdio,h.
5122
5123 2004-02-05 Kenichi Handa <handa@m17n.org>
5124
5125 * fns.c (Fset_char_table_range): Fix previous change.
5126
5127 * buffer.c (Fset_buffer_multibyte): Fix docstring.
5128
5129 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
5130
5131 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
5132
5133 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
5134
5135 * keymap.c (Vmouse_events): Rename from Vmenu_events.
5136 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
5137
5138 2004-02-04 Kenichi Handa <handa@m17n.org>
5139
5140 * fns.c (Fset_char_table_range): Handle charsets ascii,
5141 eight-bit-control, and eight-bit-graphic correctly.
5142
5143 2004-02-03 Jason Rumney <jasonr@gnu.org>
5144
5145 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
5146
5147 * w32fns.c (x_to_w32_font): Likewise.
5148
5149 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5150
5151 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
5152 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
5153
5154 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
5155 ClientMessages.
5156
5157 * xselect.c: Include termhooks.h and X11/Xproto.h
5158 (x_check_property_data, x_fill_property_data)
5159 (x_property_data_to_lisp, mouse_position_for_drop)
5160 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
5161 (Fx_send_client_event): Move here from xfns.c.
5162 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
5163
5164 * xfns.c (x-send-client-message): Move to xselect.c
5165 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
5166 OUTER_P.
5167 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
5168 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
5169 if vector_ret_p is true.
5170 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
5171
5172 2004-02-02 Eli Zaretskii <eliz@gnu.org>
5173
5174 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
5175 basename of FILE relative to it, not FILE itself.
5176
5177 2004-02-02 Kenichi Handa <handa@m17n.org>
5178
5179 * coding.c (coding_restore_composition): Check invalid
5180 composition data more rigidly.
5181
5182 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
5183
5184 * fileio.c (Fread_file_name_internal): Correctly handle the case
5185 where insert-default-directory is nil.
5186 (Fread_file_name): Always return an empty string if the user exits
5187 with an empty minibuffer. Adapt the docstring accordingly.
5188 (syms_of_fileio): Adapt the docstring of insert-default-directory
5189 to the change in Fread_file_name.
5190
5191 2004-01-29 Eli Zaretskii <eliz@gnu.org>
5192
5193 * alloca.c [!alloca]: Fix the prototype for xfree.
5194
5195 2004-01-29 Kenichi Handa <handa@m17n.org>
5196
5197 * fns.c (string_char_to_byte): Optimize for ASCII only string.
5198 (string_byte_to_char): Likewise.
5199
5200 2004-01-28 Peter Runestig <peter@runestig.com>
5201
5202 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
5203
5204 2004-01-27 Steven Tamm <steventamm@mac.com>
5205
5206 * unexmacosx.c (unexec_copy): Do not copy more than was
5207 requested to prevent overwriting during unexec.
5208
5209 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5210
5211 * process.c (sigchld_handler): Add comment about not calling malloc.
5212
5213 * process.h: Add extern to synch_process_termsig.
5214
5215 2004-01-27 Steven Tamm <steventamm@mac.com>
5216
5217 * macterm.c (make_mac_frame, make_mac_terminal_frame):
5218 Move setting of scroll bars from make_mac_frame to
5219 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
5220
5221 2004-01-26 Richard M. Stallman <rms@gnu.org>
5222
5223 * search.c (Freplace_match): Handle nonexistent
5224 back-references properly.
5225
5226 2004-01-03 Richard M. Stallman <rms@gnu.org>
5227
5228 * window.c (decode_any_window): New function.
5229 (Fwindow_height, Fwindow_width, Fwindow_edges)
5230 (Fwindow_pixel_edges, Fwindow_inside_edges)
5231 (Fwindow_inside_pixel_edges): Use decode_any_window.
5232
5233 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5234
5235 * process.h: synch_process_termsig new variable.
5236
5237 * callproc.c: Define synch_process_termsig.
5238 (Fcall_process): Initiate synch_process_termsig to zero and
5239 check if non-zero and get signal name after subprocess has ended.
5240
5241 * process.c (sigchld_handler): Set synch_process_termsig
5242 if terminated by a signal. synch_process_death setting removed.
5243
5244 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
5245
5246 2004-01-26 Andreas Schwab <schwab@suse.de>
5247
5248 * print.c (print_preprocess): Declare size as EMACS_INT to not
5249 lose bits.
5250 (print_object): Likewise.
5251 * alloc.c (Fpurecopy): Likewise.
5252
5253 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
5254
5255 * window.c (Fwindow_minibuffer_p): Doc fix.
5256
5257 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
5258
5259 * editfns.c (Fformat): Make both passes accept the same set of flags.
5260
5261 2004-01-23 Kenichi Handa <handa@m17n.org>
5262
5263 * fns.c (Fmd5): If OBJECT is a buffer different from the current
5264 one, set buffer to OBJECT temporarily.
5265
5266 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
5267
5268 * keyboard.c (kbd_buffer_gcpro): Remove.
5269 (kbd_buffer_store_event, clear_event, Fdiscard_input)
5270 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
5271 Don't initialize and/or maintain the variable any more. It was made
5272 redundant by my commit of 2003-06-15.
5273
5274 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
5275
5276 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5277
5278 * lisp.h: Add undef DECL_ALIGN.
5279
5280 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
5281
5282 * process.c (wait_reading_process_input) [SYNC_INPUT]:
5283 Check interrupt_input_pending explicitly.
5284
5285 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
5286
5287 * keyboard.c (handle_async_input): New fun,
5288 extracted from input_available_signal.
5289 (input_available_signal, reinvoke_input_signal): Use it.
5290
5291 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
5292
5293 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
5294
5295 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
5296 manipulation macros for when tags are in the lower bits.
5297 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
5298 (DECL_ALIGN): New macro.
5299 (DEFUN): Use it.
5300
5301 * lisp.h [ENABLE_CHECKING]: Don't force union type.
5302
5303 * s/darwin.h (__attribute__): Remove outdated workaround.
5304
5305 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
5306
5307 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
5308 Don't check range of malloc address.
5309 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
5310
5311 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
5312
5313 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
5314
5315 2004-01-19 Kenichi Handa <handa@m17n.org>
5316
5317 * fontset.c (fontset_font_pattern): Fix previous change.
5318
5319 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
5320
5321 * xdisp.c (Voverflow_newline_into_fringe)
5322 (move_it_in_display_line_to, redisplay_internal)
5323 (update_window_fringes, redisplay_window, display_line, window):
5324 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
5325 that it compiles without a window-system.
5326 * dispnew.c (direct_output_for_insert, update_window): Likewise.
5327
5328 2004-01-16 Kim F. Storm <storm@cua.dk>
5329
5330 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
5331
5332 * buffer.c (init_buffer_once): Set buffer_defaults and
5333 buffer_local_flags for indicate_buffer_boundaries.
5334 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
5335 default- variable for it.
5336
5337 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
5338 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
5339 New members exact_window_width_line_p and cursor_in_fringe_p for
5340 overflowing newlines into right fringe.
5341 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
5342 and indicate_bottom_line_p for buffer boundaries and scrolling.
5343 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
5344 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
5345 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
5346 and HOLLOW_SQUARE_BITMAP.
5347 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
5348 Add prototypes.
5349
5350 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
5351 instead of related indicator fields.
5352 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
5353 (direct_output_for_insert): Handle exact width lines like
5354 contined lines. Call update_window_fringes.
5355 (update_window): Call update_window_fringes.
5356 (scrolling_window): Don't skip desired rows with changed bitmaps.
5357 Check if fringe bitmaps changes when assigning scrolled rows.
5358
5359 * xdisp.c (Voverflow_newline_into_fringe): New variable.
5360 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
5361 (move_it_in_display_line_to): Overflow newline into fringe for
5362 rows that are exactly as wide as the window.
5363 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
5364 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
5365 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
5366 (fringe_bitmaps): Add new bitmaps.
5367 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
5368 Select proper bitmap for cursor in fringe when appropriate.
5369 Handle alignment of bitmap to top or bottom of row.
5370 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
5371 done by update_window_fringes.
5372 (update_window_fringes, draw_window_fringes): New functions.
5373 (redisplay_internal): Call update_window_fringes in case only
5374 cursor row is updated.
5375 (redisplay_window): Call update_window_fringes.
5376 Explicitly call draw_window_fringes if redisplay was done using
5377 the current matrix or the overlay arrow is in the window.
5378 (try_window_reusing_current_matrix): Mark scrolled rows for
5379 fringe update (to update buffer-boundaries / scrolling icons).
5380 (find_last_unchanged_at_beg_row): Handle exact width lines line
5381 continued lines.
5382 (display_line): Overflow newline into fringe for rows that are
5383 exactly as wide as the window. Don't append space for newline
5384 in this case.
5385 (notice_overwritten_cursor): Explicitly clear cursor bitmap
5386 in fringe as if it had been overwritten.
5387 (erase_phys_cursor): Erase cursor bitmap in fringe.
5388 (syms_of_xdisp): Mark show-trailing-whitespace and
5389 void-text-area-pointer as user options.
5390 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
5391
5392 * xterm.c (x_update_window_end): Call draw_window_fringes.
5393 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
5394 in row instead of actually drawing fringe bitmaps.
5395 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
5396 (x_draw_window_cursor): Draw cursor in fringe.
5397
5398 * w32term.c (x_update_window_end): Call draw_window_fringes.
5399 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
5400 in row instead of actually drawing fringe bitmaps.
5401 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
5402 (w32_draw_window_cursor): Draw cursor in fringe.
5403
5404 * macterm.c (x_update_window_end): Call draw_window_fringes.
5405 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
5406 in row instead of actually drawing fringe bitmaps.
5407 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
5408 (mac_draw_window_cursor): Draw cursor in fringe.
5409
5410 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5411
5412 * xterm.c (handle_one_xevent): Don't handle characters that are part
5413 of an old style (XLookupString) compose sequence.
5414
5415 2004-01-15 Kenichi Handa <handa@m17n.org>
5416
5417 * search.c (Freplace_match): Use make_multibyte_string or
5418 make_unibyte_string according to the buffer multibyteness.
5419
5420 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
5421
5422 * alloc.c (struct interval_block, struct string_block)
5423 (struct symbol_block, struct marker_block, live_string_p)
5424 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
5425 Better preserve alignment for objects in blocks.
5426 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
5427
5428 * lread.c (defvar_per_buffer): Remove dead declaration.
5429
5430 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
5431 space size.
5432
5433 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5434
5435 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
5436 if a key press should pop down. Only pop down if a key is pressed
5437 outside the menu/dialog.
5438 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
5439 popup_get_selection.
5440 (create_and_show_dialog): Pass 1 for down_on_keypress to
5441 popup_get_selection.
5442
5443 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5444
5445 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
5446 BLOCK/UNBLOCK_INPUT.
5447
5448 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5449
5450 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
5451 specified.
5452
5453 2004-01-08 Kenichi Handa <handa@m17n.org>
5454
5455 * editfns.c (Fformat): Fix '&' to '&&'.
5456
5457 2004-01-08 Andreas Schwab <schwab@suse.de>
5458
5459 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
5460 size if PSEUDOVECTOR_FLAG is set.
5461
5462 2004-01-07 Kenichi Handa <handa@m17n.org>
5463
5464 * charset.c (Fdeclare_equiv_charset): Fix docstring.
5465
5466 * fontset.c (fontset_ref_via_base): Fix previous change.
5467
5468 2004-01-07 Kim F. Storm <storm@cua.dk>
5469
5470 * process.c (read_process_output): Only activate adaptive
5471 buffering if we read less than 256 bytes at a time.
5472
5473 2004-01-06 Kim F. Storm <storm@cua.dk>
5474
5475 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
5476 object and image object. Return glyph width and height.
5477 (mode_line_string, marginal_area_string): Ditto.
5478
5479 * dispextern.h (buffer_posn_from_coords, mode_line_string)
5480 (marginal_area_string): Fix prototypes.
5481
5482 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
5483 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
5484 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
5485
5486 * keyboard.c (make_lispy_position): Use modified mode_line_string,
5487 buffer_posn_from_coords, and marginal_area_string functions to
5488 include both string object and image object in the lispy position.
5489 Also add actual glyph width and height to position.
5490 (read_key_sequence): Use real buffer position from mouse
5491 event to find keymap property even when click is in marginal area.
5492
5493 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
5494 mode_line_string and marginal_area_string functions to handle
5495 both string object and image object properties.
5496
5497 2004-01-06 Andreas Schwab <schwab@suse.de>
5498
5499 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
5500 character.
5501
5502 2004-01-02 Andreas Schwab <schwab@suse.de>
5503
5504 * macterm.c (emacs_options, x_initialized, same_x_server):
5505 Remove unused (and duplicated) definitions.
5506
5507 2004-01-02 Kim F. Storm <storm@cua.dk>
5508
5509 * process.h (struct Lisp_Process): New members for adaptive read
5510 buffering: adaptive_read_buffering, read_output_delay, and
5511 read_output_skip.
5512
5513 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
5514 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
5515 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
5516 (process_output_delay_count, process_output_skip): New vars.
5517 (Vprocess_adaptive_read_buffering): New variable.
5518 (make_process): Initialize adaptive read buffering members.
5519 (Fstart_process): Set adaptive_read_buffering member.
5520 (deactivate_process): Cleanup adaptive read buffering.
5521 (wait_reading_process_input): Temporarily omit delayed
5522 subprocesses from the set of file descriptors to read from;
5523 adjust the select timeout if we skipped any subprocesses.
5524 (read_process_output): Increase adaptive read buffering delay if
5525 we read less than a full buffer; reduce delay when we read a
5526 full buffer.
5527 (send_process): Simplify using local Lisp_Process var.
5528 Reset adaptive read buffering delay after write.
5529 (init_process): Initialize process_output_delay_count and
5530 process_output_skip.
5531 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
5532
5533 2004-01-01 Jason Rumney <jasonr@gnu.org>
5534
5535 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
5536
5537 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
5538
5539 * print.c (Ferror_message_string): Add hyperlink in the docstring
5540 to the definition of `signal' in the Elisp manual.
5541 * eval.c (Fsignal): Ditto.
5542
5543 2003-12-29 James Clark <jjc@jclark.com>
5544
5545 * fns.c (internal_equal): Return t for two NaN arguments.
5546
5547 2003-12-29 Richard M. Stallman <rms@gnu.org>
5548
5549 * data.c (store_symval_forwarding): Handle setting
5550 default-fill-column, etc., by changing the value in
5551 buffers that use the default.
5552
5553 * minibuf.c (Fset_minibuffer_window): Doc fix.
5554
5555 * fileio.c (choose_write_coding_system): Ignore auto_saving
5556 if using the visited file for auto saves.
5557 (Fwrite_region): Don't update SAVE_MODIFF
5558 if auto-saving in visited file.
5559
5560 2003-12-29 Kenichi Handa <handa@m17n.org>
5561
5562 * dispextern.h (face_font_available_p): Extern it.
5563
5564 * fontset.c (Voverriding_fontspec_alist): New variable.
5565 (lookup_overriding_fontspec): New function.
5566 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
5567 (fontset_font_pattern): Likewise.
5568 (regulalize_fontname): New function.
5569 (Fset_fontset_font): Call regulalize_fontname.
5570 (Fset_overriding_fontspec_internal): New function.
5571 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
5572 Defsubr Sset_overriding_fontspec_internal.
5573
5574 * xfaces.c (face_font_available_p): New function.
5575
5576 2003-12-28 Richard M. Stallman <rms@gnu.org>
5577
5578 * buffer.c (Fother_buffer): Don't crash if BUF is nil
5579 or if its name is nil.
5580
5581 * buffer.c (Fkill_buffer): Don't delete auto-save file
5582 if it's the same as the visited file.
5583
5584 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
5585
5586 * coding.c (Fcheck_coding_system): Doc fix.
5587
5588 2003-12-28 Kim F. Storm <storm@cua.dk>
5589
5590 * Makefile.in (eval.o): Depend on dispextern.h.
5591
5592 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
5593 image glyph using image's ascent.
5594 (mode_line_string): Return image glyph as object clicked on.
5595 Adjust y0 for image glyph using image's ascent.
5596
5597 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
5598 (struct glyph): New members, ascent and descent. Used to save
5599 this glyph's ascent and descent, instead of having.
5600 (struct glyph): Declare member face_id using FACE_ID_BITS.
5601 (find_hot_spot): Add prototype.
5602
5603 * keyboard.c (Qimage): Remove extern (now in lisp.h).
5604 (QCmap): Declare extern.
5605 (make_lispy_position): When position is inside image hot-spot,
5606 use hot-spot element's id as posn element.
5607
5608 * lisp.h (IMAGEP): New macro to test for image object type.
5609 (Qimage): Declare extern.
5610
5611 * macfns.c (Qimage): Remove extern (now in lisp.h).
5612 (valid_image_p, parse_image_spec): Use IMAGEP macro.
5613
5614 * macterm.c (Qface, Qmouse_face): Remove unused externs.
5615
5616 * w32fns.c (Qimage): Remove extern (now in lisp.h).
5617 (valid_image_p, parse_image_spec): Use IMAGEP macro.
5618
5619 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
5620
5621 * w32term.c (Qface, Qmouse_face): Remove unused externs.
5622
5623 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
5624 pointer types.
5625 (Qrelative_width, Qalign_to): Remove unused variables.
5626 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
5627 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
5628 image maps.
5629 (x_y_to_hpos_vpos): Return glyph relative coordinates through
5630 new dx and dy args.
5631 Remove buffer_only_p arg (always 0). Simplify code accordingly.
5632 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
5633 than row's ascent and height, to get sensible height on tall rows.
5634 (build_desired_tool_bar_string): Remove Qimage extern.
5635 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
5636 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
5637 image glyph is alone on the last line.
5638 (append_glyph, append_composite_glyph, produce_image_glyph)
5639 (append_stretch_glyph): Set glyph's ascent and descent.
5640 (on_hot_spot_p): New function to check if position is inside an
5641 rectangular, circular, or polygon-shaped image hot-spot,
5642 (find_hot_spot): New function to search for image hot-spot.
5643 (Flookup_image_map): New defun to search for image hot-spot.
5644 (define_frame_cursor1): New aux function to determine frame pointer.
5645 (note_mode_line_or_margin_highlight, note_mouse_highlight):
5646 Handle `pointer' text property and :pointer image property to
5647 control frame pointer shape. Detect image hot-spots for pointer
5648 and help_echo properties. Use define_frame_cursor1.
5649 (note_mouse_highlight): Use Vvoid_text_area_pointer.
5650 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
5651 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
5652
5653 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
5654
5655 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
5656 (Qimage): Remove extern (now in lisp.h).
5657 (valid_image_p, parse_image_spec): Use IMAGEP macro.
5658
5659 * xmenu.c (show_help_event): Remove unused code.
5660
5661 * xterm.c (Qface, Qmouse_face): Remove unused externs.
5662 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
5663 row's ascent and descent, to get a sensible height on tall rows.
5664
5665 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
5666
5667 * minibuf.c (Fcompleting_read): Undo previous change.
5668
5669 2003-12-25 Lars Hansen <larsh@math.ku.dk>
5670
5671 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
5672 Arguments GCPRO'ed in call to file name handler.
5673
5674 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
5675
5676 * termcap.c (tgetst1): Scan for "%pN"; if all
5677 N are continuous in [1,9], remove all "%pN".
5678
5679 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5680
5681 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
5682
5683 * xfaces.c (lface_fully_specified_p): Take into account that
5684 MAC OS always have unspecified stipple.
5685
5686 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
5687
5688 * tparam.c (tparam1): Add handling for `%pN', which
5689 means use param N for the next substitution.
5690
5691 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
5692
5693 * xfaces.c (Fcolor_gray_p): Fix omission bug:
5694 In case `frame' is nil, consult the selected frame.
5695 (Fcolor_supported_p): Likewise.
5696
5697 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
5698
5699 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
5700 Doc fixes.
5701
5702 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
5703 and an integer. Adapt the introductory comment accordingly.
5704 (Fread_from_minibuffer): Delete code moved into read_minibuf.
5705 Doc fix.
5706 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
5707 read_minibuf.
5708 (Fcompleting_read): Delete code moved into read_minibuf.
5709 (Ftest_completion): Make it handle obarrays and hash tables correctly.
5710
5711 2003-12-03 Kenichi Handa <handa@m17n.org>
5712
5713 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
5714 encoding sequence.
5715
5716 2003-12-01 Kenichi Handa <handa@m17n.org>
5717
5718 * composite.c (syms_of_composite): Don't make the compostion hash
5719 table week.
5720
5721 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
5722
5723 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
5724 * textprop.c (Fget_char_property_and_overlay): New function.
5725 (syms_of_textprop): Defsubr it.
5726
5727 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5728
5729 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
5730 to compile on terminal configuration.
5731
5732 * fileio.c (Fread_file_name): Check use_file_dialog also before
5733 calling Fx_file_dialog.
5734
5735 * fns.c: use_file_dialog: New variable.
5736 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
5737
5738 2003-11-29 Kim F. Storm <storm@cua.dk>
5739
5740 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
5741 (syms_of_msdos): Don't intern and staticpro them.
5742
5743 2003-11-27 Kim F. Storm <storm@cua.dk>
5744
5745 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
5746 coordinates relative to glyph at posn. If glyph is an image,
5747 return that as object at posn. Callers changed.
5748 (mode_line_string, marginal_area_string): Calculate and return
5749 pixel coordinates relative to glyph. Callers changed.
5750
5751 * dispextern.h (buffer_posn_from_coords, mode_line_string)
5752 (marginal_area_string): Fix prototypes.
5753 (window_box_left_offset, window_box_right_offset): Add prototypes.
5754
5755 * frame.h (get_specified_cursor_type, get_window_cursor_type):
5756 Remove prototypes.
5757
5758 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
5759
5760 * keyboard.c (make_lispy_position): Add x and y coordinates
5761 relative to the current glyph as 7th element of position.
5762 If glyph is an image, return it in the object element.
5763 (read_key_sequence): Skip checks for keymap property in cases
5764 where POSN_STRING is not a string (e.g. an image).
5765
5766 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
5767 (Vshow_text_cursor_in_void): New variable.
5768 (glyph_to_pixel_coords): Don't use negative hpos.
5769 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
5770 (append_stretch_glyph): Change ascent arg to be actual value
5771 in pixels rather than ratio to height. Callers changed.
5772 (calc_pixel_width_or_height): New aux function, implementing
5773 pixel based artihmetic for glyph widths and heights.
5774 (produce_stretch_glyph): Use calc_pixel_width_or_height for
5775 :width, :height, :align-to, and :ascent, thus allowing these to
5776 be specified in pixels as well as multiples of characters.
5777 Don't produce stretch glyphs with zero width or height.
5778 (get_specified_cursor_type): Declare static.
5779 (get_window_cursor_type): Declare static. Add glyph arg to be
5780 able to know when cursor is on an image; always substitute
5781 hollow-box cursor for filled-box cursor on images, to avoid
5782 negative images and flicker when blinking the cursor.
5783 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
5784 (note_mode_line_or_margin_highlight): Use non-text cursor rather
5785 than vertical scroll-bar cursor in display margins.
5786 (note_mouse_highlight): Use non-text cursor rather than text
5787 cursor in fringes and over images in the text area.
5788 Use non-text cursor when mouse pointer is outside editable text,
5789 i.e. in the void after end-of-line or end-of-buffer; this was
5790 already done for W32, but is now standard for all systems --
5791 user can toggle show-text-cursor-in-void to get old behaviour.
5792 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
5793 Vdisplay_pixels_per_inch.
5794
5795 2003-11-25 Andreas Schwab <schwab@suse.de>
5796
5797 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
5798 EMACS_INT to not lose bits.
5799 (Ffillarray): Don't set bits beyond the size of a bool vector.
5800
5801 2003-11-25 Kim F. Storm <storm@cua.dk>
5802
5803 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
5804 define this defun on systems that cannot use stderr as lvalue.
5805
5806 2003-11-24 Gerd Moellmann <gerd@gnu.org>
5807
5808 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
5809 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
5810 ld's default is incompatible with unexec.
5811
5812 2003-11-23 Kim F. Storm <storm@cua.dk>
5813
5814 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
5815 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
5816 (Fforce_window_update): New defun.
5817 (syms_of_window): Defsubr it.
5818 (Fset_window_margins, Fset_window_fringes): Doc fix.
5819
5820 * print.c (Fredirect_debugging_output): New defun.
5821 (syms_of_print): Defsubr it.
5822
5823 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
5824
5825 * fns.c (Fset_char_table_parent): Doc fix.
5826
5827 2003-11-22 Kim F. Storm <storm@cua.dk>
5828
5829 * dispnew.c (buffer_posn_from_coords): Return actual row/column
5830 for glyph clicked on, rather than (unused) pixel positions.
5831 (mode_line_string, marginal_area_string): Change X and Y args to
5832 pointers for returning actual row/column for glyph clicked on.
5833 Simplify and optimize loops.
5834
5835 * dispextern.h (mode_line_string, marginal_area_string):
5836 Update prototypes.
5837
5838 * keyboard.c (make_lispy_position): New function for generating
5839 mouse click positions from frame and pixel coordinates.
5840 Enhanced to return buffer position and actual row/column for
5841 events outside the text area using updated mode_line_string and
5842 marginal_area_string functions.
5843 Return left-fringe and right-fringe clicks as such, rather than
5844 clicks in text area.
5845 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
5846 pixel_to_glyph_coords, as we never use the results.
5847 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
5848 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
5849 Eliminate unused code in WHEEL_EVENT handling.
5850 (make_lispy_movement): Use make_lispy_position.
5851
5852 * window.c (coordinates_in_window): Remove redundant tests.
5853 Fix returned X pixel value for left-margin.
5854
5855 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
5856 mode_line_string and marginal_area_string parameters.
5857
5858 2003-11-22 Lars Hansen <larsh@math.ku.dk>
5859
5860 * w32.c (struct the_group, getgrgid): Add.
5861 * mac.c (struct my_group, getgrgid): Add.
5862
5863 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
5864
5865 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
5866
5867 2003-11-21 Lars Hansen <larsh@math.ku.dk>
5868
5869 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
5870 include in call to file name handler. Optionally translate numeric
5871 UID and GID to strings. Update docstring.
5872 (directory_files_internal): Add parameter ID-FORMAT.
5873 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
5874 include in call to file name handler and call to
5875 directory_files_internal. Update Docstring.
5876 (Fdirectory_files): Add dummy parameter in call to
5877 directory_files_internal.
5878 * lisp.h (Qinteger): Add.
5879 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
5880 (Ffile_attributes): Add parameter.
5881 * data.c (Qinteger): Export.
5882
5883 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
5884
5885 * fns.c (Freverse, Fnreverse): Doc fixes.
5886
5887 2003-11-19 Kim F. Storm <storm@cua.dk>
5888
5889 * xdisp.c (init_iterator): Initialize it->start to position
5890 before reseating (in case start position is invisible).
5891 (init_to_row_start): Set it->start to row-start.
5892 (redisplay_window): Accept optional_new_start if start position
5893 is invisible (in which case IT_CHARPOS overshoots PT).
5894 (display_line): Setup row->start from it->start (rather than
5895 it->current which is wrong if first char on line is invisible).
5896 When done, reseat it->start to it->current (= start of next row).
5897 (expose_area): Fix exposure of text area when first char (e.g. TAB)
5898 is only partially visible.
5899
5900 * dispextern.h (struct it): New member start.
5901
5902 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
5903
5904 * alloc.c (make_float, Fcons): Clear the markbit at init time.
5905 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
5906 of block_index outside of the macro call.
5907 (Fgarbage_collect): Remove null code.
5908
5909 * m/amdx86-64.h: Don't redefine XPNTR.
5910
5911 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
5912 of VALMASK.
5913
5914 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
5915 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
5916 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
5917
5918 * lisp.h (VALMASK): Only define for non-union type.
5919 (MARKBIT): Remove.
5920 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
5921 (XTYPE): Define unconditionally.
5922 (XSETTYPE): Remove one more remnant.
5923 (EQ): Define differently for the union and non-union cases.
5924 (INTMASK): New bit mask.
5925 (struct Lisp_Marker): Move down to prepare for upcoming patch.
5926 (GC_EQ): Delegate to EQ.
5927
5928 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
5929
5930 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5931
5932 * xterm.c (x_window_to_scroll_bar): Move check of display to
5933 where window_id is compared.
5934
5935 2003-11-17 Kim F. Storm <storm@cua.dk>
5936
5937 * dispextern.h (struct it): New member first_vpos.
5938
5939 * xdisp.c (start_display): Set it->first_vpos.
5940 (try_window_id): Use first_vpos to start display in first _text_
5941 line if no reusable lines at start of window with header line.
5942
5943 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5944
5945 * w32fns.c (XPutPixel):
5946 * w32bdf.c (w32_init_bdf_font):
5947 * sunfns.c (sel_read):
5948 * process.c (Fmake_network_process):
5949 * frame.c (store_frame_param):
5950 * fontset.c (Fset_fontset_font):
5951 * emacs.c (shut_down_emacs):
5952 * ccl.c (ccl_driver): Remove period at end of error message.
5953
5954 * config.in: Regenerate.
5955
5956 * xfns.c (x_window_to_frame, x_any_window_to_frame)
5957 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
5958 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
5959 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
5960 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
5961
5962 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
5963
5964 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
5965 (XTmouse_position, handle_one_xevent): Pass Display* to
5966 x_window_to_scroll_bar.
5967 (x_window_to_scroll_bar): Take a Display* argument.
5968 Check that display for frame is equal to Display* argument.
5969 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
5970 x_display_info_for_display instead. Use Display in xev instead
5971 of GDK_DISPLAY.
5972 (x_dispatch_event): Call x_display_info_for_display.
5973 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
5974 (x_connection_closed): Call xg_display_close for GTK.
5975 (x_term_init): Call xg_display_open for additional displays.
5976 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
5977 for GTK.
5978
5979 * xmenu.c (single_menu_item, mouse_position_for_popup)
5980 (x_activate_menubar): Formatting adjustments.
5981
5982 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
5983 adjustments.
5984
5985 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
5986 (xg_display_close, xg_create_default_cursor)
5987 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
5988 handling.
5989 (xg_left_ptr_cursor): Remove.
5990 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
5991 cursor here.
5992 (xg_win_to_widget): Take Display* argument, call
5993 gdk_xid_table_lookup_for_display.
5994 (xg_create_frame_widgets, xg_get_file_name, create_menus)
5995 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
5996 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
5997 in FRAME_X_DISPLAY_INFO.
5998 (xg_get_scroll_id_for_window): Take Display* argument.
5999 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
6000 (xg_initialize): Remove xg_left_ptr_cursor.
6001
6002 * gtkutil.h (xg_get_scroll_id_for_window, xg_win_to_widget): Add
6003 Display* argument.
6004 (xg_display_open, xg_display_close, xg_create_default_cursor): Declare.
6005
6006 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6007
6008 * xterm.c (x_detect_focus_change): Do not change focus frame for
6009 Enter/LeaveNotify if the current focus frame has explicit focus.
6010
6011 2003-11-14 Kim F. Storm <storm@cua.dk>
6012
6013 * dispnew.c (update_text_area): Fix redisplay error when hscroll
6014 is active and first glyph is only partially visible.
6015
6016 2003-11-13 Kenichi Handa <handa@m17n.org>
6017
6018 * xdisp.c (select_frame_for_redisplay): New function.
6019 (redisplay_internal): Record also selected_frame for
6020 unwind_redisplay. Call select_frame_for_redisplay before
6021 redrawing each frame.
6022 (unwind_redisplay): Argument changed to a cons.
6023
6024 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
6025
6026 * fns.c (Fstring_to_multibyte): Doc fix.
6027
6028 2003-11-11 Kenichi Handa <handa@m17n.org>
6029
6030 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
6031
6032 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6033
6034 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
6035 program specified positions.
6036
6037 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6038
6039 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
6040
6041 2003-11-08 Kenichi Handa <handa@m17n.org>
6042
6043 * Makefile.in (lisp): Add kannada.el.
6044 (shortlisp): Likewise.
6045
6046 2003-11-07 Kenichi Handa <handa@m17n.org>
6047
6048 * coding.c (coding_allocate_composition_data):
6049 Reset coding->composing to COMPOSITION_NO.
6050 (coding_restore_composition): Detect invalid composition data.
6051 Give Fstring and Fvector a Lispy integer, not C int.
6052
6053 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
6054
6055 * floatfns.c (Flogb): Don't use VALMASK.
6056
6057 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
6058 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
6059
6060 * lisp.h (XINT): Move the cast to clarify what is going on.
6061 (GCTYPEMASK, XSETTYPE): Remove.
6062 (XGCTYPE): Make it an alias of XTYPE.
6063
6064 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6065
6066 * xterm.c (x_term_init): Fix formatting.
6067
6068 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6069
6070 * gtkutil.h (xg_have_tear_offs): Declare.
6071 (xg_keep_popup, xg_did_tearoff): Remove.
6072
6073 * gtkutil.c: Remove variable xg_did_tearoff.
6074 (xg_have_tear_offs): New function.
6075 (tearoff_remove): Just decrease xg_detached_menus.
6076 (tearoff_activate): Increase xg_detached_menus and call
6077 tearoff_remove when tearoff is removed.
6078 (xg_keep_popup): Remove function.
6079 (create_menus): Give add_tearoff_p as argument to recursive
6080 call to create_menus.
6081 (xg_create_widget): Use variables instead of multiple
6082 strcmp. Tell create_menus to create tear off only for
6083 menu bar menus.
6084 (xg_update_menubar): Change title for a detached menu also.
6085 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
6086 of deep_p.
6087 (xg_initialize): Initialize xg_detached_menus, remove
6088 initialization of xg_did_tearoff.
6089
6090 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
6091 xg_have_tear_offs returns non-zero.
6092 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
6093 call to xg_keep_popup.
6094
6095 2003-11-01 Andrew Choi <akochoi@shaw.ca>
6096
6097 * macterm.c (XTread_socket): Handle menubar selection and grow
6098 window only for mouseDown events.
6099
6100 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6101
6102 * xterm.c (x_term_init): For GTK part, increase x_initialized
6103 to check for more than one display. Use error instead of return 0.
6104
6105 2003-10-31 Andrew Choi <akochoi@shaw.ca>
6106
6107 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
6108 (copy_dysymtab): Call it.
6109
6110 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
6111
6112 * eval.c (Fdefvaralias): Doc fix.
6113
6114 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
6115
6116 * data.c (Fsetplist): Doc fix.
6117
6118 2003-10-14 Lute Kamstra <lute@gnu.org>
6119
6120 * window.c (Fset_window_fringes): Clarify docstring.
6121
6122 2003-10-14 Kim F. Storm <storm@cua.dk>
6123
6124 * window.c (Fset_window_margins): Simplify arg checking.
6125
6126 2003-10-13 Richard M. Stallman <rms@gnu.org>
6127
6128 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
6129 (print_partial_compiled_pattern): Replace assert with a printout.
6130 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
6131
6132 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
6133
6134 * window.c (Fset_window_margins): Allow only integers as args.
6135 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
6136 Doc fixes.
6137
6138 2003-10-13 Lute Kamstra <lute@gnu.org>
6139
6140 * window.c (Fset_window_fringes): Elaborate docstring.
6141
6142 2003-10-12 Andrew Choi <akochoi@shaw.ca>
6143
6144 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
6145
6146 * s/darwin.h (GC_MARK_STACK): Define.
6147
6148 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6149
6150 * window.c (shrink_windows): New function.
6151 (size_window): Call shrink_windows to calculate window sizes when
6152 shrinking frame with more than one window.
6153
6154 2003-10-12 Kim F. Storm <storm@cua.dk>
6155
6156 * xdisp.c (compute_fringe_widths): Doc fix.
6157
6158 2003-10-08 Kenichi Handa <handa@m17n.org>
6159
6160 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
6161
6162 2003-10-07 Kenichi Handa <handa@m17n.org>
6163
6164 * coding.c (Qcoding_system_define_form): New variable.
6165 (syms_of_coding): Intern and staticpro it.
6166 (Fcheck_coding_system): Try to autoload the definition of
6167 CODING-SYSTEM.
6168
6169 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
6170
6171 * fns.c (Frequire): Doc fix.
6172
6173 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6174
6175 * xfns.c (Fx_send_client_event): New function as a base for
6176 manipulating extended window manager hints.
6177 (Fx_send_client_event): Remove unused variable s.
6178
6179 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
6180 that function is removed.
6181
6182 * xterm.c (x_set_offset): Use move_offset_left/top instead of
6183 x/y_pixels_outer_diff.
6184 (x_check_expected_move): Calculate move_offset_left/top.
6185
6186 * xterm.h (struct x_output): New members: move_offset_top/left.
6187
6188 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
6189 call x_set_offset directly.
6190
6191 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
6192
6193 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
6194
6195 * xterm.c (x_delete_display): Free font names and font_encoder
6196 in dpyinfo->font_table.
6197
6198 * xfns.c (Fx_close_connection): Only call XFreeFont here.
6199 Move xfree of font names to x_delete_display.
6200
6201 * xterm.h (struct x_display_info): New member, wm_type.
6202 (struct x_output): New members, expected_top/left and
6203 check_expected_move.
6204
6205 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
6206 is received.
6207 (handle_one_xevent): Rename x_check_expected_move from
6208 x_check_fullscreen_move.
6209 (x_set_offset): Only add WM decoration sizes to modified_top/left
6210 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
6211 (x_check_expected_move): Rename from x_check_fullscreen_move.
6212 Removed fullscreen specific code. Use check_expected_move,
6213 expected_left/top instead. Also, set wm_type.
6214 (x_term_init): Initialize wm_type to unknown.
6215
6216 * frame.c (x_fullscreen_move): Remove addition of WM decoration
6217 sizes to move_x/y.
6218
6219 2003-10-03 Kenichi Handa <handa@m17n.org>
6220
6221 * macterm.c (x_load_font): Clear all members of FONTP before start
6222 filling them.
6223
6224 2003-10-02 Kenichi Handa <handa@m17n.org>
6225
6226 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
6227 before calling find_ccl_program_func. Call find_ccl_program_func
6228 only when fontp->font_encoder is not NULL.
6229
6230 * xterm.c (x_load_font): Clear all members of FONTP before start
6231 filling them.
6232
6233 2003-10-03 John Paul Wallington <jpw@gnu.org>
6234
6235 * keymap.c (map_keymap): Don't abort when binding is a vector.
6236
6237 2003-10-02 Jason Rumney <jasonr@gnu.org>
6238
6239 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
6240 Sync dependencies with Makefile.in.
6241 (alloca.o): Remove.
6242
6243 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
6244 filling them.
6245
6246 * w32bdf.c (w32_load_bdf_font): Likewise.
6247
6248 2003-09-30 Richard M. Stallman <rms@gnu.org>
6249
6250 * term.c (set_tty_color_mode): Calculate current_mode_spec
6251 regardless of value of VAL.
6252
6253 * intervals.c (graft_intervals_into_buffer):
6254 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
6255 Handle over_used when splitting UNDER.
6256
6257 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6258
6259 * regex.c (regex_compile): Free the stack when returning from function.
6260
6261 2003-09-28 Kenichi Handa <handa@m17n.org>
6262
6263 * fontset.c (Finternal_char_font): Change return value to
6264 cons (FONT-NAME . GLYPH-CODE).
6265
6266 2003-09-28 Eli Zaretskii <eliz@gnu.org>
6267
6268 * term.c (tty_setup_colors): Treat any negative argument as -1.
6269
6270 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
6271
6272 * process.c (send_process): Delete unused temp_buf.
6273
6274 2003-09-26 Dave Love <fx@gnu.org>
6275
6276 * xterm.c (x_bitmap_mask): Declare.
6277
6278 2003-09-25 Dave Love <fx@gnu.org>
6279
6280 * Makefile.in (fns.o): Depend on md5.h.
6281
6282 2003-09-25 Kim F. Storm <storm@cua.dk>
6283
6284 * window.c (set_window_buffer): Fix redisplay problems when
6285 switching between buffers with different display margin widths.
6286
6287 2003-09-23 Kim F. Storm <storm@cua.dk>
6288
6289 * process.c (set_socket_option): Fix :bindtodevice option.
6290 (Fset_network_process_option): Update process contact list when
6291 setting option succeeds.
6292 (Fmake_network_process): Doc fix.
6293
6294 2003-09-23 Dave Love <fx@gnu.org>
6295
6296 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
6297
6298 2003-09-22 Eli Zaretskii <eliz@gnu.org>
6299
6300 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
6301 color mode is an integer number (it could be -1).
6302
6303 2003-09-22 Richard M. Stallman <rms@gnu.org>
6304
6305 * intervals.c (graft_intervals_into_buffer): Correct the main loop
6306 in the case where OVER is longer than UNDER.
6307
6308 2003-09-22 Masatake YAMATO <jet@gyve.org>
6309
6310 * window.c (Fset_window_scroll_bars): Validate the value of
6311 `vertical_type'.
6312
6313 2003-09-21 Kim F. Storm <storm@cua.dk>
6314
6315 * frame.c (Vdefault_frame_scroll_bars): New variable.
6316 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
6317 (syms_of_frame): DEFVAR_LISP it, and initialize according to
6318 window-system default scroll bar position.
6319
6320 * window.c (Fwindow_scroll_bars): Doc fix.
6321
6322 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6323
6324 * xterm.c (x_set_offset): Take window manager decorations into account.
6325
6326 2003-09-19 Richard M. Stallman <rms@gnu.org>
6327
6328 * atimer.h: Don't include lisp.h.
6329 (P_): Define it here (as well as elsewhere).
6330
6331 * print.c (Fprin1_to_string): Move the PRINTPREPARE
6332 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
6333
6334 * data.c (Fvariable_binding_locus): New function.
6335 (syms_of_data): defsubr it.
6336 (Flocal_variable_p): Delete duplicate call to indirect_variable.
6337
6338 2003-09-18 Dave Love <fx@gnu.org>
6339
6340 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
6341
6342 * process.c (Fnetwork_interface_info): Fix type error.
6343 (Fnetwork_interface_list): Doc fix.
6344 (read_process_output, read_process_output): Delete unused var.
6345
6346 2003-09-17 Kim F. Storm <storm@cua.dk>
6347
6348 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
6349 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
6350 (Fnetwork_interface_info): Check that ifreq struct has required
6351 fields before accessing them; this requires that those fields are
6352 defined as macros, which may be too restrictive on some platforms,
6353 but it is better than failing on other platforms.
6354 (syms_of_process): Only defsubr above fns when included.
6355
6356 2003-09-17 Dave Love <fx@gnu.org>
6357
6358 * unexalpha.c: Don't include varargs.h.
6359
6360 2003-09-17 Kim F. Storm <storm@cua.dk>
6361
6362 * process.c (Fset_process_sentinel): Add sentinel to childp plist
6363 for network process.
6364 (socket_options): Add `:' prefix to option names. Add optbit field.
6365 (set_socket_option): Remove no_error arg and special handling of s < 0.
6366 Return 1<<optbit for known option, 0 for unknown.
6367 Do not interpret 0 as false for boolean option (only nil).
6368 Pass failed option and value to report_file_error.
6369 (Fset_network_process_options): Replace by Fset_network_process_option.
6370 (Fset_network_process_option): New function to set just one option.
6371 (Fmake_network_process): Allow :coding arg to be a cons.
6372 Allow :server arg to be an integer specifying backlog size.
6373 Remove :options arg, and allow options to be specified directly
6374 as :KEY, VALUE pairs. Parse these options before binding socket.
6375 As before, :reuseaddr t is default for a server process, but this
6376 can now be disabled by specifying :reuseaddr nil.
6377 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
6378 (init_process): Availability of network options is now checked with
6379 simpler syntax (featurep 'make-network-process :OPTION); use loop to
6380 setup features.
6381 (syms_of_process): Fix defsubr's for the replaced functions.
6382
6383 2003-09-16 Dave Love <fx@gnu.org>
6384
6385 * Makefile.in: Depend on coding.h.
6386
6387 2003-09-14 Kim F. Storm <storm@cua.dk>
6388
6389 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
6390 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
6391 (syms_of_process): Defsubr them.
6392
6393 * config.in: Regenerate.
6394
6395 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
6396
6397 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
6398 * m/news-r6.h (XUNMARK): Remove.
6399 * m/mips.h (XUNMARK): Remove.
6400 * m/mips-siemens.h (XUNMARK): Remove.
6401 * m/iris4d.h (XUNMARK): Remove.
6402 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
6403
6404 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
6405
6406 * lisp.h (VALBITS): Don't remove 1 for the markbit.
6407 (union Lisp_Object): Use unsigned int for types. Remove markbit.
6408 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
6409 (XTYPE): Use unsigned right-shift.
6410 (XMARKBIT, XMARK, XUNMARK): Remove.
6411
6412 * alloc.c (init_intervals, init_symbol, init_marker):
6413 Don't preallocate anything.
6414 (Fgarbage_collect, mark_object): Ignore the markbit.
6415
6416 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
6417
6418 2003-09-08 Lute Kamstra <lute@gnu.org>
6419
6420 * xdisp.c (pint2hrstr): New function.
6421 (decode_mode_spec): Add `%i' and `%I' specs.
6422 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
6423 for `mode-line-format'.
6424
6425 2003-09-07 Andreas Schwab <schwab@suse.de>
6426
6427 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
6428 avoid warning.
6429
6430 2003-09-07 Eli Zaretskii <eliz@gnu.org>
6431
6432 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
6433
6434 2003-09-03 Kim F. Storm <storm@cua.dk>
6435
6436 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
6437 change (superseded by 2002-08-30 change); the default blink-off
6438 cursor is now again "no cursor".
6439
6440 2003-09-01 Jason Rumney <jasonr@gnu.org>
6441
6442 * makefile.w32-in (alloca.o): Remove.
6443 (coding.o): Depend on intervals.h
6444 (emacs.o, bytecode.o): Depend on window.h
6445
6446 2003-09-01 Dave Love <fx@gnu.org>
6447
6448 * Makefile.in (alloca.o): Remove commands.
6449 (coding.o): Depend on intervals.h composite.h window.h.
6450 (emacs.o): Depend on window.h keyboard.h keymap.h.
6451 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
6452 (bytecode.o): Depend on window.h.
6453
6454 2003-08-31 Jason Rumney <jasonr@gnu.org>
6455
6456 * w32term.c (w32_per_char_metric): Allow cached metrics to be
6457 returned even when font_type is unknown.
6458
6459 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
6460
6461 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6462
6463 * xterm.c (x_term_init): Initialize new fields in x_display_info.
6464
6465 * xterm.h (struct x_display_info): Add red/green/blue_bits and
6466 *_offset.
6467
6468 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
6469 calculate pixel value.
6470
6471 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
6472
6473 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
6474 Don't tell redisplay display is accurate when it's actually been
6475 paused for pending input.
6476
6477 2003-08-29 Richard M. Stallman <rms@gnu.org>
6478
6479 * dispnew.c (adjust_glyph_matrix): Call window_box
6480 whenever W is nonzero.
6481
6482 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
6483 (Fkill_local_variable, Fmake_variable_frame_local)
6484 (Flocal_variable_p, Flocal_variable_if_set_p):
6485 Use indirect_variable to trace thru variable aliases.
6486
6487 * config.in: Updated.
6488
6489 * callint.c (Fcall_interactively): Save and restore
6490 Vthis_command, Vthis_original_command, real_this_command,
6491 and current_kboard->Vlast_command.
6492
6493 * abbrev.c (Fexpand_abbrev): Insert before deleting.
6494
6495 2003-08-29 Gerd Moellmann <gerd@gnu.org>
6496
6497 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
6498
6499 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
6500
6501 * coding.c (decode_coding_iso2022): Initialize local variable c2.
6502 (decode_coding_sjis_big5): Likewise.
6503
6504 2003-08-27 Jason Rumney <jasonr@gnu.org>
6505
6506 * w32.c (sys_pipe): Protect against file descriptor overflow.
6507
6508 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
6509
6510 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
6511
6512 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
6513
6514 * xfns.c (Vgtk_version_string): New variable.
6515 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
6516
6517 2003-08-24 Eli Zaretskii <eliz@gnu.org>
6518
6519 * term.c (term_init): Remove `const' from buffer_size's declaration.
6520
6521 * Makefile.in (msdos.o): Depend on intervals.h.
6522
6523 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
6524
6525 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6526
6527 * xterm.h (struct x_display_info): New fields: client_leader_window
6528 and Xatom_wm_client_leader.
6529
6530 * xterm.c (x_initialize): Move call to x_session_initialize to ...
6531 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
6532
6533 * xsmfns.c (create_client_leader_window): New function.
6534 (x_session_initialize): Call create_client_leader_window, take
6535 dpyinfo as argument.
6536
6537 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
6538
6539 * Makefile.in (xsmfns.o): Add more depenedencies.
6540
6541 2003-08-21 Dave Love <fx@gnu.org>
6542
6543 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
6544
6545 2003-08-21 Kenichi Handa <handa@m17n.org>
6546
6547 * term.c (term_init): Fix previous change; don't rely on the
6548 length of `buffer' if TERMINFO is defined.
6549
6550 2003-08-20 Dave Love <fx@gnu.org>
6551
6552 * atimer.h: Include lisp.h.
6553
6554 * lisp.h (EMACS_LISP_H): New.
6555 (popup_activated_flag): Don't declare.
6556
6557 * alloca.c: Some merging with gnulib. Change logic and doc
6558 concerning (x)malloc/(x)free -- no longer Emacs-specific.
6559 [DO_BLOCK_INPUT]: Don't include lisp.h.
6560 (xmalloc, xfree): Declare.
6561 (malloc): Don't declare.
6562
6563 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
6564 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
6565 atimer.h, blockinput.h.
6566
6567 * alloc.c (lisp_align_malloc): Change type of `aligned'.
6568
6569 * alloca.s: Remove.
6570
6571 2003-08-19 Gerd Moellmann <gerd@gnu.org>
6572
6573 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
6574 use -lncurses.
6575
6576 * term.c (term_init): Use a buffer of size 4096 for tgetent since
6577 FreeBSD returns something longer than 2044. Abort if the end of
6578 the buffer is overwritten.
6579
6580 2003-08-19 Miles Bader <miles@gnu.org>
6581
6582 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
6583
6584 2003-08-19 Gerd Moellmann <gerd@gnu.org>
6585
6586 * alloc.c (lisp_align_malloc): Check for memory full when
6587 allocating ablocks, which also avoids freeing a pointer into an
6588 ablocks structure.
6589
6590 * puresize.h (BASE_PURESIZE): Increase to 1100000.
6591
6592 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
6593
6594 2003-08-16 Richard M. Stallman <rms@gnu.org>
6595
6596 * editfns.c (Fencode_time): Doc fix.
6597
6598 2003-08-16 David Ponce <david@dponce.com>
6599
6600 * fileio.c (Fwrite_region): Fix conditional expression to issue
6601 the right message.
6602
6603 2003-08-16 Juri Linkov <juri@jurta.org>
6604
6605 * syntax.c (Fforward_word): Argument changed to optional.
6606 Set default value to 1.
6607
6608 2003-08-15 Kenichi Handa <handa@m17n.org>
6609
6610 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
6611 what autoscaled.
6612 (best_matching_font): Once we find a better scalable font, set
6613 non_scalable_has_exact_height_p to 1.
6614 (try_font_list): Call try_alternative_families to try any family
6615 with the given registry.
6616
6617 2003-08-09 Andreas Schwab <schwab@suse.de>
6618
6619 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
6620
6621 * print.c (print_string): Fix printing of multibyte string with
6622 nontrivial printcharfun.
6623
6624 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6625
6626 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
6627
6628 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
6629
6630 2003-07-31 Kenichi Handa <handa@m17n.org>
6631
6632 * process.c (read_process_output): Return the actually read bytes
6633 instead of the result of decoding.
6634
6635 2003-07-31 Kenichi Handa <handa@m17n.org>
6636
6637 * xterm.h (struct x_bitmap_record): New member have_mask.
6638
6639 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
6640 to 0.
6641 (x_create_bitmap_from_file): Likewise.
6642 (x_destroy_bitmap): Check have_mask member before freeing a mask.
6643 (x_destroy_all_bitmaps): Likewise.
6644 (x_create_bitmap_mask): Set have_mask member to 1.
6645
6646 2003-07-30 Richard M. Stallman <rms@gnu.org>
6647
6648 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
6649
6650 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6651
6652 * gtkutil.c (xg_mark_data): Update calls to mark_object.
6653
6654 2003-07-29 Richard M. Stallman <rms@gnu.org>
6655
6656 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
6657 Conditionalize XIM code on HAVE_XIM.
6658
6659 * fns.c (Fclear_string): New function.
6660 (syms_of_fns): defsubr it.
6661
6662 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
6663
6664 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
6665
6666 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
6667
6668 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
6669
6670 * buffer.c (delete_all_overlays): New function.
6671 * buffer.h (delete_all_overlays): Declare.
6672 * coding.c (run_pre_post_conversion_on_str):
6673 * print.c (temp_output_buffer_setup):
6674 * fileio.c (Finsert_file_contents):
6675 * minibuf.c (get_minibuffer): Use it.
6676
6677 2003-07-22 Andrew Choi <akochoi@shaw.ca>
6678
6679 * unexmacosx.c (unexec_regions_sort_compare):
6680 (unexec_regions_merge): New functions. Sort and merge unexec
6681 regions before dumping them.
6682
6683 2003-07-22 Dave Love <fx@gnu.org>
6684
6685 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
6686
6687 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
6688
6689 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
6690 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
6691 MARKBIT as the gcmarkbit for strings.
6692
6693 2003-07-21 Richard M. Stallman <rms@gnu.org>
6694
6695 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
6696
6697 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
6698 (syms_of_fns): Corresponding change.
6699
6700 * alloc.c (syms_of_alloc): Doc fixes.
6701
6702 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
6703
6704 * s/netbsd.h: Use -Wl syntax.
6705
6706 2003-07-17 Richard M. Stallman <rms@gnu.org>
6707
6708 * xterm.c (xim_initialize): Redo 6/24 change.
6709
6710 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
6711
6712 * buffer.c (copy_overlays): Use EMACS_INT for positions.
6713 (Fswitch_to_buffer): Don't signal an error when switching to the same
6714 buffer in a dedicated window.
6715
6716 * alloc.c: Use bitmaps for cons, as was done for floats.
6717 (init_float, init_cons): Let the normal code allocate the first block.
6718 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
6719 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
6720 New macros.
6721 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
6722 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
6723 (live_cons_p): Check the pointer is not past the `conses' array.
6724 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
6725 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
6726 (survives_gc_p): Use CONS_MARKED_P and simplify.
6727 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
6728
6729 2003-07-13 Paul Eggert <eggert@twinsun.com>
6730
6731 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
6732 puts it into BSS instead, at least on Solaris 8 and 9.
6733 This is a valid optimization, and it may occur on other platforms,
6734 so Emacs should not assume that initializing a static variable to
6735 zero puts it into data.
6736 * alloc.c (pure, staticvec):
6737 Initialize these arrays to nonzero, so that they're not
6738 put into BSS by that optimization.
6739
6740 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
6741
6742 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
6743 (lisp_align_malloc): Use posix_memalign is available.
6744 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
6745 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
6746 for consistency. Update users.
6747
6748 2003-07-13 Richard M. Stallman <rms@gnu.org>
6749
6750 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
6751
6752 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
6753
6754 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
6755 and use the Gtk+ function gtk_window_icon_from_file if available.
6756
6757 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
6758 handle mask of bitmaps.
6759 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
6760 mask property.
6761 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
6762
6763 * xterm.h (xg_set_icon): New function.
6764
6765 2003-07-12 Paul Eggert <eggert@twinsun.com>
6766
6767 * unexelf.c (unexec): Consider a section to precede the .bss
6768 section if its addresses overlap that of .bss.
6769
6770 2003-07-12 Richard M. Stallman <rms@gnu.org>
6771
6772 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
6773
6774 * config.in (HAVE_CRTIN): Add #undef.
6775 (INLINE): Really inline only if OPTIMIZE is defined.
6776
6777 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
6778 END_FILES_1.
6779 (START_FILES_1, END_FILES_1): New macros (conditional).
6780 (LD_SWITCH_SYSTEM_TEMACS): Define.
6781
6782 * s/openbsd.h: Don't include bsd4-3.h.
6783 (TERMINFO): Define.
6784 (LIBS_TERMCAP): Define.
6785 (LD_SWITCH_SYSTEM): Define (two definitions).
6786
6787 * xfns.c: Include libpng/png.h instead of png.h.
6788
6789 2003-07-11 Andreas Schwab <schwab@suse.de>
6790
6791 * buffer.c (modify_overlay): Update prototype.
6792 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
6793 Likewise.
6794
6795 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
6796
6797 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
6798 (struct interval): Move to intervals.h.
6799 (struct Lisp_Marker): Use EMACS_INT for position info.
6800 (forward_point): Remove prototype of defunct function.
6801 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
6802 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
6803 (syms_of_textprop, set_text_properties): Remove prototypes that are
6804 already in intervals.h.
6805
6806 * intervals.h (struct interval): Move from lisp.h.
6807 Use EMACS_INT for position and size info.
6808
6809 * coding.c: Include intervals.h for Fset_text_properties.
6810
6811 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
6812 position and length information.
6813
6814 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
6815
6816 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
6817 position and length information.
6818
6819 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
6820
6821 Change overlays_after and overlays_before so the overlays themselves
6822 are linked into lists, rather than using cons cells. After all each
6823 Lisp_Misc already occupies 5 words, so we can add a `next' field to
6824 Lisp_Overlay for free and save up one cons cell per overlay (not
6825 to mention one indirection when traversing the list of overlay).
6826
6827 * lisp.h (struct Lisp_Overlay): New field `next'.
6828
6829 * buffer.h (struct buffer): Change overlays_before and overlays_after
6830 from Lisp lists of overlays to pointers to overlays.
6831
6832 * buffer.c (overlay_strings, recenter_overlay_lists):
6833 Fix typo in eassert in last commit.
6834 (unchain_overlay): New function.
6835 (add_overlay_mod_hooklist): Use AREF.
6836 (copy_overlays, reset_buffer, overlays_at, overlays_in)
6837 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
6838 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
6839 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
6840 (report_overlay_modification, evaporate_overlays, init_buffer_once):
6841 Adjust to new type of overlays_(before|after).
6842
6843 * alloc.c (mark_object): Mark the new `next' field of overlays.
6844 (mark_buffer): Manually mark the overlays_(after|before) fields.
6845
6846 * coding.c (run_pre_post_conversion_on_str):
6847 * editfns.c (overlays_around):
6848 * xdisp.c (load_overlay_strings):
6849 * fileio.c (Finsert_file_contents):
6850 * indent.c (current_column):
6851 * insdel.c (signal_before_change, signal_after_change):
6852 * intervals.c (set_point_both):
6853 * print.c (temp_output_buffer_setup): Use new type for
6854 overlays_(before|after).
6855
6856 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
6857
6858 * buffer.c (report_overlay_modification): Don't run hooks while
6859 traversing the list of overlays.
6860
6861 * buffer.h (struct buffer): Use an int for overlay_center.
6862 (overlays_at, evaporate_overlays, recenter_overlay_lists)
6863 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
6864
6865 * buffer.c (reset_buffer, recenter_overlay_lists)
6866 (adjust_overlays_for_insert, adjust_overlays_for_delete)
6867 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
6868 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
6869 (overlays_at, evaporate_overlays, recenter_overlay_lists)
6870 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
6871
6872 * xdisp.c (fast_find_position): Remove unused var.
6873
6874 * cmds.c (Qexpand_abbrev): New sym.
6875 (syms_of_cmds): Initialize it.
6876 (internal_self_insert): Use it to call expand-abbrev.
6877
6878 2003-07-09 Kim F. Storm <storm@cua.dk>
6879
6880 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
6881 was configured with --without-xim.
6882 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
6883
6884 2003-07-07 Richard M. Stallman <rms@gnu.org>
6885
6886 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
6887
6888 * alloc.c (Fgarbage_collect): Doc fix.
6889
6890 2003-07-07 Nozomu Ando <nand@mac.com>
6891
6892 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
6893
6894 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
6895
6896 * minibuf.c (read_minibuf): UNGCPRO before returning.
6897 (Ftry_completion, Fall_completions): Doc fix.
6898
6899 * alloc.c (live_float_p): Check that p is not past the `floats' array,
6900 now that `floats' is not the last element of the struct any more.
6901
6902 2003-07-06 Jason Rumney <jasonr@gnu.org>
6903
6904 * w32term.h (ClipboardSequence_Proc): New type.
6905
6906 * w32fns.c (clipboard_sequence_fn): New variable.
6907 (globals_of_w32fns): Initialize it.
6908
6909 * w32select.c (last_clipboard_sequence_number): New variable.
6910 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
6911 number if possible.
6912
6913 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
6914
6915 * m/amdx86-64.h (MARKBIT):
6916 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
6917 MARKBIT and ARRAY_MARK_FLAG any more.
6918
6919 * m/hp800.h (XSETMARKBIT):
6920 * m/sr2k.h (XSETMARKBIT):
6921 * lisp.h (XSETMARKBIT): Remove unused macro.
6922
6923 * lisp.h (mark_object): Change prototype.
6924
6925 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
6926 (last_marked): Change accordingly.
6927 (mark_interval, mark_maybe_object, mark_maybe_pointer)
6928 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
6929 (mark_buffer): Update calls to mark_object.
6930
6931 * bytecode.c (mark_byte_stack):
6932 * fns.c (sweep_weak_table):
6933 * keyboard.c (mark_kboards): Update calls to mark_object.
6934
6935 2003-07-06 Jason Rumney <jasonr@gnu.org>
6936
6937 * alloc.c (struct ablock): Only include padding when there is some.
6938
6939 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
6940
6941 * alloc.c (ALIGN): Add casts to simplify usage.
6942 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
6943 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
6944 (struct ablock, struct ablocks): New types.
6945 (free_ablock): New global var.
6946 (lisp_align_malloc, lisp_align_free): New functions.
6947 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
6948 (struct float_block): Reorder and add gcmarkbits.
6949 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
6950 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
6951 (init_float, make_float): Use lisp_align_malloc.
6952 (free_float, live_float_p): Don't use `type' any more.
6953 (make_float): Use FLOAT_UNMARK to access to mark bit.
6954 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
6955 Use FLOAT_MARKED_P to access the mark bit.
6956 (pure_alloc): Simplify use of ALIGN.
6957 (mark_object): Use FLOAT_MARK to access the mark bit.
6958 (gc_sweep): Use new macros to access the float's mark bit.
6959 (init_alloc_once): Init free_ablock.
6960
6961 * lisp.h (struct Lisp_Float): Remove unused field `type'.
6962
6963 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
6964
6965 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
6966 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
6967 (allocate_buffer): Move.
6968 (string_bytes): Don't mask markbit of `size_byte'.
6969 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
6970 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
6971 Use the `size' field of buffers (rather than the `name' field) for
6972 the mark bit, as is done for all other vectorlike objects.
6973 Use the new macros to access the mark bit of vectorlike objects.
6974
6975 2003-06-26 Richard M. Stallman <rms@gnu.org>
6976
6977 * puresize.h (BASE_PURESIZE): Increment base size.
6978
6979 * xdisp.c (fast_find_position): Enable Gerd's new definition.
6980
6981 * xterm.c (xim_initialize): Undo previous change.
6982
6983 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
6984
6985 * alloc.c (survives_gc_p): Simplify.
6986
6987 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
6988
6989 * window.c (Fset_window_dedicated_p): Simplify.
6990 (display_buffer_1): Don't raise the win from which minibuf was entered.
6991 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
6992 (Fminibuffer_selected_window): Simplify.
6993
6994 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
6995
6996 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
6997 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
6998
6999 * insdel.c (check_markers, adjust_markers_for_delete)
7000 (adjust_markers_for_insert, adjust_markers_for_replace)
7001 (prepare_to_modify_buffer, RESTORE_VALUE):
7002 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
7003 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
7004 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
7005 * alloc.c (Fmake_marker, free_marker, gc_sweep):
7006 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
7007 * editfns.c (save_excursion_restore, transpose_markers):
7008 * window.c (delete_window):
7009 * xdisp.c (message_dolog): Update for new types.
7010
7011 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7012
7013 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
7014 (realize_default_face): Use default_face_done_p for the force_p
7015 argument to set_lface_from_font_name. Set default_face_done_p to one.
7016
7017 * frame.c (make_frame): Initialize default_face_done_p.
7018
7019 * frame.h (struct frame): Add default_face_done_p.
7020
7021 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
7022 will be defined.
7023
7024 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
7025
7026 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
7027 Initialize the new field `gcmarkbit'.
7028 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
7029 (mark_interval_tree): Don't mark the tree separately from the nodes.
7030 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
7031 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
7032 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
7033
7034 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
7035 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
7036 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
7037 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
7038 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
7039
7040 2003-06-24 Dave Love <fx@gnu.org>
7041
7042 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
7043
7044 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
7045 from gnulib.
7046
7047 2003-06-21 Richard M. Stallman <rms@gnu.org>
7048
7049 * fileio.c (Fwrite_region): Alternate messages
7050 for append and partial write.
7051
7052 * keyboard.c (read_key_sequence): When converting upcase fn key to
7053 downcase, update fkey and keytran so `backspace' gets translated.
7054
7055 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
7056
7057 * process.c (wait_reading_process_input): Don't signal SIGIO
7058 in batch mode.
7059
7060 2003-06-17 Kenichi Handa <handa@m17n.org>
7061
7062 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
7063 composite.h.
7064
7065 * xselect.c: Don't include charset.h, coding.h, composite.h.
7066 (Qforeign_selection): New variable.
7067 (syms_of_xselect): Intern and static it.
7068 (selection_data_to_lisp_data): Return a unibyte string made from
7069 data with `foreign-selection' text property.
7070
7071 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
7072
7073 * termhooks.h (EVENT_INIT): New macro.
7074
7075 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
7076
7077 * alloc.c (mark_kboards): Move to keyboard.c.
7078
7079 * keyboard.c (record_asynch_buffer_change, read_avail_input):
7080 * xterm.c (x_dispatch_event):
7081 * xmenu.c (find_and_call_menu_selection):
7082 * xdisp.c (handle_tool_bar_click):
7083 * w32menu.c (menubar_selection_callback):
7084 * sysdep.c (kbd_input_ast, read_input_waiting):
7085 * msdos.c (dos_rawgetc):
7086 * macterm.c (mac_check_for_quit_char):
7087 * macmenu.c (menubar_selection_callback):
7088 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
7089 data to kbd_buffer_store_event.
7090
7091 2003-06-15 Kim F. Storm <storm@cua.dk>
7092
7093 * xdisp.c (x_fix_overlapping_area): Always use area relative X
7094 to fix redisplay problem with tall characters (such as \e,AC\e(B).
7095
7096 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
7097
7098 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
7099
7100 2003-06-12 Kenichi Handa <handa@m17n.org>
7101
7102 * fileio.c (Fwrite_region): Save and restore restriction.
7103
7104 2003-06-12 Dave Love <fx@gnu.org>
7105
7106 * alloca.c (alloca): Declare arg as size_t.
7107
7108 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
7109 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
7110
7111 2003-06-11 Dave Love <fx@gnu.org>
7112
7113 * search.c (shrink_regexp_cache): Use xrealloc.
7114 (syms_of_search): Use xmalloc.
7115
7116 2003-06-10 Kim F. Storm <storm@cua.dk>
7117
7118 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
7119 Adjust phys_cursor.x to be relative to window box, rather than
7120 text area before checking -- to ensure cursor is redrawn when
7121 exposing window.
7122 Note: This also fixes a similar (older) bug if display margins
7123 are present.
7124
7125 2003-06-06 Kenichi Handa <handa@m17n.org>
7126
7127 * coding.c (encoding_buffer_size): If coding->type is
7128 coding_type_ccl, double magnification on CRLF encoding.
7129
7130 2003-06-06 Jason Rumney <jasonr@gnu.org>
7131
7132 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
7133 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
7134
7135 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
7136 Mac too.
7137
7138 2003-06-05 Dave Love <fx@gnu.org>
7139
7140 * strftime.c: Merge changes from gnulib.
7141
7142 * mktime.c (__mktime_internal): Merge changes from gnulib
7143 involving year 69 and dst2.
7144
7145 Changes to merge with gnulib version and be consistent with the
7146 autoconf test:
7147
7148 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
7149 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
7150 [HAVE_LOCALE_H]: Include locale.h.
7151 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
7152
7153 2003-06-05 Kim F. Storm <storm@cua.dk>
7154
7155 * window.c (coordinates_in_window): Convert X and Y to window
7156 relative coordinates inside mode-line and header-line parts.
7157 Convert X and Y to margin area relative coordinates inside left
7158 and right display margin parts.
7159
7160 2003-06-05 Jason Rumney <jasonr@gnu.org>
7161
7162 * w32fns.c (add_system_logical_colors_to_map): New function.
7163 (Fx_open_connection): Use it.
7164
7165 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
7166
7167 * process.c (allocate_pty): Revert part of the previous patch.
7168 (Faccept_process_output): Simplify.
7169
7170 2003-06-04 Jason Rumney <jasonr@gnu.org>
7171
7172 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
7173
7174 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
7175 (lispy_mouse_wheel_names): Remove.
7176 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
7177 Always define drag_and_drop_syms.
7178
7179 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
7180 WHEEL_EVENT events.
7181
7182 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
7183
7184 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
7185
7186 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
7187
7188 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7189
7190 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
7191 menu item label.
7192
7193 2003-06-03 Richard M. Stallman <rms@gnu.org>
7194
7195 * window.c (Fwindow_edges): Doc fix.
7196 (Fwindow_pixel_edges, Fwindow_inside_edges)
7197 (Fwindow_inside_pixel_edges): New functions.
7198 (syms_of_window): defsubr them.
7199
7200 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
7201 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
7202
7203 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
7204
7205 * dispnew.c (Fsit_for): Don't lie about the number of args.
7206
7207 2003-06-02 Dave Love <fx@gnu.org>
7208
7209 * callproc.c: Use HAVE_FCNTL_H, not USG5.
7210 (syms_of_callproc) <process-environment>: Doc fix.
7211
7212 * doc.c: Use HAVE_FCNTL_H, not USG5.
7213
7214 * xfaces.c (font_rescale_ratio): Fix for K&R.
7215
7216 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
7217
7218 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
7219
7220 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
7221
7222 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
7223 (xg_create_frame_widgets): Use ENCODE_UTF_8.
7224
7225 * xterm.c (Qutf_8): Move to coding.c
7226
7227 * xmenu.c (ENCODE_MENU_STRING): New.
7228 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
7229 Use it.
7230
7231 * coding.h (ENCODE_UTF_8): New.
7232 (Qutf_8): Declare.
7233
7234 * coding.c (Qutf_8): New.
7235 (syms_of_coding): Intern it.
7236
7237 * fns.c: Doc fixes.
7238
7239 2003-06-02 Kenichi Handa <handa@m17n.org>
7240
7241 * buffer.c (Fset_buffer_multibyte): Fix previous change.
7242
7243 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
7244
7245 * lread.c (openp): Make sure STR is a string.
7246
7247 2003-06-01 David Ponce <david@dponce.com>
7248
7249 * termhooks.h (enum event_kind): Add new WHEEL_EVENT event.
7250 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
7251
7252 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
7253 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
7254 (discard_mouse_events): Discard WHEEL_EVENT events too.
7255 (lispy_wheel_names, wheel_syms): New.
7256 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
7257 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX defined.
7258 (make_lispy_event): Add WHEEL_EVENT handler.
7259
7260 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
7261 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
7262 WHEEL_EVENT events.
7263
7264 2003-05-31 John Paul Wallington <jpw@gnu.org>
7265
7266 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
7267 timer are in lisp/emacs-lisp.
7268
7269 2003-05-31 Kenichi Handa <handa@m17n.org>
7270
7271 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
7272 region when a buffer is changed to unibyte.
7273
7274 * charset.h (VALID_LEADING_CODE_P): New macro.
7275 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
7276
7277 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
7278 is nonzero, accept multibyte form of eight-bit-control chars.
7279 (decode_composition_emacs_mule): Likewise.
7280 (decode_coding_emacs_mule): Likewise.
7281 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
7282 multibyte form of eight-bit-control chars.
7283
7284 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
7285 (Finsert_file_contents): If coding-system-for-read is bound to
7286 Qauto_save_coding, use the coding system emacs-mule with special
7287 setting for recovering a file.
7288 (choose_write_coding_system): On auto saving, use the coding
7289 system emacs-mule with special setting for auto saving.
7290 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
7291
7292 2003-05-30 Kenichi Handa <handa@m17n.org>
7293
7294 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
7295 properly before calling ccl_driver.
7296
7297 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
7298
7299 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is nonzero.
7300 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
7301 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
7302
7303 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
7304
7305 * xfaces.c (realize_default_face): Do not abort if lface is
7306 non-existent - reverts change from 2003-05-19.
7307
7308 2003-05-29 Kenichi Handa <handa@m17n.org>
7309
7310 * coding.c (decode_coding_iso2022): Pay attention to the byte
7311 sequence of CTEXT extended segment, and retain those bytes as is.
7312
7313 2003-05-28 Kenichi Handa <handa@m17n.org>
7314
7315 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjust for the name change
7316 of CODING_REPLACEMENT_CHARACTER.
7317 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
7318 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
7319 check this flag on encoding.
7320 (encode_coding_sjis_big5):
7321 Check CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
7322 (Fset_terminal_coding_system_internal):
7323 Set CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
7324 instead of setting CODING_FLAG_ISO_SAFE flag in terminal_coding.flags.
7325
7326 * coding.h (CODING_REPLACEMENT_CHARACTER): Rename from
7327 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
7328 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
7329
7330 2003-05-28 Richard M. Stallman <rms@gnu.org>
7331
7332 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
7333
7334 * eval.c (unbind_to): Move init of this_binding to separate statement.
7335
7336 2003-05-28 Kim F. Storm <storm@cua.dk>
7337
7338 * xdisp.c (expose_window): Fix error in calculation of
7339 window relative coordinates of area to redisplay.
7340
7341 2003-05-27 Jason Rumney <jasonr@gnu.org>
7342
7343 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
7344
7345 2003-05-27 David Ponce <david@dponce.com>
7346
7347 Handle W32 mouse wheel events as mouse click events, like in X.
7348
7349 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
7350 MOUSE_WHEEL_EVENT anymore.
7351
7352 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
7353 Scrolling down/up the mouse wheel is respectively mapped to mouse
7354 button 4 and 5.
7355 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
7356 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
7357 WM_MOUSEWHEEL events.
7358
7359 2003-05-27 Andreas Schwab <schwab@suse.de>
7360
7361 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
7362
7363 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
7364 partially visible line.
7365
7366 * alloc.c (Fgarbage_collect): Fix last change.
7367
7368 2003-05-26 John Paul Wallington <jpw@gnu.org>
7369
7370 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
7371
7372 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
7373
7374 * window.c (Fset_window_buffer): Add type of `keep_margins'.
7375 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
7376
7377 * window.h (window_box_text_cols): Declare.
7378
7379 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
7380 (x_draw_vertical_border): Remove unused var `f'.
7381
7382 * xfaces.c (build_scalable_font_name): Remove `unused var
7383 pixel_size' warning.
7384
7385 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
7386
7387 * unexelf.c (unexec): Remove `unused var n' warning.
7388
7389 * strftime.c (my_strftime_localtime_r): Remove `defined but
7390 unused' warning.
7391
7392 * process.c (allocate_pty): Remove `unused var stb' and
7393 `cp might be used uninitialized' warnings.
7394
7395 * dispnew.c (mode_line_string): Remove unused var `f'.
7396
7397 * coding.c (find_safe_codings): Remove unused var `i'.
7398
7399 * bytecode.c (Fbyte_code): Remove `unused val' warning.
7400
7401 * buffer.c (Fkill_buffer): Remove unused var `list'.
7402
7403 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
7404
7405 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7406
7407 * frame.c (make_frame): Condition want_fullscreen with
7408 HAVE_WINDOW_SYSTEM.
7409
7410 2003-05-25 Juanma Barranquero <lektu@terra.es>
7411
7412 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
7413 (Fwindow_scroll_bars): Fix typo in docstring.
7414
7415 2003-05-24 Kim F. Storm <storm@cua.dk>
7416
7417 The following changes serve several purposes:
7418
7419 1) Swap the position of fringes and display margins in windows, i.e.
7420 the fringes are now displayed between the margins and the text area
7421 (by default).
7422
7423 2) Allow fringe and scroll bar parameters to be set per-buffer and
7424 per-window (like display margins). Such settings are now stored
7425 in window configurations, preserved when frames are resized, and
7426 copied when windows are split vertically or horizontally.
7427 Several bugs related to display margins have been fixed.
7428
7429 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
7430
7431 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
7432 rather than FRAME_WIDTH (FRAME_FONT (f)).
7433
7434 5) Introduce a consistent naming of variables, members and macros
7435 depending on whether their value is measured in pixels or in
7436 canonical columns/lines. Pixel dimensions are named *_width and
7437 *_height, while canonical columns/lines are named *_cols and
7438 *_lines. Pixel positions are named *_x and *_y, while column/line
7439 positions are named *_col and *_line.
7440
7441 6) Consolidate more of the X, W32, and MAC gui code by moving
7442 common data into struct frame, and generalize it for the non-gui
7443 case by using suitable defaults.
7444
7445 7) Cleanup and consolidate the macros controlling frame and window
7446 layout into frame.h and window.h, and generalize the use of the
7447 various window_box_* functions (enhanced to handle the new fringe
7448 position and the per-window fringe and scroll bar settings).
7449
7450 * frame.h (struct frame): Rename members height to text_lines,
7451 width to text_cols, window_height to total_lines, window_width to
7452 total_cols, new_height to new_text_lines, new_width to
7453 new_text_cols. All uses changed.
7454 (struct frame): New members which consolidate common members of
7455 x_output, w32_output, and mac_output structures: left_pos,
7456 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
7457 win_gravity, size_hint_flags, border_width, internal_border_width,
7458 line_height, fringe_cols, left_fringe_width, right_fringe_width,
7459 want_fullscreen. All uses changed.
7460 (struct frame): New member column_width contaning the canonical
7461 column width, analogue to line_height. All uses changed.
7462 (struct frame): Rename members scroll_bar_pixel_width to
7463 config_scroll_bar_width, and scroll_bar_cols to
7464 config_scroll_bar_cols. All uses changed.
7465 (struct frame): New member scroll_bar_actual_width which
7466 consolidates and renames the vertical_scroll_bar_extra member of
7467 x_output, w32_output, and mac_output structures. All uses changed.
7468 (FRAME_PIXEL_HEIGHT): Rename from PIXEL_HEIGHT and moved
7469 from x/w32/macterm.h files. All uses changed. Also change code
7470 which referred to f->output_data...->pixel_height.
7471 (FRAME_PIXEL_WIDTH): Rename from PIXEL_WIDTH and moved
7472 from x/w32/macterm.h files. All uses changed. Also change code
7473 which referred to f->output_data...->pixel_width.
7474 (FRAME_LINES): Rename from FRAME_HEIGHT. All uses changed.
7475 Also change code which referred to f->height.
7476 (FRAME_COLS): Rename from FRAME_WIDTH. All uses changed.
7477 Also change code which referred to f->width.
7478 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
7479 to update new_text_lines and new_text_cols members directly.
7480 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Rename from
7481 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
7482 (FRAME_CONFIG_SCROLL_BAR_COLS): Rename from
7483 FRAME_SCROLL_BAR_COLS. All uses changed.
7484 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
7485 Rename from FRAME_LEFT_SCROLL_BAR_WIDTH and
7486 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
7487 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
7488 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
7489 (FRAME_TOTAL_COLS): Rename from FRAME_WINDOW_WIDTH.
7490 (SET_FRAME_COLS): Rename from SET_FRAME_WIDTH.
7491 (FRAME_TOTAL_COLS_ARG): Rename from FRAME_WINDOW_WIDTH_ARG.
7492 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
7493 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
7494 (FRAME_LINE_HEIGHT): Rename from CANON_Y_UNIT.
7495 Unconditionally return line_height member (it now has proper value
7496 also for non-window frames).
7497 (FRAME_COLUMN_WIDTH): Rename from CANON_X_UNIT. Unconditionally
7498 return new column_width member (rather than the default font width).
7499 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
7500 (FRAME_RIGHT_FRINGE_WIDTH): Rename from FRAME_X_... and moved
7501 from x/w32/macterm.h files. Unconditionally return corresponding
7502 member of frame structure (they now have proper values also for
7503 non-window frames).
7504 (FRAME_TOTAL_FRINGE_WIDTH): Rename from FRAME_FRINGE_WIDTH.
7505 Calculate return value from left and right widths.
7506 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
7507 internal_border_width member (has proper value for non-window frame).
7508 (FRAME_PIXEL_X_FROM_CANON_X): Rename from PIXEL_X_FROM_CANON_X.
7509 (FRAME_PIXEL_Y_FROM_CANON_Y): Rename from PIXEL_Y_FROM_CANON_Y.
7510 (FRAME_CANON_X_FROM_PIXEL_X): Rename from CANON_X_FROM_PIXEL_X.
7511 (FRAME_CANON_Y_FROM_PIXEL_Y): Rename from CANON_Y_FROM_PIXEL_Y.
7512 (FRAME_LINE_TO_PIXEL_Y): Rename from CHAR_TO_PIXEL_ROW,
7513 consolidated from xterm.h, macterm.h, and w32term.h.
7514 (FRAME_COL_TO_PIXEL_X): Rename from CHAR_TO_PIXEL_COL,
7515 consolidated from xterm.h, macterm.h, and w32term.h.
7516 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rename from
7517 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
7518 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Rename from
7519 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
7520 (FRAME_PIXEL_Y_TO_LINE): Rename from PIXEL_TO_CHAR_ROW
7521 consolidated from x/mac/w32term.h.
7522 (FRAME_PIXEL_X_TO_COL): Rename from PIXEL_TO_CHAR_COL
7523 consolidated from x/mac/w32term.h.
7524 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Rename from
7525 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
7526 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Rename from
7527 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
7528
7529 * window.h (struct window): Rename members left to left_col,
7530 top to top_line, height to total_lines, width to total_cols,
7531 left_margin_width to left_margin_cols, right_margin_width to
7532 right_margin_cols, orig_height to orig_total_lines, orig_top to
7533 orig_top_line. All uses changed.
7534 (struct window): New members left_fringe_width, right_fringe_width,
7535 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
7536 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
7537 New macros primarily used to simplify other macros.
7538 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
7539 referred to XINT (w->width).
7540 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
7541 referred to XINT (w->height).
7542 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
7543 referred to XINT (w->width) * canon_x_unit.
7544 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
7545 referred to XINT (w->height) * canon_y_unit.
7546 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
7547 referred to XINT (w->left).
7548 (WINDOW_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_EDGE. Change
7549 all uses and code that referred to XINT (w->left) + XINT (w->width).
7550 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
7551 referred to XINT (w->top).
7552 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
7553 referred to XINT (w->top) + XINT (w->height).
7554 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
7555 referred to XINT (w->left) * canon_x_unit.
7556 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
7557 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
7558 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
7559 referred to XINT (w->top) * canon_y_unit.
7560 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
7561 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
7562 (WINDOW_LEFTMOST_P): New macro.
7563 (WINDOW_BOX_LEFT_EDGE_COL): Rename from WINDOW_LEFT_MARGIN.
7564 All uses changed.
7565 (WINDOW_BOX_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_MARGIN.
7566 All uses changed.
7567 (WINDOW_BOX_LEFT_EDGE_X): Rename from
7568 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
7569 Do not exclude left fringe width.
7570 (WINDOW_BOX_RIGHT_EDGE_X): Rename from
7571 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
7572 Do not exclude fringe widths.
7573 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
7574 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
7575 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
7576 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
7577 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
7578 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
7579 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
7580 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
7581 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
7582 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
7583 New macros. Change code which referenced corresponding
7584 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
7585 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
7586 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
7587 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
7588 allow per-window scroll-bar settings.
7589 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
7590 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
7591 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
7592 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
7593 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
7594 FRAME_SCROLL_BAR_WIDTH.
7595 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
7596 (WINDOW_SCROLL_BAR_AREA_X): New macros.
7597 (WINDOW_HEADER_LINE_HEIGHT): Rename from
7598 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
7599 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Rename from
7600 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
7601 (WINDOW_BOX_TEXT_HEIGHT): Rename from
7602 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
7603 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
7604 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
7605 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Move here from dispextern.h.
7606 (WINDOW_LEFT_MARGIN_WIDTH): Rename from
7607 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
7608 (WINDOW_RIGHT_MARGIN_WIDTH): Rename from
7609 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
7610 (window_from_coordinates): Update prototype.
7611 (Fset_window_buffer): Update EXFUN.
7612 (set_window_buffer): Update prototype.
7613
7614 * dispextern.h (struct glyph_matrix): Rename members window_left_x
7615 to window_left_col, window_top_y to window_top_line. All uses
7616 changed.
7617 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
7618 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
7619 internal_border_width is now set to 0 for non-window frames.
7620 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
7621 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
7622 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
7623 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
7624 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
7625 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
7626 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
7627 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
7628 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
7629 Move to window.h and renamed [see window.h changes].
7630 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
7631 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
7632 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
7633 Use WINDOW_TOTAL_LINES.
7634 (frame_update_line_height): Remove prototype.
7635
7636 * buffer.h (struct buffer): Rename members measured in columns:
7637 left_margin_width to left_margin_cols, right_margin_width to
7638 right_margin_cols. All uses changed.
7639 New members left_fringe_width, right_fringe_width,
7640 fringes_outside_margins for per-buffer fringe settings.
7641 New members scroll_bar_width and vertical_scroll_bar_type for
7642 per-buffer scroll bar settings.
7643
7644 * buffer.c (init_buffer_once): Set buffer_defaults and
7645 buffer_local_flags for new buffer-local variables
7646 left_fringe_width, right_fringe_width, fringes_outside_margins,
7647 scroll_bar_width, and vertical_scroll_bar_type.
7648 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
7649 default-* variables for them.
7650
7651 * dispnew.c: Make (many) trivial substitutions for renamed and
7652 new macros in dispextern.h, frame.h and window.h.
7653 (mode_line_string): No need to adjust width for mode lines, as it
7654 is already adjusted by the caller.
7655 (marginal_area_string): Handle fringes inside/outside margins.
7656
7657 * frame.c: Make (many) trivial substitutions for renamed and
7658 new macros in dispextern.h, frame.h and window.h.
7659 (make_frame): Initialize left_fringe_width, right_fringe_width,
7660 fringe_cols, scroll_bar_actual_width, border_width,
7661 internal_border_width, column_width, line_height, x_pixels_diff,
7662 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
7663 members with values suitable for a non-window frames.
7664
7665 * gtkutil.c: Make (many) trivial substitutions for renamed and
7666 new macros in dispextern.h, frame.h and window.h.
7667
7668 * indent.c: Make (few) trivial substitutions for renamed and
7669 new macros in dispextern.h, frame.h and window.h.
7670
7671 * keyboard.c: Make (many) trivial substitutions for renamed and
7672 new macros in dispextern.h, frame.h and window.h.
7673 (make_lispy_event): Use window positions returned from
7674 window_from_coordinates when constructing the lisp event for
7675 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
7676 (incorrect) values locally.
7677 (make_lispy_movement): Use window positions returned from
7678 window_from_coordinates when constructing the lisp event, rather
7679 than calculating (incorrect) values locally.
7680
7681 * scroll.c: Make (some) trivial substitutions for renamed and
7682 new macros in dispextern.h, frame.h and window.h.
7683
7684 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
7685 scroll-bars.
7686
7687 * sysdep.c: Make (few) trivial substitutions for renamed and
7688 new macros in dispextern.h, frame.h and window.h.
7689
7690 * term.c: Make (some) trivial substitutions for renamed and
7691 new macros in dispextern.h, frame.h and window.h.
7692
7693 * widget.c: Make (few) trivial substitutions for renamed and
7694 new macros in dispextern.h, frame.h and window.h.
7695
7696 * window.c: Make (many) trivial substitutions for renamed and
7697 new macros in dispextern.h, frame.h and window.h.
7698 (make_window): Initialize new members
7699 left_margin_cols, right_margin_cols, left_fringe_width,
7700 right_fringe_width, fringes_outside_margins, scroll_bar_width,
7701 and vertical_scroll_bar_type.
7702 (coordinates_in_window): Adapt to new fringe/margin positions
7703 and per-window fringes and scroll-bars.
7704 Fix bug related to incorrectly adjusting coordinates by
7705 frame's internal_border_width (the effect normally negible since
7706 the internal_border_width is typically 0 or 1 pixel, but very
7707 noticeable for an internal_border_width of e.g. 25 pixels).
7708 Upon successful return (other than ON_NOTHING), the coordinates
7709 are now always properly converted to window relative for the
7710 given display element.
7711 (window_from_coordinates): Add new parameters wx and wy to
7712 return the window relative x and y position in the returned
7713 window and part. A null arg means, don't return the position.
7714 All callers changed.
7715 (adjust_window_margins): New function which may reduce the width
7716 of the display margins if a window's text area is too small after
7717 resizing or splitting windows.
7718 (size_window): Fix bug that did not account for display margin
7719 widths when checking the minimum width of a window; use
7720 adjust_window_margins.
7721 (set_window_buffer): Call Fset_window_fringes and
7722 Fset_window_scroll_bars to setup per-window elements.
7723 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
7724 existing display margin, fringe widths, and scroll bar settings
7725 (e.g. after splitting a window or resizing the frame).
7726 All callers changed.
7727 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
7728 (Fsplit_window): Duplicate original window's display margin,
7729 fringe, and scroll-bar settings; then call Fset_window_buffer with
7730 KEEP_MARGINS non-nil. This fixes a bug which caused a split
7731 window to only preserve the display margins in one of the windows.
7732 When splitting horizontally, call adjust_window_margins on both
7733 windows to ensure that the text area of the new windows is non too
7734 narrow. This fixes a bug which could cause Emacs to trap if the
7735 width of the split window was less than the width of the display
7736 margins.
7737 (window_box_text_cols): Rename from window_internal_width.
7738 All uses changed. Adapt to per-window fringes and scroll bars.
7739 Fix bug that caused vertical separator to be subtracted also on
7740 window frames. Fix another bug that did not reduce the returned
7741 value by the columns used for display margins.
7742 (window_scroll_line_based): Fix bug related to scrolling too much
7743 when display margins are present (implicitly fixed by the fix to
7744 window_box_text_cols).
7745 (scroll_left, scroll_right): Fix bug related to scrolling too far
7746 by default when display margins are present (implicitly fixed by
7747 the fix to window_box_text_cols).
7748 (struct saved_window): Rename members left to left_col, top to
7749 top_line, width to total_cols, height to total_lines, orig_top to
7750 orig_top_line, orig_height to orig_total_lines. All uses changed.
7751 New members left_margin_cols, right_margin_cols,
7752 left_fringe_width, right_fringe_width, fringes_outside_margins,
7753 scroll_bar_width, and vertical_scroll_bar_type for saving
7754 per-window display elements.
7755 (Fset_window_configuration): Restore display margins, fringes,
7756 and scroll bar settings. This fixes a bug which caused display
7757 margins to be discarded when saving and restoring a window
7758 configuration.
7759 (save_window_save): Save display margins, fringes, and scroll bar
7760 settings. This fixes a bug which caused display margins to be
7761 discarded when saving and restoring a window configuration.
7762 (Fset_window_margins): Do nothing if display margins are not
7763 really changed. Otherwise, call adjust_window_margins to ensure
7764 the text area doesn't get too narrow. This fixes a bug which
7765 could cause Emacs to trap if setting display margins wider than
7766 the width of the window.
7767 (Fset_window_fringes): New defun to allow user to specifically set
7768 this window's fringe widths and position vs. display margins.
7769 (Fwindow_fringes): New defun to return window's actual fringe settings.
7770 (Fset_window_scroll_bars): New defun to allow user to specifically
7771 set this window's scroll bar width and position.
7772 (Fwindow_scroll_bars): New defun to return window's actual scroll
7773 bar settings.
7774 (compare_window_configurations): Also compare display margins,
7775 fringes, and scroll bar settings.
7776 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
7777
7778 * xdisp.c: Make (many) trivial substitutions for renamed and
7779 new macros in dispextern.h, frame.h and window.h.
7780 (window_box_width): Adapt to per-window fringes and scroll bars,
7781 and new fringe vs. display margin position. Note that returned
7782 value is no longer guaranteed to be a whole multiple of the frame
7783 column width, since per-window fringes may now be any width.
7784 (window_box_left_offset): New function like window_box_left, but
7785 value is relative to left border of window (rather than frame).
7786 (window_box_right_offset): New function like window_box_right,
7787 but value is relative to left border of window.
7788 (window_box_left): Adapt to per-window fringes and scroll bars,
7789 and new fringe vs. display margin position. Simplify by using
7790 WINDOW_LEFT_EDGE_X and window_box_left_offset.
7791 (window_box): Allow null args for unnecessary return values;
7792 change/simplify relevant callers.
7793 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
7794 and new fringe vs. display margin position.
7795 Use window_box_left_offset and window_box_right_offset
7796 (get_glyph_string_clip_rect): Adapt to per-window fringes and
7797 scroll bars, and new fringe vs. display margin position.
7798 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
7799 (draw_fringe_bitmap): Rework to handle per-window fringes and new
7800 fringe vs. display margin position.
7801 (hscroll_window_tree): Use window_box_width instead of window_box.
7802 (redisplay_window): Adapt to per-window scroll bars.
7803 (draw_glyphs): Rework to handle per-window fringes and scroll
7804 bars, and new fringe vs. display margin position.
7805 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
7806 (x_clear_end_of_line): Adapt to per-window fringes and scroll
7807 bars, and new fringe vs. display margin position. Fix bug which
7808 increased total width of full_width rows by width of scroll bars
7809 although window's total width already includes that.
7810 (x_fix_overlapping_area): Simplify using window_box_left_offset.
7811 (expose_area): Simplify using window_box_left_offset.
7812 (x_draw_vertical_border): Handle per-window scroll bar settings,
7813 mixing windows with left, right and no scroll bars.
7814
7815 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
7816 where it's used in x_list_fonts (for clarity).
7817 (frame_update_line_height): Remove unused function; functionality
7818 is now done directly when setting the default font in x_set_font.
7819
7820 * xfns.c: Make (many) trivial substitutions for renamed and
7821 new macros in dispextern.h, frame.h and window.h.
7822
7823 * xmenu.c: Make (some) trivial substitutions for renamed and
7824 new macros in dispextern.h, frame.h and window.h.
7825
7826 * xterm.h (struct x_output): Move members left_pos, top_pos,
7827 border_width, pixel_height, pixel_width, line_height,
7828 internal_border_width, vertical_scroll_bar_extra,
7829 left_fringe_width, right_fringe_width, fringe_cols,
7830 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
7831 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
7832 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
7833 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
7834 (PIXEL_WIDTH, PIXEL_HEIGHT)
7835 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
7836 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
7837 frame.h and renamed [see frame.h changes].
7838 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
7839 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
7840 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
7841 and renamed [see frame.h changes].
7842
7843 * xterm.c: Make (several) trivial substitutions for renamed and
7844 new macros in dispextern.h, frame.h and window.h.
7845 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
7846 (scroll_run): Adapt to new fringe position.
7847 (glyph_rect): Use window coordinates returned from
7848 window_from_coordinates rather than frame_to_window_pixel_xy.
7849 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
7850 scroll-bars.
7851 (handle_one_xevent): Simplify a USE_GTK conditional.
7852 (x_clip_to_row): Remove superfluous whole_line_p arg and code
7853 (fringes are now inside margins, i.e. always in the clipping area).
7854 All callers changed.
7855 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
7856 directly, then call compute_fringe_widths. Don't call
7857 frame_update_line_height.
7858
7859 * w32term.h (struct w32_output): Move members left_pos, top_pos,
7860 border_width, pixel_height, pixel_width, line_height,
7861 internal_border_width, vertical_scroll_bar_extra,
7862 left_fringe_width, right_fringe_width, fringe_cols,
7863 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
7864 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
7865 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
7866 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
7867 (PIXEL_WIDTH, PIXEL_HEIGHT)
7868 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
7869 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
7870 frame.h and renamed [see frame.h changes].
7871 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
7872 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
7873 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
7874 and renamed [see frame.h changes].
7875
7876 * w32term.c: Make (several) trivial substitutions for renamed and
7877 new macros in dispextern.h, frame.h and window.h.
7878 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
7879 (glyph_rect): Use window coordinates returned from
7880 window_from_coordinates rather than frame_to_window_pixel_xy.
7881 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
7882 scroll-bars.
7883 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
7884 (fringes are now inside margins, i.e. always in the clipping area).
7885 All callers changed.
7886 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
7887 directly, then call compute_fringe_widths. Don't call
7888 frame_update_line_height.
7889
7890 * w32console.c: Make (few) trivial substitutions for renamed and
7891 new macros in dispextern.h, frame.h and window.h.
7892
7893 * w32fns.c: Make (many) trivial substitutions for renamed and
7894 new macros in dispextern.h, frame.h and window.h.
7895
7896 * w32menu.c: Make (few) trivial substitutions for renamed and
7897 new macros in dispextern.h, frame.h and window.h.
7898
7899 * macterm.h (struct mac_output): Move members left_pos, top_pos,
7900 border_width, pixel_height, pixel_width, line_height,
7901 internal_border_width, vertical_scroll_bar_extra,
7902 left_fringe_width, right_fringe_width, fringe_cols,
7903 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
7904 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
7905 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
7906 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
7907 (PIXEL_WIDTH, PIXEL_HEIGHT)
7908 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
7909 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
7910 frame.h and renamed [see frame.h changes].
7911 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
7912 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
7913 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
7914 and renamed [see frame.h changes].
7915
7916 * macterm.c: Make (several) trivial substitutions for renamed and
7917 new macros in dispextern.h, frame.h and window.h.
7918 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
7919 (glyph_rect): Use window coordinates returned from
7920 window_from_coordinates rather than frame_to_window_pixel_xy.
7921 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
7922 scroll-bars.
7923 (x_clip_to_row): Remove superfluous whole_line_p arg and code
7924 (fringes are now inside margins, i.e. always in the clipping area).
7925 All callers changed.
7926 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
7927 directly, then call compute_fringe_widths. Don't call
7928 frame_update_line_height.
7929
7930 * macfns.c: Make (several) trivial substitutions for renamed and
7931 new macros in dispextern.h, frame.h and window.h.
7932 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
7933
7934 * macmenu.c: Make (few) trivial substitutions for renamed and
7935 new macros in dispextern.h, frame.h and window.h.
7936
7937 * msdos.h (struct x_output): Remove members left_pos, top_pos,
7938 and line_height, and use corresponding new members in struct
7939 frame. All uses changed.
7940 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
7941 superseeded by corresponding macros in frame.h.
7942
7943 * msdos.c: Make (several) trivial substitutions for renamed and
7944 new macros in dispextern.h, frame.h and window.h.
7945 (IT_note_mouse_highlight): Use updated window coordinates returned
7946 by window_from_coordinates, rather than adjusting them locally.
7947 (internal_terminal_init): No need to initialize line_height here;
7948 it now defaults to 1.
7949
7950 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
7951
7952 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
7953 dropping `down' events.
7954
7955 2003-05-24 Andreas Schwab <schwab@suse.de>
7956
7957 * coding.c (find_safe_codings): Fix last change.
7958
7959 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
7960
7961 * xfns.c (x_window): Fix typo from 2003-05-21 change.
7962
7963 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
7964
7965 * xdisp.c (display_mode_element): Increase max depth.
7966 Simplify the error handling code. Use a different error string
7967 for the case where we hit the depth limit.
7968
7969 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
7970
7971 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
7972
7973 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
7974
7975 * intervals.c (get_local_map): Don't get char-property of previous
7976 point any more: get_pos_property already does it and better.
7977
7978 2003-05-21 Dave Love <fx@gnu.org>
7979
7980 [Merged from unicode branch.]
7981
7982 * xfns.c (x_window, x_window): Use use_xim.
7983
7984 * xterm.c (use_xim): Initialize.
7985 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
7986 (x_term_init): Maybe set use_xim.
7987
7988 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
7989
7990 2003-05-21 Jason Rumney <jasonr@gnu.org>
7991
7992 * unexw32.c (_start): Remove _fmode initialization.
7993
7994 * emacs.c (main) [WINDOWSNT]: Move it here.
7995
7996 2003-05-20 Dave Love <fx@gnu.org>
7997
7998 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
7999
8000 2003-05-19 Richard M. Stallman <rms@gnu.org>
8001
8002 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
8003 as value for QCfont attribute.
8004 (realize_default_face): lface should already exist; crash if not.
8005 Specify 0 for FORCE_P when calling set_lface_from_font_name.
8006
8007 * frame.c (Fignore_event): Doc fix.
8008
8009 2003-05-19 Kenichi Handa <handa@m17n.org>
8010
8011 * coding.c (decode_coding_string): Handle post-read-conversion
8012 even if the coding doesn't require decoding.
8013
8014 2003-05-18 Richard M. Stallman <rms@gnu.org>
8015
8016 * callproc.c (Fcall_process_region): Doc fix.
8017
8018 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
8019
8020 * lread.c (Fload): Print a message if package is obsolete.
8021
8022 * window.c (Fselect_window): Add optional `norecord' arg.
8023 (select_window_1): Fold into Fselect_window.
8024 (select_window_norecord): New function.
8025 (temp_output_buffer_show): Use it. Preserve current buffer.
8026
8027 * window.h (Fselect_window): Update declaration.
8028
8029 * window.c (delete_window, Fother_window, Fset_window_configuration):
8030 * minibuf.c (read_minibuf):
8031 * macterm.c (x_new_focus_frame):
8032 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
8033 * callint.c (Fcall_interactively):
8034 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
8035
8036 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
8037
8038 2003-05-17 David Kastrup <dak@gnu.org>
8039
8040 * process.c (read_process_output): Back out change from 2003-03-09.
8041
8042 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
8043
8044 * editfns.c (get_pos_property): Don't assume that `object' = nil.
8045
8046 * textprop.c (text_property_stickiness): New arg `buffer'.
8047
8048 * intervals.h (text_property_stickiness): New arg `buffer'.
8049 (get_pos_property): Declare.
8050
8051 * intervals.c (get_local_map): Use get_pos_property, to obey
8052 stickiness and empty overlays.
8053 (create_root_interval, graft_intervals_into_buffer): Use BEG.
8054 (merge_properties, intervals_equal, merge_properties_sticky):
8055 Use XCAR, XCDR.
8056 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
8057
8058 2003-05-17 Richard M. Stallman <rms@gnu.org>
8059
8060 * minibuf.c (read_minibuf): If buffer is empty, record the default
8061 in the history.
8062 (Fminibuffer_complete_word): When deleting the overlap, take account
8063 of its real position.
8064
8065 * fns.c (map_char_table): Fix previous change.
8066
8067 * syntax.c (find_defun_start):
8068 When open_paren_in_column_0_is_defun_start,
8069 return beginning of buffer.
8070
8071 * lisp.h (map_char_table): Declare added arg.
8072
8073 * fns.c (map_char_table): New arg TABLE gets the master table.
8074 All calls changed.
8075 Process default and inheritance, resorting to Faref if necessary.
8076
8077 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
8078 (Faccessible_keymaps): Pass new arg to map_char_table.
8079
8080 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
8081
8082 * casetab.c (set_case_table): Pass new arg to map_char_table.
8083
8084 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
8085
8086 * lisp.h (specbinding_func): New typedef.
8087 (struct specbinding): Use specbinding_func, to put the `volatile'
8088 in the right place.
8089
8090 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
8091 to avoid GCC warning.
8092
8093 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org>
8094
8095 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
8096
8097 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
8098
8099 * keyboard.c (apply_modifiers): Don't fill the other cache.
8100
8101 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
8102
8103 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
8104
8105 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
8106 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
8107 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
8108 (Fset_window_configuration, Fcurrent_window_configuration)
8109 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
8110 (Fpos_visible_in_window_p, mark_window_cursors_off)
8111 (window_internal_height, window_internal_width, Frecenter)
8112 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
8113 (replace_buffer_in_all_windows, init_window_once, init_window)
8114 (syms_of_window, keys_of_window): Move from lisp.h.
8115 * lisp.h: Move window.c declarations to window.h.
8116
8117 * bytecode.c: Include window.h.
8118 * emacs.c: Include window.h.
8119
8120 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
8121 (keyremap): Add `parent' field.
8122 (keyremap_step): Use it. Remove `parent' argument.
8123 (read_key_sequence): Setup and use the new `parent' field.
8124
8125 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
8126
8127 * keyboard.c (adjust_point_for_property): Ensure termination.
8128
8129 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
8130
8131 * keyboard.c (follow_key): Remove dead variable `did_meta'.
8132 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
8133 duplicated handling of function-key-map and key-translation-map
8134 in read_key_sequence.
8135 (read_key_sequence): Use them.
8136
8137 * keyboard.c (adjust_point_for_property): Try harder to move point
8138 to the non-sticky end of an invisible property.
8139
8140 * xdisp.c (single_display_prop_intangible_p): Make `space' display
8141 property intangible as well.
8142
8143 2003-05-10 Andreas Schwab <schwab@suse.de>
8144
8145 * xmenu.c (single_menu_item): Change last parameter to void* to
8146 avoid warning.
8147
8148 2003-05-09 Richard M. Stallman <rms@gnu.org>
8149
8150 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
8151 Bind Qinhibit_modification_hooks to t so there will be no GC.
8152 Rename local `tem' to `save_deactivate_mark'.
8153
8154 * eval.c (specpdl_ptr): Declare volatile.
8155 (unbind_to): Copy the whole binding and decrement specpdl_ptr
8156 before doing the work of unbinding it.
8157
8158 * lisp.h (struct specbinding): Declare elements volatile.
8159 (specpdl_ptr): Declare volatile.
8160
8161 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
8162
8163 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
8164 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
8165
8166 2003-05-08 Dave Love <fx@gnu.org>
8167
8168 * coding.c (Vlast_coding_system_used): Doc fix.
8169
8170 2003-05-07 Jason Rumney <jasonr@gnu.org>
8171
8172 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
8173 when system does not support them.
8174
8175 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
8176
8177 * fileio.c (Qwrite_region_annotate_functions): New var.
8178 (build_annotations): Use it to process the global part of the hook.
8179 (syms_of_fileio): Init and staticpro it.
8180
8181 * keyboard.c (safe_run_hooks_error): Display a message instead of
8182 silently ignoring the error.
8183
8184 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
8185
8186 * keyboard.c (input_available_signal): Mark static.
8187 (menu_bar_items): Use map_keymap.
8188 (menu_bar_one_keymap): Remove.
8189 (menu_bar_item): Adjust arglist (for use in map_keymap).
8190 Properly hide a second binding when not both are keymaps.
8191
8192 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
8193 (single_keymap_panes): Use it and map_keymap.
8194 (single_menu_item): Use skp as well.
8195
8196 * keymap.h (map_keymap_function_t): New type.
8197 (map_keymap): Declare.
8198
8199 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
8200 (map_keymap_call, Fmap_keymap): New functions.
8201 (syms_of_keymap): Defsubr map-keymap.
8202
8203 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8204
8205 * gtkutil.c (create_dialog, make_widget_for_menu_item)
8206 (make_menu_item, create_menus, xg_update_menu_item): Don't call
8207 ..._with_mnemonic functions for menu items.
8208
8209 2003-05-01 Kenichi Handa <handa@m17n.org>
8210
8211 * coding.c (coding_system_accept_latin_extra_p): Delete this
8212 function.
8213 (find_safe_codings): Pay attention to
8214 the property tranlsation-table-for-encode of each codings.
8215 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
8216
8217 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
8218
8219 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
8220
8221 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
8222
8223 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
8224
8225 * lisp.h (CHECK): Wrap args in parenthesis.
8226 (specbind): Fix doc: symbol = Qnil is not supported any more.
8227
8228 * bytecode.c (Fbyte_code) <unwind-protect>:
8229 Use Fprogn rather than 0 and Qnil.
8230
8231 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
8232 `double', and `triple' modifiers as well.
8233
8234 2003-04-30 Richard M. Stallman <rms@gnu.org>
8235
8236 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
8237
8238 * alloc.c (abort_on_gc): New variable.
8239 (Fgarbage_collect): Abort if abort_on_gc is set.
8240
8241 * lisp.h (abort_on_gc): Add decl.
8242
8243 * eval.c (Fsignal): Clear abort_on_gc.
8244
8245 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
8246 Reinit FORMAT_START and END before second scan.
8247
8248 * xdisp.c (move_it_vertically_backward): Do the final big else
8249 even if nlines is 0.
8250
8251 * xdisp.c (redisplay_internal): Finish the per-frame loop
8252 even if redisplay is suspended by input.
8253
8254 2003-04-24 Andrew Choi <akochoi@shaw.ca>
8255
8256 * macterm.c (x_list_fonts): Return all fonts that match if
8257 maxnames = -1.
8258
8259 2003-04-25 Kenichi Handa <handa@m17n.org>
8260
8261 * syntax.c (skip_chars): Fix previous change.
8262
8263 2003-04-24 Kenichi Handa <handa@m17n.org>
8264
8265 * syntax.c (skip_chars): Make the code faster by using the common
8266 technique of *p, *stop, and *endp.
8267
8268 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8269
8270 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
8271 tool_bar_items so GTK tool bar expose callback does not access items
8272 being updated.
8273
8274 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
8275
8276 * eval.c (Fapply): Undo last change and add a comment about why.
8277
8278 2003-04-18 Miles Bader <miles@gnu.org>
8279
8280 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
8281 pickier PARSE_MULTIBYTE_SEQ.
8282
8283 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
8284
8285 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
8286 Use XCDR, XCAR, CONSP.
8287 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
8288 (Fapply): Remove unnecessary GCPRO.
8289
8290 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
8291
8292 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
8293
8294 * buffer.h: Don't hardcode BEG==1.
8295
8296 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
8297
8298 2003-04-16 Richard M. Stallman <rms@gnu.org>
8299
8300 * xdisp.c (try_window, try_window_reusing_current_matrix):
8301 When at end of window, set window_end_pos to Z-ZV.
8302
8303 * buffer.c (Foverlay_recenter): Doc fix.
8304
8305 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
8306
8307 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
8308
8309 2003-04-14 Andrew Choi <akochoi@shaw.ca>
8310
8311 * macterm.c (mac_check_for_quit_char): Don't check more often than
8312 once a second.
8313
8314 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
8315
8316 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
8317 specially, so that they can't hide an implicit switch-frame event.
8318 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
8319 (head_table): Use switch-frame as event_kind for select-window.
8320 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
8321
8322 * editfns.c (Fformat): Lisp_Object/int mixup.
8323 (format2): Remove unused var numargs.
8324
8325 2003-04-11 Kenichi Handa <handa@m17n.org>
8326
8327 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
8328 (Qafter_insert_file_set_coding): New variable.
8329 (syms_of_fileio): Initialize and staticpro it. Delete declaration
8330 for after-insert-file-adjust-coding-function.
8331 (Finsert_file_contents): Call Qafter_insert_file_set_coding
8332 instead of Vafter_insert_file_adjust_coding_function.
8333
8334 2003-04-11 Kenichi Handa <handa@m17n.org>
8335
8336 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
8337
8338 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
8339 string. Callers changed.
8340
8341 2003-04-10 Kenichi Handa <handa@m17n.org>
8342
8343 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
8344 (syms_of_fileio): Declare it as a lisp variable.
8345 (Finsert_file_contents):
8346 Call Vafter_insert_file_adjust_coding_function before calling
8347 decode-format.
8348
8349 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8350
8351 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
8352 get GtkAdjustment as widget now is a GtkRange.
8353
8354 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
8355 GtkRange to avoid memory leak.
8356
8357 2003-04-09 Kenichi Handa <handa@m17n.org>
8358
8359 * xfaces.c (Vface_font_rescale_alist): New variable.
8360 (struct font_name): New member rescale_ratio.
8361 (font_rescale_ratio): New function.
8362 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
8363 (better_font_p): On comparing point sized, pay attention to
8364 recale_ratio member of fonts.
8365 (build_scalable_font_name): Reflect font->rescale_ratio in the
8366 font name.
8367 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
8368
8369 * lread.c (read1): Before calling index, check if the 2nd
8370 arguemnt is in ASCII range.
8371
8372 2003-04-08 Richard M. Stallman <rms@gnu.org>
8373
8374 * fileio.c (Ffile_symlink_p): Doc fix.
8375
8376 * editfns.c (Fformat): Translate positions of text properties
8377 in the format string to apply them to the result.
8378
8379 * fileio.c (Finsert_file_contents): Doc fix.
8380 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
8381
8382 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
8383
8384 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
8385
8386 2003-04-08 Steven Tamm <steventamm@mac.com>
8387
8388 * mac.c (init_mac_osx_environment): Switch libexec and bin so
8389 that self-contained application finds libexec files.
8390
8391 2003-04-08 Kenichi Handa <handa@m17n.org>
8392
8393 * coding.c (code_convert_region_unwind):
8394 Set Vlast_coding_system_used to the argument.
8395 (code_convert_region): If post-read-conversion function changed
8396 the value of last-coding-sytem, keep the new value in
8397 coding->symbol so that it won't be overridden.
8398 (run_pre_post_conversion_on_str): Likewise.
8399 (coding_system_accept_latin_extra_p): New function.
8400 (find_safe_codings): Pay attention to characters registered in
8401 latin-extra-code-table.
8402
8403 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
8404
8405 * Makefile.in (md5.o): Add missing dependency info.
8406
8407 2003-04-06 Richard M. Stallman <rms@gnu.org>
8408
8409 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
8410
8411 * marker.c (verify_bytepos): New function.
8412
8413 * intervals.c (set_intervals_multibyte_1): When becoming
8414 multibyte, adjust right and left child sizes to a whole set of
8415 characters. If an interval gets zero total-length, delete it.
8416 If an interval consists of just its children, delete one of them.
8417
8418 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
8419 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
8420
8421 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
8422 All calls deleted.
8423 (lisp_malloc): Do the work here directly.
8424
8425 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
8426
8427 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
8428 char tables.
8429
8430 2003-04-04 Kenichi Handa <handa@m17n.org>
8431
8432 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
8433 destructively change "%S" to "%s".
8434
8435 2003-04-03 Miles Bader <miles@gnu.org>
8436
8437 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
8438 always set.
8439
8440 2003-04-01 Dave Love <fx@gnu.org>
8441
8442 * xfns.c (xpm_lookup_color): Grok "opaque".
8443
8444 2003-03-31 Andrew Choi <akochoi@shaw.ca>
8445
8446 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
8447 parent window ID.
8448
8449 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
8450
8451 * macterm.h (struct mac_output): Define x_pixels_diff and
8452 y_pixels_diff.
8453
8454 2003-03-31 Juanma Barranquero <lektu@terra.es>
8455
8456 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
8457 blockinput.h and files included from it.
8458
8459 2003-03-31 Kim F. Storm <storm@cua.dk>
8460
8461 The following changes consolidates the common code related to
8462 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
8463 files into frame.c.
8464
8465 * frame.c: Include blockinput.h.
8466 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
8467 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
8468 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
8469 related vars here.
8470 (struct frame_parm_table, frame_parms): New table for describing
8471 frame parameters and their associated Q-variable.
8472 The order of the parameters corresponds to the sequence of the
8473 frame_parm_handlers table in redisplay_interface.
8474 (x_fullscreen_move, x_set_frame_parameters)
8475 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
8476 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
8477 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
8478 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
8479 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
8480 Generic functions for processing of frame parameters.
8481 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
8482 (display_x_get_resource, x_get_resource_string): Functions for
8483 generic access to X resources.
8484 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
8485 (x_default_parameter, Fx_parse_geometry): Functions for generic
8486 access to frame parameters.
8487 (x_figure_window_size): Generic calculation of frame size.
8488 Fixed to add space needed for tool bar. Also setup size_hint_flags.
8489 (syms_of_frame): Intern and staticpro frame parameter variables.
8490 Defvar_lisp Vx_resource_class and Vx_resource_name here.
8491 Defsubr Sx_get_resource and Sx_parse_geometry.
8492
8493 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
8494 parameter related vars defined in frame.c.
8495 (EMACS_CLASS): Define here.
8496 (enum FULLSCREEN_*): Define here.
8497 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
8498 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
8499 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
8500 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
8501 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
8502 (x_set_visibility, x_set_autoraise, x_set_autolower)
8503 (x_set_unsplittable, x_set_vertical_scroll_bars)
8504 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
8505 (x_figure_window_size): Add prototypes.
8506
8507 * dispextern.h (frame_parm_handler): New typedef.
8508 (struct redisplay_interface): New member frame_parm_handlers.
8509 (enum resource_types): Move declaration here.
8510 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
8511 (x_default_parameter): Add prototypes.
8512
8513 * window.c: Remove extern decl for frame parameter vars.
8514 (change_window_heights): New generic function;
8515 replaces x_change_window_heights. All users changed.
8516
8517 * window.h (change_window_heights): Add prototype.
8518
8519 * xfaces.c: Remove extern decl for frame parameter vars.
8520
8521 * xterm.h (EMACS_CLASS): Remove. Use generic define.
8522 (struct w32_display_info): Fix type of xrdb member.
8523 (enum FULLSCREEN_*): Remove.
8524 Remove prototypes for generic functions (in frame.h).
8525
8526 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
8527 parameters now defined in frame.h and frame.c.
8528 (Vx_resource_name): Remove. Use generic var.
8529 (enum x_frame_parms): Remove (bogus, unused enum).
8530 (check_x_display_info): Make non-static (for frame.c).
8531 (struct x_frame_parm_table, x_frame_parms): Remove.
8532 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
8533 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
8534 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
8535 (x_change_window_heights, x_set_autoraise, x_set_autolower)
8536 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
8537 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
8538 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
8539 Remove. Use generic functions instead.
8540 (enum resource_types): Remove.
8541 (x_set_scroll_bar_default_width): New global function (for frame.c).
8542 (Fx_create_frame): Depend on x_figure_window_size to add space for
8543 toolbar and setup size_hint_flags.
8544 (x_frame_parm_handlers): New table for redisplay_interface.
8545 (syms_of_xfns): Don't intern/staticpro removed vars.
8546
8547 * xterm.c: Remove unnecessary extern declarations.
8548 (x_fullscreen_adjust): Remove. Use generic instead.
8549 (x_redisplay_interface): Add x_frame_parm_handlers member.
8550
8551 * w32gui.h (XrmDatabase): New (dummy) typedef.
8552
8553 * w32term.h (EMACS_CLASS): Remove. Use generic define.
8554 (struct w32_display_info): Fix type of xrdb member.
8555 (enum FULLSCREEN_*): Remove.
8556 (x_fullscreen_adjust): Remove prototype.
8557
8558 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
8559 parameters now defined in frame.h and frame.c.
8560 (Vx_resource_name): Remove. Use generic var.
8561 (enum x_frame_parms): Remove (bogus, unused enum).
8562 (check_x_display_info): Make non-static (for frame.c).
8563 (struct x_frame_parm_table, x_frame_parms): Remove.
8564 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
8565 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
8566 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
8567 (x_change_window_heights, x_set_autoraise, x_set_autolower)
8568 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
8569 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
8570 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
8571 Remove. Use generic functions instead.
8572 (enum resource_types): Remove.
8573 (x_set_scroll_bar_default_width): New global function (for frame.c).
8574 (Fx_create_frame): Depend on x_figure_window_size to add space for
8575 toolbar and setup size_hint_flags.
8576 (w32_frame_parm_handlers): New table for redisplay_interface.
8577 (syms_of_w32fns): Don't intern/staticpro removed vars.
8578
8579 * w32term.c: Remove unnecessary extern declarations.
8580 (x_fullscreen_adjust): Remove. Use generic instead.
8581 (x_redisplay_interface): Add w32_frame_parm_handlers member.
8582
8583 * w32reg.c (x_get_string_resource): Use XrmDatabase.
8584
8585 * macgui.h (XrmDatabase): New (dummy) typedef.
8586
8587 * macterm.h (EMACS_CLASS): Remove.
8588 (struct mac_display_info): Add xrdb member.
8589 (struct mac_output): Add want_fullscreen member.
8590
8591 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
8592 parameters now defined in frame.h and frame.c.
8593 (Vx_resource_name): Remove. Use generic var.
8594 (check_x_display_info): Make non-static (for frame.c).
8595 (struct x_frame_parm_table, x_frame_parms): Remove.
8596 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
8597 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
8598 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
8599 (x_change_window_heights, x_set_autoraise, x_set_autolower)
8600 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
8601 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
8602 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
8603 Remove. Use generic functions instead.
8604 (enum resource_types): Remove.
8605 (x_set_scroll_bar_default_width): New global function (for frame.c).
8606 (mac_frame_parm_handlers): New table for redisplay_interface.
8607 (syms_of_macfns): Don't intern/staticpro removed vars.
8608
8609 * macterm.c: Remove unnecessary extern declarations.
8610 (x_redisplay_interface): Add mac_frame_parm_handlers member.
8611
8612 * Makefile.in (frame.o): Add dependency on blockinput.h and files
8613 included from it (atimer.h and systime.h).
8614
8615 2003-03-30 Andreas Schwab <schwab@suse.de>
8616
8617 * xdisp.c (x_insert_glyphs): Fix swapped width and height
8618 parameters for shift_glyphs_for_insert.
8619
8620 * macterm.c (x_redisplay_interface): Add missing entry for
8621 draw_vertical_window_border.
8622
8623 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
8624
8625 * fileio.c (Fexpand_file_name): In the no-handler case, after
8626 expanding, look again for a handler and invoke it. This is needed
8627 for filenames like "/foo/../user@host:/bar/../baz" -- the first
8628 expansion produces "/user@host:/bar/../baz" which needs to be
8629 expanded again for the finame result "/user@host:/baz".
8630
8631 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8632
8633 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
8634 of area to be redrawn for better performance.
8635
8636 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
8637
8638 * xterm.c (take_vertical_position_into_account): Remove.
8639 (xt_action_hook): Call set_vertical_scroll_bar if needed.
8640 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
8641 (xm_scroll_callback, x_create_toolkit_scroll_bar)
8642 (x_set_toolkit_scroll_bar_thumb): Simplify.
8643 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
8644 (XTread_socket): Remove unused var.
8645 (x_make_frame_invisible): Replace goto with else.
8646
8647 * xdisp.c (set_vertical_scroll_bar): New fun.
8648 (redisplay_window): Use it.
8649
8650 2003-03-26 Richard M. Stallman <rms@gnu.org>
8651
8652 * xdisp.c (update_tool_bar): Recompute tool bar if
8653 update_mode_lines is set. Set w->update_mode_line
8654 only if the tool bar contents actually change.
8655 (update_menu_bar): Undo previous change.
8656
8657 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8658
8659 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
8660 (xg_frame_set_char_size): Calculate scroll bar width before frame
8661 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
8662 (xg_separator_p): Check for all documented separator types.
8663 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
8664 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
8665
8666 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
8667 so tool bar gets updated.
8668
8669 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
8670
8671 * data.c (store_symval_forwarding): Re-instate part of the code
8672 that was deleted with too much enthusiasm.
8673
8674 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
8675
8676 * data.c (store_symval_forwarding): Delete special read-only
8677 hack for type == -1, since we now use ->constant instead.
8678 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
8679
8680 * buffer.c (overlays_in): Declare static.
8681 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
8682 `constant' field rather than the variable's `type' field.
8683
8684 2003-03-24 Andrew Choi <akochoi@shaw.ca>
8685
8686 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
8687
8688 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
8689
8690 * fns.c [MAC_OSX]: Do not redefine vector.
8691
8692 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
8693
8694 * macgui.h: Remove definition of No_Cursor.
8695
8696 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
8697
8698 * xdisp.c: Define No_Cursor.
8699 (x_write_glyphs, notice_overwritten_cursor)
8700 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
8701 (note_mouse_highlight): Remove Mac-specific code.
8702 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
8703
8704 2003-03-24 John Paul Wallington <jpw@gnu.org>
8705
8706 * xdisp.c (redisplay_window): If mini window's buffer is not
8707 empty, then redisplay it like other windows.
8708
8709 2003-03-23 Kim F. Storm <storm@cua.dk>
8710
8711 * w32term.c (w32_draw_window_cursor): Fix last change.
8712
8713 2003-03-23 Kenichi Handa <handa@m17n.org>
8714
8715 * alloc.c (make_string_from_bytes, make_specified_string):
8716 Add `const' for the arg CONTENTS.
8717
8718 * lisp.h (make_string_from_bytes, make_specified_string):
8719 Prototypes adjusted.
8720
8721 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8722
8723 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
8724
8725 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
8726 (XG_SB_RANGE): New define.
8727
8728 * gtkutil.c (xg_fixed_handle_expose): New function.
8729 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
8730 expose events.
8731 (xg_update_scrollbar_pos): Take two more arguments, left and width
8732 of scroll bar including borders.
8733 Clear left and right part outside scroll bar separately as some
8734 themes have bars that are not an even number of pixels.
8735 Don't set reallocate_redraws, don't call
8736 gdk_window_process_all_updates.
8737 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
8738 so no need to change it. Calculate size and value with XG_SB_RANGE.
8739
8740 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
8741 Pass left and width of scroll bar including borders to
8742 xg_update_scrollbar_pos.
8743
8744 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
8745
8746 * Makefile.in: Make sure space precedes end-of-line backslashes.
8747
8748 2003-03-22 Kim F. Storm <storm@cua.dk>
8749
8750 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
8751 Add generic versions here. Remove system specific versions
8752 defined elsewhere.
8753
8754 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
8755 Add prototypes.
8756
8757 * xterm.h (STORE_NATIVE_RECT): New macro.
8758
8759 2003-03-21 Kim F. Storm <storm@cua.dk>
8760
8761 * xdisp.c (get_glyph_string_clip_rect):
8762 Use FRAME_INTERNAL_BORDER_WIDTH.
8763
8764 * dispextern.h (struct redisplay_interface): Add active_p
8765 argument to draw_window_cursor member. All uses changed.
8766
8767 2003-03-21 Kim F. Storm <storm@cua.dk>
8768
8769 The following changes consolidate code related to writing and
8770 inserting glyphs, exposing frame, the tool bar, the mouse face,
8771 the output cursor, and help echo from xterm.c, w32term.c and
8772 macterm.c into xdisp.c. It also generalizes the use of the
8773 window_part enum instead of using numeric values throughout.
8774
8775 * xdisp.c: Consolidate gui-independent code here.
8776 Include keymap.h.
8777 (Qhelp_echo): Import.
8778 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
8779 (help_echo_string, help_echo_window, help_echo_object)
8780 (previous_help_echo_string, help_echo_pos): Declare here.
8781 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
8782 (estimate_mode_line_height): Define here. Handle windowing
8783 systems directly (without using estimate_mode_line_height_hook).
8784 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
8785 (update_window_cursor, update_cursor_in_window_tree)
8786 (fast_find_position, fast_find_string_pos)
8787 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
8788 (expose_area, expose_line, expose_overlaps, expose_window)
8789 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
8790 declared static as they are only used locally in xdisp.c.
8791 (draw_glyphs): Rename from x_draw_glyphs and make static.
8792 (tool_bar_item_info, notice_overwritten_cursor): Make static.
8793 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
8794 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
8795 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
8796 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
8797 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
8798 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
8799 (note_mouse_highlight, x_clear_window_mouse_face)
8800 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
8801 (x_intersect_rectangles): New generic functions for use by xdisp.c
8802 and GUI front-ends.
8803 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
8804 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
8805
8806 * dispextern.h (Display_Info): Generic typedef for *_display_info.
8807 (NativeRectangle): Generic typedef for rectangle type.
8808 (enum window_part): Move here from window.c.
8809 (struct redisplay_interface): New members flush_display_optional,
8810 define_frame_cursor, clear_frame_area, draw_window_cursor,
8811 draw_vertical_window_border, shift_glyphs_for_insert.
8812 Rename member clear_mouse_face to clear_window_mouse_face.
8813 (estimate_mode_line_height_hook): Remove hook.
8814 (auto_raise_tool_bar_buttons_p): Don't declare extern.
8815 (tool_bar_item_info): Remove prototype.
8816 (help_echo_string, help_echo_window, help_echo_object)
8817 (previous_help_echo_string, help_echo_pos)
8818 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
8819 (x_stretch_cursor_p, output_cursor): Declare extern.
8820 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
8821 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
8822 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
8823 (display_and_set_cursor, set_output_cursor, x_cursor_to)
8824 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
8825 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
8826 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
8827 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
8828 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
8829 Add prototypes.
8830 (mode_line_string, marginal_area_string): Fix prototypes.
8831
8832 * window.c (enum window_part): Move to dispextern.h.
8833 (coordinates_in_window): Use enum window_part member names
8834 instead of numbers to describe return value.
8835 (struct check_window_data): Change part member to window_part.
8836 (check_window_containing): Return window_part unaltered.
8837 (window_from_coordinates): Change part arg from int to enum
8838 window_part. Allow part arg to be null. All users changed.
8839
8840 * window.h (window_from_coordinates): Fix prototype.
8841
8842 * term.c (estimate_mode_line_height): Move to xdisp.c.
8843
8844 * keyboard.c (make_lispy_event): Use enum window_part.
8845
8846 * dispnew.c (mode_line_string, marginal_area_string): Use enum
8847 window_part instead of int in arg list. Users changed.
8848
8849 * xterm.h (No_Cursor): Declare as None for X.
8850 (struct mac_output): Replace member cross_cursor by hand_cursor.
8851
8852 * xterm.c: Remove consolidated defines and code.
8853 (BETWEEN): Remove unused macro.
8854 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
8855 (x_define_frame_cursor, x_clear_frame_area)
8856 (x_draw_window_cursor): New X-specific functions for RIF.
8857 (x_redisplay_interface): Add new members.
8858
8859 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
8860
8861 * w32term.h (struct w32_output): Remove cross_cursor member.
8862
8863 * w32term.c: Remove consolidated defines and code.
8864 (BETWEEN): Remove unused macro.
8865 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
8866 (w32_define_frame_cursor, w32_clear_frame_area)
8867 (w32_draw_window_cursor): New W32-specific functions for RIF.
8868 (w32_redisplay_interface): Add new members.
8869
8870 * w32gui.h (No_Cursor): Define as 0 for W32.
8871 (XRectangle): Add X compatible rectangle type.
8872 (NativeRectangle): Declare as RECT for W32.
8873 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
8874
8875 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
8876
8877 * w32console.c: Remove consolidated defines and code.
8878
8879 * msdos.h (Display_Info): Add generic typedef.
8880
8881 * msdos.c: Remove consolidated defines and code.
8882 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
8883
8884 * macterm.h (struct mac_output): Replace member cross_cursor by
8885 hand_cursor.
8886 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
8887
8888 * macterm.c: Remove consolidated defines and code.
8889 (BETWEEN): Remove unused macro.
8890 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
8891 (mac_define_frame_cursor, mac_clear_frame_area)
8892 (mac_draw_window_cursor): New Mac-specific functions for RIF.
8893 (x_redisplay_interface): Add new members.
8894
8895 * macgui.h (No_Cursor): Define as 0 for Mac.
8896 (XRectangle): Add X compatible rectangle type.
8897 (NativeRectangle): Declare as Rect for Mac.
8898 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
8899
8900 * macfns.c (x_set_mouse_color): Setup hand_cursor.
8901 (x_set_cursor_color): Use x_display_and_set_cursor.
8902
8903 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
8904 included from it. Add dependency on keymap.h.
8905
8906 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
8907
8908 2003-03-21 Kenichi Handa <handa@m17n.org>
8909
8910 * fileio.c (Fexpand_file_name): Fix previous change.
8911
8912 2003-03-19 Kenichi Handa <handa@m17n.org>
8913
8914 * fileio.c (Ffile_name_directory): Reconstruct file name by
8915 make_specified_string.
8916 (Ffile_name_nondirectory, Ffile_name_as_directory)
8917 (Fdirectory_file_name, Fexpand_file_name)
8918 (Fsubstitute_in_file_name): Likewise.
8919 (Fread_file_name): Compare decoded homedir with DIR and
8920 DEFAULT_FILENAME.
8921
8922 * alloc.c (make_specified_string): If NCHARS is negative, count
8923 the number of characters.
8924
8925 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8926
8927 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
8928 all widgets.
8929
8930 * gtkutil.h: Removed xg_ignore_next_thumb.
8931
8932 2003-03-18 Kenichi Handa <handa@m17n.org>
8933
8934 * coding.c (Vchar_coding_system_table): Remove this variable.
8935 (Vcoding_system_safe_chars): New variable.
8936 (intersection): Remove this function.
8937 (find_safe_codings): Don't use Vchar_coding_system_table, but try
8938 all codings in SAFE_CODINGS.
8939 (Ffind_coding_systems_region_internal): Adjust for the change of
8940 find_safe_codings. Get generic coding systems from
8941 Vcoding_system_safe_chars.
8942 (Fdefine_coding_system_internal): New function.
8943 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
8944 Initialize and staticpro Vcoding_system_safe_chars.
8945
8946 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8947
8948 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
8949 equal old values before updating.
8950
8951 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
8952
8953 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
8954
8955 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8956
8957 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
8958 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
8959 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
8960 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
8961 (xg_create_scroll_bar): Pass bar to button event callback.
8962 (xg_find_top_left_in_fixed): New function.
8963 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
8964 whole scroll bar area. Get old position with
8965 xg_find_top_left_in_fixed, calculate and only clear needed areas.
8966 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
8967 dragging is in progress. Calculate whole as for Motif.
8968 Remove code that saved last values. Call gtk_range functions to
8969 set scroll bar sizes.
8970
8971 * gtkutil.h: Removed xg_ignore_next_thumb.
8972
8973 2003-03-17 Juanma Barranquero <lektu@terra.es>
8974
8975 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
8976 and files included from it.
8977
8978 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
8979
8980 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
8981 multiple occurrences of the same keymap under different prefixes.
8982 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
8983
8984 2003-03-16 Jason Rumney <jasonr@gnu.org>
8985
8986 * w32gui.h: Use HDC for Display.
8987
8988 * w32term.c (w32_encode_char): Prevent double-byte chars from
8989 crashing Emacs.
8990
8991 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
8992 as binary.
8993
8994 2003-03-16 Juanma Barranquero <lektu@terra.es>
8995
8996 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
8997
8998 2003-03-16 Kim F. Storm <storm@cua.dk>
8999
9000 The following changes consolidate some of the gui-independent
9001 parts of the processing and drawing of "glyph strings" from
9002 xterm.c, w32term.c, and macterm.c into xdisp.c.
9003
9004 * dispextern.h (struct glyph): Reduce face_id member from 22 to
9005 21 bits (this reduces number of faces from 4M to 2M).
9006 Replace W32 specific w32_font_type member (2 bits) by generic
9007 font_type member (3 bits) for portability.
9008 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
9009 (enum draw_glyphs_face): Define here.
9010 (struct glyph_string): Define here. Merge W32 and X versions.
9011 (struct redisplay_interface): New members per_char_metric,
9012 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
9013 (VCENTER_BASELINE_OFFSET): Define here.
9014 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
9015 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
9016
9017 * xdisp.c: Consolidate gui-independent "glyph string" code here.
9018 (dump_glyph_string): Moved here.
9019 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
9020 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
9021 (fill_composite_glyph_string, fill_glyph_string)
9022 (fill_image_glyph_string, fill_stretch_glyph_string)
9023 (left_overwritten, left_overwriting, right_overwritten)
9024 (right_overwriting, get_char_face_and_encoding)
9025 (set_glyph_string_background_width, compute_overhangs_and_x)
9026 (append_glyph, append_composite_glyph, produce_image_glyph)
9027 (take_vertical_position_into_account, append_stretch_glyph)
9028 (produce_stretch_glyph): New generic functions (based on X version).
9029 Call platform specific functions through rif.
9030 (INIT_GLYPH_STRING): New macro, hides W32 details.
9031 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
9032 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
9033 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
9034 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
9035 (notice_overwritten_cursor):
9036 Generic functions exported to platform modules. Users changed.
9037
9038 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
9039 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
9040 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
9041 New macros for consolidated code.
9042
9043 * xterm.c: Remove consolidated defines and code.
9044 (x_per_char_metric, x_encode_char)
9045 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
9046 (x_redisplay_interface): Add new members.
9047
9048 * w32gui.h (Display): Add dummy typedef for consolidation.
9049 (XChar2b): Define alias for wchar_t for consolidation.
9050 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
9051
9052 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
9053 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
9054 New macros for consolidation.
9055
9056 * w32term.c: Remove consolidated defines and code.
9057 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
9058 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
9059 (w32_per_char_metric): Change font_type arg to int for RIF.
9060 (w32_encode_char): Return int according to RIF requirements.
9061 (w32_compute_glyph_string_overhangs): Adapt to RIF.
9062 (w32_get_glyph_overhangs): New function for RIF. Uses generic
9063 x_get_glyph_overhangs.
9064 (w32_redisplay_interface): Add new members.
9065
9066 * macgui.h (XChar2b): Move typedef here for consolidation.
9067 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
9068
9069 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
9070 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
9071 consolidation.
9072
9073 * macterm.c: Remove consolidated defines and code.
9074 (mac_per_char_metric): New function for RIF.
9075 (mac_encode_char): Adapt to new RIF requirements.
9076 (mac_compute_glyph_string_overhangs): Adapt for RIF.
9077 (x_redisplay_interface): Add new members.
9078
9079 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
9080
9081 * keymap.c (Vmenu_events): New var.
9082 (syms_of_keymap): Initialize it.
9083 (where_is_internal): Check more carefully what is a menu event.
9084
9085 2003-03-14 Richard M. Stallman <rms@gnu.org>
9086
9087 * lread.c (read1): After #!, exit loop on eof.
9088
9089 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9090
9091 * gtkutil.h: Add declaration for xg_frame_cleared.
9092
9093 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
9094
9095 * gtkutil.c (struct xg_last_sb_pos): New structure.
9096 (handle_fixed_child): New function.
9097 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
9098 and force a redraw on them.
9099 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
9100 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
9101 so we can avoid unneeded redraws.
9102 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
9103 and force a redraw on the scroll bar.
9104 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
9105 if xg_last_sb_pos shows the positions are up to date.
9106 (xg_frame_cleared): New function.
9107
9108 2003-03-13 Kenichi Handa <handa@m17n.org>
9109
9110 * coding.c (Fdetect_coding_region): Fix docstring.
9111 (Fdetect_coding_string): Fix docstring.
9112
9113 2003-03-13 Andreas Schwab <schwab@suse.de>
9114
9115 * gtkutil.c: Add prototype for create_menus.
9116
9117 * data.c (long_to_cons): Fix type of top.
9118
9119 * xselect.c (selection_data_to_lisp_data): Use int instead of
9120 long for an integer of size 4.
9121
9122 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
9123 (xg_tool_bar_help_callback): Likewise.
9124
9125 2003-03-12 Andreas Schwab <schwab@suse.de>
9126
9127 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
9128
9129 2003-03-12 Kim F. Storm <storm@cua.dk>
9130
9131 The following changes consolidate the fringe handling from
9132 xterm.c, w32term.c, and macterm.c into xdisp.c.
9133
9134 * xdisp.c: Consolidate fringe handling code here.
9135 (left_bits, right_bits, continued_bits, continuation_bits)
9136 (ov_bits, zv_bits): Define fringe bitmaps.
9137 (fringe_bitmaps): New array holding fringe bitmaps.
9138 (draw_fringe_bitmap): Draw a specific bitmap; call display
9139 specific drawing routine via rif->draw_fringe_bitmap.
9140 (draw_row_fringe_bitmaps): Generic replacement for
9141 x_draw_row_fringe_bitmaps; all callers changed.
9142 (compute_fringe_widths): Generic replacement for
9143 x_compute_fringe_widths; all callers changed.
9144
9145 * dispextern.h (enum fringe_bitmap_type): Define here.
9146 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
9147 (fringe_bitmaps): Declare extern.
9148 (struct redisplay_interface): New member draw_fringe_bitmap.
9149 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
9150
9151 * xterm.c: Remove generic fringe code.
9152 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
9153 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
9154
9155 * w32term.c: Remove generic fringe code.
9156 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
9157 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
9158
9159 * macterm.c: Remove generic fringe code.
9160 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
9161 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
9162
9163 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
9164
9165 * print.c (Fprin1_to_string): Return unibyte string if possible.
9166
9167 2003-03-09 David Kastrup <dak@gnu.org>
9168
9169 * process.c (read_process_output): We have allocated enough space
9170 for readmax and carryover, so actually use the alloted space.
9171
9172 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9173
9174 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
9175 toolkit scrollbar click.
9176
9177 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
9178 for USE_GTK.
9179 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
9180 also.
9181 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
9182 scrollbar and control is pressed, call x_scroll_bar_handle_click.
9183
9184 * gtkutil.h (xg_get_scroll_id_for_window): Declare.
9185
9186 * gtkutil.c (xg_get_scroll_id_for_window): New function.
9187 (xg_tool_bar_item_expose_callback): New function.
9188 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
9189 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
9190 on the tool bar widget.
9191 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
9192 to expose on the tool bar item widgets.
9193
9194 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9195
9196 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
9197 struct image* when deciding to update (struct image* may have been
9198 deleted from the image cache).
9199
9200 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
9201 the event isn't for a frame (i.e. for dialogs).
9202
9203 2003-03-07 Kenichi Handa <handa@m17n.org>
9204
9205 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
9206 composition components reaches the limit, terminate composing.
9207 (COMPOSITION_OK): New macro.
9208 (detect_coding_iso2022): Use it if an escape sequence for
9209 composition is found.
9210 (coding_restore_composition): Adjust the number of composition
9211 components if it is not sane.
9212
9213 2003-03-06 Juanma Barranquero <lektu@terra.es>
9214
9215 * w32term.h (struct w32_display_info): Add xrdb member to support
9216 passing resources via -xrm on Windows.
9217
9218 * w32term.c (w32_make_rdb): New function.
9219 (w32_term_init): Use it to initialize xrdb member of w32_display_info
9220 struct. Delete leftover code.
9221
9222 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
9223 for resources passed on the command line.
9224
9225 * w32reg.c (w32_get_rdb_resource): New function.
9226 (x_get_string_resource): Use it, so resources passed with -xrm
9227 supercede the ones in the registry.
9228
9229 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9230
9231 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
9232 instead of x_top_window_to_frame.
9233
9234 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9235
9236 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
9237 when restarting Emacs.
9238
9239 2003-03-03 Richard M. Stallman <rms@gnu.org>
9240
9241 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
9242 to run kill-buffer-query-functions.
9243 (Qkill_buffer_query_functions): New var.
9244 (syms_of_buffer): Init and staticpro it.
9245
9246 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9247
9248 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
9249
9250 2003-02-25 Kim F. Storm <storm@cua.dk>
9251
9252 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
9253 If centering point failed to make whole line visible and vscroll
9254 is non-zero, disable vscroll and try centering point again.
9255
9256 * lread.c (read1): Accept `single space' syntax like (? x).
9257
9258 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9259
9260 * keyboard.c (cancel_hourglass_unwind): Surround with
9261 #ifdef HAVE_X_WINDOWS
9262
9263 2003-02-25 Kenichi Handa <handa@m17n.org>
9264
9265 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
9266 process only when "subprocesses" is defined.
9267
9268 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
9269
9270 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
9271
9272 2003-02-24 Juanma Barranquero <lektu@terra.es>
9273
9274 * callint.c (fix_command): Declare as static void and move before
9275 Fcall_interactively.
9276
9277 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
9278 (syms_of_xdisp): Don't initialize Qwhen.
9279
9280 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9281
9282 * keyboard.c (cancel_hourglass_unwind): New function.
9283 (command_loop_1): Cancel hourglass with unwind-protect.
9284
9285 2003-02-23 Richard M. Stallman <rms@gnu.org>
9286
9287 * callint.c (fix_command): New subroutine, from Fcall_interactively.
9288 Detect (when ... (region-beginning)) etc.
9289 (Fcall_interactively): Call fix_command.
9290 (Qif, Qwhen): New variables.
9291 (syms_of_callint): Init and staticpro them.
9292
9293 * regex.c (print_partial_compiled_pattern): Output to stderr.
9294
9295 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
9296
9297 * dired.c (directory_files_internal): Don't expand directory.
9298 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
9299 instead. From Lars Hansen <larsh@math.ku.dk>.
9300
9301 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
9302
9303 * fns.c (string_to_multibyte): Remove unused var i.
9304 (Flanginfo): Fix int/Lisp_Object mixup.
9305 (void_call2): New fun.
9306 (Fmap_char_table): Use it in place of call2.
9307
9308 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
9309
9310 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
9311
9312 * keymap.c (copy_keymap_1): Make it static.
9313
9314 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
9315
9316 2003-02-22 David Ponce <david@dponce.com>
9317
9318 * lread.c (Fload): Don't check STRING_MULTIBYTE.
9319
9320 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9321
9322 * process.h: Removed subtty field from struct Lisp_Process.
9323
9324 * process.c (create_process): Remove setting of subtty.
9325 (emacs_get_tty_pgrp): New function.
9326 (Fprocess_running_child_p, process_send_signal):
9327 Call emacs_get_tty_pgrp instead of ioctl.
9328 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
9329
9330 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
9331
9332 * keymap.c (Fdefine_key): Doc fix.
9333
9334 2003-02-21 Juanma Barranquero <lektu@terra.es>
9335
9336 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
9337
9338 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
9339 POLLING_PROBLEM_IN_SELECT.
9340
9341 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
9342 Delete #undef of POLLING_PROBLEM_IN_SELECT.
9343
9344 * s/hpux10-20.h: New file.
9345
9346 * process.c (wait_reading_process_input):
9347 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
9348
9349 2003-02-20 Kenichi Handa <handa@m17n.org>
9350
9351 * fontset.c (check_fontset_name): If NAME is nil, return the
9352 default fontset.
9353 (override_font_info): New function.
9354 (Fset_fontset_font): Document that NAME nil means the default fontset.
9355 (Ffontset_info): If FONTSET is not the default fontset, merge
9356 FONTSET onto the copy of the default fontset, and work on that
9357 copy. Document that NAME nil means the default fontset.
9358 (Ffontset_font): Document that NAME nil means the default fontset.
9359
9360 * process.c (setup_process_coding_systems): If the process's
9361 in/out descriptor is -1, do nothing.
9362
9363 2003-02-19 Andreas Schwab <schwab@suse.de>
9364
9365 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
9366 Add prototypes.
9367
9368 2003-02-19 Kenichi Handa <handa@m17n.org>
9369
9370 * xfaces.c (try_alternative_families): Try all scalable fonts if
9371 Vscalable_fonts_allowed is not Qt.
9372
9373 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9374
9375 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
9376
9377 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9378
9379 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
9380 names.
9381
9382 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
9383 (sorted_font_list): Move allocation of struct font_name to
9384 x_face_list_fonts.
9385 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
9386 (Fx_list_fonts): Set maxnames to -1 to get all font names.
9387
9388 2003-02-18 Kim F. Storm <storm@cua.dk>
9389
9390 * lread.c (read1): Fix last change.
9391 "`" is not always special. Allow "?" after a character constant.
9392
9393 2003-02-18 Andrew Choi <akochoi@shaw.ca>
9394
9395 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
9396
9397 2003-02-18 Andreas Schwab <schwab@suse.de>
9398
9399 * window.c (window_scroll_pixel_based): Move outside a
9400 multi-glyph character before setting new window start.
9401
9402 * xdisp.c (in_display_vector_p): New function.
9403 * dispextern.h (in_display_vector_p): Declare.
9404
9405 2003-02-18 Kim F. Storm <storm@cua.dk>
9406
9407 * lread.c (read1): Fix and relax read syntax.
9408 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
9409 Only recognize "," after dotted-pair dot if inside backquote.
9410 Never include "`" or "," (inside backquote) in a symbol.
9411 Allow dotted-pair dot after a character constant.
9412 Allow "`" and "," (inside backquote) after a character constant.
9413
9414 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9415
9416 * gtkutil.c (xg_tool_bar_expose_callback): New function.
9417 (xg_create_tool_bar): Force style of tool bar to be horizontal with
9418 icons. Set name of tool bar to emacs-toolbar.
9419 (update_frame_tool_bar): Connect expose event to
9420 xg_tool_bar_expose_callback.
9421
9422 2003-02-17 Richard M. Stallman <rms@gnu.org>
9423
9424 * keyboard.c (this_command_key_count_reset): New variable.
9425 Initiatize to 0 where this_command_key_count is set.
9426 (read_char): Save and restore this_command_key_count_reset
9427 around input method code.
9428 (read_char): If this_command_key_count_reset, echo reread commands.
9429 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
9430
9431 2003-02-17 Kenichi Handa <handa@m17n.org>
9432
9433 * fns.c (string_to_multibyte): Always return a multibyte string.
9434
9435 2003-02-16 Jason Rumney <jasonr@gnu.org>
9436
9437 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
9438 Negative max_fonts parameter means list all.
9439
9440 2003-02-14 Dave Love <fx@gnu.org>
9441
9442 * fns.c (Flanginfo): Doc fix.
9443
9444 2003-02-13 Kim F. Storm <storm@cua.dk>
9445
9446 * lread.c (read_escape): Interpret \s as a SPACE character, except
9447 for \s-X in a character constant which still is the super modifier.
9448 (read1): Signal an `invalid read syntax' error if a character
9449 constant is immediately followed by a digit or symbol character.
9450
9451 * search.c (Fmatch_data): Doc fix. Explicitly state that
9452 match-data is undefined if last search failed.
9453
9454 * keymap.c (Fcommand_remapping): Renamed from Fremap_command.
9455 All uses changed.
9456
9457 2003-02-12 Juanma Barranquero <lektu@terra.es>
9458
9459 * eval.c (Fdefmacro): Fix typo.
9460
9461 2003-02-12 Kim F. Storm <storm@cua.dk>
9462
9463 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
9464 macro is a string, convert meta modifiers in string when copying
9465 the string into a vector.
9466
9467 2003-02-11 Kim F. Storm <storm@cua.dk>
9468
9469 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
9470
9471 2003-02-11 Kenichi Handa <handa@m17n.org>
9472
9473 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
9474
9475 2003-02-10 Kim F. Storm <storm@cua.dk>
9476
9477 * process.c: Doc fixes.
9478 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
9479
9480 2003-02-10 Kenichi Handa <handa@m17n.org>
9481
9482 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
9483
9484 * process.c (QCfilter_multibyte): New variable.
9485 (setup_process_coding_systems): New function.
9486 (Fset_process_buffer, Fset_process_filter):
9487 Call setup_process_coding_systems.
9488 (Fstart_process): Initialize the member `filter_multibyte' of
9489 struct Lisp_Process.
9490 (create_process): Call setup_process_coding_systems.
9491 (Fmake_network_process): New keyward `:filter-multibyte'.
9492 Initialize the member `filter_multibyte' of struct Lisp_Process.
9493 Call setup_process_coding_systems.
9494 (server_accept_connection): Call setup_process_coding_systems.
9495 (read_process_output): If the process has a filter, decide the
9496 multibyteness of a string to given to the filter by
9497 `filter_multibyte' member of the process. If the process doesn't
9498 have a filter and the result of conversion is unibyte, use
9499 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
9500 multibyte form.
9501 (Fset_process_coding_system): Call setup_process_coding_systems.
9502 (Fset_process_filter_multibyte): New function.
9503 (Fprocess_filter_multibyte_p): New function.
9504 (syms_of_process): Intern and staticpro QCfilter_multibyte.
9505 Defsubr Sset_process_filter_multibyte and
9506 Sprocess_filter_multibyte_p.
9507
9508 * process.h (struct Lisp_Process): New member filter_multibyte.
9509
9510 * lisp.h (setup_process_coding_systems): Add prototype.
9511
9512 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
9513 process, update coding systems for the process.
9514
9515 2003-02-09 Kenichi Handa <handa@m17n.org>
9516
9517 * fns.c (string_to_multibyte): New function.
9518 (Fstring_to_multibyte): New function.
9519 (syms_of_fns): Defsubr it.
9520
9521 2003-02-08 Andreas Schwab <schwab@suse.de>
9522
9523 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
9524 instead of the substitution.
9525
9526 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9527
9528 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
9529
9530 * xmenu.c (menu_position_func): Adjust menu popup position so that
9531 the menu is fully visible.
9532
9533 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9534
9535 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
9536 (x_make_frame_invisible, x_wm_set_icon_position):
9537 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
9538
9539 * xfns.c (x_set_name, x_set_title): Ditto.
9540
9541 2003-02-04 Richard M. Stallman <rms@gnu.org>
9542
9543 * keyboard.c (echo_now): Update before_command_echo_length.
9544 (Freset_this_command_lengths): Reset this_command_key_count etc.
9545 immediately rather than arranging to do it later.
9546 (before_command_key_count_1, before_command_echo_length_1)
9547 (before_command_restore_flag): Vars deleted.
9548 (add_command_key): Don't handle before_command_restore_flag.
9549 (read_char, record_menu_key): Don't update before_command_key_count or
9550 before_command_echo_length.
9551 (read_char): Don't handle before_command_restore_flag.
9552
9553 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
9554 in direct-output clauses if it wouldn't be called in the ordinary case.
9555
9556 2003-02-04 Kim F. Storm <storm@cua.dk>
9557
9558 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
9559
9560 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9561
9562 * gtkutil.c (remove_from_container): Copying list is not needed.
9563 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
9564 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
9565 on list returned from gtk_container_get_children to avoid memory leak.
9566
9567 2003-02-01 Jason Rumney <jasonr@gnu.org>
9568
9569 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
9570 local malloc.
9571 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
9572 definitions in xpm.h.
9573 (init_xpm_functions): New function.
9574 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
9575 (init_external_image_libraries): Try to load libXpm.dll.
9576
9577 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
9578 timestamp.
9579
9580 2003-01-31 Dave Love <fx@gnu.org>
9581
9582 * syntax.c (Fskip_chars_forward)
9583 (open-paren-in-column-0-is-defun-start): Doc fix.
9584
9585 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
9586
9587 * fileio.c: Support // at start of name for Cygwin (just added proper
9588 preprocessor tests).
9589
9590 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
9591
9592 * Makefile.in: Use @EXEEXT@ for Cygwin.
9593
9594 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
9595
9596 * s/cygwin.h: Added for Cygwin port.
9597
9598 2003-01-31 Juanma Barranquero <lektu@terra.es>
9599
9600 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
9601 when including gif_lib.h.
9602 (init_gif_functions, init_tiff_functions): New functions.
9603 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
9604 Windows. Disable color table lookups. Call library functions
9605 through pointers determined at runtime.
9606 (init_external_image_libraries): Try to load libungif.dll and
9607 libtiff.dll.
9608
9609 2003-01-31 Kenichi Handa <handa@m17n.org>
9610
9611 * xdisp.c (SKIP_GLYPHS): New macro.
9612 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
9613
9614 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9615
9616 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
9617
9618 2003-01-30 Dave Love <fx@gnu.org>
9619
9620 * alloc.c (Vgc_elapsed, gcs_done): New variables.
9621 (Fgarbage_collect): Use them.
9622 (init_alloc, syms_of_alloc): Set them up.
9623
9624 2003-01-30 Juanma Barranquero <lektu@terra.es>
9625
9626 * w32fns.c (init_external_image_libraries): Add missing operator.
9627
9628 2003-01-29 Jason Rumney <jasonr@gnu.org>
9629
9630 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
9631 an alternative name for jpeg.dll.
9632
9633 2003-01-29 Kenichi Handa <handa@m17n.org>
9634
9635 * xdisp.c (set_cursor_from_row): Pay attention to string display
9636 properties.
9637
9638 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
9639
9640 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
9641 <escape>.
9642 (keycode_to_xkeysym_table): Reformat and add more comments.
9643 (XTread_socket): Drop special case for backspace.
9644
9645 2003-01-28 Andrew Choi <akochoi@shaw.ca>
9646
9647 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
9648 values in old-style RGB specs.
9649
9650 2003-01-27 Juanma Barranquero <lektu@terra.es>
9651
9652 * w32fns.c (init_external_image_libraries): Try alternate names for the
9653 jpeg dll.
9654
9655 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9656
9657 * gtkutil.c (create_dialog, xg_separator_p)
9658 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
9659 before calling strcmp or strlen.
9660
9661 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9662
9663 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
9664 and handle image load failure.
9665
9666 2003-01-26 Jason Rumney <jasonr@gnu.org>
9667
9668 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
9669 New functions.
9670 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
9671 Disable color table lookups. Call jpeg library functions
9672 through pointers determined at runtime.
9673 (init_external_image_libraries): Try to load jpeg.dll.
9674
9675 2003-01-25 Richard M. Stallman <rms@gnu.org>
9676
9677 * lisp.h: Declare format2 instead of format1.
9678
9679 * fileio.c (barf_or_query_if_file_exists):
9680 Call format2 instead of format1.
9681
9682 * editfns.c (format2): New function, replaces format1
9683 but takes exactly two Lisp Objects as format args.
9684
9685 * buffer.c (Fkill_buffer): Call format2 instead of format1.
9686
9687 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9688
9689 * xterm.h: Change to return value of x_dispatch_event to int.
9690
9691 * xterm.c (x_filter_event): New function.
9692 (event_handler_gdk, XTread_socket): Call x_filter_event.
9693 (x_dispatch_event): Change to return value of finish.
9694 (event_handler_gdk): Use return value from x_dispatch_event.
9695
9696 * xfns.c (x_window): Call create_frame_xic for GTK version to
9697 initialize input methods.
9698
9699 * gtkutil.h: Add (void) prototypes.
9700
9701 * gtkutil.c (create_menus): Remove code that puts the help menu to
9702 the right.
9703
9704 2003-01-25 Jason Rumney <jasonr@gnu.org>
9705
9706 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
9707 [HAVE_PNG]: Sync with xfns.c version.
9708 (png_load): Adjust colors for Windows. Use Windows
9709 bitmaps. Disable color table lookups.
9710 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
9711 (init_png_functions): New function.
9712 (png_read_from_memory, png_load): Call png library functions
9713 through pointers determined at runtime.
9714 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
9715 (init_external_image_libraries): New function.
9716 (init_xfns): Call it.
9717
9718 2003-01-24 Andreas Schwab <schwab@suse.de>
9719
9720 * minibuf.c (Fminibuffer_message): Verify type of parameter.
9721
9722 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9723
9724 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
9725 of static initializer.
9726
9727 2003-01-24 Dave Love <fx@gnu.org>
9728
9729 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
9730 architectures.
9731
9732 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
9733 Use __alignof__.
9734
9735 2003-01-24 Kenichi Handa <handa@m17n.org>
9736
9737 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
9738 It it is nonzero, don't pretend that an invisible area doesn't exist.
9739 (command_loop_1): Call adjust_point_for_property with proper
9740 second arg.
9741
9742 2003-01-22 Jason Rumney <jasonr@gnu.org>
9743
9744 Sync changes with xterm.c and xfns.c.
9745
9746 * w32term.c (x_draw_glyph_string_foreground)
9747 (x_draw_composite_glyph_string_foreground): Implement overstriking.
9748
9749 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
9750 phys_cursor's hpos is overwritten. This is still not completely
9751 correct, as it doesn't really make sense to use hpos at all to
9752 get the cursor glyph (as that is relative to the width of the
9753 characters on the line, which may have changed during the update).
9754
9755 * w32term.c (notice_overwritten_cursor): Handle the special case
9756 of the cursor being in the first blank non-text line at the
9757 end of a window.
9758
9759 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
9760 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
9761 Compute from the x position returned by x_draw_glyphs.
9762
9763 (x_display_and_set_cursor): Don't set phys_cursor_width here,
9764 except for NO_CURSOR and system caret, to make phys_cursor_width
9765 contain what its name suggests.
9766 (notice_overwritten_cursor): Consider the cursor image erased if
9767 the output area intersects the cursor image in y-direction.
9768
9769 * w32term.c (note_mode_line_or_margin_highlight): Rename from
9770 note_mode_line_highlight and extend.
9771
9772 * w32term.c (last_window): New variable.
9773 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
9774 (note_mouse_movement): Remove reimplemented code in #if 0.
9775
9776 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
9777 not update_mode_lines, and always set it to 1.
9778
9779 2003-01-21 Jason Rumney <jasonr@gnu.org>
9780
9781 * w32fns.c (IDC_HAND): Define it if system headers don't.
9782
9783 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
9784
9785 * w32term.h (struct w32_output): New member hand_cursor.
9786 (WM_EMACS_SETCURSOR): New message definition.
9787
9788 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
9789 function w32_define_cursor.
9790 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
9791 position, change member name output_data.x to output_data.w32 and
9792 add function w32_define_cursor.
9793 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
9794 and change member name output_data.x to output_data.w32.
9795 (w32_initialize_display_info):
9796 Setup dpyinfo->vertical_scroll_bar_cursor.
9797
9798 * w32fns.c (Vx_hand_shape): New variable.
9799 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
9800 WM_EMACS_SETCURSOR.
9801 (x-create-frame): Setup Cursor types.
9802
9803 2003-01-21 David Ponce <david@dponce.com>
9804
9805 * w32term.c (w32_encode_char): For DIM=1 charset, set
9806 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
9807 x_encode_char change by Kenichi Handa <handa@m17n.org> on
9808 2002-09-30.)
9809 (w32_draw_relief_rect): Declare all args.
9810 (w32_define_cursor): New.
9811
9812 * w32fns.c (w32_load_cursor): New function.
9813 (w32_init_class): Use it.
9814 (x_put_x_image): Declare all args.
9815
9816 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk>
9817
9818 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
9819
9820 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9821
9822 * gtkutil.c: Must include stdio.h before termhooks.h
9823
9824 2003-01-21 Dave Love <fx@gnu.org>
9825
9826 * alloc.c (Fgc_status): Print zombie list.
9827 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
9828 Fix assignment of zombies.
9829 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
9830 Don't take car of non-cons.
9831
9832 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9833
9834 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9835
9836 2003-01-20 David Ponce <david@dponce.com>
9837
9838 * w32menu.c (digest_single_submenu): Declare all args.
9839
9840 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
9841 changes in xmenu.c:
9842
9843 (parse_single_submenu): Use individual keymap's prompt
9844 string as pane name, if there is one.
9845 (set_frame_menubar): Save menu_items_n_panes from each call to
9846 parse_single_submenu and use it when calling digest_single_submenu.
9847
9848 2003-01-20 Steven Tamm <steventamm@mac.com>
9849
9850 * macterm.c (XTread_socket): Checks for valid, visible window
9851 before sending a scroll-wheel event.
9852
9853 2003-01-20 Richard M. Stallman <rms@gnu.org>
9854
9855 * xdisp.c (redisplay_window): If mini window's buffer is not
9856 a minibuffer, then redisplay it like other windows.
9857
9858 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9859
9860 * gtkutil.c (xg_create_frame_widgets): Check if there is an
9861 external tool bar before setting tool bar height.
9862
9863 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9864
9865 * xterm.c (handle_one_xevent): Surround popup_activated
9866 with #ifdef:s for non-toolkit version.
9867
9868 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
9869 (gtkutil.o): New file.
9870 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
9871 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
9872
9873 * gtkutil.c: New file for GTK version.
9874
9875 * gtkutil.h: New file for GTK version.
9876
9877 * xterm.h: Add xt_or_gtk_widget.
9878 Include gtk files for USE_GTK.
9879 (struct x_output): Add toolbar_height.
9880 (struct x_output): Add GTK widgets and Gdk size_hints.
9881 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
9882 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
9883 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
9884
9885 * xterm.c: Include gtkutil.h for USE_GTK.
9886 (free_frame_menubar): Declare extern void for USE_GTK.
9887 (note_mouse_highlight): Check popup_activated for USE_GTK.
9888 (xt_action_hook): Don't compile if USE_GTK.
9889 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
9890 (xg_scroll_callback): New function.
9891 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
9892 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
9893 for USE_GTK.
9894 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
9895 xg_show_scroll_bar for USE_GTK.
9896 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
9897 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
9898 (event_handler_gdk): New function for USE_GTK.
9899 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
9900 (handle_one_xevent): Make sure widget is mapped before
9901 calling x_real_positions for USE_GTK.
9902 (XTread_socket): Add GTK event loop for USE_GTK.
9903 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
9904 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
9905 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
9906 (x_iconify_frame): Add code for USE_GTK.
9907 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
9908 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
9909 is in gtkutil.c.
9910 (x_term_init): Add initialization for GTK.
9911 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
9912
9913 * xmenu.c: Include gtkutil.h for USE_GTK.
9914 (Fx_popup_menu): Use current position if x and y is NIL.
9915 (single_menu_item, single_menu_item, Fx_popup_dialog):
9916 Check for USE_GTK.
9917 (popup_widget_loop): New function for USE_GTK.
9918 (x_activate_menubar): Add code for USE_GTK.
9919 (popup_activate_callback, popup_deactivate_callback)
9920 (menu_highlight_callback, menubar_selection_callback):
9921 Add USE_GTK versions.
9922 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
9923 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
9924 (free_frame_menubar): Only compile if not USE_GTK. GTK version
9925 is in gtkutil.c.
9926 (popup_selection_callback): New version for USE_GTK.
9927 (create_and_show_popup_menu): New fuction, one USE_GTK version and
9928 one USE_X_TOOLKIT version.
9929 (xmenu_show): Call create_and_show_popup_menu.
9930 (dialog_selection_callback): New version for USE_GTK.
9931 (create_and_show_dialog): New fuction, one USE_GTK version and
9932 one USE_X_TOOLKIT version.
9933 (xdialog_show): Call create_and_show_dialog.
9934
9935 * xfns.c: Include gtkutil for USE_GTK.
9936 (x_window_to_frame, x_any_window_to_frame)
9937 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
9938 (x_top_window_to_frame): Add code for USE_GTK.
9939 (x_set_background_color): Call xg_set_background_color for GTK.
9940 (x_set_menu_bar_lines): Check for USE_GTK.
9941 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
9942 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
9943 (x_window): Call xg_create_frame_widgets for USE_GTK.
9944 (Fx_create_frame): Check for USE_GTK
9945 (Fx_file_dialog): New implementation for USE_GTK.
9946
9947 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
9948 (update_menu_bar): Add check for USE_GTK.
9949 (update_tool_bar): Add check for USE_GTK and external tool bar.
9950 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
9951 (redisplay_internal): Add check for USE_GTK and popup_activated.
9952 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
9953 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
9954 (display_menu_bar): Add check for USE_GTK
9955
9956 * lisp.h (Vx_resource_name): Declare extern.
9957
9958 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
9959 for USE_GTK.
9960 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
9961
9962 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
9963 (FRAME_EXTERNAL_TOOL_BAR): New macro.
9964 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
9965
9966 * fileio.c (Fread_file_name): Add check for USE_GTK.
9967
9968 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
9969 Add check for USE_GTK.
9970
9971 * config.in: Added HAVE_GTK
9972
9973 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
9974
9975 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
9976
9977 * charset.h (Funibyte_char_to_multibyte): Export.
9978
9979 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9980
9981 * xmenu.c (mouse_position_for_popup): New function.
9982 (Fx_popup_menu): Call mouse_position_for_popup for X and
9983 mouse_position_hook for others.
9984
9985 2003-01-17 Kim F. Storm <storm@cua.dk>
9986
9987 * editfns.c (Finsert): Mention `string-make-multibyte' and
9988 `string-as-multibyte' in doc string.
9989
9990 2003-01-17 Kenichi Handa <handa@m17n.org>
9991
9992 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
9993
9994 * editfns.c (Fformat): Convert an unibyte char argument that is
9995 formatted by "%c" to multibyte if the total result must be a
9996 multibyte string.
9997
9998 2003-01-16 Kim F. Storm <storm@cua.dk>
9999
10000 * process.c (set-process-filter): Document unibyte/multibyte-ness
10001 of string argument.
10002
10003 2003-01-16 Kenichi Handa <handa@m17n.org>
10004
10005 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
10006
10007 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
10008 (re_search_2): Likewise.
10009
10010 2003-01-15 Kenichi Handa <handa@m17n.org>
10011
10012 * xdisp.c (message_dolog): Fix bug of the case that *Message*
10013 buffer is unibyte.
10014
10015 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
10016
10017 * fns.c (Fsubstring): Clarify doc string.
10018
10019 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
10020 (Fprevious_char_property_change)
10021 (Fnext_single_char_property_change)
10022 (Fprevious_single_char_property_change, Fnext_property_change)
10023 (Fnext_single_property_change, Fprevious_property_change)
10024 (Fprevious_single_property_change, Fadd_text_properties)
10025 (Fput_text_property, Fset_text_properties)
10026 (Fremove_text_properties, Fremove_list_of_text_properties)
10027 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
10028
10029 2003-01-14 Kim F. Storm <storm@cua.dk>
10030
10031 * process.h (struct Lisp_Process): New member plist replaces old
10032 member private_vars. All uses changed.
10033
10034 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
10035 (QCplist): Rename from QCvars. Change all uses.
10036 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
10037 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
10038 (syms_of_process): Intern, staticpro, defsubr these.
10039 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
10040
10041 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
10042
10043 * m/delta.h: Remove (obsolete).
10044
10045 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
10046
10047 * fileio.c (Fdelete_directory, Fdelete_file): Document the
10048 behaviour in front of symlinks.
10049 (Fdelete_file): Raise an error on directories.
10050
10051 2003-01-13 Dave Love <fx@gnu.org>
10052
10053 * fns.c (Freverse): Use QUIT.
10054
10055 2003-01-13 Richard M. Stallman <rms@gnu.org>
10056
10057 * minibuf.c (minibuffer_completion_contents):
10058 Error if point is inside prompt.
10059
10060 * keyboard.c (command_loop_1): Don't redisplay directly
10061 if there's a post-command-hook.
10062
10063 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
10064 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
10065
10066 2003-01-12 Kim F. Storm <storm@cua.dk>
10067
10068 * process.h (struct Lisp_Process): New member private_vars.
10069
10070 * process.c (QCvars): New variable.
10071 (syms_of_process): Intern and staticpro it.
10072 (Fset_process_contact): Removed function.
10073 (Fprocess_variable, Fset_process_variable): New functions.
10074 (syms_of_process): Defsubr them.
10075 (Fstart_process): Initialize private_vars plist to nil.
10076 (Fmake_network_process): New arg :vars to setup the private
10077 variables for new network process.
10078 (server_accept_connection): Copy server's private variables to
10079 client process.
10080
10081 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
10082 crashes). Code rewritten and simplified. Now directly aligns the
10083 pointer and recalculates pure_bytes_used, rather than aligning the
10084 size and adjusting the pointer.
10085
10086 2003-01-11 Kim F. Storm <storm@cua.dk>
10087
10088 * process.c (Fset_process_contact): New function.
10089 (syms_of_process): defsubr it.
10090 (make-network-process): Update doc.
10091
10092 2003-01-10 Andreas Schwab <schwab@suse.de>
10093
10094 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
10095 Reported by Berthold Gunreben <b.gunreben@web.de>.
10096
10097 2003-01-10 Dave Love <fx@gnu.org>
10098
10099 * composite.c (syms_of_composite): Make composition_hash_table weak.
10100
10101 2003-01-09 Kim F. Storm <storm@cua.dk>
10102
10103 * process.c (Fmake_network_process): Convert new port number
10104 to host byte order for `:service t' case. From Mario Lang.
10105
10106 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10107
10108 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
10109 instead of XtAppProcessEvent.
10110
10111 * xterm.c (handle_one_xevent): New function.
10112 (x_dispatch_event): New function.
10113 (XTread_socket): Call handle_one_xevent.
10114
10115 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
10116
10117 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
10118 call XQueryPointer to get coordinates.
10119 (popup_get_selection): Do not set popup_activated_flag to zero,
10120 let popup_deactivate_callback do that. Needed for Motif.
10121 Call x_dispatch_event instead of XtDispatchEvent.
10122 (xmenu_show): Calculate root coordinate from frame top/left position.
10123
10124 2003-01-08 Kim F. Storm <storm@cua.dk>
10125
10126 * process.c (server_accept_connection): Fix recording of new
10127 connection's local address in :local property of contact info.
10128 (Fmake_network_process): Record local network address for new
10129 client processes in :local property of contact info.
10130 (format-network-address): Add arg OMIT-PORT. Change callers.
10131
10132 2003-01-07 Dave Love <fx@gnu.org>
10133
10134 * Makefile.in (fns.o): Depend on coding.h.
10135
10136 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
10137
10138 * minibuf.c (Fread_variable): Doc fix.
10139
10140 * eval.c (Fuser_variable_p): Doc change. For custom variables,
10141 use the same test as for custom-variable-p.
10142
10143 2003-01-05 Richard M. Stallman <rms@gnu.org>
10144
10145 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
10146 Count LAST_LINE_MISFIT in scroll margin for end of window.
10147 Move label too_near_end before setting SCROLL_MARGIN_POS.
10148 Set LAST_LINE_MISFIT before jumping there.
10149
10150 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
10151 scroll_conservatively case. If scrolling that much doesn't change
10152 STARTP, move it down one line.
10153
10154 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
10155 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
10156
10157 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
10158 selected frame.
10159
10160 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
10161 (syms_of_keymap): staticpro them.
10162 (Fapropos_internal): Initialize them and clear them out.
10163 Don't GCPRO them.
10164
10165 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
10166 Doc fixes.
10167
10168 * lisp.h: New misc type Lisp_Save_Value.
10169 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
10170 (XSAVE_VALUE): New macro.
10171 (struct Lisp_Save_Value): New data type.
10172 (union Lisp_Misc): Add u_save_value alternative.
10173 (make_save_value): Declare.
10174
10175 * alloc.c (make_save_value): New function.
10176
10177 * xterm.c (x_catch_errors): Save dpy using make_save_value.
10178 (x_catch_errors_unwind): Call XSync.
10179
10180 2003-01-01 Richard M. Stallman <rms@gnu.org>
10181
10182 * window.c (window_scroll_pixel_based): Partially undo last change.
10183
10184 * keyboard.c (command_loop_1): Call adjust_point_for_property
10185 in direct action cases for Qforward_char and Qbackward_char.
10186 Set already_adjusted so it won't be done twice.
10187
10188 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk>
10189
10190 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
10191 type definition of size_t.
10192
10193 2003-01-02 Steven Tamm <steventamm@mac.com>
10194
10195 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
10196 distinguish Carbon GUI builds from X11 builds on darwin.
10197
10198 2002-12-30 Steven Tamm <steventamm@mac.com>
10199
10200 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
10201 to default to t.
10202
10203 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
10204
10205 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
10206
10207 2002-12-28 Steven Tamm <steventamm@mac.com>
10208
10209 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
10210 allow building in a different directory than source. Uses some
10211 GNU Make extensions, but there is no other make on Mac OS X.
10212
10213 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
10214
10215 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
10216 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
10217 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
10218 (Fstring_to_number): Mention the returned value in the doc strings.
10219
10220 2002-12-23 Richard M. Stallman <rms@gnu.org>
10221
10222 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
10223 <scroll-down-aggressively>: Doc fix.
10224
10225 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
10226 string as pane name, if there is one.
10227 (set_frame_menubar): Save menu_items_n_panes from each call to
10228 parse_single_submenu and use it when calling digest_single_submenu.
10229
10230 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
10231 Don't try to make last line fully visible if it is past end of window.
10232
10233 2002-12-22 Steven Tamm <steventamm@mac.com>
10234
10235 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
10236 (mac_menu_show): Add support for hierarchical popup menus.
10237 (add_menu_item): Remove indentation support.
10238 (fill_submenu, fill_menu): Create hierarchical menus
10239 instead of using indentation.
10240
10241 2002-12-22 Richard M. Stallman <rms@gnu.org>
10242
10243 * xdisp.c (try_cursor_movement): Don't call try_window here.
10244 (redisplay_window): Never redisplay minibuffer when inactive.
10245
10246 * window.c (select_window_1): Undo 9/21 change.
10247
10248 2002-12-22 Steven Tamm <steventamm@mac.com>
10249
10250 * macterm.c (XTread_socket): Call KeyTranslate for control and
10251 meta to deal correctly shifted non-alpha characters, like C-S-5
10252 being treated like C-%. Does not look for shift key to deal
10253 with masking off control-key with mac-reverse-ctrl-meta.
10254
10255 2002-12-21 Richard M. Stallman <rms@gnu.org>
10256
10257 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
10258 If it is non-nil, run timers. Use an unwind-protect to requeue
10259 the events that were read ahead.
10260 (popup_get_selection_unwind): New subroutine.
10261 (popup_get_selection_queue): File-scope variable now holds that queue.
10262 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
10263 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
10264 Use an unwind-protect to pop down the dialog box.
10265 (xdialog_show_unwind): New subroutine implements that.
10266
10267 * xdisp.c (row_containing_pos): Change exit test using last_y.
10268 (try_window_id): Abort if row_containing_pos returns null.
10269
10270 * lread.c (load_error_handler): New function.
10271 (Fload): Handle errors in Fsubstitute_in_file_name.
10272 Don't expect Fsignal to return.
10273
10274 * eval.c: Errors and throws work right with interrupt blocking.
10275 (struct catchtag): New elt interrupt_input_blocked.
10276 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
10277 (internal_catch, Fcondition_case, internal_condition_case)
10278 (internal_condition_case_1, internal_condition_case_2): Save it.
10279 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
10280
10281 * editfns.c (Fformat): Add parens.
10282
10283 * dired.c (file_name_completion): Fix that change.
10284 Delete special quit-handling code; just use QUIT.
10285
10286 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com>
10287
10288 * dired.c (file_name_completion): Close directory on error
10289 just as in directory_files_internal.
10290
10291 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
10292
10293 * window.c (Fset_window_configuration): Set old_point to correct
10294 value when new_current_buffer == current_buffer.
10295
10296 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
10297
10298 Revisited my earlier fix for the following entry in etc/PROBLEMS:
10299 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
10300 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
10301
10302 These changes were in part based upon suggestions made by Peter
10303 'Luna' Runestig [peter@runestig.com].
10304
10305 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token,
10306 g_b_init_get_token_information, g_b_init_lookup_account_sid,
10307 g_b_init_get_sid_identifier_authority ): Add several static
10308 global variables.
10309
10310 * w32.c (globals_of_w32): New function. Used to initialize those
10311 global variables that must always be initialized on startup even
10312 when the global variable initialized is non zero. Its primary
10313 purpose at this time is to set the global variables
10314 g_b_init_is_windows_9x, g_b_init_open_process_token,
10315 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
10316 g_b_init_get_sid_identifier_authority to 0 on startup.
10317 Called from main.
10318
10319 * w32.c (is_windows_9x): Perform initialization only if
10320 g_b_init_is_windows_9x is equal to 0. On initialization set
10321 g_b_init_is_windows_9x equal to 1.
10322
10323 * w32.c (open_process_token): Perform initialization only if
10324 g_b_init_open_process_token is equal to 0. On initialization set
10325 g_b_init_open_process_token equal to 1.
10326
10327 * w32.c (get_token_information): Perform initialization only if
10328 g_b_init_get_token_information is equal to 0. On initialization
10329 set g_b_init_get_token_information equal to 1.
10330
10331 * w32.c (lookup_account_sid): Perform initialization only if
10332 g_b_init_lookup_account_sid is equal to 0. On initialization
10333 set g_b_init_lookup_account_sid equal to 1.
10334
10335 * w32.c (get_sid_identifier_authority): Perform initialization
10336 only if g_b_init_get_sid_identifier_authority is equal to 0.
10337 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
10338
10339 * w32fns.c (globals_of_w32fns): New function. Used to initialize
10340 those global variables that must always be initialized on startup
10341 even when the global variable initialized is non zero.
10342 Its primary purpose at this time is to initialize the global variable
10343 track_mouse_event_fn.
10344
10345 * w32fns.c (w32_wnd_proc): Remove initialization of
10346 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
10347
10348 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
10349
10350 * w32menu.c (globals_of_w32menu): New function. Used to
10351 initialize those global variables that must always be initialized
10352 on startup even when the global variable initialized is non zero.
10353 Its primary purpose at this time is to initialize the global
10354 variables get_menu_item_info and set_menu_item_info.
10355
10356 * w32menu.c (initialize_frame_menubar): Remove initialization of
10357 get_menu_item_info and set_menu_item_info.
10358
10359 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
10360
10361 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
10362 Declare them.
10363
10364 * emacs.c (main): Call globals_of_w32 prior to calling
10365 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
10366 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
10367 is defined.
10368
10369 * w32term.c (x_update_window_begin): Fix Windows API error
10370 detected by BoundsChecker. Test to determine if
10371 w32_system_caret_hwnd is NULL prior to attempting to use
10372 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
10373
10374 * w32term.c (x_update_window_end): Fix Windows API error
10375 detected by BoundsChecker. Test to determine if
10376 w32_system_caret_hwnd is NULL prior to attempting to use
10377 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
10378
10379 2002-12-17 Kenichi Handa <handa@m17n.org>
10380
10381 * coding.c (coding_system_require_warning): New variable.
10382 (syms_of_coding): DEFVAR it.
10383
10384 * coding.h (coding_system_require_warning): Extern it.
10385
10386 * fileio.c (choose_write_coding_system): Even if
10387 Vcoding_system_for_write is non-nil, if
10388 coding_system_require_warning is nonzero, call
10389 Vselect_safe_coding_system_function.
10390
10391 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
10392
10393 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
10394 (lisp): Add font-core.
10395
10396 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
10397
10398 * textprop.c (text_read_only): New arg `propval'.
10399 (get_char_property_and_overlay): Remove unused var `next_overlay'.
10400 (verify_interval_modification): Use text_read_only's new arg.
10401
10402 2002-12-13 Kenichi Handa <handa@m17n.org>
10403
10404 * coding.c (Funencodable_char_position): Set pend correctly.
10405
10406 2002-12-12 Jason Rumney <jasonr@gnu.org>
10407
10408 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
10409 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
10410 Be more careful about when help_events are generated.
10411
10412 2002-12-12 Steven Tamm <steventamm@mac.com>
10413
10414 * macterm.c (mac_check_for_quit_char): Correctly set the
10415 modifiers of the event to 0.
10416 * mac.c (sys_select): Duplicate rfds before calling select to
10417 ensure that rfds survive the while loop.
10418
10419 2002-12-11 Kim F. Storm <storm@cua.dk>
10420
10421 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
10422 row_containing_pos returned NULL.
10423
10424 2002-12-10 Steven Tamm <steventamm@mac.com>
10425
10426 * mac.c (sys_read): Fix sys_read to not call select if IO is
10427 non-blocking.
10428 (sys_select): Fix sys_select to not use a timeout larger than
10429 the one given.
10430
10431 2002-12-10 Juanma Barranquero <lektu@terra.es>
10432
10433 * editfns.c (Fformat): Use alloca, not _alloca.
10434
10435 2002-12-09 Richard M. Stallman <rms@gnu.org>
10436
10437 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
10438 as the last thing.
10439
10440 2002-12-09 Dave Love <fx@gnu.org>
10441
10442 * s/sol2-8.h: Removed. (Not necessary.)
10443
10444 2002-12-09 Matthew Swift <swift@alum.mit.edu>
10445
10446 * editfns.c (Fformat): Handle precision in string conversion
10447 specifiers like libc functions do (ie, print at most that many
10448 characters).
10449
10450 2002-12-08 Richard M. Stallman <rms@gnu.org>
10451
10452 * xdisp.c (row_containing_pos): Check more carefully
10453 whether charpos is really in the row before returning it.
10454
10455 2002-12-07 Steven Tamm <steventamm@mac.com>
10456
10457 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
10458
10459 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
10460 each stack frame. This may change as it could be time consuming.
10461
10462 * macterm.c (mac_check_for_quit_char, quit_char_comp)
10463 (init_quit_char_handler, mac_determine_quit_char_modifiers)
10464 (mac_initialize): Add code to check for pressing of quit_char
10465 in the OS event queue.
10466
10467 * mac.c (sys_select): Call mac_check_for_quit_char every second
10468 while blocking on select.
10469
10470 * mac.c (sys_read): Use sys_select to test for input first
10471 before calling read, to allow C-g to break.
10472
10473 2002-12-07 Richard M. Stallman <rms@gnu.org>
10474
10475 * minibuf.c (Fcompleting_read): Doc fix.
10476
10477 * lread.c (syms_of_lread) <load-history>: Doc fix.
10478
10479 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
10480
10481 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
10482 autoload.
10483
10484 * data.c (Fdefalias): Record in load-history redefining an autoload.
10485
10486 * alloca.c: Undo ifdef change accidentally made on 12-04.
10487
10488 2002-12-06 Francesco Potorti` <pot@gnu.org>
10489
10490 * xfns.c (png_load): Avoid double gamma correction for PNG images.
10491
10492 2002-12-04 Richard M. Stallman <rms@gnu.org>
10493
10494 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
10495
10496 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
10497
10498 * alloca.c: Don't use #error.
10499
10500 2002-12-03 Dave Love <fx@gnu.org>
10501
10502 * buffer.c (Qucs_set_table_for_input): New.
10503 (Fget_buffer_create): Use it.
10504 (Qset_buffer_major_mode_hook): Deleted.
10505 (Fset_buffer_major_mode): Revert previous change.
10506 (init_buffer_once): Intern ucs-set-table-for-input.
10507 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
10508 Add &Qucs_set_table_for_input.
10509
10510 2002-12-03 Andreas Schwab <schwab@suse.de>
10511
10512 * callint.c (Fcall_interactively): Use next_event only if less
10513 than key_count.
10514
10515 2002-12-02 Andrew Choi <akochoi@shaw.ca>
10516
10517 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
10518 names to 255 characters.
10519
10520 * macterm.c (XTread_socket): If all frames have been collapsed,
10521 expand the first one before handling drag-and-drop events.
10522
10523 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
10524 which is detected by autoconf.
10525
10526 2002-12-01 Steven Tamm <steventamm@mac.com>
10527
10528 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
10529 offset in two hints table to allow prebinding to be redone and
10530 allow the executable to be stripped.
10531
10532 2002-11-29 Dave Love <fx@gnu.org>
10533
10534 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
10535 already provided.
10536
10537 2002-11-29 Richard M. Stallman <rms@gnu.org>
10538
10539 * xdisp.c (start_display): Check more intelligently for
10540 whether the line is continued.
10541 (move_it_vertically_backward): Clear it->continuation_lines_width.
10542
10543 2002-11-28 Dave Love <fx@gnu.org>
10544
10545 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
10546 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
10547
10548 2002-11-27 Steven Tamm <steventamm@mac.com>
10549
10550 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
10551 more descriptive error output from lread.c:Fload upon most require
10552 cycles during boostrapping.
10553
10554 2002-11-27 Jason Rumney <jasonr@gnu.org>
10555
10556 * fileio.c (Finsert_file_contents): Give a more appropriate error
10557 for files bigger than 2Gb when off_t is 32 bit.
10558
10559 * dired.c (Ffile_attributes): Don't return negative file sizes for
10560 files bigger than 2Gb when off_t is 32 bit.
10561
10562 2002-11-27 Dave Love <fx@gnu.org>
10563
10564 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10565
10566 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
10567 Test GETPGRP_VOID instead.
10568 [BSD_TERMIOS]: Remove definitions (never used).
10569
10570 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
10571 Don't define.
10572 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10573
10574 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
10575
10576 2002-11-25 Jason Rumney <jasonr@gnu.org>
10577
10578 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
10579 supported.
10580
10581 2002-11-25 Dave Love <fx@gnu.org>
10582
10583 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
10584
10585 * Makefile.in (TEMACS_LDFLAGS): Update last change.
10586
10587 2002-11-25 Andreas Schwab <schwab@suse.de>
10588
10589 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
10590
10591 2002-11-24 Steven Tamm <steventamm@mac.com>
10592
10593 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
10594 determine the size of pointers alloced in unexed space instead
10595 of using possibly invalid emacs_zone pointers. This fixes the
10596 binary incompatibility problems caused by updates to libSystem.B.
10597
10598 2002-11-24 Richard M. Stallman <rms@gnu.org>
10599
10600 * search.c (Fstring_match): Doc fix.
10601
10602 * callint.c (Fcall_interactively): If a command fails because
10603 `*' detects a read-only buffer, but RECORD_FLAG is set,
10604 record it anyway if the args don't actually do tty input.
10605
10606 2002-11-22 Dave Love <fx@gnu.org>
10607
10608 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
10609
10610 * keyboard.c (interrupt_signal): Provide forward declaration.
10611 (kbd_buffer_store_event): Don't declare interrupt_signal.
10612
10613 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
10614
10615 2002-11-21 Richard M. Stallman <rms@gnu.org>
10616
10617 * eval.c (interactive_p): Skip any number of bytecode
10618 and special form frames, in any order.
10619
10620 2002-11-20 Jason Rumney <jasonr@gnu.org>
10621
10622 * w32fns.c (convert_mono_to_color_image): New function.
10623 (xbm_load, xbm_load_image): Use it when foreground or background
10624 is explicitly set.
10625
10626 2002-11-19 Dave Love <fx@gnu.org>
10627
10628 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
10629
10630 2002-11-18 Jason Rumney <jasonr@gnu.org>
10631
10632 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
10633 (XPutPixel): Swap blue and red.
10634 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
10635 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10636 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
10637 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
10638
10639 2002-11-18 Dave Love <fx@gnu.org>
10640
10641 * m/orion105.h (HAVE_ALLOCA): Don't define.
10642
10643 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
10644
10645 * m/intel386.h: Don't include alloca.h or define alloca.
10646
10647 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
10648 malloc, realloc, calloc.
10649
10650 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
10651 (bcmp): Don't define.
10652
10653 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
10654
10655 * m/amdahl.h: Don't define LIB_STANDARD.
10656
10657 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
10658
10659 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
10660
10661 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
10662 Don't include alloca.h.
10663
10664 * s/aix3-2.h (HAVE_FSYNC): Don't define.
10665
10666 * regex.c (_GNU_SOURCE): Don't define.
10667
10668 * process.c (_GNU_SOURCE): Don't define.
10669
10670 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
10671
10672 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
10673
10674 * s/sol2-8.h: Include sol2-6.h.
10675
10676 2002-11-18 Miles Bader <miles@gnu.org>
10677
10678 * dispextern.h (struct face): Add `overstrike' field.
10679 * xterm.c (x_draw_glyph_string_foreground)
10680 (x_draw_composite_glyph_string_foreground): Implement overstriking.
10681 * xfaces.c (load_face_font): Set `face->overstrike' based on
10682 result from choose_face_font.
10683 (best_matching_font, choose_face_font): Add `needs_overstrike'
10684 argument, and use it to return whether overstriking is desirable
10685 for this face/font combo.
10686 (set_font_frame_param: Pass new argument to choose_face_font.
10687
10688 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
10689
10690 This change is my fix for the following entry in etc/PROBLEMS:
10691 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
10692 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
10693
10694 * w32.c: Added wrapper functions around the win32 API functions
10695 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
10696 GetSidIdentifierAuthority. These wrapper functions serve two
10697 purposes:
10698 1. They ensure that the wrapped function can never be called
10699 when Emacs is running on an operating system on which they are
10700 not supported (Microsoft Windows 95 / 98 / ME).
10701 2. They call the wrapped functions via function pointers rather
10702 than calling them directly. This avoids taking advantage of the
10703 undocumented fact that although these functions are not supported
10704 in the 9x branch of Microsoft Windows, the functions do exist in
10705 the version of advapi32.dll that is found in the 9x branch of
10706 Microsoft Windows.
10707
10708 * w32.c (init_user_info): Replace the calls to the win32 API
10709 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
10710 and GetSidIdentifierAuthority with calls to the newly added
10711 wrapper functions.
10712
10713 * w32.h: Added extern declarations for the following functions:
10714 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
10715 syms_of_w32menu, and void syms_of_fontset.
10716
10717 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
10718 function pointer track_mouse_event_fn in the handler for the
10719 WM_SETFOCUS message.
10720
10721 * w32menu.c (initialize_frame_menubar): Add code to
10722 reinitialize the function pointers set_menu_item_info and
10723 get_menu_item_info.
10724
10725 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
10726
10727 * sound.c: Added a partial implementation of play-sound-internal
10728 for Microsoft Windows. Added various #ifdef / #else / #endif
10729 code blocks to separate the code that will compile under
10730 Microsoft Windows from the code that is specific to Gnu/Linux.
10731 Moved several blocks of code around to make this separation of code
10732 into Windows compatible and Gnu/Linux compatible code blocks easier.
10733
10734 * makefile.w32-in: Include sound.c and link with WinMM.lib.
10735
10736 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
10737 added support for play-sound-internal under Windows would be
10738 included in the build of Emacs.
10739
10740 2002-11-16 Jason Rumney <jasonr@gnu.org>
10741
10742 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
10743
10744 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
10745
10746 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
10747
10748 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
10749 (adjust_point_for_property): Move out of display and invisible even if
10750 we were already inside before (in case a property was added while
10751 we weren't looking). Be more careful when handling invisible props.
10752 Skip invisible text as if it really wasn't there at all.
10753
10754 2002-11-15 Jason Rumney <jasonr@gnu.org>
10755
10756 * w32term.c (x_draw_image_foreground)
10757 (w32_draw_image_foreground_1): Use standard copy and invert
10758 operations to draw images.
10759
10760 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
10761 depth of 1.
10762 (xbm_read_bitmap_data): Invert bits as xbm is read in.
10763 (XPutPixel): Don't invert bits here.
10764
10765 2002-11-15 Jason Rumney <jasonr@gnu.org>
10766
10767 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
10768 (w32_draw_image_foreground_1): Handle image masks.
10769 (x_draw_image_glyph_string): Don't BitBlt transparently.
10770
10771 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
10772 (x_from_xcolors): Adjust RGB values for W32.
10773 (image_background, image_background_transparent)
10774 (postprocess_image, x_to_xcolors, x_disable_image)
10775 (x_build_heuristic_mask): Adapt for W32 and enable.
10776 (x_create_x_image_and_pixmap): Mark images with palettes as such.
10777 (xbm_load): Remove unused variable.
10778
10779 2002-11-14 Richard M. Stallman <rms@gnu.org>
10780
10781 * buffer.c (syms_of_buffer): Doc fix.
10782
10783 2002-11-14 Dave Love <fx@gnu.org>
10784
10785 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
10786
10787 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
10788 * xmenu.c (unuse_menu_items, digest_single_submenu):
10789 * xfns.c (x_put_x_image):
10790 * xdisp.c (message2_nolog, set_message):
10791 * undo.c (record_point):
10792 * terminfo.c (tparam):
10793 * syntax.c (scan_sexps_forward):
10794 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
10795 * composite.c (update_compositions):
10796 * cm.c (calccost, cmgoto):
10797 * charset.c (c_string_width): Declare all args (per C99).
10798
10799 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
10800
10801 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
10802 Don't declare.
10803
10804 * emacs.c (main) [!VMS]: Avoid third arg.
10805
10806 * fns.c (Fcopy_sequence): Doc fix.
10807 (Fmap_char_table): Cast `call2'.
10808
10809 2002-11-14 Francesco Potorti` <pot@gnu.org>
10810
10811 * s/sol2-8.h: New file.
10812
10813 2002-11-14 Kim F. Storm <storm@cua.dk>
10814
10815 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
10816 dependency on `risky-local-variable' and the :propertize form.
10817
10818 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
10819
10820 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
10821
10822 * syntax.c (scan_sexps_forward): Undo last patch.
10823 Use a more obvious fix: check eob before updating the syntax table.
10824
10825 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
10826
10827 * syntax.c (scan_sexps_forward): Update syntax table before reading
10828 a char rather than after so we don't update the table past eob.
10829
10830 2002-11-09 Dave Love <fx@gnu.org>
10831
10832 * buffer.c (Fset_buffer_major_mode): Fix last change.
10833
10834 * regex.c (regexec): Fix pmatch declaration.
10835
10836 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
10837
10838 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
10839 to self-inserting characters.
10840 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
10841
10842 * coding.c (Vtranslation_table_for_input): New.
10843 (syms_of_coding): DEFVAR it.
10844
10845 2002-11-08 Juanma Barranquero <lektu@terra.es>
10846
10847 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
10848 window.
10849
10850 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
10851
10852 * process.c (Fformat_network_address): Remove unused locals p,
10853 cp, and i.
10854
10855 2002-11-06 Dave Love <fx@gnu.org>
10856
10857 * buffer.c (Qset_buffer_major_mode_hook): New.
10858 (Fset_buffer_major_mode): Use it.
10859
10860 2002-11-06 Richard M. Stallman <rms@gnu.org>
10861
10862 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
10863 and stop_polling.
10864
10865 * process.c (wait_reading_process_input):
10866 Test POLLING_PROBLEM_IN_SELECT, not hpux.
10867 Avoid initialization for auto Lisp_Object var.
10868
10869 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
10870
10871 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
10872
10873 2002-11-05 Richard M. Stallman <rms@gnu.org>
10874
10875 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
10876
10877 * callint.c (Fcall_interactively): New local filter_specs.
10878 (Fcall_interactively): Check for progn as well as let.
10879 Add a gcpro.
10880 (Qprogn): New variable.
10881 (syms_of_callint): Staticpro and init Qprogn.
10882
10883 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
10884
10885 * lread.c (Feval_buffer): Doc fix.
10886
10887 2002-11-04 Dave Love <fx@gnu.org>
10888
10889 * keyboard.c (read_char): Always translate iff
10890 Vkeyboard_translate_table is a char table and c is valid.
10891
10892 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
10893 and fix C types.
10894
10895 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
10896
10897 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
10898
10899 * editfns.c (get_pos_property): Don't hardcode Qfield.
10900
10901 * keyboard.c (adjust_point_for_property): Handle `display' prop on
10902 overlays. Also handle `invisible' prop.
10903
10904 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
10905
10906 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
10907 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
10908
10909 2002-11-01 Andreas Schwab <schwab@suse.de>
10910
10911 * editfns.c (Fmessage): Revert last change to properly handle %%.
10912
10913 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
10914
10915 * xmenu.c (unuse_menu_items): New fun.
10916 (menu_items_inuse): New var.
10917 (syms_of_xmenu): Initialize it.
10918 (init_menu_items): Use it to detect re-entrance.
10919 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
10920 (Fx_popup_menu): Remove spurious XSETFRAME.
10921
10922 * editfns.c (find_field): Make an exception for nil fields.
10923
10924 2002-11-01 Dave Love <fx@gnu.org>
10925
10926 * m/gec63.h: Deleted.
10927
10928 2002-10-31 Dave Love <fx@gnu.org>
10929
10930 * xterm.c (XTread_socket): Fix last change.
10931 (xaw_scroll_callback): Cast call_data to long to avoid warning.
10932
10933 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
10934
10935 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
10936
10937 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
10938
10939 * editfns.c (overlays_around, get_pos_property): New funs.
10940 (find_field): Use them.
10941 Also be careful not to modify POS before its last use.
10942 (Fmessage): Don't Fformat if there's nothing to format.
10943
10944 2002-10-30 Dave Love <fx@gnu.org>
10945
10946 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
10947 [HAVE_PTY_H]; Include pty.h.
10948
10949 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
10950
10951 * xterm.c (Qeql): Declare.
10952 (Vx_keysym_table): New.
10953 (syms_of_xterm): Initialize it.
10954 (XTread_socket): Use it. Deal with ASCII keysyms.
10955 (XSetIMValues) [HAVE_X11R6]: Prototype.
10956
10957 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
10958 (lispy_kana_keys): Comment out.
10959 (make_lispy_event) [XK_kana_A]: Comment out.
10960 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
10961 Fix sprintf call.
10962
10963 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
10964 regexp.h change).
10965 (TERMINFO, LIBS_TERMCAP): Define.
10966
10967 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
10968 (bcmp): Define conditional on HAVE_BCMP.
10969 (NO_SIOCTL_H): Don't define.
10970 (TIOCSIGSEND): Don't make conditional on IRIX6.
10971
10972 * s/sol2-5.h: Don't include strings.h.
10973 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
10974
10975 * s/irix6-0.h (IRIX6): Don't define.
10976 (bcopy, bcmp, bzero): Don't undef.
10977
10978 * s/irix6-5.h: Don't include strings.h.
10979 (IRIX6): Don't define.
10980 (bcopy, bcmp, bzero): Don't undef.
10981
10982 * syntax.c (Fforward_comment): Doc fix.
10983
10984 2002-10-29 Kim F. Storm <storm@cua.dk>
10985
10986 * process.c (Fsignal_process): Allow PROCESS to be specified by
10987 name in addition to pid (as integer or string).
10988
10989 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
10990
10991 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
10992 environments.
10993
10994 2002-10-27 Kim F. Storm <storm@cua.dk>
10995
10996 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
10997
10998 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
10999
11000 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
11001
11002 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
11003
11004 2002-10-26 Richard M. Stallman <rms@gnu.org>
11005
11006 * editfns.c (Fformat): Detect invalid format letters for floats.
11007
11008 2002-10-25 Kenichi Handa <handa@m17n.org>
11009
11010 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
11011 (x_set_title): Likewise.
11012
11013 2002-10-25 Juanma Barranquero <lektu@terra.es>
11014
11015 * macgui.h:
11016 * w32gui.h: Remove definition of XColor.
11017
11018 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
11019
11020 2002-10-24 Kim F. Storm <storm@cua.dk>
11021
11022 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
11023 Callers changed (supply dummy arg).
11024
11025 * lisp.h (get_window_cursor_type): Update prototype.
11026
11027 * w32term.c (x_display_and_set_cursor): Get active_cursor from
11028 get_window_cursor_type to track system caret.
11029
11030 2002-10-24 Kim F. Storm <storm@cua.dk>
11031
11032 * process.c (Fformat_network_address): New function.
11033 (syms_of_process): Defsubr it.
11034 (list_processes_1): Use it to format :local/:remote address if
11035 service/host is not set; before Emacs would crash in that case.
11036 (Fmake_network_process): Don't use Ffind_operation_coding_system
11037 to setup coding system if host or service is not set.
11038
11039 2002-10-23 Juanma Barranquero <lektu@terra.es>
11040
11041 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
11042
11043 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
11044 COLORREF.
11045
11046 * macgui.h:
11047 * w32gui.h: Add definition of XColor.
11048
11049 * macfns.c:
11050 * w32fns.c:
11051 * xfaces.c: Remove definition of XColor.
11052
11053 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
11054
11055 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
11056
11057 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
11058 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
11059 window if it is dedicated.
11060 (Fshrink_window): Add preserve_before as was done for enlarge_window.
11061 (Vspecial_display_function): Update docstring.
11062
11063 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
11064 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
11065 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
11066
11067 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
11068
11069 * casefiddle.c (casify_region): Don't treat a prefix char as part
11070 of a word when at the beginning.
11071
11072 2002-10-17 Juanma Barranquero <lektu@terra.es>
11073
11074 * lread.c (syms_of_lread): Fix typos.
11075
11076 2002-10-17 Dave Love <fx@gnu.org>
11077
11078 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
11079
11080 2002-10-16 Richard M. Stallman <rms@gnu.org>
11081
11082 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
11083
11084 2002-10-14 Juanma Barranquero <lektu@terra.es>
11085
11086 * w16select.c (syms_of_win16select): Fix docstring for
11087 `selection-coding-system'.
11088
11089 * w32select.c (syms_of_w32select): Likewise.
11090
11091 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
11092
11093 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
11094 a backslash-quoted char.
11095 (scan_lists, scan_sexps_forward): Pacify the compiler.
11096
11097 2002-10-13 Richard M. Stallman <rms@gnu.org>
11098
11099 * window.c (window_scroll): Set immediate_quit.
11100
11101 * print.c (print): When backquote form is the car of a list,
11102 output in old style. Use old_backquote_output to output all
11103 comma forms inside it in old style too.
11104
11105 * buffer.h (struct buffer): Move `undo_list' down below `name'.
11106
11107 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
11108
11109 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
11110 batch mode).
11111
11112 * lread.c (Fload): Doc fix (load-suffixes).
11113
11114 2002-10-10 Steven Tamm <steventamm@mac.com>
11115
11116 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
11117 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
11118 Also switch the default to Qnil from Qt.
11119
11120 2002-10-08 Kenichi Handa <handa@m17n.org>
11121
11122 * coding.c (code_convert_region): When we need more GAP for
11123 conversion, pay attention to the case that coding->produced is not
11124 greater than coding->consumed.
11125
11126 2002-10-07 Richard M. Stallman <rms@gnu.org>
11127
11128 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
11129
11130 2002-10-06 Andrew Choi <akochoi@shaw.ca>
11131
11132 * macmenu.c (mac_menu_show): Add j to count menu items; match
11133 menu_item_selection to it to find selected item.
11134
11135 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11136
11137 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
11138 cases. The correct fix is to pass ReparentNotify to Xt.
11139 The shell widget interprets ConfigureNotify differently depending
11140 on if it has been reparented or not.
11141
11142 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
11143
11144 * editfns.c (Fformat_time_string): Doc fix.
11145
11146 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
11147
11148 * fns.c (Flength): Doc fix.
11149
11150 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
11151
11152 * keyboard.c (keyremap): New struct.
11153 (read_key_sequence): Use it: globally replace keytran_foo with
11154 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
11155 keytran_next and fkey_next to just `next'.
11156
11157 2002-10-04 Steven Tamm <steventamm@mac.com>
11158
11159 * macterm.c (keycode_to_xkeysym_table): Change return to be
11160 treated like an X keysym.
11161
11162 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11163
11164 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
11165 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
11166 This is to also handle x/y changes that occur because of a resize.
11167
11168 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
11169
11170 * frame.c (Vdelete_frame_functions): New variable.
11171 (syms_of_frame): Initialize and defvar it.
11172 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
11173 it when frame's `tooltip' parameter is non-nil.
11174
11175 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
11176
11177 * w32fns.c (x_create_tip_frame): Likewise.
11178
11179 * macfns.c (x_create_tip_frame): Likewise.
11180
11181 2002-09-30 Kenichi Handa <handa@m17n.org>
11182
11183 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
11184 -1 before calling ccl_driver.
11185
11186 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
11187 Only when it is non-nil, handle composition sequence.
11188 (setup_coding_system) <0>: Don't force composition handling.
11189
11190 * Makefile.in (lisp, shortlisp): Add utf-16.elc
11191
11192 2002-09-29 Richard M. Stallman <rms@gnu.org>
11193
11194 * search.c (Freplace_match): Adjust match data for the substitution
11195 just made in the buffer.
11196
11197 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
11198 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
11199
11200 2002-09-27 Richard M. Stallman <rms@gnu.org>
11201
11202 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
11203 (read_char): Use them. Do all exits thru the end of the function.
11204
11205 2002-09-27 Kenichi Handa <handa@etl.go.jp>
11206
11207 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
11208 is nil.
11209
11210 2002-09-26 Richard M. Stallman <rms@gnu.org>
11211
11212 * regex.h (__restrict_arr): Don't define if already defined.
11213
11214 * coding.c (run_pre_post_conversion_on_str):
11215 Save and restore Vdeactivate_mark.
11216
11217 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
11218
11219 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
11220
11221 2002-09-26 Kenichi Handa <handa@etl.go.jp>
11222
11223 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
11224 nonzero, try face's family at first. Otherwise try FAMILY at first.
11225 (choose_face_font): If C is a single byte char or latin-1, call
11226 try_font_list with PREFER_FACE_FAMILY 1.
11227
11228 2002-09-21 Richard M. Stallman <rms@gnu.org>
11229
11230 * window.c (select_window_1): Don't select frame.
11231 Set frame's selected window only when frame itself is selected.
11232 (Fselect_window): Doc fix.
11233
11234 2002-09-18 Kim F. Storm <storm@cua.dk>
11235
11236 * process.c (make-network-process): Doc fix (there is no
11237 network-server-log-function hook).
11238
11239 2002-09-18 Richard M. Stallman <rms@gnu.org>
11240
11241 * print.c (print): Clear out the unused parts of Vprint_number_table.
11242 (syms_of_print): Doc fix for `print-number-table'.
11243
11244 * unexelf.c (unexec): Undo previous change.
11245
11246 2002-09-17 Andreas Schwab <schwab@suse.de>
11247
11248 * m/alpha.h [LINUX]: Don't define DATA_START.
11249
11250 2002-09-16 Dave Love <fx@gnu.org>
11251
11252 * unexelf.c (unexec): Deal with .got, reinstating change from
11253 25-08-1999.
11254
11255 2002-09-13 Richard M. Stallman <rms@gnu.org>
11256
11257 * s/sol2-6.h (UNEXEC): Comment out definition.
11258
11259 * unexsol.c (unexec): Don't downcase first letter of error msg.
11260
11261 * xfaces.c (Fcolor_supported_p): Just one arg is required.
11262
11263 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
11264
11265 * unexsol.c: Include buffer.h, charset.h, coding.h.
11266
11267 2002-09-11 Richard M. Stallman <rms@gnu.org>
11268
11269 * unexsol.c: Don't use report_file_error; do it by hand
11270 using dlerror.
11271
11272 * process.c (wait_reading_process_input, both versions):
11273 Before calling turn_on_atimers, call stop_polling.
11274
11275 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
11276
11277 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
11278 we go to too_near_end, call clear_glyph_matrix.
11279 (redisplay_window): After make_cursor_line_fully_visible,
11280 call clear_glyph_matrix and bypass `goto done'.
11281
11282 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
11283 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
11284
11285 2002-09-10 Richard M. Stallman <rms@gnu.org>
11286
11287 * fileio.c (Fdo_auto_save): Catch error making directory.
11288 Only call push_message if we need to.
11289 At the same time, make an unwind-protect to pop it.
11290 Rename local message_p to old_message_p.
11291 (do_auto_save_make_dir, do_auto_save_eh): New functions.
11292 (do_auto_save_unwind): Don't call pop_message.
11293
11294 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
11295
11296 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
11297
11298 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
11299
11300 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
11301
11302 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
11303
11304 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
11305 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
11306 (re_match_2_internal): Be more careful with infinite loops.
11307
11308 2002-09-10 Kim F. Storm <storm@cua.dk>
11309
11310 * macros.c (end_kbd_macro): New function.
11311 (Fend_kbd_macro): Use it.
11312
11313 * macros.h (end_kbd_macro): Declare extern.
11314
11315 * keyboard.c (Fdiscard_input): If defining keyboard macro,
11316 end and save it instead of discarding it.
11317
11318 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
11319
11320 * s/sol2-6.h: Fix typo. Add comment.
11321
11322 2002-09-09 Richard M. Stallman <rms@gnu.org>
11323
11324 * regex.c (regnum_t): Use signed int, not unsigned int.
11325
11326 * s/sol2-6.h: New file.
11327
11328 * s/sol2-5.h (UNEXEC): Definition deleted.
11329
11330 2002-09-08 Kim F. Storm <storm@cua.dk>
11331
11332 * macros.c (executing_macro_index): Change type to EMACS_INT.
11333 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
11334
11335 * macros.h (executing_macro_index): Change type to EMACS_INT.
11336
11337 2002-09-06 Richard M. Stallman <rms@gnu.org>
11338
11339 * casetab.c (set_case_table): Make canon table point to eqv table.
11340
11341 2002-09-06 Juanma Barranquero <lektu@terra.es>
11342
11343 * coding.c (syms_of_coding): Fix spacing.
11344
11345 * composite.c (Fcompose_region_internal)
11346 (Fcompose_string_internal): Likewise.
11347
11348 * data.c (Flsh): Likewise.
11349
11350 * fontset.c (Fset_fontset_font): Likewise.
11351
11352 * macfns.c (Fx_server_max_request_size): Likewise.
11353
11354 * w16select.c (syms_of_win16select): Likewise.
11355
11356 * w32select.c (syms_of_w32select): Likewise.
11357
11358 * xselect.c (syms_of_xselect): Likewise.
11359
11360 2002-09-05 Richard M. Stallman <rms@gnu.org>
11361
11362 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
11363 call EXTEND_RANGE_TABLE and return a proper value.
11364 (set_image_of_range): Don't call set_image_of_range_1
11365 if no TRANSLATE or if range includes all of Latin-1.
11366 Only call it for the Latin-1 part of the range.
11367 For other cases, make two separate ranges,
11368 one for the original specified characters and one for
11369 their case-conversions.
11370
11371 2002-09-04 Richard M. Stallman <rms@gnu.org>
11372
11373 * s/sol2-5.h (UNEXEC): Use unexsol.o.
11374
11375 * window.c (displayed_window_lines): Correct for one-off bug
11376 in HEIGHT on non-window displays.
11377
11378 * regex.c (set_image_of_range_1): New function.
11379 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
11380 Return a value to indicate running out of memory.
11381 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
11382 (extend_range_table_work_area): New subroutine.
11383 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
11384 Different calling conventions, and used from set_image_of_range{,_1}.
11385 (IMMEDIATE_QUIT_CHECK): Definitions moved.
11386
11387 2002-09-04 Juanma Barranquero <lektu@terra.es>
11388
11389 * makefile.w32-in: All dependencies updated.
11390
11391 2002-09-01 Richard M. Stallman <rms@gnu.org>
11392
11393 * unexsol.c: New file.
11394
11395 * xfns.c (Qbox): Declare external, don't define.
11396
11397 * xdisp.c (redisplay_window) <force-start case>:
11398 If point is on semi-visible last line, reposition
11399 it at previous line.
11400
11401 * alloc.c (display_malloc_warning): Use display-warning.
11402 (malloc_warning_1): Function deleted.
11403
11404 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
11405
11406 * lread.c (read1): Handle #! by skipping the line.
11407
11408 2002-08-31 Richard M. Stallman <rms@gnu.org>
11409
11410 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
11411 Don't include LDFLAGS.
11412 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
11413
11414 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
11415
11416 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
11417 member of x_display_info unless we compile for some window system.
11418
11419 2002-08-31 Kim F. Storm <storm@cua.dk>
11420
11421 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
11422 (get_window_cursor_type): Don't use them.
11423 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
11424
11425 2002-08-30 Kenichi Handa <handa@etl.go.jp>
11426
11427 * xdisp.c (get_next_display_element): Fix previous change.
11428
11429 2002-08-30 Andrew Choi <akochoi@shaw.ca>
11430
11431 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
11432 (expose_window): Use it to fix the display of overlapping
11433 rows (merge code from xterm.c).
11434
11435 * macfns.c (Qbox): Add extern declaration.
11436
11437 2002-08-30 Juanma Barranquero <lektu@terra.es>
11438
11439 * w32fns.c (Qbox): Make extern.
11440 (syms_of_w32fns): Remove initialization of Qbox.
11441
11442 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
11443
11444 * xfns.c (Fx_open_connection): Fix error message.
11445
11446 2002-08-30 Kim F. Storm <storm@cua.dk>
11447
11448 The following changes consolidates the handling of the cursor
11449 type in xdisp.c, moving duplicate code and functionality from
11450 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
11451
11452 * frame.h (enum text_cursor_kinds): Consolidated here.
11453 Added DEFAULT_CURSOR value.
11454 (struct frame) <desired_cursor, cursor_width>
11455 <blink_off_cursor, blink_off_cursor_width>: New fields.
11456 Consolidated from output_x, output_w32 and output_mac structs.
11457 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
11458 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
11459
11460 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
11461 Variables consolidated here.
11462 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
11463 (Vcursor_in_non_selected_windows): Renamed from
11464 cursor_in_non_selected_windows and changed to Lisp_Object.
11465 (syms_of_xdisp): Define and staticpro new and moved variables.
11466 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
11467 consolidated here. Recognize Qhollow setting.
11468 (set_frame_cursor_types): New function to set frame cursor types
11469 based on the frame parameters.
11470 (get_window_cursor_type): New function to calculate new cursor
11471 type and width for the specified window. Based on duplicated
11472 code consolidated here.
11473 Enhancements: cursor-in-non-selected-windows may be a cursor type,
11474 check buffer-local alternate-cursor-type and blink-cursor-alist
11475 before using built-in blink off methods.
11476
11477 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
11478
11479 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
11480 (get_specified_cursor_type, get_window_cursor_type)
11481 (set_frame_cursor_types): Added prototypes.
11482
11483 * macfns.c (x_specified_cursor_type): Removed.
11484 (x_set_cursor_type): Use set_frame_cursor_types.
11485 (Qbar, Qbox): Removed.
11486 (syms_of_macfns): Don't intern or staticpro them.
11487
11488 * macterm.c (x_specified_cursor_type): Remove prototype.
11489 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
11490 (x_display_and_set_cursor): Use get_window_cursor_type.
11491 Remove unused local variables cursor_non_selected, active_cursor.
11492 Redraw cursor if hbar cursor width changes.
11493 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
11494
11495 * macterm.h (enum text_cursor_kinds): Removed.
11496 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
11497 <blink_off_cursor, blink_off_cursor_width>: Members removed.
11498 (FRAME_DESIRED_CURSOR): Macro removed.
11499
11500 * w32fns.c (Vblink_cursor_alist): Removed.
11501 (Qbar, Qhbar, Qbox, Qhollow): Removed.
11502 (syms_of_w32fns): Don't intern, staticpro, or define them.
11503 (x_specified_cursor_type): Removed.
11504 (x_set_cursor_type): Use set_frame_cursor_types.
11505
11506 * w32term.c (x_specified_cursor_type): Remove prototype.
11507 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
11508 (x_display_and_set_cursor): Use get_window_cursor_type.
11509 Remove unused local variables cursor_off_state.
11510 Redraw cursor if hbar cursor width changes.
11511 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
11512
11513 * w32term.h (enum text_cursor_kinds): Removed.
11514 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
11515 <blink_off_cursor, blink_off_cursor_width>: Members removed.
11516 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
11517 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
11518 (struct w32_display_info) <x_highlight_frame>: Renamed member from
11519 w32_highlight_frame.
11520
11521 * xfns.c (Vblink_cursor_alist): Removed.
11522 (Qbar, Qhbar, Qbox, Qhollow): Removed.
11523 (syms_of_xfns): Don't intern, staticpro, or define them.
11524 (x_specified_cursor_type): Removed.
11525 (x_set_cursor_type): Use set_frame_cursor_types.
11526
11527 * xterm.c (x_specified_cursor_type): Remove prototype.
11528 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
11529 (x_display_and_set_cursor): Use get_window_cursor_type.
11530 Remove unused local variables cursor_off_state.
11531 Redraw cursor if hbar cursor width changes.
11532
11533 * xterm.h (enum text_cursor_kinds): Removed.
11534 (struct output_x) <current_cursor, desired_cursor, cursor_width>
11535 <blink_off_cursor, blink_off_cursor_width>: Members removed.
11536 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
11537 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
11538 (x_specified_cursor_type): Remove prototype.
11539
11540 2002-08-28 Richard M. Stallman <rms@gnu.org>
11541
11542 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
11543 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
11544 (Vblink_cursor_alist): New variable.
11545 (syms_of_w32fns): Initialize and defvar it.
11546 (x_specified_cursor_type): Recognize Qbox for filled box.
11547 Exceptions are hollow boxes.
11548 (Qbox, Qhollow): New variables.
11549 (syms_of_w32fns): Initialize and staticpro them.
11550
11551 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
11552 New macros.
11553 (struct w32_output): New fields blink_off_cursor,
11554 blink_off_cursor_width.
11555 (FRAME_CURSOR_WIDTH): New macro.
11556
11557 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
11558 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
11559
11560 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
11561 for bar cursor.
11562
11563 * w32term.c (expose_overlaps): New function.
11564 (expose_window): Use it to fix the display of overlapping rows.
11565
11566 2002-08-28 Simon Josefsson <jas@extundo.com>
11567
11568 * xfns.c (Fx_open_connection): Improve help when X connection
11569 fails, xhost is insecure and xauth is better.
11570
11571 2002-08-28 Juanma Barranquero <lektu@terra.es>
11572
11573 * makefile.w32-in: Add missing dependencies on w32term.h and
11574 composite.h.
11575
11576 * emacs.c (USAGE1): Add missing newline.
11577
11578 2002-08-27 Andrew Choi <akochoi@shaw.ca>
11579
11580 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
11581
11582 2002-08-27 Richard M. Stallman <rms@gnu.org>
11583
11584 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
11585 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
11586 (Vblink_cursor_alist): New variable.
11587 (syms_of_xfns): Initialize and defvar it.
11588 (x_specified_cursor_type): Recognize Qbox for filled box.
11589 Exceptions are hollow boxes.
11590 (Qbox, Qhollow): New variables.
11591 (syms_of_xfns): Initialize and staticpro them.
11592
11593 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
11594 New macros.
11595 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
11596
11597 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
11598 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
11599
11600 * emacs.c (main): Handle --script.
11601 (USAGE1): Mention --script.
11602 (standard_args): Define sort order for --script.
11603
11604 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
11605
11606 * xdisp.c (redisplay_updating_p): Variable removed.
11607 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
11608 New variables.
11609 (init_iterator): Don't free realized faces if
11610 inhibit_free_realized_faces is set.
11611 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
11612 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
11613 initialize Qinhibit_free_realized_faces.
11614
11615 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
11616 when iterator is adding glyphs to a glyph matrix.
11617
11618 2002-08-27 Kenichi Handa <handa@etl.go.jp>
11619
11620 * xdisp.c (get_next_display_element): In unibyte case, don't use
11621 octal form for such eight-bit characters that can be converted to
11622 multibyte char.
11623
11624 2002-08-26 Kim F. Storm <storm@cua.dk>
11625
11626 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize
11627 foreground and background colors. From Joe Buehler.
11628
11629 2002-08-26 Miles Bader <miles@gnu.org>
11630
11631 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
11632
11633 2002-08-25 Andrew Choi <akochoi@shaw.ca>
11634
11635 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
11636 defined instead of MAC_OSX.
11637
11638 * s/darwin.h (select): Define select to sys_select only if
11639 HAVE_CARBON is defined.
11640 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
11641 (DONT_REOPEN_PTY): #def it.
11642
11643 * macterm.c (XTread_socket): Remove code to call
11644 SendEventToEventTarget for keys with command modifiers when
11645 mac_command_key_is_meta is nil.
11646
11647 2002-08-24 Andreas Schwab <schwab@suse.de>
11648
11649 * eval.c (Fdefvar): Fix last change.
11650
11651 2002-08-23 Richard M. Stallman <rms@gnu.org>
11652
11653 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
11654 Record variables in load history as (defvar . VAR).
11655 (Fdefvar): Don't record in load history if no initial value.
11656 (Qdefvar): New variable.
11657 (syms_of_eval): Init and staticpro it.
11658
11659 * lread.c (syms_of_lread): Doc fix.
11660 (build_load_history): Use Fmember to see if a definition
11661 is already in the Vload_history element.
11662
11663 * process.c (Fstart_process): Remove /: from program name.
11664
11665 * emacs.c (decode_env_path): Don't add /: if file name handler
11666 has a `safe-magic' property.
11667
11668 * callproc.c (Fcall_process): Remove /: from program name.
11669
11670 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
11671
11672 * regex.c (PATFETCH): Remove the translating fetch.
11673 (PATFETCH_RAW): Rename to PATFETCH.
11674 (set_image_of_range): New fun.
11675 (SET_RANGE_TABLE_WORK_AREA): Use it.
11676 (regex_compile): Don't translate the pattern chars so eagerly.
11677 Only do it when inserting an `exactn' bytecode or when handling
11678 a char-range.
11679 (mutually_exclusive_p): Avoid empty statement.
11680
11681 2002-08-22 Kim F. Storm <storm@cua.dk>
11682
11683 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
11684 end up on a partially visible line; this reverts a specific part
11685 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
11686 display error which has been reported several times now.
11687 However it introduces the problem that changes was supposed to fix.
11688 See my comments in the source if you want to debug this further.
11689
11690 2002-08-20 Kenichi Handa <handa@etl.go.jp>
11691
11692 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
11693
11694 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
11695
11696 * msdos.c (croak): Add `void' to definition.
11697
11698 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
11699 Don't define them, they are defined in msdos.c.
11700
11701 * mem-limits.h [MSDOS]: Declare etext.
11702
11703 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
11704 `const' since CORRECT_DIR_SEPS modifies its target.
11705
11706 2002-08-19 Kim F. Storm <storm@cua.dk>
11707
11708 * keyboard.c (Fclear_this_command_keys): Add optional arg
11709 KEEP-RECORD to avoid clearing lossage when we just want to clear
11710 the current key sequence (kmacro needs this).
11711
11712 2002-08-19 Kenichi Handa <handa@localhost>
11713
11714 * composite.c (run_composition_function): Call FUNC if it is fboundp.
11715
11716 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
11717 cons, return Qnil.
11718
11719 2002-08-17 Richard M. Stallman <rms@gnu.org>
11720
11721 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
11722
11723 * sysdep.c [!VMS]: Include sys/files.h.
11724
11725 * editfns.c (save_restriction_restore): Defend from unchained marker.
11726
11727 * buffer.c (overlays_at): Handle extending vec uniformly.
11728 (overlays_in): Handle extending vec from length 0 as in overlays_at.
11729
11730 2002-08-15 Andrew Choi <akochoi@shaw.ca>
11731
11732 * mac.c (init_mac_osx_environment): New function.
11733
11734 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
11735
11736 2002-08-14 Kim F. Storm <storm@cua.dk>
11737
11738 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
11739 executing macro before appending to it (when used from Lisp).
11740 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
11741 which is called prior to each iteration of macro (for kmacro.el).
11742 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
11743
11744 * lisp.h (Fexecute_kbd_macro): Update prototype.
11745
11746 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
11747
11748 2002-08-14 Kenichi Handa <handa@etl.go.jp>
11749
11750 * xselect.c (QUTF8_STRING): New variable.
11751 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
11752 (x_atom_to_symbol): Likewise.
11753 (x_get_local_selection): New argument local_request. If it is
11754 nonzero, call handler_fn with the second arg nil.
11755 (x_handle_selection_request): Call x_get_local_selection with
11756 local_request 0.
11757 (lisp_data_to_selection_data): Don't encode the string here.
11758 (Fx_get_selection_internal): Call x_get_local_selection with
11759 local_request 1.
11760 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
11761
11762 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
11763
11764 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
11765
11766 2002-08-13 Richard M. Stallman <rms@gnu.org>
11767
11768 * minibuf.c (Fminibufferp): New function.
11769 (syms_of_minibuf): Defsubr it.
11770 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
11771
11772 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
11773
11774 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
11775
11776 2002-08-12 Richard M. Stallman <rms@gnu.org>
11777
11778 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
11779 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
11780 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
11781 already.
11782
11783 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
11784
11785 2002-08-11 Andrew Choi <akochoi@shaw.ca>
11786
11787 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
11788 (Vmac_pass_command_to_system): New variable.
11789 (Vmac_pass_control_to_system): New variable.
11790 (do_mouse_moved): Check wp with is_emacs_window.
11791 (XTread_socket): Check window_ptr with is_emacs_window.
11792 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
11793 events back to Mac Toolbox for processing, depending on values of
11794 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
11795 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
11796 Vmac_pass_control_to_system.
11797
11798 2002-08-10 Kenichi Handa <handa@etl.go.jp>
11799
11800 * coding.c (unencodable_char_position): New function.
11801 (Funencodable_char_position): New function.
11802 (syms_of_coding): Defsubr Funencodable_char_position.
11803
11804 2002-08-10 Andrew Choi <akochoi@shaw.ca>
11805
11806 * mac.c (sys_select) [MAC_OSX]: New function.
11807
11808 * macterm.c (MakeMeTheFrontProcess): New function.
11809 (mac_initialize): Call MakeMeTheFrontProcess.
11810
11811 * s/darwin.h: Define select to sys_select.
11812
11813 2002-08-09 Richard M. Stallman <rms@gnu.org>
11814
11815 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
11816
11817 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
11818
11819 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
11820 end of the buffer.
11821
11822 2002-08-08 Ken Raeburn <raeburn@mit.edu>
11823
11824 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
11825
11826 * puresize.h (BASE_PURESIZE): Increase to 910000.
11827
11828 2002-08-08 Kenichi Handa <handa@etl.go.jp>
11829
11830 * coding.c (Ffind_operation_coding_system): For write-region, if
11831 VISIT is a filename, make it the target.
11832
11833 2002-08-07 Richard M. Stallman <rms@gnu.org>
11834
11835 * alloc.c (mark_object): Detect long lists for debugging.
11836 (mark_object_loop_halt): New variable.
11837
11838 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
11839
11840 * data.c (Fmake_variable_frame_local): Doc fix.
11841
11842 2002-08-01 David Ponce <david@dponce.com>
11843
11844 * w32menu.c (local_heap, local_alloc, local_free): New macros.
11845 (malloc_widget_value, free_widget_value)
11846 (w32_free_submenu_strings): Use them.
11847
11848 (push_submenu_start, push_submenu_end, push_left_right_boundary)
11849 (push_menu_pane, push_menu_item, single_keymap_panes)
11850 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
11851 (single_submenu, set_frame_menubar)
11852 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
11853
11854 (Fx_popup_menu): Don't show pop up menu until preceding one is
11855 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
11856
11857 * w32menu.c: Changes adapted from xmenu.c
11858 (set_frame_menubar): First parse all submenus,
11859 then make widget_value trees from them.
11860 Don't allocate any widget_value objects
11861 until we are done with the parsing.
11862 (parse_single_submenu): New function.
11863 (digest_single_submenu): New function.
11864 (single_submenu): Function deleted, replaced by those two.
11865
11866 2002-08-04 Andrew Choi <akochoi@shaw.ca>
11867
11868 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
11869 returns a valid window pointer before proceeding for keyDown and
11870 autoKey events.
11871
11872 2002-08-03 Andrew Choi <akochoi@shaw.ca>
11873
11874 * macterm.c (USE_CARBON_EVENTS): New macro.
11875 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
11876 (x_iconify_frame): Call CollapseWindow.
11877 (Vmac_reverse_ctrl_meta): New variable.
11878 (Vmac_wheel_button_is_mouse_2): New variable.
11879 (init_mac_drag_n_drop): New function.
11880 (mac_do_receive_drag): New function.
11881 (mac_handle_service_event): New function.
11882 (init_service_handler): New function.
11883 (mac_to_emacs_modifiers): New function.
11884 (mac_event_to_emacs_modifiers): New function.
11885 (mac_get_mouse_btn): New function.
11886 (mac_convert_event_ref): New function.
11887 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
11888 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
11889 mac_get_mouse_btn.
11890 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
11891
11892 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
11893 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
11894 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
11895 TOOL_BAR_EVENT for MAC_OS as well.
11896 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
11897 as for WINDOWS_NT.
11898 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
11899
11900 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
11901
11902 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
11903
11904 * xdisp.c (forward_to_next_line_start): Fix a condition that
11905 lead to a newline being skipped.
11906
11907 2002-08-02 Andrew Choi <akochoi@shaw.ca>
11908
11909 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
11910
11911 2002-08-01 Richard M. Stallman <rms@gnu.org>
11912
11913 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
11914
11915 2002-07-31 Andrew Choi <akochoi@shaw.ca>
11916
11917 * macfns.c: #undef init_process before #define-ing it.
11918
11919 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
11920 HAVE_CARBON is defined.
11921
11922 2002-07-31 Richard M. Stallman <rms@gnu.org>
11923
11924 * xmenu.c (set_frame_menubar): First parse all submenus,
11925 then make widget_value trees from them.
11926 Don't allocate any widget_value objects
11927 until we are done with the parsing.
11928 (parse_single_submenu): New function.
11929 (digest_single_submenu): New function.
11930 (single_submenu): Function deleted, replaced by those two.
11931
11932 2002-07-30 Juanma Barranquero <lektu@terra.es>
11933
11934 * w32proc.c (syms_of_ntproc): Fix docstring of
11935 `w32-get-true-file-attributes'.
11936
11937 2002-07-28 Richard M. Stallman <rms@gnu.org>
11938
11939 * s/hpux8.h (HPUX8): Define this before including hpux.h.
11940 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
11941
11942 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
11943
11944 * keyboard.c (make_lispy_event):
11945 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
11946 Explicitly clear up_modifier in event->modifiers.
11947
11948 2002-07-27 Richard M. Stallman <rms@gnu.org>
11949
11950 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
11951
11952 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
11953 for bar cursor.
11954
11955 2002-07-26 Kenichi Handa <handa@etl.go.jp>
11956
11957 * coding.c (detect_coding_iso2022): While checking a byte sequence
11958 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
11959 it in the normal loop.
11960
11961 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
11962
11963 * xterm.c (expose_overlaps): New function.
11964 (expose_window): Use it to fix the display of overlapping rows.
11965
11966 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
11967
11968 2002-07-23 Ken Raeburn <raeburn@gnu.org>
11969
11970 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
11971 since it only depends on XUINT.
11972
11973 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
11974 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
11975 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
11976 Macros deleted.
11977
11978 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
11979 its value over other approaches.
11980 * sysdep.c (start_of_data): Don't define the function if a macro
11981 form has been defined.
11982
11983 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
11984
11985 * xdisp.c (redisplay_updating_p): New variable.
11986 (init_iterator): Don't free realized faces when
11987 redisplay_updating_p is set.
11988 (redisplay_internal): Set redisplay_updating_p while updating
11989 the display.
11990
11991 2002-07-23 Richard M. Stallman <rms@gnu.org>
11992
11993 * editfns.c (Fmessage): Treat "" like nil.
11994
11995 2002-07-23 Kenichi Handa <handa@etl.go.jp>
11996
11997 * xdisp.c (face_before_or_after_it_pos):
11998 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
11999
12000 2002-07-22 Juanma Barranquero <lektu@terra.es>
12001
12002 * callproc.c (init_callproc) [DOS_NT]:
12003 Initialize Vshared_game_score_directory to nil.
12004 (syms_of_callproc) [DOS_NT]: Likewise.
12005
12006 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
12007
12008 * xdisp.c (display_line): Replace an abort with xassert.
12009
12010 2002-07-21 Richard M. Stallman <rms@gnu.org>
12011
12012 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
12013 and END_UNCHANGED when setting buffer_unchanged_p.
12014 Use current_matrix_up_to_date_p to decide whether to use
12015 try_cursor_movement.
12016
12017 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
12018
12019 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
12020
12021 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
12022 Set to nil if dir does not exist.
12023 (syms_of_callproc): Init unconditionally and simply.
12024
12025 * buffer.c (Fbuffer_list): Doc fix.
12026
12027 2002-07-21 Ken Raeburn <raeburn@gnu.org>
12028
12029 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
12030
12031 * buffer.c (mmap_realloc): When shrinking, make sure number of
12032 pages to unmap is rounded towards zero.
12033
12034 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
12035 (XSETINT): Deleted.
12036
12037 * m/att3b.h (XINT): Don't define.
12038 (VALBITS, VALMASK, XTYPE): Deleted.
12039 (DATA_SEG_BITS): Define.
12040 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
12041 ARRAY_MARK_FLAG): Deleted.
12042 (DATA_SEG_BITS): Define.
12043 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
12044 (DATA_SEG_BITS): Define.
12045
12046 2002-07-20 Richard M. Stallman <rms@gnu.org>
12047
12048 * print.c (print_error_message): New args CONTEXT and CALLER.
12049 Calls changed.
12050
12051 * lisp.h (print_error_message): Declare new args.
12052
12053 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
12054 and CONTEXT to print_error_message, don't print them here.
12055 For a Quit, don't use Vsignaling_function.
12056 Call message_log_maybe_newline.
12057
12058 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
12059
12060 2002-07-20 Kim F. Storm <storm@cua.dk>
12061
12062 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
12063
12064 2002-07-19 Ken Raeburn <raeburn@gnu.org>
12065
12066 * bytecode.c (struct byte_stack): Pointers into byte string now
12067 point to const.
12068 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
12069 const.
12070 * charset.h (BCOPY_SHORT): Source pointer now points to const.
12071 * coding.c (encode_eol, detect_coding, detect_eol):
12072 (decode_coding, encode_coding, detect_coding_system):
12073 Source strings now treated as const.
12074 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
12075 modify Lisp string contents.
12076 * coding.h (decode_coding, encode_coding, detect_coding,
12077 detect_eol): Declarations updated.
12078 * composite.c (compose_chars_in_text): Treat Lisp string contents
12079 as const.
12080 * dispnew.c (safe_bcopy): Source pointer now points to const.
12081 * lisp.h (STRING_COPYIN): New macro.
12082 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
12083 (internal_with_output_to_temp_buffer): Declarations updated.
12084 * print.c (temp_output_buffer_setup):
12085 (internal_with_output_to_temp_buffer): Buffer name argument is now
12086 pointer to const.
12087 * sound.c (struct sound_device): Function pointer field "write"
12088 buffer argument now points to const.
12089 (vox_write): Buffer argument points to const.
12090 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
12091 contents as const.
12092 * sysdep.c (emacs_write): Buffer pointer now const.
12093 * term.c (encode_terminal_code): Buffer pointer now const.
12094 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
12095 (x_face_list_fonts, x_update_menu_appearance):
12096 (hash_string_case_insensitive): Treat Lisp string contents as const.
12097
12098 2002-07-19 Juanma Barranquero <lektu@terra.es>
12099
12100 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
12101
12102 * fileio.c (syms_of_fileio): Likewise.
12103 (Ffile_name_as_directory): Fix argument name in docstring.
12104 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
12105
12106 2002-07-18 Richard M. Stallman <rms@gnu.org>
12107
12108 * data.c (Fdefalias): Doc fix.
12109
12110 2002-07-17 Dave Love <fx@gnu.org>
12111
12112 * intervals.h (text_property_stickiness): Use P_.
12113
12114 * ccl.c: Remove `emacs' conditionals.
12115 (ccl_backtrace_table): Fix size spec.
12116 (ccl_driver): Fix type errors.
12117
12118 2002-07-16 Ken Raeburn <raeburn@gnu.org>
12119
12120 * alloc.c (xstrdup, make_string, make_unibyte_string)
12121 (make_multibyte_string, build_string): String pointer args now
12122 point to const.
12123 * charset.c (find_charset_in_text, c_string_width):
12124 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
12125 * fileio.c (report_file_error):
12126 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
12127 (count_combining_before, count_combining_after, insert_1_both):
12128 (insert, insert_and_inherit, insert_string):
12129 (insert_before_markers, insert_before_markers_and_inherit):
12130 * lread.c (intern, oblookup, hash_string):
12131 * minibuf.c (temp_echo_area_glyphs):
12132 * search.c (fast_c_string_match_ignore_case):
12133 * sysdep.c (emacs_open, set_file_times):
12134 * xfaces.c (xstricmp):
12135 * xdisp.c (store_frame_title, string_char_and_length):
12136 (message_dolog, message2, message2_nolog, set_message): Likewise.
12137 (set_message_1): Cast message string argument to const pointer.
12138 * editfns.c (general_insert_function): Insertion function now
12139 takes pointer to const for input data.
12140 * charset.h (find_charset_in_text, c_string_width):
12141 (parse_str_as_multibyte): Declarations updated.
12142 * dispextern.h (xstricmp): Declaration updated.
12143 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
12144 (count_size_as_multibyte, count_combining_before):
12145 (count_combining_after, insert_1, insert_1_both, message_dolog):
12146 (insert, insert_and_inherit, insert_before_markers)
12147 (insert_before_markers_and_inherit, set_message, message2):
12148 (message2_dolog, build_string, make_string, make_unibyte_string):
12149 (make_multibyte_string, intern, oblookup, report_file_error):
12150 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
12151 (emacs_open, xstrdup): Declarations updated.
12152 * systime.h (set_file_times): Declaration updated.
12153
12154 * charset.c (find_charset_in_text, lisp_string_width): Use const
12155 for pointer to lisp string data.
12156 * charset.h (FETCH_STRING_CHAR_ADVANCE):
12157 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
12158 * coding.c (Ffind_coding_systems_region_interval):
12159 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
12160 (Fmake_directory_internal, Fdelete_directory):
12161 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
12162 * fontset.c (font_family_registry, fs_query_fontset):
12163 (list_fontsets):
12164 * frame.c (Fframe_parameter):
12165 * keyboard.c (cmd_error_internal):
12166 * keymap.c (Fdescribe_buffer_bindings):
12167 * lread.c (complete_filename_p, openp):
12168 * minibuf.c (Fminibuffer_complete_word):
12169 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
12170 (face_before_or_after_it_pos, next_element_from_string):
12171 (get_overlay_arrow_glyph_row, display_mode_element):
12172 (decode_mode_spec_coding):
12173 * xterm.c (same_x_server): Likewise.
12174
12175 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
12176 settings of non-existent fields.
12177
12178 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
12179 copy a lisp value.
12180
12181 * lread.c (Fintern_soft): Use string macros instead of
12182 Lisp_String fields.
12183 * keyboard.c (echo_char, parse_modifiers_uncached):
12184 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
12185 * textprop.c (validate_interval_range, interval_of): Likewise.
12186
12187 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
12188
12189 * charset.h (FETCH_STRING_CHAR_ADVANCE)
12190 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
12191 XSTRING()->size_byte.
12192
12193 * lisp.h (SDATA, SREF): Produce rvalue.
12194 (SSET): New macro.
12195 * alloc.c (make_event_array): Use SSET for storing into a string.
12196 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
12197 a string.
12198 * casefiddle.c (casify_object): Use SSET.
12199 * charset.h (FETCH_STRING_CHAR_ADVANCE)
12200 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
12201 address of string contents.
12202 * data.c (Faref): Use SDATA.
12203 (Faset): Use SDATA, SSET.
12204 * dired.c (directory_files_internal): Use SSET.
12205 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
12206 (Fread_file_name): Use SREF, SSET.
12207 * fns.c (concat): Use SSET.
12208 (concat, Fdelete): Use SDATA.
12209 * insdel.c (insert_from_string_1): Use SDATA.
12210 * keyboard.c (Fevent_convert_list): Use SREF.
12211 * lread.c (Fload): Use SDATA, SSET.
12212 * macfns.c (validate_x_resource_name): Use SSET.
12213 * process.c (status_message): Use SSET.
12214 * search.c (wordify): Use SDATA.
12215 (Freplace_match): Use SREF.
12216 * w32fns.c (validate_x_resource_name): Use SSET.
12217 * xfns.c (validate_x_resource_name): Use SSET.
12218 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
12219
12220 2002-07-16 Richard M. Stallman <rms@gnu.org>
12221
12222 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
12223
12224 * xdisp.c (reconsider_clip_changes):
12225 Don't test prevent_redisplay_optimizations_p.
12226 (redisplay_internal): Test prevent_redisplay_optimizations_p
12227 along with clip_changed in some cases.
12228 (try_window_id): Likewise.
12229 (redisplay_window): New local var buffer_unchanged_p.
12230
12231 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
12232
12233 * process.c (create_process): Test USG_SUBTTY_WORKS.
12234 (process_send_signal): Clean up handling of GID.
12235 Detect errors in ioctls meant to set GID.
12236
12237 * window.c (temp_output_buffer_show):
12238 Don't set prevent_redisplay_optimizations_p.
12239
12240 2002-07-15 Juanma Barranquero <lektu@terra.es>
12241
12242 * eval.c (Fdefvaralias): Add docstring argument.
12243
12244 2002-07-15 Ken Raeburn <raeburn@gnu.org>
12245
12246 * lisp.h (STRING_INTERVALS): Produce rvalue.
12247 (STRING_SET_INTERVALS): New macro.
12248 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
12249 * fns.c (Fstring_as_multibyte): Likewise.
12250 * intervals.c (balance_possible_root_interval, delete_interval)
12251 (create_root_interval, copy_intervals_to_string): Likewise.
12252 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
12253 instead of 0.
12254
12255 2002-07-14 Ken Raeburn <raeburn@gnu.org>
12256
12257 * lisp.h (STRING_SET_CHARS): New macro.
12258 (SCHARS, SBYTES): Produce rvalues.
12259 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
12260 * fns.c (concat): Likewise.
12261 * lread.c (read_vector): Likewise.
12262
12263 * lisp.h (SMBP): Deleted. All uses changed to STRING_MULTIBYTE.
12264 (STRING_SET_UNIBYTE): New macro.
12265 (SET_STRING_BYTES): Deleted. Callers (all of which supplied a
12266 length of -1) changed to use STRING_SET_UNIBYTE.
12267 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
12268 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
12269 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
12270 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
12271 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
12272 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
12273 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
12274 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
12275 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
12276 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
12277 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
12278 STRING_BYTES or indirection changed to SCHARS, SBYTES,
12279 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
12280 unchanged for now.
12281
12282 2002-07-13 Kim F. Storm <storm@cua.dk>
12283
12284 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
12285
12286 2002-07-12 Richard M. Stallman <rms@gnu.org>
12287
12288 * fileio.c (Fwrite_region): Doc fix.
12289
12290 * print.c (print_error_message): Don't handle Vsignaling_function here.
12291
12292 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
12293 (command_loop_1): Avoid certain actions after memory-full error.
12294
12295 * eval.c (Fsignal): Don't call cancel_hourglass.
12296 For a memory-full error, don't call Vsignal_hook_function
12297 and don't set Vsignaling_function.
12298
12299 * process.c (process_send_signal): Add abort call.
12300
12301 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
12302
12303 * keymap.c (Fkey_binding): Fix typo.
12304
12305 2002-07-11 Richard M. Stallman <rms@gnu.org>
12306
12307 * alloc.c (Vmemory_full): New variable.
12308 (Vmemory_signal_data): Renamed from memory_signal_data.
12309 Uses changed.
12310 (syms_of_alloc): Defvar them.
12311 (memory_full, buffer_memory_full): Set Vmemory_full.
12312
12313 * lisp.h (Vmemory_full): Add declaration.
12314 (current_column, indented_beyond_p): Change declaration.
12315
12316 * indent.c (last_known_column): Declare as double, not float.
12317 (current_column, current_column_1, string_display_width)
12318 (position_indentation): Return `double'.
12319 (indented_beyond_p): Arg `column' is `double'. Callers changed.
12320
12321 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
12322 (back_to_previous_visible_line_start)
12323 (reseat_at_next_visible_line_start, next_element_from_buffer):
12324 Use `double', not `float', when calling indented_beyond_p.
12325
12326 * s/hpux11.h (BROKEN_SA_RESTART): Defined.
12327
12328 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
12329
12330 2002-07-11 Juanma Barranquero <lektu@terra.es>
12331
12332 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
12333 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
12334 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
12335 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
12336 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
12337 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
12338
12339 2002-07-10 Juanma Barranquero <lektu@terra.es>
12340
12341 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
12342 All callers changed.
12343
12344 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
12345
12346 * data.c (Fdefalias): Add an optional `docstring' argument.
12347 (set_internal, Fsetq_default): Use XCAR/XCDR.
12348
12349 * composite.c (HASH_VALUE, HASH_KEY):
12350 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
12351
12352 2002-07-09 Kenichi Handa <handa@etl.go.jp>
12353
12354 * callproc.c (Fcall_process): Fix previous change.
12355
12356 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
12357
12358 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
12359 Add support for hash-tables.
12360 (Ftry_completion): Return t even if the string appears multiple times.
12361
12362 * fns.c (Fnconc): Use XCDR.
12363 (Fprovide): Use CONSP and XCDR.
12364 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
12365 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
12366 (Fmake_hash_table): Accept `:size nil'.
12367 (Fmakehash): Delete: moved to subr.el.
12368 (syms_of_fns): Don't defsubr makehash.
12369
12370 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
12371 (HASH_TABLE_SIZE): Move from fns.c.
12372
12373 2002-07-07 Richard M. Stallman <rms@gnu.org>
12374
12375 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
12376 Instead just return 0 when there is something to be done.
12377 (try_scrolling): If make_cursor_line_fully_visible returns 0,
12378 retry scrolling as if cursor were off the bottom.
12379 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
12380 return CURSOR_MOVEMENT_MUST_SCROLL.
12381 (redisplay_window): If make_cursor_line_fully_visible returns 0,
12382 go to try_to_scroll.
12383
12384 * buffer.c (Fbuffer_local_value): Store current value into its binding
12385 so we get the up-to-date value for the binding that is loaded.
12386
12387 * eval.c (Fdefmacro): Doc fix.
12388
12389 2002-07-05 Dave Love <fx@gnu.org>
12390
12391 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
12392 correctly.
12393
12394 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
12395 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
12396 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
12397 CCL_LookupCharConstTbl.
12398 (syms_of_ccl): Defvar translation-hash-table-vector.
12399
12400 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12401
12402 * xdisp.c: Remove unused variable `face'.
12403
12404 2002-07-04 Juanma Barranquero <lektu@terra.es>
12405
12406 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
12407 obsolescence information.
12408
12409 2002-07-03 Andrew Choi <akochoi@shaw.ca>
12410
12411 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
12412 pattern. Search cache first.
12413 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
12414 for Japanese font.
12415 (XLoadQueryFont): Use it.
12416
12417 2002-07-02 Richard M. Stallman <rms@gnu.org>
12418
12419 * keymap.c (Fdefine_key): Doc fix.
12420
12421 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
12422
12423 2002-07-02 Juanma Barranquero <lektu@terra.es>
12424
12425 * keymap.c (syms_of_keymap): Fix typo.
12426
12427 2002-07-01 Andrew Choi <akochoi@shaw.ca>
12428
12429 * s/darwin.h: Define POSIX_SIGNALS.
12430
12431 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
12432 and FSRefMakePath to convert FSSpec returned with Apple Event to
12433 Posix pathname.
12434 (mac_initialize) [TARGET_API_MAC_CARBON]:
12435 Call init_required_apple_events and disable the `Quit' menu item
12436 provided automatically by the Carbon Toolbox.
12437
12438 2002-07-01 Dave Love <fx@gnu.org>
12439
12440 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
12441 for K&R.
12442
12443 * xterm.c: Fix prototype for K&R.
12444
12445 * term.c (costs_set): Declare static, non-initialized for pcc.
12446
12447 2002-07-01 Richard M. Stallman <rms@gnu.org>
12448
12449 * keyboard.c (timer_last_idleness_start_time): New variable.
12450 (timer_start_idle): Set that.
12451 (read_key_sequence): Use that to reset timer_idleness_start_time
12452 to previous value.
12453
12454 * window.c (Frecenter): With arg, set optional_new_start.
12455
12456 * xdisp.c (redisplay_internal): Make optional_new_start really work.
12457
12458 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
12459 buffer for completion.
12460
12461 2002-06-29 Ken Raeburn <raeburn@gnu.org>
12462
12463 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
12464
12465 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12466
12467 * keyboard.c (readable_filtered_events): New function that filters
12468 FOCUS_IN_EVENT depending on parameter.
12469 (readable_events): Calls readable_filtered_events, not filtering
12470 FOCUS_IN_EVENT.
12471 (get_filtered_input_pending): New function, filtering parameter passed
12472 to readable_filtered_events.
12473 (get_input_pending): Calls get_filtered_input_pending, not filtering
12474 FOCUS_IN_EVENT.
12475 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
12476 FOCUS_IN_EVENT.
12477
12478 * xterm.h (struct x_output): Add focus_state.
12479
12480 * xterm.c (x_focus_changed): New function.
12481 (x_detect_focus_change): New function.
12482 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
12483 EnterNotify and LeaveNotify to track X focus changes.
12484
12485 2002-06-28 Andreas Schwab <schwab@suse.de>
12486
12487 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
12488
12489 2002-06-27 Kim F. Storm <storm@cua.dk>
12490
12491 * xdisp.c: (mode_line_string_list, mode_line_string_face)
12492 (mode_line_string_face_prop): New variables.
12493 (store_mode_line_string): New function.
12494 (display_mode_element): Use store_mode_line_string to
12495 add mode-line string elements to mode_line_string_list
12496 when mode_line_string_list is non-nil.
12497 (Fformat_mode_line): Now returns propertized string by
12498 default. New arg NO-PROPS to ignore properties.
12499 (decode_mode_spec): Only add two dashes for %- in propertized
12500 mode-line string.
12501 (syms_of_xdisp): Init and staticpro mode_line_string_list.
12502
12503 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
12504
12505 * minibuf.c (minibuffer_completion_contents): Add return type.
12506
12507 2002-06-27 Juanma Barranquero <lektu@terra.es>
12508
12509 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
12510
12511 2002-06-26 Juanma Barranquero <lektu@terra.es>
12512
12513 * fileio.c (read_file_name_cleanup): Add missing return.
12514
12515 2002-06-26 Richard M. Stallman <rms@gnu.org>
12516
12517 * window.c (Frecenter): Don't set force_start flag.
12518
12519 * minibuf.c (do_completion, Fminibuffer_complete_word)
12520 (Fminibuffer_completion_help): Complete just the text before point.
12521 (minibuffer_completion_contents): New function.
12522
12523 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
12524
12525 * frame.c (frames_bury_buffer): Function deleted.
12526
12527 2002-06-25 Miles Bader <miles@gnu.org>
12528
12529 * callint.c (Fcall_interactively): When checking to see if doprnt hit
12530 the end of callint_message, allow for a terminating '\0'.
12531
12532 2002-06-24 Juanma Barranquero <lektu@terra.es>
12533
12534 * w32select.c: Include composite.h
12535
12536 * w16select.c: Likewise.
12537
12538 2002-06-24 Kenichi Handa <handa@etl.go.jp>
12539
12540 * callproc.c (Fcall_process): If code detection is necessary,
12541 call detect_coding directly here.
12542
12543 * coding.c (detect_eol): Preserve coding->cmp_data.
12544
12545 * w16select.c (Fw16_get_clipboard_data):
12546 * w32fns.c (w32_to_x_font):
12547 * w32select.c (Fw32_get_clipboard_data):
12548 * xselect.c (selection_data_to_lisp_data):
12549 * xterm.c (XTread_socket): Disable composition handling.
12550
12551 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
12552
12553 * print.c (temp_output_buffer_setup): Kill all local variables.
12554
12555 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
12556
12557 * lread.c (Fread): Remove redundant and imprecise declaration.
12558
12559 * xfns.c (check_x_display_info): Use check_x_frame.
12560
12561 * .gdbinit (xprintsym): Use the new `xname' field.
12562 (xsymbol): Use it.
12563
12564 2002-06-22 Jason Rumney <jasonr@gnu.org>
12565
12566 * w32fns.c (file_dialog_callback): New function.
12567 (Fx_file_dialog): Allow selecting directories as well as files.
12568
12569 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12570
12571 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
12572 OpenBSD. Add support for mipseb-*-netbsd* machines.
12573
12574 2002-06-17 Andrew Choi <akochoi@shaw.ca>
12575
12576 * macterm.c (mac_scroll_area): Set foreground and backcolor to
12577 black and white before scrolling. Restore frame background and
12578 foreground color after scrolling.
12579 (do_window_update): Call XClearWindow before calling expose_frame.
12580 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
12581 FRAME_FOREGROUND_PIXEL of frame.
12582
12583 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
12584 test Mac command key as <ALT> key.
12585
12586 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
12587
12588 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
12589
12590 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
12591 Lookup keys in function-key-map immediately so that key-translation-map
12592 can be applied earlier.
12593 Remove function_key_possible and key_translation_possible, replaced
12594 by checking `keytran_start < t'.
12595
12596 * .gdbinit (xsymbol): Use the new `xname' field.
12597
12598 2002-06-17 Andrew Choi <akochoi@shaw.ca>
12599
12600 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
12601 test Mac command key as <ALT> key.
12602
12603 * mac.c (do_applescript): Call initialize_applescript if necessary
12604 when first called. Dispose of result_desc only when there is no error.
12605 (Fdo_applescript): Use %d format specifier instead of %ld.
12606
12607 2002-06-16 Andrew Choi <akochoi@shaw.ca>
12608
12609 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
12610 of FrontWindow for cases keyDown and autoKey.
12611
12612 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
12613 Vdefault_fontset to Monaco with mac-roman coding.
12614
12615 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
12616 init_process before and after inclusion of Carbon/Carbon.h, resp.
12617
12618 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
12619 cursor_gc.
12620 (add_font_name_table_entry): New function.
12621 (init_font_name_table): Use add_font_name_table_entry; add italic,
12622 bold, and bold-italic entries for truetype fonts.
12623
12624 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
12625 for Mac too.
12626 (try_font_list) [MAC_OS]: If no font matches given registry, try
12627 fonts with any registry matching face_family.
12628 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
12629
12630 * s/darwin.h: If autoconf detects the Ncurses library, define
12631 LIBS_TERMCAP to -lncurses to use it.
12632
12633 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
12634
12635 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
12636
12637 2002-06-15 Richard M. Stallman <rms@gnu.org>
12638
12639 * window.c (Fset_window_configuration): Explicitly preserve
12640 the point value that new_current_buffer had at the start.
12641
12642 2002-06-14 Juanma Barranquero <lektu@terra.es>
12643
12644 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
12645 Fix typos.
12646
12647 2002-06-14 Kim F. Storm <storm@cua.dk>
12648
12649 * insdel.c (insert_1_both, insert_from_string_1)
12650 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
12651 insert happened in the end_unchanged region. Otherwise, the
12652 redisplay may be confused and duplicate the last line in the
12653 buffer [seen after save-buffer when require-final-newline==t].
12654
12655 2002-06-13 Jason Rumney <jasonr@gnu.org>
12656
12657 * w32.c (init_environment): Remove EMACSLOCKDIR.
12658 (stat): Swap _S_IFDIR and _S_IFREG.
12659
12660 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12661
12662 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
12663 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
12664 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
12665 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
12666 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
12667 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
12668 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
12669 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
12670 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
12671 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
12672 SELECTION_REQUEST_EVENT, selection_clear_event to
12673 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
12674 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
12675 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
12676 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
12677 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
12678 no_event to NO_EVENT.
12679
12680 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12681
12682 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
12683
12684 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
12685
12686 * intervals.c (textget): Don't forget to `return'.
12687 (lookup_char_property): Use XCAR/XCDR.
12688
12689 2002-06-12 Juanma Barranquero <lektu@terra.es>
12690
12691 * xdisp.c (Fformat_mode_line): Fix typo.
12692
12693 2002-06-12 Kim F. Storm <storm@cua.dk>
12694
12695 * xdisp.c (Fformat_mode_line): New function.
12696 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
12697 (store_frame_title_char, store_frame_title): Use unconditionally.
12698 (init_xdisp): Defsubr Fformat_mode_line.
12699 Initialize frame_title_buf etc. unconditionally.
12700
12701 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
12702
12703 * keyboard.c (read_key_sequence):
12704 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
12705 things through those maps after downcasing events.
12706 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
12707 applies after function-key-map.
12708 Make sure that keytran can be done in the middle in the sequence.
12709 Be careful not to throw away events past the one we downcase.
12710
12711 * lread.c (read_integer): Remove unused var `tem'.
12712 (read1): Fix int/Lisp_Object mixup.
12713
12714 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
12715
12716 2002-06-11 Richard M. Stallman <rms@gnu.org>
12717
12718 * keyboard.c (readable_events): Ignore any number of
12719 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
12720
12721 2002-06-09 Miles Bader <miles@gnu.org>
12722
12723 * xfaces.c (Ftty_supports_face_attributes_p): New function.
12724 (parse_rgb_list, tty_lookup_color): New functions.
12725 (tty_defined_color): Use `tty_lookup_color' to do all the work.
12726 (color_distance, Fcolor_distance): New functions.
12727 (TTY_SAME_COLOR_THRESHOLD): New macro.
12728 (Qtty_color_standard_values): New variable.
12729 (syms_of_xfaces): Initialize new vars & functions.
12730
12731 2002-06-08 Colin Walters <walters@verbum.org>
12732
12733 * textprop.c (Vchar_property_alias_alist): New variable.
12734 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
12735
12736 * intervals.c (lookup_char_property): New function for looking up
12737 overlay and text properties, created from textget.
12738 (textget): Use it.
12739
12740 * intervals.h (lookup_char_property): Declare.
12741 (Vchar_property_alias_alist): Declare.
12742
12743 * buffer.c (Foverlay_get): Use lookup_char_property.
12744
12745 2002-06-07 Sam Steingold <sds@gnu.org>
12746
12747 * xselect.c (lisp_data_to_selection_data): Fix last change:
12748 *data_ret is not a Lisp string, while unibyte_string is.
12749
12750 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
12751
12752 * xselect.c (lisp_data_to_selection_data): Fix last change:
12753 set size_ret.
12754
12755 2002-06-07 Andreas Schwab <schwab@suse.de>
12756
12757 * m/amdx86-64.h: New file.
12758
12759 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
12760
12761 * fns.c (Fstring_make_unibyte): Doc fix.
12762
12763 * xselect.c (lisp_data_to_selection_data): If the requested type
12764 is STRING, call string_make_unibyte to encode the selected text
12765 as a string.
12766
12767 * window.c (Fset_window_hscroll): Doc fix.
12768
12769 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
12770
12771 * fileio.c (choose_write_coding_system):
12772 Call select-safe-coding-system properly.
12773
12774 2002-06-03 Richard M. Stallman <rms@gnu.org>
12775
12776 * xdisp.c (message_with_string): Error if STRING is not a string.
12777
12778 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
12779
12780 * fileio.c (choose_write_coding_system): Pass FILE arg to
12781 Vselect_safe_coding_system_function.
12782
12783 2002-06-03 Ken Raeburn <raeburn@gnu.org>
12784
12785 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
12786
12787 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
12788
12789 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
12790 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
12791 * keymap.c (describe_command): Likewise.
12792 * minibuf.c (read_minibuf): Likewise.
12793
12794 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
12795 Cast `current_column' return value to int.
12796 (back_to_previous_visible_line_start)
12797 (reseat_at_next_visible_line_start, next_element_from_buffer):
12798 Cast `indented_beyond_p' 3rd arg to float.
12799
12800 * indent.c (last_known_column): Now a float.
12801 (current_column_1, position_indentation, current_column)
12802 (string_display_width): Return float.
12803 (Fcurrent_column): Cast `current_column' return value to int.
12804 (Fcurrent_indentation): Cast `position_indentation' retval to int.
12805 (indented_beyond_p): Third arg now a float.
12806 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
12807
12808 * lisp.h (current_column): Now returns float.
12809 (indented_beyond_p): 3rd arg now a float.
12810
12811 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
12812
12813 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
12814 is Qcompound_text_with_extensions.
12815
12816 * xselect.c (lisp_data_to_selection_data): Always set selection
12817 type as string if x_encode_text returns streingp non-NULL.
12818
12819 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
12820
12821 2002-05-30 Richard M. Stallman <rms@gnu.org>
12822
12823 * window.c (Fset_window_configuration): Correct the handling
12824 of point in current buffer, to work with multiple windows.
12825
12826 2002-05-29 Colin Walters <walters@verbum.org>
12827
12828 * lread.c (Fread_from_string): Don't depend on order of evaluation
12829 for C function parameters.
12830
12831 2002-05-28 Richard M. Stallman <rms@gnu.org>
12832
12833 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
12834 way for blinked-off state and for a nonselected window.
12835
12836 * window.c (window_scroll_pixel_based): Don't call Fbolp;
12837 instead, see if the new start pos is at beginning of line.
12838
12839 * fileio.c (Fwrite_region): If START is a string, don't
12840 make any annotations.
12841
12842 * eval.c (syms_of_eval): Doc fix.
12843
12844 2002-05-28 Colin Walters <walters@debian.org>
12845
12846 * emacs.c (USAGE1): Add --no-splash.
12847 (standard_args): Ditto.
12848
12849 2002-05-28 Colin Walters <walters@gnu.org>
12850
12851 * lread.c (readchar_count): New variable.
12852 (readchar): Increment it.
12853 (unreadchar): Decrement it.
12854 (read_multibyte): Decrement it.
12855 (Vread_with_symbol_positions): New variable.
12856 (Vread_symbol_positions_list): New variable.
12857 (read_internal_start): New function, created from Fread and
12858 Fread_from_string. Handle Vread_symbol_positions_list and
12859 Vread_with_symbol_positions.
12860 (readevalloop, Fread, Fread_from_string): Use it.
12861 (read1): Use readchar_count to add symbol positions to
12862 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
12863 (syms_of_lread): DEFVAR_LISP and initialize them.
12864
12865 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
12866 (substitute_object_recurse, substitute_object_in_subtree)
12867 (substitute_in_interval): Prototype.
12868 (read_multibyte): Return c if it's less than zero.
12869
12870 2002-05-28 Kim F. Storm <storm@cua.dk>
12871
12872 * fileio.c (Fread_file_name_internal): Added brute-force
12873 speed up for using predicate file-directory-p.
12874
12875 2002-05-28 Kim F. Storm <storm@cua.dk>
12876
12877 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
12878 New variables.
12879 (syms_of_fileio): DEFVAR_LISP them.
12880 (read_file_name_cleanup): New unwind function.
12881 (Fread_file_name_internal): Only return completions satifying
12882 Vread_file_name_predicate. Temporarily unwind protect and rebind
12883 default-directory while checking completions against the predicate.
12884 (Fread_file_name): Added PREDICATE argument. Specbind it to
12885 Vread_file_name_predicate during completion.
12886 Call Vread_file_name_function to read the file name if non-nil.
12887
12888 * lisp.h (Fread_file_name): Now has 6 args.
12889
12890 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
12891 predicate for Fread_file_name when reading directory name.
12892 Supply Qnil for predicate in other calls to Fread_file_name.
12893
12894 2002-05-26 Miles Bader <miles@gnu.org>
12895
12896 * term.c (tty_capable_p): New function.
12897 * dispextern.h (tty_capable_p): New function declaration.
12898 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
12899 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
12900
12901 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
12902
12903 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
12904 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
12905 (Vwrite_region_annotate_functions): Docstring fix.
12906
12907 2002-05-23 Kim F. Storm <storm@cua.dk>
12908
12909 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
12910 phys_cursor's hpos is overwritten. This is still not completely
12911 correct, as it doesn't really make sense to use hpos at all to
12912 get the cursor glyph (as that is relative to the width of the
12913 characters on the line, which may have changed during the update).
12914
12915 2002-05-22 Jason Rumney <jasonr@gnu.org>
12916
12917 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
12918 Lisp_Object.
12919 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
12920 Use modified enumfont_t struct.
12921
12922 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
12923
12924 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
12925 Handle the `hbar' cursor type.
12926 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
12927
12928 * w32fns.c (Qhbar): New variable.
12929 (x_specified_cursor_type): Use it.
12930
12931 2002-05-21 Ken Raeburn <raeburn@gnu.org>
12932
12933 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
12934 now, when the address is needed.
12935
12936 2002-05-21 Colin Walters <walters@gnu.org>
12937
12938 * Makefile.in (shortlisp): Add font-core.el.
12939
12940 2002-05-20 Richard M. Stallman <rms@gnu.org>
12941
12942 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
12943
12944 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
12945 equivalent key bindings here.
12946
12947 2002-05-20 Ken Raeburn <raeburn@gnu.org>
12948
12949 Change symbol structure to contain a lisp object for the symbol
12950 name:
12951 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
12952 object field named "xname".
12953 (SYMBOL_NAME): New macro.
12954 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
12955 name field.
12956 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
12957 (mark_object, gc_sweep): Use symbol xname field and XSTRING
12958 instead of name field.
12959 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
12960 SYMBOL_NAME instead of XSYMBOL and name field.
12961 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
12962 instead of XSYMBOL and name field.
12963 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
12964 and SYMBOL_NAME instead of XSYMBOL and name field.
12965 * coding.c (Fread_coding_system, code_convert_region1)
12966 (code_convert_string1, code_convert_string_norecord)
12967 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
12968 XSYMBOL and name field.
12969 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
12970 (Fmake_variable_buffer_local, Fmake_local_variable)
12971 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
12972 of XSYMBOL and name field.
12973 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
12974 XSYMBOL and name field.
12975 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
12976 instead of XSYMBOL and name field.
12977 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
12978 XSYMBOL and name field.
12979 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
12980 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
12981 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
12982 instead of XSYMBOL and name field.
12983 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
12984 (parse_modifiers, apply_modifiers, Fevent_convert_list)
12985 (parse_solitary_modifier, Fexecute_extended_command):
12986 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
12987 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
12988 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
12989 of XSYMBOL and name field.
12990 (describe_command, describe_translation): Use SYMBOL_NAME and
12991 assignment instead of XSYMBOL and name field and XSETSTRING.
12992 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
12993 instead of XSYMBOL and name field.
12994 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
12995 name field and XSETSTRING.
12996 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
12997 of XSYMBOL and name field.
12998 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
12999 assignment instead of XSYMBOL and name field and XSETSTRING.
13000 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
13001 XSTRING instead of XSYMBOL and name field.
13002 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
13003 and XSTRING instead of XSYMBOL and name field.
13004 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
13005 and XSTRING instead of XSYMBOL and name field.
13006 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
13007 XSTRING instead of XSYMBOL and name field.
13008 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
13009 of XSYMBOL and name field.
13010 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
13011 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
13012
13013 2002-05-19 Ken Raeburn <raeburn@gnu.org>
13014
13015 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
13016 and XCDR real rvalues in most configurations.
13017
13018 * buffer.c (fix_overlays_in_range, fix_overlays_before):
13019 Don't take the address of the cdr part of a cons cell; instead, track
13020 the parent cell and call XSETCDR, or set the variable for the head
13021 of the list if we haven't started down the list yet.
13022
13023 2002-05-19 Richard M. Stallman <rms@gnu.org>
13024
13025 * doc.c (reread_doc_file): Don't ask for confirmation.
13026
13027 2002-05-18 Jason Rumney <jasonr@gnu.org>
13028
13029 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
13030 (xbm_load_image): Use it.
13031 (xbm_load): Ditto.
13032 (xbm_read_bitmap_data): Reverted to xfns.c version.
13033 From David Ponce <david@dponce.com>.
13034
13035 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
13036
13037 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
13038 2.02 and later.
13039
13040 2002-05-16 Juanma Barranquero <lektu@terra.es>
13041
13042 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
13043
13044 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
13045
13046 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
13047 meaningful test.
13048 (read_char_minibuf_menu_prompt): Fix typo.
13049
13050 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
13051
13052 * eval.c (Fcommandp): Doc fix.
13053
13054 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
13055
13056 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
13057 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
13058 (Fset_keymap_parent): Gcpro a bit more.
13059 (access_keymap): Gcpro around meta_map call and around the main loop.
13060 (get_keyelt): Gcpro when following indirect references.
13061 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
13062 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
13063 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
13064 Remove useless ad-hoc remap code.
13065
13066 2002-05-13 Richard M. Stallman <rms@gnu.org>
13067
13068 * search.c (search_buffer): Give up boyer moore search if inverse
13069 translation change charset_base.
13070
13071 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
13072
13073 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
13074 characters is carried over from the previous block of text, adjust
13075 coding->produced to account for the extra character.
13076
13077 2002-05-11 Andreas Schwab <schwab@suse.de>
13078
13079 * coding.c (intersection): Keep the elements of the returned list
13080 in the same order as in the first list.
13081
13082 2002-05-11 Kim F. Storm <storm@cua.dk>
13083
13084 * keymap.c (current_minor_maps): Fixed resizing of cmm_maps;
13085 only update cmm_size if realloc actually succeeds.
13086 Testing with initial size of 2 elements revealed that using
13087 realloc on GNU/Linux would cause a random trap in xmalloc
13088 later on, so I rewrote the code to use malloc/bcopy/free instead
13089 of realloc.
13090
13091 2002-05-10 Jason Rumney <jasonr@gnu.org>
13092
13093 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
13094
13095 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
13096
13097 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
13098 parens, to ensure correct evaluation order.
13099
13100 2002-05-10 Kim F. Storm <storm@cua.dk>
13101
13102 * keymap.c (Vemulation_mode_map_alists): New variable.
13103 (syms_of_keymap): DEFVAR_LISP it.
13104 (current_minor_maps): Process keymap alists in that list before
13105 minor-mode-overriding-map-alist and minor-mode-map-alist.
13106
13107 2002-05-09 Richard M. Stallman <rms@gnu.org>
13108
13109 * search.c (Freplace_match): Doc fix.
13110
13111 2002-05-09 Kim F. Storm <storm@cua.dk>
13112
13113 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
13114 Enlarge cursor rectangle drawn around image with non-zero relief.
13115
13116 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
13117 Enlarge cursor rectangle drawn around image with non-zero relief.
13118
13119 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
13120 Enlarge cursor rectangle drawn around image with non-zero relief.
13121
13122 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
13123
13124 * xselect.c (lisp_data_to_selection_data): Don't set selection
13125 type if comes from the Lisp object's car. If the selection
13126 contains a pure ASCII text, always return QSTRING as its type.
13127
13128 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13129
13130 * mac.c (mac-cut-function): Doc fix.
13131
13132 2002-05-05 Richard M. Stallman <rms@gnu.org>
13133
13134 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
13135
13136 2002-05-04 Jason Rumney <jasonr@gnu.org>
13137
13138 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
13139 for event-click-count.
13140
13141 * process.c (init_process): Only add server subfeature if we can
13142 use non-blocking I/O.
13143
13144 2002-05-04 Andrew Choi <akochoi@shaw.ca>
13145
13146 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
13147 repeatedly.
13148
13149 2002-05-03 Jason Rumney <jasonr@gnu.org>
13150
13151 * process.c (Fmake_network_process): Only support server sockets
13152 when we can make them non-blocking.
13153
13154 * s/ms-w32.h (HAVE_SELECT): Define.
13155
13156 * w32.h (FILE_NDELAY): New flag.
13157
13158 * w32.c (sys_getpeername, fcntl): New functions.
13159 (_sys_read_ahead): Temporarily block on non-blocking sockets.
13160
13161 * w32proc.c: include sys/file.h.
13162
13163 2002-05-03 Colin Walters <walters@verbum.org>
13164
13165 * callproc.c (Vgame_score_directory): Renamed to
13166 Vshared_game_score_directory.
13167
13168 2002-04-30 Richard M. Stallman <rms@gnu.org>
13169
13170 * s/gnu.h [emacs]: Include stdio.h.
13171 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
13172
13173 * eval.c (do_autoload): Error if called while preparing to dump.
13174
13175 * fns.c (Frequire): Error if need to load while preparing to dump.
13176
13177 2002-04-28 Colin Walters <walters@verbum.org>
13178
13179 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
13180 Default to "~/.emacs.d/games".
13181
13182 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
13183
13184 * lread.c (openp): Change arg exec_only to predicate.
13185 (build_load_history): Use XCAR/XCDR.
13186 (Flocate_file_internal): New fun.
13187 (syms_of_lread): Defsubr it.
13188 (Fload): Update call to openp.
13189
13190 * lisp.h (openp): Update prototype.
13191
13192 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
13193 * w32proc.c (sys_spawnve):
13194 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
13195 * w32.c (check_windows_init_file):
13196 * sound.c (Fplay_sound_internal):
13197 * process.c (Fstart_process):
13198 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
13199 * mac.c (run_mac_command):
13200 * emacs.c (init_cmdargs):
13201 * callproc.c (Fcall_process): Update call to openp.
13202
13203 * textprop.c (remove_properties): Don't use XCAR without CONSP.
13204
13205 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
13206
13207 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13208
13209 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
13210 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
13211
13212 2002-04-28 Richard M. Stallman <rms@gnu.org>
13213
13214 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
13215
13216 * eval.c (Fcommandp): New arg for_call_interactively.
13217 * lisp.h (Fcommandp): Declare new arg.
13218
13219 2002-04-28 Jason Rumney <jasonr@gnu.org>
13220
13221 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
13222
13223 * w32.c (stat, fstat): Use file index information to generate
13224 inodes for directories where available.
13225
13226 2002-04-26 Andrew Choi <akochoi@shaw.ca>
13227
13228 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
13229 [HAVE_CARBON]: Include Mac object files.
13230
13231 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
13232 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
13233 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
13234 MAC_OSX, and MAC_OS instead of macintosh.
13235
13236 * editfns.c [MAC_OS8]: Include stdio.h.
13237
13238 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
13239
13240 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
13241 Apple Monaco.
13242
13243 * process.c (QCfamily, QCfilte): Declare extern.
13244 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
13245 calling select.
13246
13247 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
13248
13249 * tparam.c [MAC_OSX]: Don't define BC and UP.
13250
13251 * config.in [HAVE_CARBON]: Add.
13252
13253 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
13254 Move here from mac/src and mac/inc.
13255
13256 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
13257
13258 2002-04-26 Gerd Moellmann <gerd@gnu.org>
13259
13260 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
13261 Compute phys_cursor_width from the x position returned
13262 by x_draw_glyhs, which is cheaper.
13263 (x_display_and_set_cursor): Compute the buffer-local value
13264 of `cursor-in-non-selected-windows' only when needed.
13265
13266 2002-04-25 Gerd Moellmann <gerd@gnu.org>
13267
13268 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
13269 cursor on a stretch glyph has a width that depends on
13270 x_stretch_cursor_p.
13271
13272 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13273
13274 * abbrev.c (abbrev-start-location): Doc fix.
13275
13276 * indent.c (Fvertical_motion): Fix last change.
13277
13278 2002-04-25 Gerd Moellmann <gerd@gnu.org>
13279
13280 * indent.c (Fvertical_motion): Move to the start of the line
13281 containing PT before moving up or down.
13282
13283 2002-04-24 Gerd Moellmann <gerd@gnu.org>
13284
13285 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
13286 case of writing a whole row, more or less analogous to the case of
13287 writing only parts of a row.
13288
13289 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
13290 0 for NO_CURSOR.
13291
13292 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
13293
13294 2002-04-23 Colin Walters <walters@verbum.org>
13295
13296 * buffer.c (syms_of_buffer): Doc fix.
13297
13298 2002-04-23 Gerd Moellmann <gerd@gnu.org>
13299
13300 * xterm.c (notice_overwritten_cursor): Handle the special case
13301 of the cursor being in the first blank non-text line at the
13302 end of a window.
13303
13304 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
13305 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
13306 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
13307 bar cursors only, to make phys_cursor_width contain what its name
13308 suggests.
13309 (notice_overwritten_cursor): Consider the cursor image erased if
13310 the output area intersects the cursor image in y-direction.
13311
13312 2002-04-23 Simon Marshall <simon@gnu.org>
13313
13314 * xfns.c (x_set_mouse_color): Change default for cross_cursor
13315 to XC_hand2.
13316
13317 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13318
13319 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
13320
13321 2002-04-22 Kim F. Storm <storm@cua.dk>
13322
13323 * textprop.c (remove_properties): Fixed trap for malformed plist.
13324
13325 2002-04-22 Richard M. Stallman <rms@gnu.org>
13326
13327 * cmds.c (Fend_of_line): Handle intangible text in mid line.
13328
13329 * window.c (make_window): Initialize height_fixed_p,
13330 last_cursor_off_p, and p->cursor_off_p slots.
13331
13332 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13333
13334 * fns.c (use-dialog-box): Doc fix.
13335
13336 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13337
13338 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
13339 variables `row', `i' and `area'.
13340 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
13341 toolkit library.
13342
13343 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
13344
13345 * xfaces.c (clear_font_table): Don't free the default font of
13346 a frame even if it's on another display.
13347 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
13348 that could be Qt.
13349
13350 2002-04-19 Juanma Barranquero <lektu@terra.es>
13351
13352 * indent.c (Fmove_to_column): Remove unused local variable
13353 `next_boundary_byte'.
13354 (current_column_1): Likewise.
13355
13356 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
13357
13358 * msdos.c (Qhbar): New variable.
13359 (syms_of_msdos): Intern and staticpro it.
13360 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
13361 cursor type.
13362
13363 2002-04-19 Dave Lambert <dlambert@acm.org>
13364
13365 Theses change implement an underscore-like (`hbar') cursor.
13366
13367 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
13368
13369 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
13370 Handle the `hbar' cursor type.
13371 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
13372
13373 * xfns.c (Qhbar): New variable.
13374 (syms_of_xfns): Intern and staticpro it.
13375 (x_specified_cursor_type): Handle `hbar' cursor.
13376
13377 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
13378 not defined.
13379
13380 2002-04-18 Richard M. Stallman <rms@gnu.org>
13381
13382 * textprop.c (remove_properties): New arg LIST allows scanning
13383 either a list or a plist.
13384 (interval_has_some_properties_list): New function, like
13385 interval_has_some_properties using list instead of plist.
13386 All callers changed.
13387 (Fremove_list_of_text_properties): New function.
13388 (syms_of_textprop): Defsubr it.
13389
13390 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
13391
13392 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
13393
13394 2002-04-17 Juanma Barranquero <lektu@terra.es>
13395
13396 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
13397
13398 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
13399
13400 * window.c (coordinates_in_window): Don't report on margin area
13401 if its width is zero.
13402
13403 2002-04-16 Jason Rumney <jasonr@gnu.org>
13404
13405 * w32fns.c (Fx_file_dialog): Decode file name before using.
13406
13407 * w32term.c (construct_drag_n_drop): Likewise.
13408
13409 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
13410
13411 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
13412 store load-history in pure space.
13413
13414 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
13415
13416 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
13417
13418 * xterm.c (Qlatin_1, Qutf_8): New vars.
13419 (syms_of_xterm): Initialize them.
13420 (XTread_socket): Eliminate incorrect optimization that tried to avoid
13421 decoding the output of X*LookupString.
13422 Always use latin-1 to decode the output of XLookupString.
13423 Try Xutf8LookupString if XmbLookupString failed.
13424
13425 * region-cache.c (new_region_cache): Use BEG.
13426
13427 2002-04-16 Gerd Moellmann <gerd@gnu.org>
13428
13429 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
13430 configuration files.
13431 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
13432 returns 0.
13433
13434 2002-04-15 Andreas Schwab <schwab@suse.de>
13435
13436 * config.in: Regenerated using autoheader.
13437
13438 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
13439 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
13440 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
13441 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
13442 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
13443 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
13444 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
13445 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
13446 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
13447 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
13448 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
13449 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
13450 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
13451 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
13452 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
13453 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
13454 STACK_DIRECTION, now set by autoconf.
13455
13456 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13457
13458 * dispnew.c (marginal_area_string): Sort arguments.
13459
13460 * dispextern.h (marginal_area_string): Add prototype.
13461
13462 2002-04-13 Richard M. Stallman <rms@gnu.org>
13463
13464 * fileio.c (Finsert_file_contents):
13465 Don't call temp_output_buffer_setup--do just part, by hand.
13466
13467 * coding.c (run_pre_post_conversion_on_str):
13468 Don't call temp_output_buffer_setup--do just part, by hand.
13469
13470 * keyboard.c (command_loop_1): Don't call start_hourglass
13471 or cancel_hourglass when executing a macro.
13472
13473 * marker.c (count_markers): New function.
13474
13475 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
13476 grow without limit. Move recently used elements to the front.
13477
13478 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
13479
13480 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
13481
13482 2002-04-12 Gerd Moellmann <gerd@gnu.org>
13483
13484 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
13485 rows marginal areas.
13486 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
13487 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13488
13489 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
13490
13491 2002-04-12 Dave Love <fx@gnu.org>
13492
13493 * dispnew.c (marginal_area_string): New.
13494
13495 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
13496 (Qleft_margin, Qright_margin): Declare.
13497 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
13498
13499 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
13500 note_mode_line_highlight and extended.
13501
13502 * keyboard.c (Qleft_margin, Qright_margin): Declare.
13503 (make_lispy_event): Deal with mouse events in margins.
13504
13505 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
13506
13507 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
13508
13509 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
13510 than deactivating the mark if tmm is set to `lambda'.
13511 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
13512 Use a single event for HELP_EVENT.
13513 (Fexecute_extended_command): Save last_point_position.
13514
13515 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13516
13517 * lisp.h (Fpropertize): Add prototype.
13518
13519 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
13520
13521 2002-04-10 Colin Walters <walters@verbum.org>
13522
13523 * config.in: Add HAVE_SHARED_GAME_DIR.
13524
13525 * callproc.c: (Vgame_score_directory): New variable.
13526 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
13527
13528 2002-04-10 Richard M. Stallman <rms@gnu.org>
13529
13530 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
13531
13532 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
13533
13534 * minibuf.c (read_minibuf): Use empty_string.
13535 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
13536 Short-circuit the search as soon as it "failed".
13537 (Fall_completions): Allow lambda forms and lists of strings for alist.
13538 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
13539 when require_match is nil.
13540 (Ftest_completion): Rename from `test_completion' and export to elisp.
13541 Call the predicate also when alist is a list.
13542 Obey Vcompletion_regexp_list.
13543 (do_completion, Fminibuffer_complete_and_exit): Use it.
13544 (Fassoc_string): Rename from `assoc_for_completion'.
13545 Allow list of strings as well and export to elisp.
13546
13547 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
13548
13549 * puresize.h (BASE_PURESIZE): Increase to 900KB.
13550
13551 2002-04-08 Juanma Barranquero <lektu@terra.es>
13552
13553 * w32.c (sys_accept): Don't hide variable `s'.
13554
13555 2002-04-05 Gerd Moellmann <gerd@gnu.org>
13556
13557 * callint.c (Fcall_interactively): Use INTEGERP instead of
13558 NUMBERP for checking Vhistory_length.
13559
13560 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13561
13562 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
13563 Doc fix to reflect it.
13564
13565 2002-04-04 Richard M. Stallman <rms@gnu.org>
13566
13567 * xdisp.c (display_mode_element): New arg RISKY.
13568 Disregard text props found or specified within a variable
13569 that isn't marked risky-local-variable.
13570 (Qrisky_local_variable): New variable.
13571 (syms_of_xdisp): Init and staticpro it.
13572
13573 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
13574
13575 * undo.c (record_point): New fun.
13576 (record_delete, record_insert): Use it.
13577
13578 2002-04-03 Juanma Barranquero <lektu@terra.es>
13579
13580 * doc.c (Fdocumentation): Add missing parentheses.
13581 (Fdocumentation_property): Likewise.
13582
13583 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
13584
13585 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
13586 data is 0, just return nil.
13587
13588 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
13589
13590 * msdos.c (syms_of_msdos): Fix last change with
13591 mouse_autoselect_window.
13592
13593 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13594
13595 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
13596 mouse_autoselect_window.
13597
13598 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
13599
13600 * keyboard.c (make_lispy_event): Handle unknown keysyms together
13601 with system-specific keysyms. Use it also for unknown function keys.
13602
13603 * doc.c (reread_doc_file): Return whether reload was attempted.
13604 (Fdocumentation, Fdocumentation_property): Don't try to reload
13605 if the doc is 0 and only ask once.
13606
13607 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
13608
13609 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
13610
13611 * keyboard.c (read_char): If the event was Qselect_window,
13612 restore timer_idleness_start_time to its previous value.
13613
13614 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
13615
13616 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
13617
13618 * region-cache.c (new_region_cache): Use BEG.
13619
13620 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
13621 Use BEG and BEG_BYTE.
13622
13623 * doc.c (get_doc_string): Return nil if the location is wrong.
13624 (reread_doc_file): New fun.
13625 (Fdocumentation, Fdocumentation_property):
13626 Call it if get_doc_string fails.
13627 (Fsnarf_documentation): Make it work for a dumped Emacs.
13628
13629 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
13630 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
13631
13632 * charset.c (Fstring): Allow 0 arguments.
13633
13634 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
13635
13636 * process.c (DATAGRAM_CONN_P, list_processes_1)
13637 (Fprocess_datagram_address, Fset_process_datagram_address)
13638 (Fset_network_process_options, server_accept_connection):
13639 Fix some int/Lisp_Object confusions (thank you union types).
13640
13641 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13642
13643 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
13644
13645 * w32term.c: Likewise.
13646 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
13647
13648 * keyboard.c (Qselect_window): New symbol.
13649 (head_table): Use it.
13650 (keys_of_keyboard): Bound select-window event to handle-select-window.
13651 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
13652
13653 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
13654 (last_window): New variable.
13655 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
13656 (note_mouse_movement): Remove reimplemented code in #if 0.
13657 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
13658 Emacs windows.
13659
13660 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
13661
13662 2002-03-31 Gerd Moellmann <gerd@gnu.org>
13663
13664 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
13665 Callers changed.
13666
13667 2002-03-30 Richard M. Stallman <rms@gnu.org>
13668
13669 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
13670 loop whenever it stops making progress.
13671
13672 * widget.c (set_frame_size): Don't call change_frame_size.
13673
13674 2002-03-30 Gerd Moellmann <gerd@gnu.org>
13675
13676 * dispnew.c (direct_output_for_insert):
13677 Call mark_window_display_accurate.
13678
13679 2002-03-29 Jason Rumney <jasonr@gnu.org>
13680
13681 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
13682
13683 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
13684
13685 * Makefile.in (lread.o): Depend on coding.h.
13686
13687 * lread.c (openp, Fload): Encode the file name before passing it
13688 to `stat', `access', and `emacs_open'.
13689 (openp): GCPRO the encoded file name. Don't recompute Lisp
13690 strings unnecessarily.
13691
13692 2002-03-29 Kim F. Storm <storm@cua.dk>
13693
13694 * fns.c (Flax_plist_put): Doc fix.
13695
13696 2002-03-28 Miles Bader <miles@gnu.org>
13697
13698 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
13699
13700 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13701
13702 * process.c (set-network-process-options): Add usage.
13703 (make-network-process): Doc fix.
13704
13705 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
13706
13707 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
13708
13709 2002-03-26 Richard M. Stallman <rms@gnu.org>
13710
13711 * fns.c (Fsubstring_no_properties): New function.
13712 (Flax_plist_get, Flax_plist_put): New functions.
13713 (syms_of_fns): defsubr them.
13714
13715 * xdisp.c (update_menu_bar): Test only update_mode_lines;
13716 don't test or alter w->update_mode_line.
13717
13718 * window.c (Fdisplay_buffer): Doc fix.
13719
13720 2002-03-24 Richard M. Stallman <rms@gnu.org>
13721
13722 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
13723
13724 2002-03-24 Gerd Moellmann <gerd@gnu.org>
13725
13726 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
13727 (Fdefmacro): Handle `(declare ...)'.
13728 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
13729 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
13730
13731 2002-03-24 Jason Rumney <jasonr@gnu.org>
13732
13733 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
13734 (xbm_file_p): Add prototypes.
13735 (xbm_format, xbm_image_p): Sync with xfns.c.
13736 (reflect_byte): New function.
13737 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
13738 (xbm_load_image): Create bitmaps with a depth of 1.
13739 (init_xfns): Enable XBM images.
13740
13741 2002-03-23 Jason Rumney <jasonr@gnu.org>
13742
13743 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
13744 correctly. Do not pass up_modifier to keyboard buffer.
13745
13746 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
13747
13748 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
13749
13750 * Makefile.in (bootstrapclean): New target.
13751 (bootstrap-temacs, bootstrap-doc): Remove.
13752 (bootstrap-emacs): Use a bog-standard `temacs'.
13753 Don't bother to build a DOC file.
13754
13755 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
13756
13757 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
13758 in temacs even if !CANNOT_DUMP.
13759 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
13760
13761 * alloc.c (check_pure_size): Only output a warning.
13762
13763 2002-03-22 Jason Rumney <jasonr@gnu.org>
13764
13765 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
13766 supported.
13767
13768 * w32term.c (zv_bits): Declare as short, for word alignment.
13769 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
13770 (syms_of_w32term): Define x-use-underline-position-properties.
13771
13772 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
13773 (clear_image_cache): Block input, fix logic, clear matrices in
13774 all frames that share this cache.
13775
13776 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
13777
13778 * emacs.c (main): Update the Copyright year in the blurb printed
13779 by "emacs --version".
13780
13781 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
13782
13783 * xterm.c (XTread_socket): If XK_ISO_Lock and
13784 XK_ISO_Last_Group_Lock are defined, handle keysyms between
13785 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
13786
13787 2002-03-21 Kim F. Storm <storm@cua.dk>
13788
13789 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
13790 menu-bar bindings in keymap and local-map properties _are_ used.
13791 But try keymap property first in accordance with 2002-01-03 patch.
13792 Added comment describing why this is not always reliable.
13793 (tool_bar_items): Ditto for tool-bar.
13794
13795 2002-03-21 Jason Rumney <jasonr@gnu.org>
13796
13797 * w32fns.c (x_clear_image_1): Disable color table code.
13798
13799 2002-03-21 Kim F. Storm <storm@cua.dk>
13800
13801 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
13802 removed the wrong version of the DEFUN macro; fixed it.
13803
13804 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
13805 Fmember rather than Fmemq).
13806 (Fprovide): Check that subfeatures is a list.
13807
13808 * process.c (QCfeature, QCdatagram): Removed variables.
13809 (QCtype, Qdatagram): New variables.
13810 (network_process_featurep): Removed function.
13811 (Fmake_network_process): Removed :feature check.
13812 Use :type 'datagram instead of :datagram t to create a datagram
13813 socket. This allows us to add other connection types (e.g. raw
13814 sockets) later in a consistent manner.
13815 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
13816 supported subfeatures for feature make-network-process.
13817 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
13818 Intern and staticpro QCtype and Qdatagram.
13819 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
13820
13821 * xfns.c: (QCtype): Remove duplicate declaration and
13822 initialization (is now declared in process.c).
13823
13824 * w32fns.c: (QCtype): Remove duplicate declaration and
13825 initialization (is now declared in process.c).
13826
13827 2002-03-21 Richard M. Stallman <rms@gnu.org>
13828
13829 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
13830 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
13831 when jumping to `fail' to avoid undoing reg changes in the
13832 last iteration of the loop.
13833 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
13834
13835 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
13836 Depend on process.h.
13837
13838 2002-03-20 Jason Rumney <jasonr@gnu.org>
13839
13840 Most of the following changes are still conditional on HAVE_IMAGES
13841 which is not set by default on Windows.
13842
13843 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
13844
13845 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
13846 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
13847 (four_corners_best, x_clear_image_1, x_clear_image)
13848 (x_alloc_image_color, postprocess_image)
13849 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
13850 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
13851 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
13852
13853 * w32gui.h (struct XImage): Define.
13854
13855 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
13856 extract mouse co-ordinates.
13857
13858 2002-03-20 Jason Rumney <jasonr@gnu.org>
13859
13860 * w32.c (init_winsock): Dynamically load new server and UDP
13861 socket functions.
13862 (socket_to_fd): New function.
13863 (sys_socket): Use it.
13864 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
13865 (sys_recvfrom, sys_sendto): New wrapper functions.
13866
13867 * process.c (QCfamily, QCfilter): Remove duplicate declaration
13868 and initialization.
13869
13870 * makefile.w32-in (LIBS): Remove $(WSOCK32).
13871
13872 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
13873
13874 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
13875 Don't use "sun" as a variable, it's a predefined constant on Sun
13876 machines.
13877
13878 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13879
13880 * bytecode.c (Fbyte_code): Revert last change.
13881
13882 2002-03-19 Kim F. Storm <storm@cua.dk>
13883
13884 * makefile.w32-in (LIBS): Add $(WSOCK32).
13885 From David Ponce <dponce@voila.fr>.
13886
13887 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13888
13889 * process.c (wait_reading_process_input): Move variables `pname'
13890 and `pnamelen' down where they are used.
13891
13892 * bytecode.c (Fbyte_code): Discard unused computed value to
13893 prevent gcc warning.
13894
13895 * lisp.h (Fplist_member): Add prototype.
13896
13897 2002-03-18 Kim F. Storm <storm@cua.dk>
13898
13899 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
13900 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
13901
13902 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
13903 Remove explicit GNU_LINUX settings for datagram support.
13904
13905 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13906
13907 * process.c (Fmake_network_process): Remove unused variable `sa'.
13908 Doc fix. Add usage:.
13909 (set_socket_options): Remove unused variables `optnum' and `opttype'.
13910
13911 2002-03-17 Richard M. Stallman <rms@gnu.org>
13912
13913 * xdisp.c (cursor_type_changed): New variable.
13914 (redisplay_internal): Redisplay all windows if cursor_type_changed.
13915 Clear it when clearing windows_or_buffers_changed.
13916 (try_cursor_movement, redisplay_window, try_window_id)
13917 (try_window_reusing_current_matrix): Test cursor_type_changed
13918 along with windows_or_buffers_changed.
13919
13920 * window.h (cursor_type_changed): New variable.
13921
13922 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
13923 not update_mode_lines, and always set it to 1.
13924
13925 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
13926 if no frames needed redrawing.
13927
13928 2002-03-17 Kim F. Storm <storm@cua.dk>
13929
13930 The following changes add support for network server processes,
13931 datagram connections, and local (unix) sockets.
13932
13933 * process.h (struct Lisp_Process): New member log.
13934 Doc fix: Member command used to indicate stopped network process.
13935 Doc fix: Member childp contains plist for network process.
13936 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
13937
13938 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
13939 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
13940 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
13941 New variables.
13942 (NETCONN1_P): New macro.
13943 (DATAGRAM_SOCKETS): New conditional symbol.
13944 (datagram_address): New array.
13945 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
13946 (status_message): Use concat3.
13947 (Fprocess_status): Add `listen' status to doc string. Return `stop'
13948 for a stopped network process.
13949 (Fset_process_buffer): Update contact plist for network process.
13950 (Fset_process_filter): Ditto. Don't enable input for stopped
13951 network processes. Server must listen, even if filter is t.
13952 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
13953 New functions.
13954 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
13955 (Fprocess_contact): Added KEY argument. Handle datagrams.
13956 (list_processes_1): Optionally show only processes with the query
13957 on exit flag set. Dynamically adjust column widths. Omit tty
13958 column if not needed. Report stopped network processes.
13959 Identify server and datagram network processes.
13960 (Flist_processes): New optional arg `query-only'.
13961 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
13962 (conv_lisp_to_sockaddr, set_socket_options)
13963 (network_process_featurep, unwind_request_sigio): New helper functions.
13964 (Fprocess_datagram_address, Fset_process_datagram_address):
13965 (Fset_network_process_options): New lisp functions.
13966 (Fopen_network_stream): Removed. Now defined in simple.el.
13967 (Fmake_network_process): New lisp function. Code is based on previous
13968 Fopen_network_stream, but heavily reworked with new property list based
13969 argument list, support for datagrams, server processes, and local
13970 sockets in addition to old client-only functionality.
13971 (server_accept_connection): New function.
13972 (wait_reading_process_input): Use it to handle incoming connects.
13973 Do not enable input on a new connection if process is stopped.
13974 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
13975 (send_process): Handle datagram sockets.
13976 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
13977 network process is indicated by setting command field to t .
13978 (Fprocess_send_eof): No-op if datagram connection.
13979 (Fstatus_notify): Don't read input for a stream server socket or a
13980 stopped network process.
13981 (init_process): Initialize datagram_address array.
13982 (syms_of_process): Intern and staticpro new variables, defsubr new
13983 functions.
13984
13985 2002-03-16 Jason Rumney <jasonr@gnu.org>
13986
13987 * w32fns.c (w32_to_all_x_charsets): Return correct type in
13988 startup case.
13989
13990 2002-03-16 Richard M. Stallman <rms@gnu.org>
13991
13992 * xdisp.c (redisplay_internal, redisplay_windows):
13993 Use list_of_error to call internal_condition_case_1.
13994 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
13995 so as to catch all errors with no possibility of debugger redisplay.
13996 (list_of_error): New variable.
13997 (syms_of_xdisp): Init and staticpro it.
13998
13999 * print.c (print_object): Delete `\ ' from printed rep of frame.
14000
14001 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
14002
14003 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
14004 until its implementation is fixed.
14005
14006 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14007
14008 * xfns.c (png_load): Remove unused variable `gamma_str'.
14009
14010 2002-03-14 Richard M. Stallman <rms@gnu.org>
14011
14012 * xfns.c (x_real_positions): Handle failure in XQueryTree.
14013
14014 2002-03-14 Miles Bader <miles@gnu.org>
14015
14016 * intervals.c (adjust_for_invis_intang): New function.
14017 (set_point_both): Use `adjust_for_invis_intang' to do most of the
14018 work for dealing with invisible+intangible regions. Do so before
14019 and after both forward and backward movements, to handle both
14020 front-sticky and rear-sticky cases.
14021 * textprop.c (text_property_stickiness): Function moved here from
14022 `editfns.c'.
14023 * intervals.h (text_property_stickiness): New declaration.
14024 * editfns.c (char_property_eq): Function removed.
14025 (text_property_stickiness): Function moved to `textprop.c'.
14026
14027 2002-03-13 Jason Rumney <jasonr@gnu.org>
14028
14029 * config.in: Add STRFTIME_NO_POSIX2.
14030
14031 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
14032 and %OX when underlying strftime does not.
14033
14034 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
14035
14036 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
14037 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
14038 line) to avoid annoying flicker.
14039 (xm_scroll_callback): Get rid of the now unnecessary kludge.
14040 (XTread_socket): Mark it static.
14041
14042 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
14043
14044 2002-03-13 Kim F. Storm <storm@cua.dk>
14045
14046 * puresize.h (BASE_PURESIZE): Increase to 775000.
14047
14048 2002-03-12 Juanma Barranquero <lektu@terra.es>
14049
14050 * editfns.c (syms_of_editfns): Fix typo.
14051
14052 2002-03-12 Gerd Moellmann <gerd@gnu.org>
14053
14054 * xsmfns.c: Include stdio.h because termhooks.h needs it.
14055 Include termopt.h for interrupt_input.
14056
14057 2002-03-11 Andreas Schwab <schwab@suse.de>
14058
14059 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
14060
14061 2002-03-11 Gerd Moellmann <gerd@gnu.org>
14062
14063 * xterm.c (note_mouse_movement): Put code for
14064 x_autoselect_window_p in #if 0.
14065
14066 * lread.c (Fload): Don't assume that message_with_string uses the
14067 string it is given like a C string.
14068
14069 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
14070
14071 * xterm.h (x_session_check_input, x_session_initialize): Declare.
14072
14073 * xterm.c: (XTread_socket): Add call to x_session_check_input and
14074 x_session_have_connection.
14075 (x_initialize): Add call to x_session_initialize.
14076
14077 * termhooks.h (enum event_kind): Add save_session_event.
14078
14079 * keyboard.c: Add Emacs event save_session_event.
14080
14081 * emacs.c (main): Add call to syms_of_xsmfns.
14082
14083 * lisp.h (syms_of_xsmfns): Declare extern.
14084
14085 * config.in: Add HAVE_X_SM.
14086
14087 * Makefile.in (LIBXT): Add -lSM -lICE
14088 if HAVE_X_SM and not USE_X_TOOLKIT.
14089 (XOBJ): New file xsmfns.c added.
14090
14091 * xsmfns.c: New file for X session management.
14092
14093 2002-03-09 Jason Rumney <jasonr@gnu.org>
14094
14095 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
14096 read-only when setting modified time.
14097
14098 2002-03-08 Gerd Moellmann <gerd@gnu.org>
14099
14100 * xdisp.c (move_it_vertically_backward): At the end of the function,
14101 when moving forward by lines, treat terminal frames specially.
14102
14103 * keyboard.c (echo_char): Make sure to add a separator between
14104 keys even if echo_dash hasn't been called.
14105
14106 * xdisp.c: Use new string macros.
14107 (update_echo_area): Pass number of bytes to message3 instead of
14108 number of chars.
14109 (set_message_1): Don't access a string's size_byte directly.
14110 (decode_mode_spec_coding): Use number of bytes of eoltype string
14111 instead number of chars.
14112
14113 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
14114
14115 2002-03-08 Juanma Barranquero <lektu@terra.es>
14116
14117 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
14118 24-bit.
14119
14120 2002-03-06 Jason Rumney <jasonr@gnu.org>
14121
14122 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
14123
14124 2002-03-06 Gerd Moellmann <gerd@gnu.org>
14125
14126 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
14127 (cancel_echoing, echo_length, echo_truncate): Changed to
14128 work with new kboard definition.
14129 (echo_now): Use message3_nolog instead of message2_nolog.
14130
14131 * alloc.c (mark_kboards): Mark echo_string.
14132
14133 * keyboard.h (ECHOBUFSIZE): Removed.
14134 (struct kboard): Member echoptr removed, member echobuf renamed
14135 to echo_string.
14136
14137 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
14138 message3 instead of message2 to display the message using STRING's
14139 text properties.
14140
14141 2002-03-05 Andreas Schwab <schwab@suse.de>
14142
14143 * xdisp.c (hscroll_margin): Change to EMACS_INT.
14144
14145 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
14146
14147 * frame.c (default-frame-alist): Explain that setting it doesn't
14148 affect existing frames.
14149
14150 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
14151
14152 * indent.c (skip_invisible): Fix my brain fart.
14153
14154 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
14155
14156 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
14157
14158 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
14159 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
14160 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
14161 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
14162 and variables to use EMACS_INT instead of just int.
14163
14164 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
14165
14166 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
14167
14168 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
14169 environment, pass it down with corrected value.
14170
14171 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14172
14173 * lread.c (read_filtered_event): Do not call start_hourglass
14174 before returning.
14175
14176 2002-03-04 Juanma Barranquero <lektu@terra.es>
14177
14178 * w32term.c (x_display_and_set_cursor): Fix typo.
14179
14180 2002-03-03 Richard M. Stallman <rms@gnu.org>
14181
14182 * fileio.c (Fmake_temp_name): Doc fix.
14183
14184 2002-03-03 Gary Wong <gtw@gnu.org>
14185
14186 * termcap.c [!emacs]: Replace ospeed for building standalone
14187 libtermcap, for binary compatibility.
14188
14189 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
14190
14191 2002-03-03 Richard M. Stallman <rms@gnu.org>
14192
14193 * xrdb.c (file_p): Rename arg `path' to `filename'.
14194
14195 * abbrev.c (Fexpand_abbrev): Increment plist as use count
14196 only if it is an integer.
14197
14198 * xfns.c (png_load): Set screen_gamma based on f->gamma.
14199 If png_get_sRGB gives an answer, call png_set_gamma
14200 using the default image gamma value.
14201
14202 * lread.c (read1): When reading from a file, default string to
14203 multibyte only if it has some multibyte characters.
14204
14205 * print.c (print_object): Output multibyte chars 128...255
14206 using \x even if ! print_escape_multibyte.
14207
14208 * xdisp.c (display_mode_element): Move the places where
14209 bytepos, charpos, this, and lisp_string are set.
14210 Use lisp_string to set bytepos.
14211
14212 * xdisp.c (redisplay_internal):
14213 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
14214
14215 * xdisp.c (display_mode_element): Merge properties specified with
14216 :propertize onto those that come with the string.
14217
14218 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
14219
14220 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
14221 automatic-hscrolling. Users changed.
14222 <hscroll-margin>: Renamed from automatic-hscroll-margin.
14223 Users changed.
14224 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
14225
14226 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14227
14228 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
14229
14230 2002-03-02 Kim F. Storm <storm@cua.dk>
14231
14232 * window.c (Fminibuffer_selected_window): New function.
14233 (syms_of_window): Defsubr it.
14234
14235 2002-03-01 Kim F. Storm <storm@cua.dk>
14236
14237 * window.h (struct window): New member phys_cursor_width.
14238
14239 * window.c (make_window, replace_window): Init phys_cursor_width.
14240
14241 * xterm.c (x_display_and_set_cursor): Blink box cursor using
14242 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
14243
14244 * w32term.c (x_display_and_set_cursor): Blink box cursor using
14245 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
14246
14247 * lisp.h (GCPRO6): New macro.
14248
14249 * process.c (Fopen_network_stream): Use GCPRO6.
14250
14251 2002-03-01 Kim F. Storm <storm@cua.dk>
14252
14253 * process.c (Qconnect, Qfailed): New variables.
14254 (syms_of_process): Intern and staticpro them.
14255 (Fprocess_status): Document connect and failed return values.
14256 [NON_BLOCKING_CONNECT]: New conditional.
14257 (connect_wait_mask, num_pending_connects): New variables.
14258 (status_message): Convert Qfailed status.
14259 (Fopen_network_stream): Added support for non-blocking connect.
14260 New optional args: filter, sentinel, non_blocking. Doc updated.
14261 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
14262 (deactivate_process): Handle pending non-blocking connect.
14263 (wait_reading_process_input): Poll for status of non-blocking
14264 connects. Exec sentinel directly when connect succeeds.
14265 (status_notify): Don't read process output if not yet connected.
14266
14267 2002-02-28 Kim F. Storm <storm@cua.dk>
14268
14269 * window.c: (minibuf_selected_window): Renamed from
14270 Vminibuf_selected_window. Users changed.
14271 (syms_of_window): Staticpro it.
14272
14273 2002-02-26 Kim F. Storm <storm@cua.dk>
14274
14275 The following changes add a new Vminibuf_selected_window variable
14276 which is similar to Vminibuf_scroll_window, but which is only set
14277 on entry to the minibuffer (from a non-minibuffer window):
14278
14279 * window.c: (Vminibuf_selected_window): New variable.
14280 (struct save_window_data): New member minibuf_selected_window.
14281 (Fset_window_configuration): Restore Vminibuf_selected_window.
14282 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
14283 Set minibuf_scroll_window member to nil if minibuf_level is 0.
14284 (compare_window_configurations): Compare minibuf_selected_window.
14285
14286 * window.h: (Vminibuf_selected_window): Declare extern.
14287
14288 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
14289 entry to minibuffer or on entry from a non-minibuffer window.
14290
14291 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
14292 Vminibuf_selected_window instead of Vminibuf_scroll_window.
14293
14294 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
14295 instead of Vminibuf_scroll_window when deciding in which window
14296 the region should be highlighted. Consequently, the region remains
14297 highlighteded even when a completion buffer is also displayed.
14298
14299 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
14300
14301 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
14302
14303 * xselect.c (Qcompound_text_with_extensions): Renamed from
14304 Qcompound_text_no_extensions.
14305 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
14306
14307 2002-02-26 Juanma Barranquero <lektu@terra.es>
14308
14309 * w32proc.c (syms_of_ntproc): Doc fix.
14310
14311 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14312
14313 * intervals.h: Include "dispextern.h" unconditionally.
14314
14315 2002-02-24 Jason Rumney <jasonr@gnu.org>
14316
14317 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
14318 and disp-table.elc.
14319 (lisp): Add emacs-lisp/backquote.elc.
14320
14321 2002-02-24 Kim F. Storm <storm@cua.dk>
14322
14323 * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
14324 The validation of the event type was too strict as it didn't
14325 allow string events; buffer names are used in bindings for
14326 menu-bar-select-buffer (see `menu-bar-update-buffers').
14327
14328 2002-02-23 Kim F. Storm <storm@cua.dk>
14329
14330 The following changes rework my patch of 2002-02-06 which
14331 added command remapping by entering the commands directly into
14332 the keymaps. Now, command remapping uses an explicit `remap'
14333 prefix in the keymaps, i.e. [remap COMMAND].
14334
14335 * keymap.c (Qremap, remap_command_vector): New variables.
14336 (is_command_symbol): Removed function.
14337 (Fdefine_key): No longer accept a symbol for KEY.
14338 Added validation of [remap COMMAND] argument for KEY.
14339 The DEF is no longer required to be a symbol when remapping a command.
14340 (Fremap_command): New function to remap command through keymaps.
14341 (Flookup_key): Perform command remapping initiated by
14342 Fremap_command directly for speed.
14343 (Fkey_binding): Use Fremap_command for command remapping.
14344 (where_is_internal): Handle new command remapping representation.
14345 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
14346 staticpro them. Defsubr Fremap_command.
14347
14348 * keymap.h (Fremap_command): Declare extern.
14349 (is_command_symbol): Remove extern.
14350
14351 * keyboard.c (command_loop_1): Use Fremap_command for command
14352 remapping; now try command remapping for all symbols.
14353
14354 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
14355
14356 * coding.h (run_pre_post_conversion_on_str): Add prototype.
14357
14358 2002-02-23 Jason Rumney <jasonr@gnu.org>
14359
14360 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
14361 on the string before encoding it.
14362 (Fw32_get_clipboard_data): Run post-read-conversion on the string
14363 after decoding it.
14364
14365 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
14366
14367 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14368
14369 * w32term.c (enter_timestamp): Remove unused static variable to
14370 prevent warning.
14371
14372 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
14373
14374 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
14375
14376 * w16select.c (Fw16_get_clipboard_data): Fix last change.
14377
14378 * xselect.c (selection_data_to_lisp_data): Fix last change.
14379
14380 2002-02-22 Jason Rumney <jasonr@gnu.org>
14381
14382 * w32term.h (struct w32_output): New member menu_command_in_progress.
14383
14384 * w32menu.c (menubar_selection_callback): Free the menu and
14385 clear the menu_command_in_progress flag.
14386
14387 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
14388 (menu_free_timer): New variable.
14389 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
14390 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
14391 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
14392 menu command is in progress.
14393 <WM_COMMAND>: Set the menu_command_in_progress flag.
14394 Kill any menu_free_timer that is running.
14395
14396 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
14397 Call ExtTextOutA rather than ExtTextOut.
14398
14399 2002-02-22 Eli Zaretskii <eliz@gnu.org>
14400
14401 * puresize.h (BASE_PURESIZE): Increase to 755000.
14402
14403 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14404
14405 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
14406 on the string before encoding it.
14407 (Fw16_get_clipboard_data): Run post-read-conversion on the string
14408 after decoding it.
14409
14410 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14411
14412 Support for ICCCM Extended Segments in X selections:
14413
14414 * xselect.c <Qcompound_text_no_extensions>: New variable.
14415 (syms_of_xselect): Intern and staticpro it.
14416 (selection_data_to_lisp_data): Run post-read-conversion on decoded
14417 selection text.
14418 (lisp_data_to_selection_data): If next-selection-coding-system is
14419 compound-text-no-extensions, set the type of selection to be
14420 compound-text.
14421
14422 * xterm.h (x_encode_text): Update prototype.
14423
14424 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
14425 callers changed. If SELECTIONP is non-zero, run the
14426 pre-write-conversion function before encoding the selection text.
14427
14428 2002-02-21 Kim F. Storm <storm@cua.dk>
14429
14430 * frame.c (syms_of_frame): Change mouse-highlight default to t.
14431
14432 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
14433 Correct composing of language-change event.
14434
14435 2002-02-20 Kim F. Storm <storm@cua.dk>
14436
14437 * keyboard.c (menu_bar_items): Don't include keymap or local-map
14438 bindings at PT when building menu (the menu is not updated often
14439 enough for this to work reliable).
14440 (tool_bar_items): Likewise.
14441 (current_active_maps): Removed unused (and buggy) function.
14442
14443 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14444
14445 * xfns.c (gif_load): Use correct width and height for GIF images.
14446
14447 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
14448
14449 * floatfns.c (Fatan): Accept an optional second arg and call
14450 atan2 if passed 2 args.
14451
14452 2002-02-18 Jason Rumney <jasonr@gnu.org>
14453
14454 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
14455
14456 2002-02-17 Jason Rumney <jasonr@gnu.org>
14457
14458 * w32term.c (x_autoselect_window_p): New variable.
14459 (syms_of_w32term): DEFVAR_BOOL and initialize it.
14460 (note_mouse_movement): Use it.
14461
14462 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
14463
14464 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
14465
14466 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
14467 New variables.
14468 (syms_of_w32fns): Intern and staticpro them.
14469 (x_frame_parms) <"fullscreen">: New parameter.
14470 (x_fullscreen_move, x_set_fullscreen): New functions.
14471 (x_set_frame_parameters): Support Qfullscreen.
14472 (x_real_positions): Save x/y_pixels_diff frame params.
14473 (x_figure_window_size): Support full-screen frames.
14474 (Fx_create_frame): Default the fullscreen parameter.
14475
14476 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
14477 (x_fullscreen_adjust): New functions.
14478 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
14479 fullscreen. Call x_check_fullscreen_move, and set the
14480 want_fullscreen member of output_data.w32
14481 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
14482
14483 * w32term.h: New enum for FULLSCREEN_* constants.
14484 (struct w32_output): New members want_fullscreen, x_pixels_diff,
14485 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
14486 (x-fullscreen-adjust): New prototype.
14487
14488 2002-02-17 Kim F. Storm <storm@cua.dk>
14489
14490 * frame.c: (Vmouse_highlight): New variable.
14491 (syms_of_frame): DEFVAR_LISP it.
14492
14493 * frame.h: (Vmouse_highlight): Declare extern.
14494
14495 * xterm.h (struct x_display_info): Add mouse_face_hidden.
14496
14497 * xterm.c (disable_mouse_highlight): Removed variable.
14498 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
14499 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
14500 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
14501 and on after keyboard input.
14502 (x_term_init): Initialize mouse_face_hidden.
14503
14504 * msdos.h (struct display_info): Add mouse_face_hidden.
14505
14506 * msdos.c (disable_mouse_highlight): Removed variable.
14507 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
14508 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
14509 (internal_terminal_init): Initialize mouse_face_hidden.
14510 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
14511 and on after keyboard input.
14512
14513 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
14514
14515 * w32term.c (disable_mouse_highlight): Removed variable.
14516 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
14517 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
14518 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
14519 and on after keyboard input.
14520 (w32_initialize_display_info): Initialize mouse_face_hidden.
14521
14522 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
14523
14524 * msdos.c (last_mouse_window): New variable.
14525 (dos_rawgetc): Fix last change--if the mouse is in the same window
14526 as recorded in last_mouse_window, don't select this window.
14527
14528 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
14529
14530 * msdos.c (x_autoselect_window_p): New variable.
14531 (syms_of_msdos): Defvar it.
14532 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
14533 which the last mouse movement occured, unless it is already selected.
14534
14535 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
14536 New variables.
14537 (syms_of_xdisp): DEVFAR them.
14538 (hscroll_window_tree): Use automatic_hscroll_margin and
14539 Vautomatic_hscroll_step to compute the amount of window scrolling.
14540
14541 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14542
14543 * xterm.c (x-autoselect-window): New variable.
14544 (note_mouse_movement): Use it.
14545
14546 * keyboard.c: Do not include "systime.h" twice.
14547
14548 2002-02-15 Andreas Schwab <schwab@suse.de>
14549
14550 * puresize.h (PURESIZE_RATIO): Increase to 9/5.
14551
14552 * alloc.c (NSTATICS): Increase to 1280.
14553
14554 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
14555
14556 * alloc.c (NSTATICS): Bump to 1026.
14557
14558 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
14559 (Vx_super_keysym): New variables.
14560 (syms_of_xterm): DEFVAR_LISP them.
14561 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
14562 variables to determine which keys to use for the various modifiers.
14563
14564 2002-02-13 Kim F. Storm <storm@cua.dk>
14565
14566 * window.c: (Vmode_line_in_non_selected_windows): Removed.
14567 (mode_line_in_non_selected_windows): New variable.
14568 (syms_of_window): DEFVAR_BOOL it.
14569
14570 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
14571 Use mode_line_in_non_selected_windows.
14572 (mode_line_in_non_selected_windows): Declare extern.
14573 (Vmode_line_in_non_selected_windows): Removed extern.
14574
14575 2002-02-13 Richard M. Stallman <rms@gnu.org>
14576
14577 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
14578 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
14579 (Fclear_this_command_keys): Doc fixes.
14580
14581 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
14582 (update_face_from_frame_parameter): Increment face_change_count
14583 and windows_or_buffers_changed to force redisplay using changed faces.
14584
14585 * xdisp.c (QCpropertize): New variable.
14586 (mode_line_proptrans_alist): New variable.
14587 (display_mode_element): New arg PROPS; all calls changed.
14588 Implement this, for strings.
14589 Handle literal output of strings by sharing the
14590 main-line code for strings, using local var `literal'.
14591 Handle :propertize feature.
14592 (syms_of_xdisp): Initialze and staticpro QCpropertize and
14593 mode_line_proptrans_alist.
14594
14595 2002-02-11 Kim F. Storm <storm@cua.dk>
14596
14597 * window.c: (Vmode_line_in_non_selected_windows): New variable.
14598 (syms_of_window): DEFVAR_LISP it.
14599
14600 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
14601 (CURRENT_MODE_LINE_FACE_ID): Use it.
14602 (Vmode_line_in_non_selected_windows): Declare extern.
14603
14604 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
14605 to get mode line face.
14606
14607 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
14608
14609 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
14610 variables; cus-start.el doesn't need them anymore.
14611
14612 2002-02-09 Kim F. Storm <storm@cua.dk>
14613
14614 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
14615 reduction. This fixes a display problem where stray newlines were
14616 inserted in the window (corrected by C-l). Clarified code (IMHO).
14617
14618 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
14619
14620 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
14621
14622 * xdisp.c (display_mode_lines): Fix last change.
14623
14624 2002-02-09 Jason Rumney <jasonr@gnu.org>
14625
14626 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
14627 match each other.
14628 (w32_load_system_font): Prevent Cleartype fonts from loading.
14629 (Fx_show_tip): Ensure tip frames are above other topmost windows.
14630
14631 2002-02-09 Kim F. Storm <storm@cua.dk>
14632
14633 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
14634 (CURRENT_MODE_LINE_HEIGHT): Use it.
14635 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
14636
14637 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
14638 (pos_visible_p, handle_face_prop): Likewise.
14639 (display_mode_lines): Likewise, but for the real selected window.
14640 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
14641
14642 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
14643 in non-selected windows.
14644 (realize_basic_faces): Realize it.
14645 (syms_of_term): Intern and staticpro it.
14646
14647 2002-02-08 Kim F. Storm <storm@cua.dk>
14648
14649 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
14650 Changed mail addresses to emacs-devel@gnu.org.
14651
14652 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
14653
14654 * fileio.c (Fsubstitute_in_file_name): If the file name includes
14655 ~user, and there's no such user, don't discard everything before ~user.
14656
14657 * floatfns.c (Fround): Doc fix.
14658
14659 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14660
14661 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
14662
14663 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
14664
14665 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
14666
14667 2002-02-07 Kim F. Storm <storm@cua.dk>
14668
14669 * keymap.c (where_is_internal): Only check whether definition is
14670 remapped if it fulfills is_command_symbol.
14671
14672 2002-02-07 Andreas Schwab <schwab@suse.de>
14673
14674 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
14675
14676 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
14677
14678 2002-02-06 Kim F. Storm <storm@cua.dk>
14679
14680 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
14681 defining command remapping. Doc updated.
14682 (Flookup_key): Remap command through keymap if KEY is a symbol.
14683 (is_command_symbol): New function.
14684 (Fkey_binding): Use it. New optional argument NO-REMAP.
14685 Doc updated. Callers changed. Perform command remapping via
14686 recursive call unless that arg is non-nil.
14687 (where_is_internal): New argument no_remap. Callers changed.
14688 Call recursively to find original key bindings for a remapped
14689 comand unless that arg is non-nil.
14690 (Fwhere_is_internal): New optional argument NO-REMAP.
14691 Doc updated. Callers changed. Pass arg to where_is_internal.
14692
14693 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
14694 (is_command_symbol): Added prototype.
14695
14696 * keyboard.c (Vthis_original_command): New variable.
14697 (syms_of_keyboard): DEFVAR_LISP it.
14698 (command_loop_1): Set it, and perform command remapping.
14699
14700 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14701
14702 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
14703
14704 2002-02-06 Jason Rumney <jasonr@gnu.org>
14705
14706 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
14707
14708 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
14709
14710 * charset.c (get_charset_id): Use if-else instead of ?:.
14711
14712 2002-02-06 Richard M. Stallman <rms@gnu.org>
14713
14714 * filelock.c (S_ISLNK): Define if not defined.
14715
14716 2002-02-03 Richard M. Stallman <rms@gnu.org>
14717
14718 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
14719
14720 * lread.c (read1): Redesign strategy for force_multibyte and
14721 force_singlebyte. Now is_multibyte records whether read_buffer
14722 is multibyte. Encountering any multibyte character makes it so.
14723
14724 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
14725
14726 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
14727 with the same sequence, map that sequence to f10 rather than f0.
14728
14729 2002-02-03 Andreas Schwab <schwab@suse.de>
14730
14731 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
14732 latter never being defined on GNU/Linux.
14733
14734 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
14735
14736 * xfaces.c (realize_default_face): Don't set the weight and slant of
14737 the default face to Qnormal, unless these attributes are unspecified.
14738
14739 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14740
14741 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
14742 Call cancel_hourglass unconditionally.
14743
14744 * eval.c (Fsignal): Remove duplicated declaration of
14745 the variable `display_hourglass_p'.
14746
14747 2002-01-31 Richard M. Stallman <rms@gnu.org>
14748
14749 * editfns.c (region_limit): Nicer error message.
14750
14751 * coding.c (decode_composition_emacs_mule):
14752 Give up if NCOMPONENT gets too large to index `component'.
14753
14754 * callint.c (check_mark): New arg to specify clearer error message.
14755 Callers changed.
14756
14757 2002-01-27 Richard M. Stallman <rms@gnu.org>
14758
14759 * minibuf.c (Fcompleting_read): Doc fix.
14760
14761 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14762
14763 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
14764 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
14765 Fix doc-strings.
14766
14767 2002-01-26 Richard M. Stallman <rms@gnu.org>
14768
14769 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
14770
14771 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
14772 and scroll_up_aggressively.
14773
14774 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14775
14776 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
14777
14778 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
14779
14780 * textprop.c (Fnext_property_change, Fnext_single_property_change)
14781 (Fprevious_property_change, Fprevious_single_property_change):
14782 Stay within the narrowed-buffer boundaries.
14783
14784 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
14785
14786 * term.c (Ftty_display_color_cells): New function.
14787 (syms_of_term): Defsubr it.
14788 (Ftty_display_color_cells, Ftty_display_color_p): Change the
14789 argument name to DISPLAY. Doc fix.
14790
14791 * dispextern.h: Add prototype for set_tty_color_mode and
14792 tty_setup_colors.
14793
14794 2002-01-24 Jason Rumney <jasonr@gnu.org>
14795
14796 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
14797 If region left to draw is not what was expected, mark the frame as
14798 garbaged.
14799
14800 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
14801 Combine the regions returned by BeginPaint and GetUpdateRect.
14802
14803 2002-01-23 Jason Rumney <jasonr@gnu.org>
14804
14805 * w32term.c (x_update_window_begin): Only hide caret if
14806 w32_use_visible_system_caret is set.
14807 (x_update_window_end): Only show caret if
14808 w32_use_visible_system_caret is set.
14809 (syms_of_w32term): Handle SystemParametersInfo call failing.
14810
14811 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
14812
14813 2002-01-22 Richard M. Stallman <rms@gnu.org>
14814
14815 * unexelf.c (unexec): Define n so as to cause compilation error
14816 for the code where people have often written n instead of nn.
14817
14818 * .gdbinit (hookpost-run): Defined.
14819
14820 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
14821
14822 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
14823
14824 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
14825
14826 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
14827 if fullscreen is being set.
14828
14829 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14830
14831 * minibuf.c (Fminibuffer_contents)
14832 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
14833 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
14834
14835 2002-01-21 Richard M. Stallman <rms@gnu.org>
14836
14837 * window.c (check_frame_size): Fix minimum height calculation.
14838
14839 2002-01-20 Ken Raeburn <raeburn@gnu.org>
14840
14841 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
14842 height before comparison.
14843 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
14844
14845 2002-01-20 Jason Rumney <jasonr@gnu.org>
14846
14847 * w32term.c (w32_system_caret_width): Remove.
14848 (w32_use_visible_system_caret): New user flag.
14849 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
14850 Windows reports a screen reader running.
14851 (x_update_window_begin): Hide the system caret.
14852 (x_update_window_end): Show the system caret.
14853 (x_display_and_set_cursor): Don't draw a cursor when
14854 w32_use_visible_system_caret is set. Do not adjust width.
14855
14856 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
14857 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
14858 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
14859 the user requests it. Use system default width when creating.
14860 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
14861
14862 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
14863 New window messages.
14864
14865 2002-01-20 Richard M. Stallman <rms@gnu.org>
14866
14867 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
14868
14869 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14870
14871 * doprnt.c (doprnt1): Fix typos in error call.
14872
14873 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
14874
14875 * unexelf.c (unexec) [__sgi]: Support the .got sections.
14876
14877 2002-01-20 Jason Rumney <jasonr@gnu.org>
14878
14879 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
14880 that Windows returns. If a double check fails, try to guess how
14881 ExtTextOut is going to act.
14882
14883 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
14884 in place of stricmp.
14885 (w32_list_synthesized_fonts): Removed.
14886 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
14887 (struct enumfont_t): New element; list.
14888 (enum_font_cb2): List all style and charset variations of a font.
14889 (Fw32_select_font): New optional argument; include_proportional.
14890 Exclude vertical fonts. Exclude proportional fonts unless
14891 include_proportional is non-nil.
14892 (w32_enable_synthesized_fonts): Change to a boolean.
14893 (Fw32_send_sys_command): Doc fix.
14894
14895 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14896
14897 * dispnew.c (update_frame): Move the variable `tem' to the block
14898 where it is used.
14899
14900 2002-01-19 Jason Rumney <jasonr@gnu.org>
14901
14902 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
14903 call to face-set-after-frame-default.
14904
14905 2002-01-18 Richard M. Stallman <rms@gnu.org>
14906
14907 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
14908 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
14909
14910 2002-01-17 Richard M. Stallman <rms@gnu.org>
14911
14912 * window.c (enlarge_window): When exceeding size of parent,
14913 directly delete all the siblings instead of trying to resize it.
14914
14915 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14916
14917 * term.c (set_tty_color_mode): Remove unused variable `tem'.
14918
14919 2002-01-16 Henrik Enberg <henrik@enberg.org>
14920
14921 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
14922
14923 2002-01-16 Kim F. Storm <storm@cua.dk>
14924
14925 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
14926 is invisible. This can happen if cursor is on top line of a
14927 window, and we switch to a buffer with a header line.
14928
14929 * w32term.c (x_erase_phys_cursor): Ditto.
14930
14931 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14932
14933 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
14934 `dont_resize' only when used.
14935
14936 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
14937
14938 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
14939
14940 * xdisp.c (display_mode_element): When computing charpos, depend
14941 on multibyteness of elt, not the text in field.
14942
14943 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14944
14945 * buffer.c (Fkill_all_local_variables):
14946 Increment `update_mode_lines' only once.
14947
14948 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14949
14950 * lisp.h (adjust_after_replace_noundo)
14951 (Fupdate_coding_systems_internal): Add prototypes.
14952
14953 * sound.c (Fplay_sound): Initialize header_size also for :data case.
14954
14955 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
14956
14957 Support for the --color command-line argument and tty-color-mode
14958 frame parameter:
14959
14960 * term.c (tty_default_color_capabilities, tty_setup_colors)
14961 (set_tty_color_mode): New functions.
14962 (term_init): Call tty_default_color_capabilities.
14963 (Qtty_color_mode_alist): New variable.
14964 (syms_of_term): Intern and staticpro it.
14965
14966 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
14967 frames.
14968 (do_switch_frame): For termcap frames, switch the tty
14969 color mode as specified by the frame's parameters.
14970 (Qtty_color_mode): New variable.
14971 (syms_of_frame): Intern and staticpro it.
14972
14973 * emacs.c (USAGE2): Add the --color option.
14974 (standard_args): Ditto.
14975
14976 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
14977
14978 * xterm.h (struct x_output): New members want_fullscreen,
14979 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
14980 y_pixels_outer_diff.
14981 New enum for FULLSCREEN_* constants.
14982 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
14983 is NULL.
14984 (x_fullscreen_adjust): Add prototype.
14985
14986 * emacs.c (USAGE2): Add the new full-screen arguments.
14987 (standard_args): Ditto.
14988
14989 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
14990 New variables.
14991 (syms_of_xfns): Intern and staticpro them.
14992 (x_frame_parms) <"fullscreen">: New parameter.
14993 (x_fullscreen_move, x_set_fullscreen): New functions.
14994 (x_set_frame_parameters): Support for Qfullscreen.
14995 (x_real_positions): More accurate computation of the frame position.
14996 (x_figure_window_size): Support full-screen frames.
14997 (Fx_create_frame): Default the fullscreen parameter.
14998
14999 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
15000 (XTread_socket) <Expose>: Call x_check_fullscreen.
15001 <ConfigureNotify>: Don't resize to fullscreen.
15002 Call x_check_fullscreen_move, and set the want_fullscreen member of
15003 output_data.x.
15004
15005 2002-01-13 Jason Rumney <jasonr@gnu.org>
15006
15007 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
15008 for mice with more than 3 buttons.
15009
15010 * w32term.c (parse_button): New parameter xbutton. Callers changed.
15011 (w32_read_socket): Handle new "XBUTTON" messages.
15012
15013 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
15014 (syms_of_w32fns): DEFVAR_BOOL it.
15015 (w32_wnd_proc): Handle new "XBUTTON" messages.
15016
15017 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15018
15019 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
15020
15021 2002-01-13 Andreas Schwab <schwab@suse.de>
15022
15023 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
15024
15025 2002-01-12 Andreas Schwab <schwab@suse.de>
15026
15027 * .gdbinit (xbuffer): Remove address operator since data is now a
15028 pointer.
15029
15030 2002-01-11 Richard M. Stallman <rms@gnu.org>
15031
15032 * insdel.c (adjust_after_replace_noundo): New function.
15033
15034 * coding.c (code_convert_region): Don't copy old text if undo disabled.
15035
15036 2002-01-09 Jason Rumney <jasonr@gnu.org>
15037
15038 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
15039 when checking for multiple frames.
15040
15041 2002-01-08 Richard M. Stallman <rms@gnu.org>
15042
15043 * window.c (delete_window): Rewrite the code for changing the
15044 selected window to handle the case where WINDOW is not a leaf.
15045
15046 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
15047
15048 * process.c (send_process): Set src_multibyte to 1 after the call
15049 top setup_coding_system, not before the call.
15050
15051 2002-01-07 Jason Rumney <jasonr@gnu.org>
15052
15053 * xmenu.c (set_frame_menubar, xmenu_show):
15054 (xdialog_show): Initialize wv->help to Qnil.
15055
15056 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
15057 (w32_dialog_show): Initialize wv->help to Qnil.
15058
15059 2002-01-06 Jason Rumney <jasonr@gnu.org>
15060
15061 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
15062
15063 * w32menu.c (w32_menu_display_help): Revert last change.
15064
15065 * xmenu.c (menu_highlight_callback): Revert last change.
15066
15067 2002-01-06 Andreas Schwab <schwab@suse.de>
15068
15069 * insdel.c (make_gap_larger): Make sure buffer size does not
15070 overflow range of int.
15071
15072 2002-01-05 Jason Rumney <jasonr@gnu.org>
15073
15074 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
15075 OVERLAPS_P.
15076
15077 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
15078
15079 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
15080 to the left or to the right of the pointer, put it against
15081 the left screen edge.
15082 (x_frame_parms): Add missing braces around initializer.
15083
15084 * w32term.c (x_setup_relief_colors): Don't compute an image's
15085 background color if it doesn't have a Pixmap.
15086 (notice_overwritten_cursor): Don't depend on
15087 output_cursor and updated_area. Compare pixel coordinates with
15088 window's cursor pixel coordinates.
15089 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
15090 Call notice_overwritten_cursor with new arg list.
15091 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
15092 unconditionally.
15093 (x_draw_image_relief): Use predefined macro instead of
15094 constant when the value of `tool_bar_button_relief' is negative.
15095
15096 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
15097
15098 2002-01-04 Richard M. Stallman <rms@gnu.org>
15099
15100 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
15101
15102 2002-01-03 Richard M. Stallman <rms@gnu.org>
15103
15104 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
15105 (Fkey_binding): Try the `keymap' property map first.
15106 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
15107 minor mode bindings.
15108
15109 2002-01-03 Kim F. Storm <storm@cua.dk>
15110
15111 * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
15112
15113 2002-01-02 Richard M. Stallman <rms@gnu.org>
15114
15115 * keyboard.c (read_key_sequence): Handle the keymap property
15116 before minor mode maps.
15117
15118 * editfns.c (Fformat): Update thissize from field_width
15119 based on the actual width, in the string case.
15120
15121 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15122
15123 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
15124 when used as truth value to prevent gcc warnings.
15125
15126 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
15127 * w32proc.c: Include <config.h>.
15128
15129 2002-01-01 Andreas Schwab <schwab@suse.de>
15130
15131 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
15132 not EMACS_INT, to make them compatible with DEFVAR_INT.
15133 * lisp.h (max_specpdl_size): Adjust declaration.
15134
15135 2002-01-01 Richard M. Stallman <rms@gnu.org>
15136
15137 * print.c (print_object): Test print_escape_nonascii only for
15138 unibyte strings.
15139 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
15140 when outputting to a multibyte buffer.
15141
15142 2001-12-29 Richard M. Stallman <rms@gnu.org>
15143
15144 * print.c (print_object): In multibyte string, use hex escapes.
15145 Use octal only for unibyte strings.
15146 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
15147
15148 * lread.c (read_escape): New arg BYTEREP for reporting whether
15149 escape forces unibyte or multibyte.
15150 (read1): When reading a string, take note of that info.
15151
15152 2001-12-29 Ken Raeburn <raeburn@gnu.org>
15153
15154 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
15155 comparison to test lisp value returned by Fget.
15156
15157 2001-12-29 Richard M. Stallman <rms@gnu.org>
15158
15159 * lisp.h (max_specpdl_size): Add declaration.
15160
15161 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
15162
15163 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
15164 Handle modifier bits. Correct typo in error message.
15165
15166 2001-12-28 Richard M. Stallman <rms@gnu.org>
15167
15168 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
15169 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
15170 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
15171 Update calls to Fdefine_abbrev.
15172 (write_abbrev): Update for changed data format.
15173 Don't list "system" abbrevs.
15174 (Fexpand_abbrev): Update use count with new data format.
15175 (describe_abbrev): Update for changed data format.
15176 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
15177
15178 * config.in (HAVE_MBSINIT): Add #undef.
15179
15180 * strftime.c (mbsinit): Define as no-op if not available.
15181
15182 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
15183 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
15184
15185 * keymap.c (Flookup_key): Error message if key has wrong data type.
15186 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
15187 (exclude_key): New variable.
15188
15189 2001-12-28 Gerd Moellmann <gerd@gnu.org>
15190
15191 * xterm.c (x_setup_relief_colors): Don't compute an image's
15192 background color if it doesn't have a Pixmap.
15193
15194 * xterm.c (notice_overwritten_cursor): Don't depend on
15195 output_cursor and updated_area. Compare pixel coordinates with
15196 window's cursor pixel coordinates.
15197 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
15198 Call notice_overwritten_cursor with new arg list.
15199 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
15200 unconditionally.
15201
15202 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
15203 height of the cursor line to the amount to scroll.
15204
15205 2001-12-27 Richard M. Stallman <rms@gnu.org>
15206
15207 * intervals.c (set_point_both): The position after an invisible,
15208 intangible character is not an acceptable stopping point.
15209
15210 2001-12-27 Ken Raeburn <raeburn@gnu.org>
15211
15212 * window.c (enlarge_window): In new preserve_before code, convert
15213 CURBEG from lisp object to integer before doing arithmetic.
15214
15215 2001-12-27 Richard M. Stallman <rms@gnu.org>
15216
15217 * bytecode.c (Fbyte_code): Undo previous change.
15218
15219 2001-12-26 Kim F. Storm <storm@cua.dk>
15220
15221 * keyboard.c (record_char): Ignore duplicate help-echo events only
15222 separated by mouse-movement. When tracking mouse, only record
15223 first and last mouse-movement event in same window.
15224 Don't record mouse-movement events in keyboard macros.
15225
15226 2001-12-25 Richard M. Stallman <rms@gnu.org>
15227
15228 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
15229 (Fenlarge_window): New arg PRESERVE_BEFORE.
15230
15231 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
15232 instead of Fstring_as_unibyte.
15233
15234 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15235
15236 The following changes remove mocklisp support:
15237
15238 * mocklisp.h, mocklisp.c: Files removed.
15239
15240 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
15241 `Qmocklisp' and `Qmocklisp_arguments'.
15242 Remove prototype of syms_of_mocklisp.
15243
15244 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
15245
15246 * callint.c: Do not include mocklisp.h.
15247 (Fcall_interactively): Do not test for mocklisp case.
15248
15249 * eval.c: Remove variables `Qmocklisp_arguments',
15250 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
15251 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
15252 Do not test for mocklisp case.
15253 (Fwhile): Remove unused variable `tem'.
15254 (syms_of_eval): Remove variable `moclisp-arguments'.
15255
15256 * data.c (wrong_type_argument): Remove mocklisp case.
15257
15258 * doc.c (Fdocumentation): Remove mocklisp case.
15259
15260 * emacs.c (main): Do not call syms_of_mocklisp.
15261
15262 2001-12-21 Richard M. Stallman <rms@gnu.org>
15263
15264 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
15265 to the left or to the right of the pointer, put it against
15266 the left screen edge.
15267
15268 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
15269
15270 * Makefile.in (distclean): Remove .gdbinit if we are building
15271 outside the source tree.
15272
15273 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
15274
15275 * w32.c (emacs_root_dir): New function.
15276
15277 * msdos.c (emacs_root_dir): New function.
15278
15279 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
15280 of the current drive as the fallback for default_directory.
15281
15282 * dired.c (file_name_completion): Run the elements of
15283 completion-ignored-extensions through ENCODE_FILE.
15284
15285 * lisp.h (scmp): Remove prototype, since it's now a static
15286 function private to dired.c.
15287
15288 2001-12-18 Richard M. Stallman <rms@gnu.org>
15289
15290 * dired.c (scmp): Function moved from minibuf.c.
15291 Delete multibyte handling--used only on encoded strings.
15292
15293 * minibuf.c (scmp): Function moved to dired.c.
15294
15295 * fns.c (merge): Add QUIT call.
15296
15297 2001-12-18 Dave Love <fx@gnu.org>
15298
15299 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
15300 language/georgian.el.
15301
15302 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
15303
15304 * Makefile.in (lisp, shortlisp): Synchronize with changes to
15305 lisp/Makefile.in:DONTCOMPILE.
15306
15307 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15308
15309 * xdisp.c (window_box_height): Do not return negative values.
15310 From Gerd Moellmann <gerd@gnu.org>.
15311
15312 * keyboard.c (head_table): Add missing braces around initializer.
15313
15314 * term.c (keys): Likewise.
15315
15316 * xfns.c (x_frame_parms, visual_classes): Likewise.
15317
15318 2001-12-17 Sam Steingold <sds@gnu.org>
15319
15320 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
15321 patch (COMPOSING_P, not COMPOSING).
15322
15323 2001-12-17 Richard M. Stallman <rms@gnu.org>
15324
15325 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
15326
15327 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
15328 before calling decode_coding.
15329
15330 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
15331
15332 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
15333 instead of only for COMPOSITION_DISABLED.
15334
15335 2001-12-16 Richard M. Stallman <rms@gnu.org>
15336
15337 * alloc.c (pure_alloc): After overflow, allocate just a small block.
15338
15339 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
15340
15341 * buffer.h (struct buffer): New field `display_error_modiff'.
15342 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
15343
15344 * window.c (Frecenter): Clear display_error_modiff field.
15345
15346 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
15347 Call redisplay_window, but not if display_error_modiff field says no.
15348 (redisplay_window_error): New function.
15349 (displayed_buffer): New variable.
15350 (redisplay_internal, redisplay_windows): Call the new functions
15351 instead of redisplay_window directly.
15352
15353 2001-12-15 Richard M. Stallman <rms@gnu.org>
15354
15355 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
15356
15357 2001-12-14 Andrew Innes <andrewi@gnu.org>
15358
15359 * makefile.w32-in (EMACSLOADPATH): Define.
15360 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
15361 (bootstrap-temacs): Remove dependency on bootstrap-clean.
15362
15363 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
15364
15365 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
15366 parameter have a numeric value all the time.
15367
15368 * w32fns.c (x_report_frame_params): Likewise.
15369
15370 2001-12-12 Richard M. Stallman <rms@gnu.org>
15371
15372 * fileio.c (Fwrite_region): Doc fix.
15373
15374 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
15375 (redisplay_internal): Call clear_image_cache only for window terminals.
15376
15377 2001-12-12 Gerd Moellmann <gerd@gnu.org>
15378
15379 * xdisp.c (move_it_vertically_backward): Change heuristic
15380 for the case that we didn't move far enough initially.
15381
15382 * window.c (Frecenter): Simplify computation in the case of window
15383 system frames and ARG < 0; use window_box_height.
15384
15385 2001-12-11 Richard M. Stallman <rms@gnu.org>
15386
15387 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
15388 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
15389
15390 2001-12-11 Andrew Innes <andrewi@gnu.org>
15391
15392 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
15393 arg is negative.
15394
15395 2001-12-11 Richard M. Stallman <rms@gnu.org>
15396
15397 * m/hp800.h: Split the __hpux conditional into the parts
15398 that are right for GNU/Linux too and the parts that are not.
15399 Use the former if GNU_LINUX.
15400 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
15401
15402 * s/gnu-linux.h (GNU_LINUX): Defined.
15403
15404 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15405
15406 * macros.c, msdos.c, w16select.c: Change doc-string comments to
15407 `new style' [w/`doc:' keyword].
15408
15409 2001-12-10 Jason Rumney <jasonr@gnu.org>
15410
15411 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
15412 before using.
15413
15414 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15415
15416 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
15417 keyword].
15418
15419 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
15420
15421 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
15422
15423 * s/hpux10.h (srand48): Don't undefine.
15424
15425 2001-12-09 Jason Rumney <jasonr@gnu.org>
15426
15427 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
15428 Add comment to explain where the struct came from.
15429 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
15430 (add_menu_item): Process pop-up menus first to avoid memory leak.
15431 (add_menu_item, w32_menu_display_help): Use `help' field as
15432 Lisp_Object.
15433 (w32_free_submenu_strings): Only free owner-drawn strings.
15434
15435 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15436
15437 * COPYING: Moved back.
15438
15439 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
15440 Add parentheses around && within ||.
15441
15442 * indent.c (compute_motion): Likewise.
15443
15444 * intervals.c (merge_properties_sticky): Likewise.
15445
15446 * coding.c (setup_coding_system, shrink_encoding_region)
15447 (Fdecode_sjis_char): Likewise.
15448
15449 2001-12-07 Andreas Schwab <schwab@suse.de>
15450
15451 * xdisp.c (display_mode_element): Don't read past end of string if
15452 it ends with '%'.
15453
15454 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
15455 can hold.
15456
15457 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
15458 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
15459 type changed to Lisp_Object.
15460 (syms_of_data): DEFVAR_LISP them.
15461
15462 2001-12-07 Richard M. Stallman <rms@gnu.org>
15463
15464 * callproc.c (init_callproc): Set Vdata_directory based on the source
15465 location whenever Emacs was run uninstalled.
15466
15467 2001-12-06 Paul Eggert <eggert@twinsun.com>
15468
15469 * config.in (HAVE_WORKING_VFORK): New #undefs.
15470 * process.c (create_process):
15471 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
15472 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
15473 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
15474 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
15475 * m/intel386.h (HAVE_VFORK): Likewise.
15476 * m/mips-siemens.h (HAVE_VFORK): Likewise.
15477 * m/mips.h (HAVE_VFORK): Likewise.
15478 * s/freebsd.h (vfork): Remove #define.
15479 * s/lynxos.h (HAVE_VFORK): Remove #undef.
15480 * s/usg5-4-2.h: Fix comment about vfork.
15481
15482 2001-12-06 Richard M. Stallman <rms@gnu.org>
15483
15484 * s/hpux10.h (random): Add undef.
15485 (HAVE_RANDOM): Define it just once.
15486
15487 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
15488
15489 * eval.c: Undo last change: the standard syntax is not wanted.
15490
15491 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
15492
15493 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
15494 scroll bars of the frame before deleting the frame itself. If the
15495 frame has a widget, delete the frame with XtDestroyWidget, and do
15496 not call XDestroyWindow before that.
15497
15498 2001-12-06 Kim F. Storm <storm@cua.dk>
15499
15500 * xfns.c (x_report_frame_params): Return actual fringe widths.
15501
15502 * w32fns.c (x_report_frame_params): Return actual fringe widths.
15503
15504 2001-12-05 Andrew Innes <andrewi@gnu.org>
15505
15506 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
15507 excessively large.
15508
15509 * insdel.c (make_gap_larger): New function.
15510 (make_gap_smaller): New function.
15511 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
15512 Call make_gap_smaller if arg is negative.
15513
15514 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
15515
15516 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
15517 Pass a dummy argument when calling interrupt_signal.
15518 (parse_menu_item): Mark disabled items before checking for empty def.
15519 (read_char_minibuf_menu_prompt): Make safety more visible.
15520 (read_key_sequence): Add a `first_unbound' variable.
15521 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
15522 unbound prefix as soon as we can detect it.
15523
15524 * doc.c (Fsnarf_documentation): Add prototype.
15525 (get_doc_string): Handle negative arguments.
15526 (Fdocumentation): Use AREF and ASIZE.
15527 Move the calls to get_doc_string to a single place.
15528 Don't confuse an interactive-spec for a docstring reference.
15529 (Fdocumentation_property): Take advantage of the fact that
15530 get_doc_string now ignores the sign of the docstring position.
15531
15532 * eval.c: Use standard syntax for usage in docstrings.
15533
15534 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15535
15536 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
15537
15538 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15539
15540 * xterm.c (x_draw_image_relief): Use predefined macro instead of
15541 constant when the value of `tool_bar_button_relief' is negative.
15542
15543 2001-12-02 Richard M. Stallman <rms@gnu.org>
15544
15545 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
15546 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
15547
15548 * fileio.c (read_non_regular): Delete Fsignal call.
15549
15550 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
15551
15552 * lisp.h (run_hook_list_with_args): Undo last change.
15553
15554 2001-12-01 Gerd Moellmann <gerd@gnu.org>
15555
15556 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
15557
15558 2001-12-01 Jason Rumney <jasonr@gnu.org>
15559
15560 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
15561
15562 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
15563 [!WM_MOUSELEAVE]: Define.
15564
15565 * w32menu.c (current_popup_menu, get_menu_item_info):
15566 (set_menu_item_info): New vars.
15567 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
15568 (w32_menu_show): Set current_popup_menu.
15569 (add_menu_item): Allocate new strings for owner-drawn menu items
15570 and help strings.
15571 Use owner-draw for disabled menu items again.
15572 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
15573 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
15574
15575 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
15576 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
15577 <WM_EXITMENULOOP>: Free menu strings.
15578 <WM_MOUSELEAVE>: Stop tracking mouse.
15579 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
15580
15581 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
15582 and mouse face.
15583
15584 2001-12-01 Kim F. Storm <storm@cua.dk>
15585
15586 The following changes add left-fringe and right-fringe
15587 frame parameters to adjust fringe widths, or remove one or
15588 both fringes.
15589
15590 * frame.h (struct frame): Remove trunc_area_pixel_width and
15591 trunc_area_cols fields.
15592 (Qleft_fringe, Qright_fringe): Declare.
15593 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
15594
15595 * frame.c (Qleft_fringe, Qright_fringe): New vars.
15596 (syms_of_frame): Initialize them.
15597
15598 * window.c (coordinates_in_window): Handle separate left and right
15599 fringe widths.
15600
15601 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
15602 and fringe_cols fields.
15603 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
15604 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
15605 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
15606 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
15607 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
15608 (x_compute_fringe_widths): Add prototype.
15609
15610 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
15611 fill fringe evenly with small dashes.
15612 (x_draw_fringe_bitmap): Clear background if necessary. Align and
15613 clip the new ZV bitmap to avoid jitter between rows.
15614 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
15615 background. Don't draw fringe bitmaps if fringe width is zero.
15616 (x_compute_fringe_widths): New function.
15617 (x_new_font, x_set_window_size_1): Use it.
15618
15619 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
15620 (x_set_frame_parameters): Process `font' parameter before other
15621 parameters as fringe widths depend on it.
15622 (x_set_fringe_width): New function.
15623 (x_figure_window_size): Use x_compute_fringe_widths.
15624 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
15625 parameters.
15626
15627 * widget.c (set_frame_size): Use x_compute_fringe_widths.
15628 (EmacsFrameSetCharSize): Ditto.
15629
15630 * w32term.h: Merged changes from xterm.h.
15631 * w32term.c: Merged changes from xterm.c.
15632 * w32fns.c: Merged changes from xfns.c.
15633
15634 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15635
15636 * COPYING: Removed.
15637
15638 2001-11-29 Dave Love <fx@gnu.org>
15639
15640 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
15641 extra extra slot.
15642 (detect_coding_mask): Fix call of detect_coding_iso2022.
15643
15644 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15645
15646 * fileio.c (file-name-coding-system)
15647 (default-file-name-coding-system): Doc fix (links to referenced
15648 variables added).
15649
15650 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
15651
15652 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
15653 Add dummy uses of gcproN variables.
15654
15655 * category.c (describe_category, describe_category_1)
15656 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
15657 (syms_of_category): Don't defsubr Sdescribe_categories.
15658
15659 2001-11-28 Richard M. Stallman <rms@gnu.org>
15660
15661 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
15662
15663 * Makefile.in (lispdir): New variable, referring to build dir.
15664 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
15665
15666 2001-11-28 Andrew Innes <andrewi@gnu.org>
15667
15668 * w32menu.c (w32_menu_display_help): Actually add the new argument
15669 OWNER.
15670
15671 2001-11-28 Jason Rumney <jasonr@gnu.org>
15672
15673 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
15674 menu items. From David Ponce <dponce@wanadoo.fr>.
15675 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
15676 conditionally.
15677 (w32_menu_display_help): New argument OWNER. Rewritten to store a
15678 help event in the owner frame's keyboard buffer.
15679
15680 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
15681 (Fx_show_tip): Don't subtract last width from row width.
15682
15683 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
15684 (w32_read_socket): Use EQ to compare frames.
15685
15686 2001-11-28 Gerd Moellmann <gerd@gnu.org>
15687
15688 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
15689 OVERLAPS_P.
15690
15691 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15692
15693 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
15694 `gcpro3' and `gcpro4'.
15695
15696 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
15697
15698 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
15699
15700 * ccl.c: Use AREF and ASIZE.
15701
15702 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
15703
15704 * lisp.h (run_hook_list_with_args): Remove.
15705 (LIST_END_P): Fix call to wrong_type_argument.
15706 (make_fixnum_or_float): Use EMACS_INT rather than int.
15707
15708 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
15709
15710 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
15711 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
15712
15713 * eval.c: Use AREF and ASIZE.
15714 (Ffetch_bytecode): Add the file name to the error message.
15715
15716 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
15717 which match the end of the file-name.
15718 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
15719 is not a valid env var, but leave it as is instead.
15720
15721 * keymap.c (access_keymap): Handle t bindings like nil bindings.
15722 Make nil bindings in char-tables transparent.
15723 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
15724
15725 2001-11-26 Richard M. Stallman <rms@gnu.org>
15726
15727 * textprop.c (set_text_properties_1): Allow START, END in either order.
15728 Do nothing if range is empty.
15729
15730 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
15731
15732 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
15733 (clean): Not here.
15734
15735 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
15736
15737 * textprop.c (set_text_properties_1): Clearly mark that the
15738 interval should not be empty.
15739
15740 * intervals.c (graft_intervals_into_buffer):
15741 Don't call set_text_properties_1 on an empty interval.
15742
15743 2001-11-25 Richard M. Stallman <rms@gnu.org>
15744
15745 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
15746
15747 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
15748 don't lose the data in it.
15749
15750 2001-11-25 Juanma Barranquero <lektu@terra.es>
15751
15752 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
15753
15754 * buffer.c (Fkill_buffer): Likewise.
15755
15756 * print.c (temp_output_buffer_setup): Likewise.
15757
15758 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
15759
15760 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
15761
15762 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
15763
15764 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
15765 Niemitalo <kon@iki.fi>.
15766
15767 2001-11-25 Jason Rumney <jasonr@gnu.org>
15768
15769 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
15770
15771 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
15772 (Fx_show_tip): Block input during frame creation.
15773 (Fx_show_tip, Fx_hide_tip): Enable.
15774
15775 2001-11-24 Richard M. Stallman <rms@gnu.org>
15776
15777 * lread.c (Fload): Detect recursive load error for more than 3
15778 nestings of the same file.
15779 (Vrecursive_load_depth_limit): Variable deleted.
15780 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
15781
15782 2001-11-24 Jason Rumney <jasonr@gnu.org>
15783
15784 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
15785 mouse position if either left or top is not specified.
15786
15787 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
15788 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
15789 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
15790 (my_create_tip_window): Assign tip_window.
15791 (x_create_tip_frame): Use same defaults as X.
15792 (compute_tip_xy): Remove unused variable. Use full screen width.
15793 (Fx_show_tip): Do not double height. Call ShowWindow directly.
15794
15795 * w32term.c (x_after_update_window_line): Doc fix.
15796 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
15797 frames.
15798 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
15799
15800 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
15801 for all Windowed systems.
15802
15803 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
15804
15805 * msdos.c (IT_clear_screen): If the frame's faces are not yet
15806 realized, use the initial screen colors to clear the screen.
15807
15808 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15809
15810 * textprop.c (Fset_text_properties): Remove unused variables
15811 `unchanged', `prev_changed', `s' and `len'.
15812
15813 * search.c (Freplace_match): Remove unused variable `inslen'.
15814
15815 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
15816
15817 2001-11-22 Jason Rumney <jasonr@gnu.org>
15818
15819 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
15820 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
15821 (my_create_tip_window): New function.
15822 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
15823 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
15824
15825 2001-11-20 Jason Rumney <jasonr@gnu.org>
15826
15827 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
15828 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
15829
15830 * w32fns.c (Vw32_system_coding_system): Remove.
15831 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
15832
15833 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
15834
15835 * fileio.c (Fwrite_region): Move choose_write_coding_system to
15836 after build_annotations.
15837
15838 * syntax.c (describe_syntax): Add dummy arg.
15839 (describe_syntax_1): Update call to describe_vector.
15840
15841 * category.c (describe_category): Add dummy arg.
15842 (describe_category_1): Update call to describe_vector.
15843
15844 * keymap.c (Fdescribe_vector): Add `describer' parameter.
15845 (describe_command, describe_translation): Add dummy second param.
15846 (describe_map): Call elt_describer with two arguments.
15847 (describe_vector_princ): Add `fun' parameter.
15848 Call it instead of the hardcoded `princ'.
15849 (describe_vector): Add arg `args'.
15850 Pass it as a new second argument to elt_describer.
15851
15852 * keymap.h (describe_vector): Update prototype.
15853
15854 * frame.c: Don't include keymap.h any more.
15855 (keys_of_frame): Remove.
15856
15857 * lisp.h (keys_of_frame): Remove declaration.
15858
15859 * emacs.c (main): Don't call `keys_of_frame' any more.
15860
15861 2001-11-14 Andreas Schwab <schwab@suse.de>
15862
15863 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
15864 if defined, 0 otherwise.
15865 (MAP_FAILED): Define if not defined and use it to test mmap failure.
15866 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
15867
15868 2001-11-19 Richard M. Stallman <rms@gnu.org>
15869
15870 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
15871
15872 2001-11-18 Jason Rumney <jasonr@gnu.org>
15873
15874 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
15875 (x_draw_bar_cursor): If the background color of the glyph under
15876 the cursor equals the frame's cursor color, use the glyph's
15877 foreground color for drawing the bar cursor.
15878 (x_after_update_window_line): Clear internal border in different
15879 circumstances.
15880 (w32_set_vertical_scroll_bar): Check for width and height > 0.
15881 (w32_draw_relief_rect): Correct relief by 1 pixel.
15882 (x_set_glyph_string_background_width):
15883 Set extends_to_end_of_line_p if the row's fill_line_p is set and
15884 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
15885 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
15886 if cursor_in_non_selected_windows is false.
15887 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
15888 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
15889 Notice if cursor gets overwritten.
15890 (notice_overwritten_cursor): Renamed from
15891 note_overwritten_text_cursor. Rewritten to take glyph widths
15892 into account, and to take X positions as parameters.
15893 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
15894 around call to x_draw_glyphs.
15895 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
15896 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
15897 color to use for image glyph reliefs.
15898 (x_draw_image_relief): Accept zero tool_bar_button_relief.
15899 (glyph_rect): Remove unused variable `area'.
15900
15901 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
15902 some items.
15903 (x_set_internal_border_width): Set frame garbaged when window
15904 doesn't exist yet.
15905 (Fx_create_frame): Accept zero tool_bar_button_relief.
15906 (x_clear_image_1, four_corners_best, image_background)
15907 (image_background_transparent): New functions.
15908 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
15909 (gs_format): Add `:background' entry.
15910 (lookup_image): Set IMG's background color if specified.
15911 (pbm_load, xbm_load_image, png_load): Set IMG's background field
15912 when appropriate.
15913 (x_clear_image_1): Reset `background_valid' and
15914 `background_transparent_valid' fields.
15915 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
15916 calculating it here. Set IMG's background_transparent field.
15917 (enum xpm_keyword_index): Add XPM_BACKGROUND.
15918 (enum png_keyword_index): Add PNG_BACKGROUND.
15919 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
15920 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
15921 (enum gif_keyword_index): Add GIF_BACKGROUND.
15922 (enum gs_keyword_index): Add GS_BACKGROUND.
15923 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
15924 Pre-calculate image background color where necessary.
15925 (x_create_x_image_and_pixmap, xbm_load, gs_load):
15926 Use display info's n_cbits entry for screen depth.
15927 (Fx_show_tip): Remove unused variables `buffer', `top',
15928 `left', `max_width' and `max_height'.
15929
15930 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
15931
15932 2001-11-18 Gerd Moellmann <gerd@gnu.org>
15933
15934 * puresize.h (BASE_PURESIZE): Increase to 750000.
15935
15936 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15937
15938 * frame.c (Fframe_live_p): Doc fix.
15939
15940 2001-11-18 Richard M. Stallman <rms@gnu.org>
15941
15942 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
15943 (message_dolog_marker3): New static variables hold three markers.
15944 (syms_of_xdisp): Initialize and staticpro them.
15945 (message_dolog): Use message_dolog_marker1..3 instead of
15946 allocating markers each time. Unchain them when done.
15947
15948 2001-11-17 Richard M. Stallman <rms@gnu.org>
15949
15950 * doc.c (Fsnarf_documentation): Doc fix.
15951
15952 2001-11-17 Andreas Schwab <schwab@suse.de>
15953
15954 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
15955
15956 2001-11-17 Richard M. Stallman <rms@gnu.org>
15957
15958 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
15959
15960 2001-11-17 Jason Rumney <jasonr@gnu.org>
15961
15962 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
15963
15964 2001-11-17 Gerd Moellmann <gerd@gnu.org>
15965
15966 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
15967 with invalid position.
15968
15969 2001-11-16 Richard M. Stallman <rms@gnu.org>
15970
15971 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
15972
15973 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
15974 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
15975 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
15976
15977 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
15978
15979 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
15980
15981 * fileio.c (build_annotations): Split off the tail.
15982 (build_annotations_2): New fun. Extracted from build_annotations.
15983 (Fwrite_region): Split the call to build_annotations into two
15984 calls to build_annotations and build_annotations_2.
15985
15986 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15987
15988 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
15989 clear_waiting_for_input with argument.
15990
15991 * xterm.h (x_update_cursor): Remove duplicated prototype.
15992
15993 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
15994
15995 * xterm.c (waiting_for_input): Remove unnecessary declaration.
15996
15997 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
15998
15999 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
16000
16001 * fileio.c (choose_write_coding_system): New fun, extracted
16002 from Fwrite_region.
16003 (Fwrite_region): Use it.
16004
16005 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
16006 (funcall_lambda, run_hook_with_args): Make static and add prototype.
16007 (ml_apply, find_handler_clause): Add prototype.
16008
16009 2001-11-16 Eli Zaretskii <eliz@gnu.org>
16010
16011 * config.in: Add #undef HAVE_COFF_H.
16012
16013 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
16014 Required for ISC 4.1.
16015
16016 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
16017
16018 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
16019 Andrew Wiseman <a.wiseman@btclick.com>.
16020
16021 2001-11-16 Kim F. Storm <storm@cua.dk>
16022
16023 The following changes are made to clean up the various internal
16024 references to the fringes to actually use the term `fringe' for
16025 them. Previously, they were called `flags areas', `bitmap areas',
16026 `left/right side of windows', or implicitly as `flags' or
16027 `bitmaps':
16028
16029 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
16030 Comments fixed. Use renamed symbols.
16031
16032 * dispnew.c: Comment fix. Use renamed symbols.
16033
16034 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
16035 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
16036 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
16037
16038 * msdos.c: Comment fix.
16039
16040 * w32fns.c: Use renamed symbols.
16041
16042 * w32term.c: Comment fixes. Use renamed symbols.
16043 (fringe_bitmap_type): Renamed from bitmap_type.
16044 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
16045 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
16046 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
16047
16048 * w32term.h: Comment fixes. Use renamed symbols.
16049 (fringes_extra): Renamed from flags_areas_extra.
16050 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
16051 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
16052 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
16053 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
16054 (FRAME_X_LEFT_FRINGE_WIDTH):
16055 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
16056 (FRAME_X_RIGHT_FRINGE_WIDTH):
16057 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
16058
16059 * widget.c: Use renamed symbols.
16060
16061 * window.c: Comment fixes. Use renamed symbols.
16062 (coordinates-in-window-p): Doc fix.
16063
16064 * xdisp.c: Comment fixes. Use renamed symbols.
16065
16066 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
16067
16068 * xfns.c: Use renamed symbols.
16069
16070 * xterm.c: Comment fixes. Use renamed symbols.
16071 (fringe_bitmap_type): Renamed from bitmap_type.
16072 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
16073 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
16074 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
16075
16076 * xterm.h: Comment fixes. Use renamed symbols.
16077 (fringes_extra): Renamed from flags_areas_extra.
16078 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
16079 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
16080 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
16081 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
16082 (FRAME_X_LEFT_FRINGE_WIDTH):
16083 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
16084 (FRAME_X_RIGHT_FRINGE_WIDTH):
16085 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
16086
16087 2001-11-15 Jason Rumney <jasonr@gnu.org>
16088
16089 * w32menu.c (add-menu-item): Make help_echo and radio buttons
16090 work for most menu items. From David Ponce
16091 <david.ponce@wanadoo.fr>.
16092
16093 2001-11-15 Gerd Moellmann <gerd@gnu.org>
16094
16095 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
16096 Some x_set_* function expect to be called even if old and new
16097 value are equal.
16098
16099 * xdisp.c (build_desired_tool_bar_string): Accept zero
16100 tool_bar_button_relief.
16101
16102 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
16103
16104 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
16105
16106 * xterm.c (x_draw_bar_cursor): If the background color of the
16107 glyph under the cursor equals the frame's cursor color, use
16108 the glyph's foreground color for drawing the bar cursor.
16109
16110 * dispnew.c (direct_output_forward_char): Fix character/byte
16111 position comparison.
16112
16113 2001-11-15 Miles Bader <miles@gnu.org>
16114
16115 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
16116 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
16117 Update arguments to find_field.
16118 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
16119 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
16120 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
16121 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
16122
16123 2001-11-14 Richard M. Stallman <rms@gnu.org>
16124
16125 * editfns.c (Fpropertize): Allow call with 1 arg.
16126
16127 * dispextern.h (image_background, image_background_transparent):
16128 Conditionalize on HAVE_X_WINDOWS.
16129
16130 2001-11-13 Richard M. Stallman <rms@gnu.org>
16131
16132 * print.c (Fprin1_to_string): Doc fix.
16133
16134 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
16135
16136 * floatfns.c (Fceiling, Ffloor): Doc fixes.
16137
16138 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
16139
16140 * fileio.c (Ffile_accessible_directory_p): Doc fix.
16141
16142 * eval.c (syms_of_eval): Doc fix.
16143
16144 * coding.c (syms_of_coding): Doc fix.
16145
16146 * doc.c (Fsnarf_documentation): Doc fix.
16147
16148 * dispnew.c (syms_of_display): Doc fix.
16149
16150 * category.c (Fget_unused_category): Doc fix.
16151
16152 * buffer.c (syms_of_buffer): Doc fixes.
16153
16154 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
16155
16156 * print.c (prin1, print): Doc fix.
16157
16158 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16159
16160 * fontset.h: Remove declarations of variables
16161 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
16162
16163 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
16164 `Vclip_large_size_font'.
16165
16166 2001-11-13 Jason Rumney <jasonr@gnu.org>
16167
16168 * w32fns.c: Doc fix.
16169
16170 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16171
16172 * xfaces.c (Fface_attributes_as_vector): Doc fix.
16173
16174 * fns.c: Doc fix.
16175
16176 * emacs.c: Doc fix.
16177
16178 * coding.c: Doc fix.
16179
16180 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
16181 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
16182 `new style' [w/`doc:' keyword].
16183
16184 2001-11-12 Richard M. Stallman <rms@gnu.org>
16185
16186 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
16187 LeaveNotify events. Only FocusIn and FocusOut do that now.
16188 (x_display_and_set_cursor): Do display hollow cursors in active
16189 minibuffer windows when they are not selected.
16190
16191 2001-11-12 Jason Rumney <jasonr@gnu.org>
16192
16193 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
16194 * w32term.c: Change doc-string comments to `new style'
16195 [w/`doc:' keyword]. Doc fixes.
16196
16197 * w32fns.c: Don't define max.
16198 (Fx_open_connection): Only execute once.
16199
16200 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16201
16202 * ccl.c: Change macros to use do-while block instead of if-else.
16203 Use braces to follow GNU Coding Standards.
16204
16205 2001-11-11 Richard M. Stallman <rms@gnu.org>
16206
16207 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
16208
16209 * lread.c (read_escape): Use end_of_file_error for reporting eof.
16210
16211 * insdel.c (replace_range): Use adjust_markers_for_replace
16212 instead of adjust_markers_for_delete and adjust_markers_for_insert.
16213
16214 * intervals.h (set_text_properties, set_text_properties_1): Declare.
16215
16216 * textprop.c (set_text_properties_1): New subroutine
16217 broken out of set_text_properties.
16218 (set_text_properties): Use set_text_properties_1.
16219
16220 * intervals.c (graft_intervals_into_buffer):
16221 Use set_text_properties_1 to clear out properties.
16222
16223 * search.c (Freplace_match): Use replace_range to insert
16224 and delete. Don't request property inheritance from
16225 surrounding text.
16226
16227 2001-11-10 Jason Rumney <jasonr@gnu.org>
16228
16229 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
16230 vertical fonts. Allow them if face name is explicitly specified.
16231 Do not give up if we find a font that cannot be converted to an xlfd.
16232
16233 2001-11-10 Gerd Moellmann <gerd@gnu.org>
16234
16235 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
16236 instead of malloc/free.
16237
16238 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16239
16240 * xfaces.c (merge_face_vectors): Use braces to follow GNU
16241 Coding Standards.
16242 (Finternal_set_lisp_face_attribute): Likewise.
16243
16244 * buffer.c (Fbury_buffer): Likewise.
16245
16246 * indent.c (current_column_1): Remove unused variable `prev_col'.
16247
16248 * coding.c (encode_coding): Use precomputed value of `src'.
16249 (encode_coding): Remove unused variable `src_end'.
16250 (code_convert_region): Remove unused variables `count'.
16251
16252 2001-11-07 Jason Rumney <jasonr@gnu.org>
16253
16254 * w32term.c (x_display_and_set_cursor): Do not move system caret
16255 if cursor_glyph is NULL.
16256
16257 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16258
16259 * keymap.c (access_keymap): Fix compilation error.
16260
16261 2001-11-07 Miles Bader <miles@gnu.org>
16262
16263 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
16264
16265 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16266
16267 * intervals.c (graft_intervals_into_buffer):
16268 Remove #ifdef'd-out code.
16269 (graft_intervals_into_buffer): Remove unused variable `middle'.
16270
16271 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
16272 code (eval-current-buffer).
16273 Change doc-string comments to `new style' [w/`doc:' keyword].
16274
16275 2001-11-06 Richard M. Stallman <rms@gnu.org>
16276
16277 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
16278
16279 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
16280
16281 * lread.c (read1): Fix behavior with nested backquoting.
16282
16283 * keyboard.c (make_lispy_event): Check integerness and fix
16284 Lisp_Object/int mixup.
16285
16286 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16287
16288 * fns.c (copy_hash_table): Remove unused variable `v'.
16289
16290 * fontset.c (fontset_font_pattern): Remove unused variable
16291 `family_registry'.
16292
16293 * indent.c (current_column_1): Remove unused variable `prev_col'.
16294
16295 2001-11-05 Richard M. Stallman <rms@gnu.org>
16296
16297 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
16298
16299 * buffer.c (Fkill_buffer): Don't delete auto save file
16300 if buffer is modified.
16301
16302 2001-11-05 Andrew Innes <andrewi@gnu.org>
16303
16304 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
16305 CHECK_NUMBER_CDR.
16306
16307 2001-11-05 Richard M. Stallman <rms@gnu.org>
16308
16309 * unexelf.c (unexec): Minor changes; clean up comments.
16310
16311 2001-11-05 Sam Steingold <sds@gnu.org>
16312
16313 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
16314
16315 2001-11-05 Andreas Schwab <schwab@suse.de>
16316
16317 * sound.c (sound_perror): Save errno from being clobbered.
16318
16319 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
16320
16321 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
16322 the program image directly.
16323
16324 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16325
16326 * buffer.h (Fbuffer_local_value): Add prototype.
16327
16328 2001-11-04 Richard M. Stallman <rms@gnu.org>
16329
16330 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
16331 and CHECK_BUFFER.
16332
16333 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
16334 (record_char): Likewise.
16335
16336 * keyboard.c (make_lispy_event): Don't insist a drag event must
16337 move to a different buffer position. Instead, check for moving at
16338 least double_click_fuzz.
16339
16340 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
16341
16342 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
16343
16344 * indent.c (current_column_1, Fmove_to_column): Separate the code
16345 for display-table glyphs from the code for buffer text, to fix
16346 bugs in the former.
16347
16348 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
16349
16350 * buffer.c (Fbuffer_local_value): New function.
16351 (syms_of_buffer): Defsubr it.
16352
16353 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
16354 value of `cursor-in-non-selected-windows'.
16355
16356 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
16357 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
16358 (syms_of_xdisp): Initialize it.
16359
16360 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16361
16362 * xfns.c (Fx_create_frame): Doc fix.
16363
16364 * coding.c: Change doc-string comments to `new style' [w/`doc:'
16365 keyword].
16366
16367 * eval.c (top_level_value, top_level_set): Remove commented and
16368 #ifdef'd-out code.
16369 (Fdefvar): Fix usage in doc-string.
16370
16371 2001-11-03 Richard M. Stallman <rms@gnu.org>
16372
16373 * xfns.c: Include unistd.h, if it exists.
16374
16375 * editfns.c: Move the include of ctype.h after unistd.h.
16376
16377 * gmalloc.c: Test BROKEN_PROTOTYPES.
16378
16379 2001-11-03 Ken Raeburn <raeburn@gnu.org>
16380
16381 * lisp.h (CHECK_STRING_CAR): New macro.
16382 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
16383 treating XCAR and XCDR as lvalues.
16384 (openp): Use CHECK_STRING_CAR.
16385 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
16386
16387 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
16388
16389 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
16390 (SIGMASKTYPE): Define.
16391
16392 * syssignal.h (sigunblock): Don't define if already defined.
16393
16394 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16395
16396 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
16397 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
16398 Fix typos in comments.
16399
16400 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
16401 and #ifdef'd-out code.
16402 Fix and reindent comments.
16403
16404 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
16405
16406 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
16407 argument `i' in macros.
16408
16409 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
16410 `i' in macros.
16411
16412 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
16413 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
16414 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
16415 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
16416 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
16417 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
16418 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
16419 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
16420 in macros.
16421
16422 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
16423 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
16424 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
16425 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
16426 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
16427 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
16428 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
16429 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
16430 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
16431 (remove unused second argument).
16432
16433 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
16434
16435 * syntax.c (describe_syntax): New wrapper.
16436 (Finternal_describe_syntax_value): Rename from describe_syntax.
16437 Don't insert space at front and \n at the end.
16438 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
16439
16440 * regex.c (re_wctype): Try to fix some warnings.
16441 (regcomp, regexec): Don't forget the __restrict.
16442
16443 2001-11-02 Richard M. Stallman <rms@gnu.org>
16444
16445 * textprop.c (Fget_char_property): Doc fix.
16446
16447 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16448
16449 * process.c (Fstart_process): Add usage to doc-string.
16450
16451 * data.c (Fsetq_default): Ditto.
16452
16453 * callint.c (Finteractive): Ditto.
16454
16455 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
16456
16457 * macros.c: Don't include keymap.h any more.
16458
16459 2001-11-01 Richard M. Stallman <rms@gnu.org>
16460
16461 * data.c (Fmake_local_variable): Doc fix.
16462
16463 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
16464 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
16465
16466 * keymap.c (Fdescribe_buffer_bindings): Print character property
16467 bindings along with or instead of the buffer local map.
16468 Make the overriding maps override what they should.
16469
16470 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16471
16472 * window.c (grow_mini_window): Fix typo in comment.
16473
16474 2001-11-01 Gerd Moellmann <gerd@gnu.org>
16475
16476 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
16477 (XTset_vertical_scroll_bar): Likewise.
16478
16479 * xfns.c (x_build_heuristic_mask): Use four_corners_best
16480 instead of IMAGE_BACKGROUND.
16481
16482 * xfns.c (four_corners_best): Reindent.
16483
16484 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
16485 Handle :box so that it is possible to specify sexprs.
16486
16487 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
16488
16489 * s/hpux11.h: New file.
16490
16491 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16492
16493 * emacs.c (USAGE1): Show command line option --no-window-system
16494 instead of --no-windows in usage.
16495 (standard_args): Rename --no-windows to --no-window-system.
16496 (bug_reporting_address): Follow Emacs coding conventions.
16497
16498 * eval.c (Fcommandp): Doc fix.
16499 Change doc-string comments to `new style' [w/`doc:' keyword].
16500
16501 * frame.c (Fframe_live_p): Doc fix.
16502
16503 * buffer.c (selective-display-ellipses): Doc fix.
16504
16505 2001-10-31 Gerd Moellmann <gerd@gnu.org>
16506
16507 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
16508
16509 * xfaces.c (realize_x_face): If C is not a single-byte character,
16510 set the face's colors_copied_bitwise_p instead of the defaulted_p
16511 members which have a different meaning.
16512 (free_face_colors): Do nothing for a face whose colors have been
16513 copied bitwise.
16514
16515 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
16516
16517 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16518
16519 * marker.c, mocklisp.c: Change doc-string comments to `new style'
16520 [w/`doc:' keyword].
16521
16522 2001-10-31 Gerd Moellmann <gerd@gnu.org>
16523
16524 * fns.c (require_unwind): Return Lisp_Object.
16525
16526 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16527
16528 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
16529 (last-input-char): Revert doc-string to be the same as the
16530 doc-string of `last-input-event'.
16531
16532 * xdisp.c: Fix typos in comments.
16533
16534 2001-10-31 Gerd Moellmann <gerd@gnu.org>
16535
16536 * window.c (grow_mini_window): Handle case that the root
16537 window is already smaller than the nominal mininum height.
16538
16539 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
16540
16541 * emacs.c (main): Don't call keys_of_macros any more.
16542
16543 * lisp.h (keys_of_macros): Remove.
16544
16545 * macros.c (keys_of_macros): Remove.
16546
16547 * xfaces.c (Fface_attribute_relative_p): Declare args.
16548
16549 2001-10-30 Jason Rumney <jasonr@gnu.org>
16550
16551 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
16552 (enum_font_cb2): Ignore fonts with vertical orientation.
16553
16554 2001-10-30 Richard M. Stallman <rms@gnu.org>
16555
16556 * keyboard.c (Finput_pending_p): Doc fix.
16557
16558 2001-10-30 Gerd Moellmann <gerd@gnu.org>
16559
16560 * xterm.c (x_after_update_window_line): Don't run the code
16561 clearing in borders for rows whose visible height is 0.
16562
16563 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
16564 resized_p flag is set. If not set, use the much less flickering
16565 method previously used.
16566
16567 * dispnew.c (change_frame_size_1): Set frame's resized_p.
16568
16569 * frame.h (struct frame) <resized_p>: New member.
16570
16571 * lread.c (to_multibyte): Ensure read_buffer is at least twice
16572 as large as the number of bytes to convert.
16573
16574 * lread.c (to_multibyte): New function.
16575 (read1): Use it.
16576
16577 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
16578
16579 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
16580
16581 2001-10-30 Gerd Moellmann <gerd@gnu.org>
16582
16583 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
16584 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
16585 if the row's fill_line_p is set and drawing the last glyph with
16586 DRAW_IMAGE_{RAISED,SUNKEN}.
16587
16588 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
16589
16590 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
16591
16592 * xmenu.c: Include coding.h and charset.h.
16593 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
16594 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
16595 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
16596 Explicitly set wv->help. Use `TRUE' rather than `True'.
16597 (menu_help_callback): Use empty_string.
16598
16599 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
16600 (Fx_popup_dialog): Explicitly init f.
16601 (w32_menu_display_help): Use empty_string.
16602
16603 2001-10-29 Richard M. Stallman <rms@gnu.org>
16604
16605 * fns.c (Frequire): Detect recursive try to require the same
16606 feature 3 or more levels deep, and get error.
16607 (require_unwind): New subroutine.
16608 (require_nesting_list): New variable.
16609 (syms_of_fns): Init and staticpro it.
16610
16611 * print.c (print_object): Clarify indication of insertion type.
16612
16613 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
16614
16615 * coding.c (syms_of_coding): Document that locale-coding-system is
16616 used for decoding input on X.
16617
16618 * window.c (Fscroll_left, Fscroll_right): Doc fix.
16619
16620 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16621
16622 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
16623 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
16624
16625 2001-10-29 Gerd Moellmann <gerd@gnu.org>
16626
16627 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
16628 use NO_CURSOR if cursor_in_non_selected_windows is false.
16629
16630 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
16631 the slant attribute if FRAME is t.
16632
16633 * xfns.c (x_set_internal_border_width): Set frame garbaged
16634 when X window doesn't exist yet.
16635
16636 * xterm.c (x_after_update_window_line): Clear internal border
16637 in different circumstances.
16638
16639 * xterm.c (XTread_socket) <KeyPress>: Don't use
16640 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
16641 <handa@etl.go.jp>.
16642
16643 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
16644
16645 * m/ibms390.h: New file. From Adam Thornton
16646 <athornton@sinenomine.net>.
16647
16648 2001-10-28 Gerd Moellmann <gerd@gnu.org>
16649
16650 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
16651
16652 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
16653 a loop counter.
16654
16655 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16656
16657 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
16658
16659 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
16660 keyword].
16661 Fix typos in comments.
16662
16663 * emacs.c (bug_reporting_address): New function.
16664 Use it when displaying usage message.
16665
16666 * minibuf.c (read_minibuf): Remove unused external declaration of
16667 variable `Qread_only'.
16668
16669 * keymap.c (access_keymap): Remove unused variable `charset'.
16670
16671 2001-10-28 Miles Bader <miles@gnu.org>
16672
16673 * xfaces.c (merge_face_heights): Handle TO being relative as well.
16674 Remove #ifdef'd-out code.
16675 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
16676 (syms_of_xfaces): Initialize them.
16677
16678 2001-10-27 Jason Rumney <jasonr@gnu.org>
16679
16680 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
16681 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
16682 position using the system caret.
16683
16684 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
16685 (w32_system_caret_height, w32_system_caret_x)
16686 (w32_system_caret_y): New variables for tracking system caret.
16687 (w32_initialize): Initialize them.
16688 (x_display_and_set_cursor): Make system caret follow the active cursor.
16689
16690 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
16691 New messages types.
16692
16693 * w32term.c (note_mouse_highlight): Clear old help_echo.
16694
16695 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16696
16697 * xterm.c: Fix typo in a comment.
16698
16699 * emacs.c: Fix typos in comments.
16700 Remove unnecessary spaces.
16701 Change doc-string comments to `new style' [w/`doc:' keyword].
16702 (USAGE2): Fix typos in usage string.
16703
16704 * xterm.c: Fix typo in a comment.
16705
16706 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
16707 emacs.c.
16708
16709 2001-10-27 Gerd Moellmann <gerd@gnu.org>
16710
16711 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
16712 instead of 1/2 line_height in the heuristic for skipping
16713 farther backward when target_y was not reached.
16714
16715 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
16716 Display errno only if non-zero.
16717 (sound_warning): New function.
16718 (vox_configure): Don't treat failing to set sample rate as error.
16719 (various places): Improve error messages.
16720
16721 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
16722
16723 * fileio.c (Faccess_file): Run the argument filename through
16724 Fexpand_file_name, before using it.
16725
16726 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
16727 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
16728
16729 2001-10-26 Gerd Moellmann <gerd@gnu.org>
16730
16731 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
16732
16733 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
16734 Fix clearing in the case of scroll bars on the right.
16735
16736 2001-10-26 Juanma Barranquero <lektu@terra.es>
16737
16738 * w32gui.h (XImage): Add a dummy typedef.
16739
16740 2001-10-26 Gerd Moellmann <gerd@gnu.org>
16741
16742 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
16743
16744 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
16745
16746 * frame.c (Fframe_parameter): Fix last change.
16747
16748 * fileio.c: Revert last change (which removed old commented-out
16749 version of expand-file-name). Add a comment that explains why
16750 this old version should not be removed.
16751
16752 2001-10-25 Gerd Moellmann <gerd@gnu.org>
16753
16754 * frame.c (Fframe_parameter): Fix a bug whereby some
16755 ``artificial'' frame parameters, like `minibuffer' were not
16756 obtained by calling Fframe_parameters.
16757
16758 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
16759 cursor differently.
16760
16761 * xdisp.c (move_it_vertically_backward): Compute line height
16762 differently. Add heuristic to try to be more compatible to 20.x.
16763
16764 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
16765
16766 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
16767
16768 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
16769 boolean.
16770
16771 2001-10-25 Miles Bader <miles@gnu.org>
16772
16773 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
16774 BG is a pointer to a structure, not a structure.
16775 (gif_format, png_format): Add missing commas.
16776
16777 2001-10-24 Richard M. Stallman <rms@gnu.org>
16778
16779 * xfaces.c (Fface_attributes_as_vector): New function.
16780 (syms_of_xfaces): Defsubr it.
16781
16782 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16783
16784 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
16785 variable `area'.
16786
16787 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16788
16789 * search.c (scan_newline): Remove unused variable `selective_display'.
16790
16791 2001-10-25 Miles Bader <miles@gnu.org>
16792
16793 * dispextern.h (struct image): Add `background',
16794 `background_valid', and `background_transparent' fields.
16795 (image_background, image_background_transparent): New declarations.
16796 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
16797 * xfns.c (image_background, image_background_transparent)
16798 (four_corners_best): New functions.
16799 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
16800 (gs_format): Add `:background' entry.
16801 (lookup_image): Set IMG's background color if specified.
16802 (pbm_load, xbm_load_image, png_load): Set IMG's background field
16803 when appropriate.
16804 (x_clear_image_1): Reset `background_valid' and
16805 `background_transparent_valid' fields.
16806 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
16807 calculating it here. Set IMG's background_transparent field.
16808 (enum xpm_keyword_index): Add XPM_BACKGROUND.
16809 (enum png_keyword_index): Add PNG_BACKGROUND.
16810 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
16811 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
16812 (enum gif_keyword_index): Add GIF_BACKGROUND.
16813 (enum gs_keyword_index): Add GS_BACKGROUND.
16814 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
16815 Pre-calculate image background color where necessary.
16816 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
16817 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
16818 color to use for image glyph reliefs.
16819
16820 2001-10-24 Gerd Moellmann <gerd@gnu.org>
16821
16822 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
16823 in full-width rows.
16824
16825 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
16826 Fix clearing of area not covered by scroll bar.
16827
16828 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16829
16830 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
16831 and `real_start'.
16832 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
16833 (glyph_rect): Remove unused variable `area'.
16834
16835 2001-10-24 Gerd Moellmann <gerd@gnu.org>
16836
16837 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
16838
16839 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
16840 (row_containing_pos): Take additional argument DY.
16841 Treat rows ending in middle of char differently.
16842 (display_line): Handle tabs on window systems differently.
16843
16844 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
16845 with additional argument.
16846
16847 * dispextern.h (row_containing_pos): Adjust prototype.
16848
16849 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
16850 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
16851 (try_window_id, try_window_reusing_current_matrix)
16852 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
16853 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
16854
16855 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16856
16857 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
16858 gnuemacs).
16859 (HAVE_BOXES): Fix typo in comment.
16860 (push_menu_pane): Fix typo in comment.
16861
16862 * xdisp.c: (display_prop_string_p): Remove unused local declaration
16863 of `Qwhen'.
16864 (single_display_prop_string_p): Remove unused local declarations
16865 of `Qwhen' and `Qmargin'.
16866 (string_buffer_position): Remove unused variable `around'.
16867 (store_frame_title): Remove unused variable `width'.
16868
16869 * window.c: Don't define max.
16870 (coordinates_in_window): Remove unused variable `uy'.
16871
16872 * widget.c: Don't define max.
16873
16874 * process.c: Don't define max.
16875 (create_process): Remove unused variable `buffer'.
16876
16877 2001-10-23 Gerd Moellmann <gerd@gnu.org>
16878
16879 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
16880
16881 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
16882
16883 * xfaces.c (Finternal_set_lisp_face_attribute)
16884 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
16885 frame is on a windowed display.
16886
16887 2001-10-23 Gerd Moellmann <gerd@gnu.org>
16888
16889 * dispnew.c (sync_window_with_frame_matrix_rows):
16890 Fix handling of windows which aren't full-width, fix handling
16891 of marginal areas.
16892
16893 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
16894
16895 2001-10-23 Andreas Schwab <schwab@suse.de>
16896
16897 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
16898 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
16899
16900 2001-10-23 Gerd Moellmann <gerd@gnu.org>
16901
16902 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
16903 REAL_END. Notice if cursor gets overwritten.
16904 (notice_overwritten_cursor): Take X positions as parameters.
16905 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
16906 around call to x_draw_glyphs.
16907
16908 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16909
16910 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
16911 instead of C) and usage.
16912
16913 * editfns.c (char-to-string): Fix argument names (use CHAR instead
16914 of C) and usage.
16915
16916 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
16917 `left', `max_width' and `max_height'.
16918
16919 2001-10-23 Gerd Moellmann <gerd@gnu.org>
16920
16921 * xdisp.c (display_line): For a tab continued to the next line,
16922 set row's ends_in_middle_of_char_p.
16923
16924 2001-10-22 Gerd Moellmann <gerd@gnu.org>
16925
16926 * xdisp.c (display_line): Fix computation of continuation lines
16927 width for TABs.
16928
16929 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16930
16931 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
16932 `Qlaplace'.
16933
16934 * fileio.c: Remove unused code.
16935
16936 2001-10-22 Miles Bader <miles@gnu.org>
16937
16938 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
16939 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
16940 Remove `DOC_STRINGS_IN_COMMENTS' cases.
16941
16942 2001-10-21 Jason Rumney <jasonr@gnu.org>
16943
16944 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
16945
16946 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
16947
16948 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
16949 (Finsert_string): Avoid the multi-line string literals warning.
16950
16951 2001-10-22 Miles Bader <miles@gnu.org>
16952
16953 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
16954 (Fdocumentation): Don't use it.
16955 (syms_of_doc): Don't initialize it.
16956
16957 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
16958 * print.c (Fwith_output_to_temp_buffer): Likewise.
16959 * window.c (Fsave_window_excursion): Likewise.
16960 * editfns.c (Fsave_excursion, Fsave_current_buffer)
16961 (Fsave_restriction): Likewise.
16962 * eval.c (Frun_hooks, Frun_hook_with_args)
16963 (Frun_hook_with_args_until_failure)
16964 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
16965 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
16966 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
16967 (Funwind_protect, Fcondition_case): Likewise.
16968 * coding.c (Ffind_operation_coding_system): Likewise.
16969 * keyboard.c (Ftrack_mouse): Likewise.
16970
16971 2001-10-21 Miles Bader <miles@gnu.org>
16972
16973 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
16974 (Fmake_hash_table): Add usage: string to doc string.
16975 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
16976 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
16977 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
16978 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
16979 (Fml_prefix_argument_loop): Likewise.
16980
16981 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16982
16983 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
16984
16985 * sysdep.c (init_sys_modes): Change doc-string comments to `new
16986 style' [w/`doc:' keyword].
16987
16988 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
16989 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
16990 comments to `new style' [w/`doc:' keyword].
16991
16992 2001-10-21 Jason Rumney <jasonr@gnu.org>
16993
16994 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
16995
16996 * w32term.c (remember_mouse_glyph): New function.
16997 (w32_mouse_position): Use it.
16998 (note_mouse_movement): If the mouse moved off the glyph, remember
16999 its new position.
17000
17001 * w32term.h (struct w32_output): Correct spelling of x_compatible.
17002 (w32_display_info): Add mouse_face_overlay.
17003
17004 * w32term.c (notice_overwritten_cursor): Renamed from
17005 note_overwritten_text_cursor. Rewritten to take glyph widths into
17006 account.
17007 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
17008 (fast_find_string_pos): New function.
17009 (fast_find_position): Return the correct vpos. Add parameter
17010 STOP. In the final row, stop before glyphs having STOP as object.
17011 Don't consider glyphs that are not from a buffer.
17012 (fast_find_position) [0]: Add a presumably more correct version
17013 for after 21.1.
17014 (expose_window_tree, expose_frame): Don't compute intersections here.
17015 (expose_window): Do it here instead.
17016 (expose_window_tree, expose_window, expose_line): Return 1 when
17017 overwriting mouse-face.
17018 (expose_window): If W is the window currently being updated, mark
17019 the frame garbaged.
17020 (expose_frame): If mouse-face was overwritten, redo it.
17021 (x_use_underline_position_properties): New variable.
17022 (syms_of_xterm): DEFVAR_BOOL it.
17023 (x_draw_glyph_string): Add comment to use it in future.
17024 (x_draw_glyph_string): Restore clipping after drawing box.
17025 Fix a computation of the underline position.
17026 (w32_get_glyph_string_clip_rect): Minor cleanup.
17027 (x_fill_stretch_glyph_string): Remove an assertion.
17028 (x_produce_glyphs): Don't convert multibyte characters
17029 to unibyte characters in unibyte buffers.
17030 (cursor_in_mouse_face_p): New function.
17031 (x_draw_stretch_glyph_string): Use it to choose a different GC
17032 when drawing a cursor within highlighted text. Don't draw
17033 background again if it has already been drawn.
17034 (x_draw_glyph_string_box): Don't draw a full-width
17035 box just because the glyph row's full_width_p flag is set.
17036 (x_draw_glyphs): Fix computation of rightmost x for
17037 full-width rows.
17038 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
17039 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
17040 change bottom shadow accordingly. Some cleanup.
17041 (x_update_window_end): Handle overwritten mouse face
17042 also for tool bar windows.
17043 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
17044 DRAW is DRAW_IMAGE_RAISED.
17045 (clear_mouse_face): Return 1 if text with mouse face was
17046 actually redrawn. Make the function static.
17047 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
17048 optimize away highlighting if we pass over that same overlay again.
17049 (note_mouse_highlight): Call mouse_face_overlay_overlaps
17050 to detect a case where we have to highlight a different region
17051 despite not having left the currently highlighted region.
17052 Set mouse_face_overlay in the x_display_info. Avoid changing the
17053 mouse pointer shape when show_mouse_face has already done it, or
17054 there is no need. Handle mouse-face and help-echo in strings.
17055 (glyph_rect): New function.
17056 (w32_mouse_position): Use it to raise the threshold for mouse
17057 movement event generation.
17058 (w32_initialize_display_info): Initialize the x_display_info's
17059 mouse_face_overlay.
17060 (w32_set_vertical_scroll_bar): Don't clear a zero height
17061 or width area.
17062 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
17063 a widget to zero height.
17064
17065 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
17066 Protect unibyte strings created by replacing their multibyte
17067 equivalents in menu_items.
17068 (w32_menu_show): Don't overwrite an item's name with its key
17069 description in case the description is a multibyte string.
17070 (single_submenu): Some cleanup.
17071
17072 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
17073 (postprocess_image): New function.
17074 (lookup_image): Call it for all image types except PostScript.
17075 (x_kill_gs_process): Call postprocess_image.
17076 (tiff_error_handler, tiff_warning_handler): New functions.
17077 (tiff_load): Install them as handlers.
17078 (x_kill_gs_process): Recognize if someone has cleared the image
17079 cache under us.
17080 (valid_image_p): Protect better against invalid image
17081 specifications. Previous code could signal an error.
17082 (Fx_hide_tip, Fshow_tip): Doc fix.
17083 (Fv_max_tooltip_size): New variable.
17084 (syns_of_xfns): DEFVAR_LISP it.
17085 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
17086 window buffer to *tip* right after creating the frame. Set frame's
17087 window_width. Use a maximum tooltip size specified by
17088 Vx_max_tooltip_size, if that has valid contents.
17089 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
17090 Make sure the tooltip is completely visible.
17091 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
17092 (Fx_create_frame): Adjust the frame's height for presence
17093 of the tool bar before calling x_figure_window_size.
17094 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
17095 when the window gets smaller.
17096 (x_set_foreground_color): Set frame's cursor_pixel.
17097 (x_set_foreground_color, x_set_background_color): Cleaned up.
17098 (x_set_font): Handle case of x_new_fontset returning the same name
17099 as before, although there was a change in fontsets.
17100
17101 2001-10-21 Miles Bader <miles@gnu.org>
17102
17103 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
17104 (Flogxor): Add usage: string to doc string.
17105 * charset.c (Fstring): Likewise.
17106 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
17107 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
17108
17109 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17110
17111 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
17112
17113 * alloc.c: Reindent DEFUNs with doc: keywords.
17114
17115 * abbrev.c (Finsert_abbrev_table_description): Reindent.
17116
17117 * frame.c: Change doc-string comments to `new style' [w/`doc:'
17118 keyword].
17119
17120 See ChangeLog.9 for earlier changes.
17121
17122 ;; Local Variables:
17123 ;; coding: iso-2022-7bit
17124 ;; End:
17125
17126 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
17127 Copying and distribution of this file, with or without modification,
17128 are permitted provided the copyright notice and this notice are preserved.
17129
17130 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4