]> code.delx.au - gnu-emacs/blob - src/ChangeLog
(struct mac_output) [TARGET_API_MAC_CARBON]: New member
[gnu-emacs] / src / ChangeLog
1 2005-03-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * macterm.c (keycode_to_xkeysym_table): Change mapping so that it
4 coincide with that in Apple X11 except `clear', `enter' on
5 laptops, and fn + `enter' on laptops.
6
7 2005-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
8
9 * xmenu.c (ENCODE_MENU_STRING): Explicitly use string_make_unibyte.
10 (list_of_panes, list_of_items, Fx_popup_menu): Use XCAR/XCDR.
11 (digest_single_submenu, xmenu_show): Use ENCODE_MENU_STRING.
12
13 * xfns.c (xic_defaut_fontset): New constant.
14 (xic_create_fontsetname): New function.
15 Extracted from create_frame_xic. Try to generate a slightly
16 better fontset.
17 (xic_create_xfontset): Use it.
18 (create_frame_xic): Simplify.
19
20 2005-03-11 Stefan Monnier <monnier@iro.umontreal.ca>
21
22 * fileio.c (Fmake_symbolic_link): Fix last change.
23
24 2005-03-11 Richard M. Stallman <rms@gnu.org>
25
26 * fileio.c (Frename_file, Fadd_name_to_file)
27 (Fmake_symbolic_link): If NEWNAME or LINKNAME is a directory,
28 expand the basename of FILE relative to it.
29
30 2005-03-11 Kenichi Handa <handa@m17n.org>
31
32 * fileio.c (Finsert_file_contents): Call Fcheck_coding_system
33 before calling setup_coding_system so that autoloading of a coding
34 system work.
35
36 2005-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
37
38 * xfns.c (hourglass_started): New function.
39
40 * dispextern.h: Declare hourglass_started.
41
42 * keyboard.c (Fexecute_extended_command): Restart hourglass
43 after call to Fcompleting_read if already started.
44
45 * gtkutil.c (xg_update_scrollbar_pos): Call x_sync so that the
46 GTK main loop is entered in xterm.c, thus doing the redraw.
47
48 2005-03-10 Kim F. Storm <storm@cua.dk>
49
50 * xdisp.c (pos_visible_p): Fix X value in last line of buffer.
51
52 2005-03-08 Kenichi Handa <handa@m17n.org>
53
54 * frame.c (x_set_font): Call set_default_ascii_font if an
55 available font is found.
56
57 * fontset.c (set_default_ascii_font): New function.
58 (syms_of_fontset): Don't set FONTSET_ASCII (Vdefault_fontset) here.
59
60 * fontset.h (set_default_ascii_font): Extern it.
61
62 2005-03-07 Kim F. Storm <storm@cua.dk>
63
64 * xdisp.c (CLEAR_IMAGE_CACHE_COUNT): New const.
65 (clear_image_cache_count): New var.
66 (redisplay_internal): Don't clear face and image caches in the
67 middle of redisplay; do it afterwards.
68
69 * blockinput.h (TOTALLY_UNBLOCK_INPUT): Avoid dangling else.
70
71 * xdisp.c (notice_overwritten_cursor): Check that phys_cursor.vpos
72 is valid. If not, clear phys_cursor_on_p and return.
73
74 2005-03-07 Andreas Schwab <schwab@suse.de>
75
76 * blockinput.h (UNBLOCK_INPUT_TO): Always call UNBLOCK_INPUT.
77
78 2005-03-06 Richard M. Stallman <rms@gnu.org>
79
80 * keyboard.c (Ftop_level): Let Fthrow deal with UNBLOCK_INPUT.
81
82 * eval.c (unwind_to_catch): Use UNBLOCK_INPUT_TO.
83 (Feval, Ffuncall): Use CHECK_CONS_LIST.
84
85 * lisp.h (CHECK_CONS_LIST): New macro (two definitions).
86
87 * blockinput.h (UNBLOCK_INPUT_TO): New macro.
88 (TOTALLY_UNBLOCK_INPUT): Handle a pending signal if any.
89
90 2005-03-05 Juri Linkov <juri@jurta.org>
91
92 * emacs.c (USAGE1): Replace Info node name "command arguments"
93 with "emacs invocation".
94 (USAGE3): Fix usage of `--color=MODE' which actually doesn't
95 allow arguments `--color' and `MODE' to be separated by space.
96 Add --no-blinking-cursor, -nbc.
97 (standard_args): Add -nbc, --no-blinking-cursor.
98
99 2005-03-04 Thien-Thi Nguyen <ttn@gnu.org>
100
101 * s/vms.h: Define NO_HYPHENS_IN_FILENAMES.
102 * s/vms4-4.h, s/vms5-5.h: Undefine NO_HYPHENS_IN_FILENAMES.
103 * fileio.c (Fexpand_file_name) [VMS]:
104 Use NO_HYPHENS_IN_FILENAMES, not VMS4_4.
105 * doc.c (munge_doc_file_name) [VMS]: Likewise.
106 (Fsnarf_documentation): Call munge_doc_file_name.
107
108 2005-03-04 Thien-Thi Nguyen <ttn@gnu.org>
109
110 * s/vms.h (FILE_SYSTEM_CASE): New macro.
111 * fileio.c (Fexpand_file_name) [VMS]: Don't upcase the name
112 "manually"; this is now handled generally via FILE_SYSTEM_CASE.
113
114 2005-03-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
115
116 * emacs.c (main): Change `#ifdef HAVE_CARBON' to `#if
117 defined (MAC_OSX) && defined (HAVE_CARBON)'.
118
119 * image.c [!MAC_OSX && TARGET_API_MAC_CARBON]: Include QuickTime.h.
120
121 * mac.c [!MAC_OSX && HAVE_CARBON]: Include Carbon.h.
122 [!MAC_OSX] (select) [TARGET_API_MAC_CARBON]: Use ReceiveNextEvent.
123 (posix_pathname_to_fsspec, fsspec_to_posix_pathname): New functions.
124 (mac_clear_font_name_table): Move extern to macterm.h.
125
126 * macfns.c (install_window_handler): Move extern to macterm.h.
127 (Fx_file_dialog): Check STRINGP (default_filename) to see it is
128 valid. Don't check !NILP (dir) because it is already checked with
129 CHECK_STRING.
130 (Fx_file_dialog) [!MAC_OSX]: Use FSSpec instead of FSRef for
131 specifying the default location and obtaining the selected filename.
132
133 * macgui.h [!MAC_OSX && HAVE_CARBON]: Include Carbon.h.
134
135 * macmenu.c [TARGET_API_MAC_CARBON]: Don't include headers that
136 are included via Carbon.h.
137
138 * macterm.c [TARGET_API_MAC_CARBON && !MAC_OSX]:
139 Define USE_CARBON_EVENTS to 1.
140 (qd) [__MRC__ && TARGET_API_MAC_CARBON]: Don't declare.
141 (x_free_frame_resources): Call remove_window_handler for
142 non-tooltip windows.
143 [TARGET_API_MAC_CARBON]: Don't include headers that are included
144 via Carbon.h.
145 [TARGET_API_MAC_CARBON] (mac_do_track_dragUPP)
146 (mac_do_receive_dragUPP): New variables.
147 (mac_handle_service_event, init_service_handler): Put declarations
148 and definitions in #ifdef MAC_OSX.
149 (install_window_handler) [TARGET_API_MAC_CARBON]: Create UPPs for
150 drag-and-drop handler functions and register them.
151 (remove_window_handler): New function.
152 (do_ae_open_documents, mac_do_receive_drag) [!MAC_OSX]:
153 Use fsspec_to_posix_pathname.
154 (main): Change #if !TARGET_API_MAC_CARBON to #ifdef MAC_OS8.
155 (XTread_socket) [!MAC_OSX]: Don't pass keyboard events to TSM.
156 [MAC_OS8] (make_mac_terminal_frame) [TARGET_API_MAC_CARBON]:
157 Set default cursors.
158 (mac_initialize) [USE_CARBON_EVENTS && !MAC_OSX] : Don't call
159 init_service_handler or init_quit_char_handler.
160 (mac_initialize) [!MAC_OSX]: Don't call MakeMeTheFrontProcess.
161
162 * macterm.h (install_window_handler, remove_window_handler)
163 (posix_pathname_to_fsspec, fsspec_to_posix_pathname)
164 (mac_clear_font_name_table): New externs.
165
166 2005-03-03 Thien-Thi Nguyen <ttn@gnu.org>
167
168 * fileio.c (FILE_SYSTEM_CASE): Define macro if not already defined.
169 (Ffile_name_directory): Use FILE_SYSTEM_CASE unconditionally.
170 (Fexpand_file_name): Likewise.
171
172 2005-03-03 Thien-Thi Nguyen <ttn@gnu.org>
173
174 * emacs.c (Fkill_emacs): Use EXIT_SUCCESS;
175 no longer special-case VMS. Add bogus return value.
176
177 2005-03-02 Kim F. Storm <storm@cua.dk>
178
179 * dispextern.h (XASSERTS): Define to 0 if not already defined.
180 (xassert) [!XASSERTS]: Define dummy version.
181
182 2005-03-02 Kim F. Storm <storm@cua.dk>
183
184 * xdisp.c (redisplay_window): YABX (yet another bogus xassert).
185 Reported by David Kastrup.
186
187 2005-03-01 Ehud Karni <ehud@unix.mvs.co.il>
188
189 * xdisp.c (get_next_display_element): Fix control and escape
190 glyph from display vector.
191
192 2005-03-01 Stefan Monnier <monnier@iro.umontreal.ca>
193
194 * keyboard.c (Fposn_at_x_y): Check integerness of X and Y.
195
196 2005-02-27 Richard M. Stallman <rms@gnu.org>
197
198 * xdisp.c (fast_find_position): Rename END to BEG.
199 (syms_of_xdisp) <menu-bar-update-hook>: Doc fix.
200
201 2005-02-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
202
203 * gtkutil.c (xg_resize_outer_widget): Remove unneeded call to
204 gtk_window_resize and x_wm_set_size_hint.
205
206 2005-02-25 Kim F. Storm <storm@cua.dk>
207
208 * dispextern.h (OVERLAY_STRING_CHUNK_SIZE): Increase from 3 to 16.
209
210 * xdisp.c (init_from_display_pos): Don't read past end of
211 it->overlay_strings array.
212
213 2005-02-25 Stephan Stahl <stahl@eos.franken.de> (tiny change)
214
215 * buffer.c (syms_of_buffer): Fix typo.
216
217 2005-02-23 Lute Kamstra <lute@gnu.org>
218
219 * buffer.c (Foverlay_buffer): Doc fix.
220
221 2005-02-22 Kim F. Storm <storm@cua.dk>
222
223 * minibuf.c (Ftry_completion, Fall_completions): Allow both string
224 and symbol keys in alists and hash tables.
225
226 * xdisp.c (fast_find_position): Fix search for start of overlay.
227
228 2005-02-21 Kim F. Storm <storm@cua.dk>
229
230 * window.c (window_scroll_pixel_based): When scrolling backwards,
231 handle partial visible line at end of window even when we hit PT.
232
233 2005-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
234
235 * keymap.h: Declare Fcurrent_active_maps, used in doc.c.
236
237 2005-02-21 Kim F. Storm <storm@cua.dk>
238
239 * xdisp.c (move_it_vertically_backward): Eliminate two xasserts.
240 I think those asserts are bogus if buffer contains invisible text
241 or images.
242
243 2005-02-21 David Kastrup <dak@gnu.org>
244
245 * gtkutil.c (xg_create_frame_widgets): UNBLOCK_INPUT on error.
246
247 2005-02-20 Kim F. Storm <storm@cua.dk>
248
249 * xdisp.c (pos_visible_p): Be sure to move to the specified
250 position. Always get the full ascent / descent of the
251 corresponding row, to return reliable rtop and rbot values.
252 (back_to_previous_visible_line_start): Fix 2005-01-18 change.
253 Must look one character back, as back_to_previous_line_start
254 returns position after the newline.
255 (move_it_vertically_backward): Fix heuristic for when to move further
256 back in case line_height * 2/3 is larger than window height.
257 (cursor_row_fully_visible_p): Rename make_cursor_line_fully_visible_p
258 as it does not do anything anymore. Add arg current_matrix_p to
259 use current matrix rather than desired matrix when set.
260 (try_cursor_movement): Don't scroll to make cursor row fully
261 visible if cursor didn't move. This avoids unexpected recentering
262 in case of blinking cursor or accepting process output.
263 Use current matrix to check cursor row visibility.
264 (redisplay_window): Fix whether to recenter or move to top in case
265 cursor line is taller than window height.
266 (find_first_unchanged_at_end_row): Stop search if we reach a row
267 which not enabled (instead of abort).
268
269 2005-02-18 Kim F. Storm <storm@cua.dk>
270
271 * xfaces.c (Finternal_set_lisp_face_attribute): Allow :color property
272 to be nil in a :box attribute value list; customize prints that
273 as lisp value when no box color is specified.
274
275 * .gdbinit (pitx, pit): Pretty print display iterator.
276 (prowx, prow): Pretty print glyph row.
277 (pcursorx, pcursor): Pretty print a window cursor.
278 (pwinx, pwin): Pretty print struct window.
279
280 2005-02-18 Stefan Monnier <monnier@iro.umontreal.ca>
281
282 * alloc.c (BLOCK_BYTES): Harmless typo.
283
284 2005-02-17 Andreas Schwab <schwab@suse.de>
285
286 * xfns.c (hack_wm_protocols): Use correct type for last parameter
287 of XGetWindowProperty to avoid aliasing issues.
288 (Fx_window_property): Likewise.
289
290 * xselect.c (Fx_disown_selection_internal): Use union of struct
291 input_event and struct selection_input_event to avoid aliasing issues.
292
293 * xterm.c (handle_one_xevent): Use union of struct input_event and
294 struct selection_input_event to avoid aliasing issues.
295 (SET_SAVED_MENU_EVENT): Adapt reference to inev.
296
297 2005-02-17 Kim F. Storm <storm@cua.dk>
298
299 * dispextern.h (enum it_method): New enum.
300 (GET_FROM_*): Its members.
301 (struct it): Change member method from function pointer to enum.
302
303 * xdisp.c (check_it, init_from_display_pos, handle_stop)
304 (setup_for_ellipsis, handle_single_display_spec)
305 (handle_composition_prop, next_overlay_string)
306 (get_overlay_strings, reseat_1, reseat_to_string)
307 (next_element_from_ellipsis, BUFFER_POS_REACHED_P)
308 (in_display_vector_p, display_line, get_next_display_element):
309 Change it->method from function pointer to enum.
310 (get_next_element): New array to map it->method to function.
311 (get_next_display_element): Use it.
312 (set_iterator_to_next): Use switch instead of if/else chain.
313
314 2005-02-15 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
315
316 * w32select.c: Summary: Thorough rework to implement Unicode
317 clipboard operations and delayed rendering.
318
319 Drop last_clipboard_text and related code, keep track of
320 ownership via clipboard_owner instead. Drop old #if0 sections.
321
322 (DEFAULT_LCID, ANSICP, OEMCP, QUNICODE, QANSICP, QOEMCP)
323 (clipboard_owner, modifying_clipboard, cfg_coding_system)
324 (cfg_codepage, cfg_lcid, cfg_clipboard_type, current_text)
325 (current_coding_system, current_requires_encoding)
326 (current_num_nls, current_clipboard_type, current_lcid):
327 New static variables.
328
329 (convert_to_handle_as_ascii, convert_to_handle_as_coded)
330 (render, render_all, run_protected, lisp_error_handler)
331 (owner_callback, create_owner, setup_config)
332 (enum_locale_callback, cp_from_locale, coding_from_cp):
333 New local functions.
334
335 (term_w32select, globals_of_w32select): New global functions.
336
337 (Fw32_set_clipboard_data): Ignore parameter FRAME, use
338 clipboard_owner instead. Use delayed rendering and provide
339 all text formats. Provide CF_LOCALE if necessary.
340
341 (Fw32_get_clipboard_data): Handle CF_UNICODETEXT and
342 CF_LOCALE. Fall back to CF_TEXT, if CF_UNICODETEXT is not
343 available. Force DOS line-ends for decoding.
344
345 (Fx_selection_exists_p): Handle CF_UNICODETEXT.
346
347 (syms_of_w32select): Init and register new variables.
348
349 * w32.h: Add prototypes for globals_of_w32select and
350 term_w32select. Make the neighboring K&R declarations into
351 prototypes, too.
352
353 * emacs.c: Include w32.h to get function prototypes.
354 (main): Call globals_of_w32select.
355
356 * w32.c (term_ntproc): Call term_w32select.
357
358 * s/ms-w32.h: Guard MSC-specific #pragmas with an #ifdef.
359
360 2005-02-16 Kim F. Storm <storm@cua.dk>
361
362 * xdisp.c (BUFFER_POS_REACHED_P): Return true if pos reached and
363 at end of display vector.
364
365 2005-02-15 Richard M. Stallman <rms@gnu.org>
366
367 * xdisp.c (get_next_display_element): Fix escape-glyph criterion
368 for mode and header lines.
369
370 * lread.c (syms_of_lread) <user-init-file>: Doc fix.
371
372 * keymap.h (describe_map_tree): Change decl.
373
374 * keyboard.c (command_loop_1): Always use safe_run_hooks
375 to run Qdeferred_action_function.
376
377 * keymap.c (describe_map_tree): New arg MENTION_SHADOW. Calls changed.
378 (describe_map, describe_vector): Likewise. When it's 1,
379 don't omit shadowed bindings, instead mark them as shadowed.
380
381 * doc.c (Fsubstitute_command_keys): Compute list of shadowing maps
382 for describe_map_tree. Pass 1 for MENTION_SHADOW.
383
384 * data.c (Fsetq_default): Allow no arg case.
385
386 2005-02-14 Kenichi Handa <handa@m17n.org>
387
388 * coding.c (encode_coding_string): Always return a unibyte string.
389 If NOCOPY is nonzero and there's no need of encoding, make STR
390 unibyte directly.
391
392 * xselect.c (lisp_data_to_selection_data): If OBJ is a non-ASCII
393 multibyte string, signal an error instead of aborting.
394
395 2005-02-12 Dan Nicolaescu <dann@ics.uci.edu>
396
397 * keyboard.c: If HAVE_FCNTL_H include fcntl.h.
398
399 2005-02-12 Kim F. Storm <storm@cua.dk>
400
401 * xdisp.c (expose_window): Don't fix overlaps for mode lines.
402
403 2005-02-10 Kim F. Storm <storm@cua.dk>
404
405 * xdisp.c (try_window_id): Set first_unchanged_at_end_row to NULL
406 if it moves outside window or it doesn't display text.
407
408 2005-02-09 Kim F. Storm <storm@cua.dk>
409
410 * undo.c (Fprimitive_undo): Check that undo function does not
411 switch buffer.
412
413 2005-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
414
415 * xselect.c (selection_data_to_lisp_data): For the special case
416 type == XA_ATOM, data contains array of int, not array of Atom.
417 (x_property_data_to_lisp, selection_data_to_lisp_data): Comment
418 update: data must be array of int for format == 32.
419
420 2005-02-08 Stefan Monnier <monnier@iro.umontreal.ca>
421
422 * undo.c (Fprimitive_undo): Check veracity of delta,start,end.
423
424 2005-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
425
426 * xfns.c (Fx_change_window_property): Use long array when format is 32.
427 (Fx_window_property): If format is 32 and long is bigger than 32 bits,
428 convert long array returned from XGetWindowProperty to an int array.
429 (x_set_tool_bar_lines): Check that width and height is greater than
430 zero before clearing area.
431
432 * xselect.c (x_reply_selection_request): Pass long array to
433 XChangeProperty so that 64 bit longs are handeled correctly.
434 (x_get_window_property): If format is 32 and long is bigger than 32
435 bits convert data from XGetWindowProperty from long array to int array.
436 (lisp_data_to_selection_data): When the input is a vector and the
437 format is 32, allocate a long array even if long is bigger than 32 bits.
438 (x_fill_property_data): Use char, short and long as the man page
439 for XChangeProperty specifies. This way the data returned is OK for
440 both 32 and 64 bit machines.
441 (x_handle_dnd_message): Calculate size correctly even for 64 bit
442 machines.
443 (Fx_send_client_event): Undo change from 2005-02-05,
444 x_fill_property_data now handles that case.
445
446 * xfns.c (Fx_backspace_delete_keys_p): Add comment about the
447 reason for the approach in the code.
448
449 2005-02-07 Kim F. Storm <storm@cua.dk>
450
451 * undo.c (Fprimitive_undo): Record max one dummmy apply element.
452
453 2005-02-06 Richard M. Stallman <rms@gnu.org>
454
455 * eval.c (Frun_hook_with_args)
456 (Frun_hook_with_args_until_success)
457 (Frun_hook_with_args_until_failure): Doc fixes.
458
459 2005-02-05 Andreas Schwab <schwab@suse.de>
460
461 * sysdep.c (sys_subshell): Properly terminate execlp argument list.
462
463 2005-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
464
465 * xselect.c (Fx_send_client_event, x_handle_dnd_message): Handle
466 the longs in a XClientMessageEvent correctly when long is 64 bits.
467
468 2005-02-05 Eli Zaretskii <eliz@gnu.org>
469
470 * xfaces.c (face_color_supported_p): Use HAVE_WINDOW_SYSTEM
471 instead of HAVE_X_WINDOWS, for non-X windowed sessions.
472
473 2005-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
474
475 * xmenu.c (menubar_selection_callback): Force out GTK buffered
476 events so the menu event comes after them. This is to prevent sit-for
477 from exiting on buffered events directly after a menu selection,
478 lisp code for Help => About Emacs uses sit-for.
479
480 * gtkutil.c (create_menus): Connect selection-done event instead of
481 the deactivate event to deactivate_cb. This will make the last
482 leave event come before the call to deactivate_cb, so the leave
483 event does not make sit-for exit after a menu selection.
484
485 2005-02-03 Kim F. Storm <storm@cua.dk>
486
487 * dispnew.c (build_frame_matrix_from_leaf_window)
488 [!GLYPH_DEBUG]: Fix xassert.
489
490 * xfaces.c (x_free_gc) [!GLYPH_DEBUG]: Fix xassert.
491
492 * xfns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
493
494 2005-02-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
495
496 * mac.c: Use MAC_OS_X_VERSION_MAX_ALLOWED to conditionalize by
497 the compiling OS version.
498
499 * macfns.c (x_create_tip_frame): Likewise.
500
501 * macterm.c (mac_draw_string_common, x_make_frame_visible): Likewise.
502
503 2005-02-03 Richard M. Stallman <rms@gnu.org>
504
505 * xterm.c (x_error_quitter): On GCC 3 and up, specify noinline.
506
507 * xdisp.c (echo_area_display): Clear echo_message_buffer.
508
509 * buffer.c (Fbury_buffer): Doc fix.
510
511 2005-02-02 Steven Tamm <steventamm@mac.com>
512
513 * macfns.c (unwind_create_frame): Fixing compile error due to
514 xassert being uncondition, but predicate is.
515 * dispnew.c (update_window): Fixing compile error due to
516 xassert being uncondition, but predicate is.
517
518 2005-02-02 Miles Bader <miles@gnu.org>
519
520 * dispextern.h (xassert): Enable unconditionally.
521
522 2005-02-02 Kim F. Storm <storm@cua.dk>
523
524 * undo.c (Fprimitive_undo): Fix dummy apply undo entry.
525
526 2005-02-02 Kenichi Handa <handa@m17n.org>
527
528 * casefiddle.c (casify_object): Enable changing characters of
529 different byte length.
530 (casify_region): Fix loop condition, args to replace_range_2, and
531 update opoint_byte.
532
533 * insdel.c (replace_range_2): Fix bugs in adjusting markers and point.
534
535 2005-02-01 Kim F. Storm <storm@cua.dk>
536
537 * xdisp.c (back_to_previous_visible_line_start): Reset iterator
538 stack before calling handle_display_prop.
539
540 2005-01-31 Kim F. Storm <storm@cua.dk>
541
542 * undo.c (Qapply): New lisp var.
543 (syms_of_undo): Intern and staticpro it.
544 (Fprimitive_undo): Support formats (apply FUNNAME . ARGS) and
545 (apply DELTA BEG END FUNNAME . ARGS) instead of (FUNNAME . ARGS).
546
547 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
548
549 2005-01-30 Jesper Harder <harder@phys.au.dk>
550
551 * macterm.c (syms_of_macterm) <mac-reverse-ctrl-meta>
552 <mac-emulate-three-button-mouse>: Fix docstring indentation.
553
554 2005-01-29 Luc Teirlinck <teirllm@auburn.edu>
555
556 * undo.c (syms_of_undo) <undo-outer-limit>: Doc update.
557 Increase value to 3 Meg.
558
559 2005-01-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
560
561 * xfns.c (show_hourglass): Use FRAME_X_WINDOW as parent for GTK,
562 button events are not received otherwise.
563
564 2005-01-29 Richard M. Stallman <rms@gnu.org>
565
566 * buffer.c (syms_of_buffer) <buffer-undo-list>: Doc fix.
567
568 * undo.c (Fprimitive_undo): Handle (FUNNAME . ARGS) by calling FUNNAME.
569
570 2005-01-28 Stefan Monnier <monnier@iro.umontreal.ca>
571
572 * keymap.c (access_keymap): YAILOM.
573
574 2005-01-27 Kim F. Storm <storm@cua.dk>
575
576 * xdisp.c (get_phys_cursor_geometry): New function to calculate
577 phys cursor position and size for hollow cursor. Position is
578 aligned with get_glyph_string_clip_rect and ensures that a hollow
579 cursor is shown, even when the actual glyph is not visible.
580
581 * dispextern.h (get_phys_cursor_geometry): Add prototype.
582
583 * xterm.c (x_clip_to_row): Ensure y >= 0.
584 (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
585
586 * w32term.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
587
588 * macterm.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry.
589
590 2005-01-27 Stefan Monnier <monnier@iro.umontreal.ca>
591
592 * xterm.c (x_error_quitter): Add a prototype. Make it static again.
593
594 2005-01-27 Kim F. Storm <storm@cua.dk>
595
596 * xdisp.c (get_glyph_string_clip_rect): Always show a cursor
597 glyph, even when row is only partially visible and actual cursor
598 position is not visible.
599
600 2005-01-24 Richard M. Stallman <rms@gnu.org>
601
602 * xterm.c (x_error_quitter): No longer static, and moved after
603 x_error_handler.
604
605 2005-01-24 Kim F. Storm <storm@cua.dk>
606
607 * xdisp.c (move_it_by_lines): If we move forward after going too
608 far back, cancel move if end position is same as start position.
609
610 2005-01-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
611
612 * dispextern.h (struct glyph_string): New members clip_head and
613 clip_tail.
614
615 * xdisp.c (get_glyph_string_clip_rect): Restrict horizontal clip
616 region to the area between clip_head and clip_tail.
617 (draw_glyphs): Record the area that need to be actually redrawn to
618 the new variables clip_head and clip_tail when there are
619 overhangs. Set values of these variables to the corresponding
620 members in struct glyph_string. Refine x coordinates for
621 notice_overwritten_cursor using clip_head and clip_tail.
622
623 * macgui.h (STORE_XCHARSETSTRUCT): New macro.
624
625 * macterm.c (mac_compute_glyph_string_overhangs): Implement with
626 QDTextBounds.
627 (x_draw_glyph_string): Don't fill the background of the successor
628 of a glyph with a right overhang if the successor will draw a cursor.
629 (XLoadQueryFont): Obtain font metrics using QDTextBounds.
630 (x_redisplay_interface): Add entry for compute_glyph_string_overhangs.
631
632 2005-01-24 Kim F. Storm <storm@cua.dk>
633
634 * window.c (window_scroll_pixel_based): Fix scrolling in the wrong
635 direction if window height was smaller than next-screen-context-lines.
636 Now always scroll at least one line in the requested direction.
637 Ensure that we actually do scroll backwards when requested to do so.
638
639 * xdisp.c (redisplay_window): Only try to make cursor line fully
640 visible once (to avoid redisplay loop).
641
642 2005-01-23 Kim F. Storm <storm@cua.dk>
643
644 * window.c (Fpos_visible_in_window_p): Simplify return value for
645 partially visible rows.
646 (window_scroll_pixel_based): Adapt to that change.
647
648 * window.c (window_scroll_pixel_based): Force moving to next line
649 if scrolling doesn't move start point, e.g. if looking at tall image.
650
651 * xdisp.c (pos_visible_p): Return 0 if non-interactive.
652 Clear last_height before calling line_bottom_y to get real height.
653 Fix calculation of y.
654
655 2005-01-22 Steven Tamm <steventamm@mac.com>
656
657 * s/darwin.h: Removed PTY_ITERATION from here.
658 (DARWIN): Define.
659 * process.c (init_process): Default process-connection-type to
660 nil on darwin 6 or less, t if it is 7 or higher. This way the
661 broken pty behavior is still allowed on darwin 6 for interactive
662 processes for people that know what they are doing.
663
664 2005-01-22 Kim F. Storm <storm@cua.dk>
665
666 * window.c (auto_window_vscroll_p): New boolean.
667 (syms_of_window): DEFVAR_BOOL it.
668 (Fpos_visible_in_window_p): Extend return value to include RTOP
669 and RBOT values if FULLY is nil.
670 (window_scroll_pixel_based): Adjust vscroll for partially visible
671 rows if auto_window_vscroll_p is set.
672 (Fset_window_vscroll): Do nothing if vscroll is not modified.
673
674 * xdisp.c (pos_visible_p): Replace FULLY arg by RTOP and RBOT args
675 to return number of partially invisible pixels at top and bottom
676 of the dislay row at POS.
677
678 * lisp.h (pos_visible_p): Fix prototype.
679
680 2005-01-21 Richard M. Stallman <rms@gnu.org>
681
682 * fileio.c (Fcopy_file): Doc fix.
683
684 2005-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
685
686 * gtkutil.c (xg_tool_bar_detach_callback): Remove unused variable bw.
687 (xg_get_file_name): Move declaration ofx_use_old_gtk_file_dialog to
688 start of function for older compilers.
689
690 2005-01-20 Richard M. Stallman <rms@gnu.org>
691
692 * editfns.c (Fmessage): If arg is "", return "" (as before).
693
694 * keymap.c (access_keymap): Protect from bad value of meta_prefix_char.
695
696 * .gdbinit (xgetptr, xgetint, xgettype): Copy $arg0 into a temp
697 variable.
698
699 2005-01-20 Steven Tamm <steventamm@mac.com>
700
701 * editfns.c (Voperating_system_release): Add.
702 (init_editfns): Assign new variable operating-system-release
703 based on call to uname if available.
704 (get_operating_system_release): Add function to
705 allow c-level access to operating system release.
706
707 * config.h: Regenerated.
708
709 * s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or less.
710 (MIN_PTY_KERNEL_VERSION): Define minimum kernel version for
711 using ptys as '7'.
712
713 2005-01-20 Kim F. Storm <storm@cua.dk>
714
715 * alloc.c (STRING_MARKED_P, VECTOR_MARKED_P): Return boolean.
716
717 * xterm.c (x_draw_glyph_string_box): Fix last_x for full width rows.
718 Thanks to Chong Yidong <cyd@stupidchicken.com> for debugging this.
719
720 * macterm.c (x_draw_glyph_string_box): Likewise.
721
722 * w32term.c (x_draw_glyph_string_box): Likewise.
723
724 * indent.c (Fvertical_motion): Temporarily disable selective display.
725
726 2005-01-19 Kim F. Storm <storm@cua.dk>
727
728 * xdisp.c (note_mode_line_or_margin_highlight): Fix :pointer
729 image property.
730
731 * fns.c (sweep_weak_table): Advance prev pointer when we keep a pair.
732
733 2005-01-18 Kim F. Storm <storm@cua.dk>
734
735 * xdisp.c (fast_find_position): Backtrack to find first row if
736 charpos is inside a display overlay that spans multiple lines.
737
738 2005-01-18 Kenichi Handa <handa@m17n.org>
739
740 * coding.c (decode_coding_iso2022): Translate invalid codes if
741 translation-table is specified.
742
743 2005-01-18 Kim F. Storm <storm@cua.dk>
744
745 * xdisp.c (back_to_previous_visible_line_start): Undo 2004-12-28
746 change. If handle_display_prop indicates newline is replaced by
747 image or text, move back to start of relevant overlay or interval
748 and continue scan from there. Simplify.
749
750 2005-01-17 Kim F. Storm <storm@cua.dk>
751
752 * dispnew.c (mode_line_string, marginal_area_string):
753 Fix off-by-one error in search for glyph.
754
755 2005-01-16 Kim F. Storm <storm@cua.dk>
756
757 * macterm.c (syms_of_macterm) <mac-allow-anti-aliasing>: Doc fix.
758
759 2005-01-16 Steven Tamm <steventamm@mac.com>
760
761 * macterm.c (mac_to_x_fontname): Remove spurious argument.
762
763 2005-01-16 Andreas Schwab <schwab@suse.de>
764
765 * macterm.c (mac_draw_string_common): Fix compilation on OSX 10.1.
766
767 2005-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
768
769 * fringe.c (Fdefine_fringe_bitmap, init_fringe): When assigning
770 fringe_faces, cast result from xmalloc/xrealloc to Lisp_Object *.
771
772 2005-01-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
773
774 * keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW)
775 (READABLE_EVENTS_FILTER_EVENTS, READABLE_EVENTS_IGNORE_SQUEEZABLES):
776 New flags for readable_events.
777 (get_filtered_input_pending, readable_filtered_events): Remove.
778 (tracking_off): Call readable_events and get_input_pending with
779 flag READABLE_EVENTS_DO_TIMERS_NOW.
780 (readable_events): Move code from old readable_filtered_events here,
781 but check new READABLE_EVENTS_* in argument flags instead of previous
782 two boolean arguments do_timers_now and filter_events.
783 If we are doing mouse tracking and the mouse moved, return only if
784 READABLE_EVENTS_IGNORE_SQUEEZABLES is not set in flags.
785 (swallow_events): Call get_input_pending with flag
786 READABLE_EVENTS_DO_TIMERS_NOW.
787 (get_input_pending): Move code from old get_filtered_input_pending
788 here. Replace boolean arguments do_timers_now, filter_events with
789 flags, and pass flags to readable_events. Document new
790 READABLE_EVENTS_* flags.
791 (detect_input_pending_ignore_squeezables): New function.
792 (detect_input_pending_run_timers): Call get_input_pending with flag
793 READABLE_EVENTS_DO_TIMERS_NOW.
794 (Finput_pending_p): Call get_input_pending with flags
795 READABLE_EVENTS_DO_TIMERS_NOW and READABLE_EVENTS_FILTER_EVENTS.
796
797 * dispnew.c (update_window, update_frame_1): Replace calls to
798 detect_input_pending with detect_input_pending_ignore_squeezables
799 so that redisplay is not paused if the event queue contains only
800 mouse movements.
801
802 * lisp.h: Declare detect_input_pending_ignore_squeezables.
803
804 2005-01-15 Steven Tamm <steventamm@mac.com>
805
806 * macterm.c (Vmac_use_core_graphics): Declare variable for
807 mac-allow-anti-aliasing.
808 (syms_of_macterm): DEFVAR_LISP and initialize it.
809 (mac_draw_string_common): Use core graphics text rendering if
810 mac-allow-anti-aliasing is enabled.
811
812 * macfns.c (Fx_file_dialog): Save As dialog includes only the
813 file name in the text box.
814
815 2005-01-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
816
817 * macfns.c (x_set_foreground_color, x_set_background_color):
818 Sync with xfns.c.
819 (mac_window, x_create_tip_frame): Use XSetWindowBackground.
820 * macterm.c (XSetBackground, XSetWindowBackground): New functions.
821 * macterm.h (XSetBackground, XSetWindowBackground): Add externs.
822
823 2005-01-14 Kim F. Storm <storm@cua.dk>
824
825 * keyboard.c (Fposn_at_x_y): Add optional arg WHOLE.
826
827 2005-01-13 Richard M. Stallman <rms@gnu.org>
828
829 * keymap.c (Fcurrent_active_maps): Ignore Voverriding_local_map
830 if Voverriding_terminal_local_map is non-nil.
831
832 * keyboard.c (syms_of_keyboard): Doc fix.
833
834 2005-01-13 Kim F. Storm <storm@cua.dk>
835
836 * xdisp.c (Fformat_mode_line): Fix last change. Remove NO_PROPS arg
837 (specify 0 for FACE instead). Reorder arg list. Doc fix.
838
839 2005-01-12 Richard M. Stallman <rms@gnu.org>
840
841 * xdisp.c (Fformat_mode_line): New arg FACE specifies a default
842 face property for characters that don't specify one.
843
844 * fns.c (Frequire): Record in load-history unconditionally.
845
846 2005-01-10 Kim F. Storm <storm@cua.dk>
847
848 * dispextern.h (merge_faces): Rename from merge_into_realized_face.
849
850 * xfaces.c (merge_faces): Rename from merge_into_realized_face.
851 Callers changed.
852 Add support to merge with lisp face id too (if face_name is t).
853
854 * xdisp.c (get_next_display_element, next_element_from_display_vector):
855 Don't lookup lface_id from display table glyphs here; instead use
856 merge_faces to merge the lisp face id into current face.
857
858 2005-01-09 Kim F. Storm <storm@cua.dk>
859
860 * dispextern.h (struct it): New member dpvec_face_id.
861 (merge_into_realized_face): Add prototype.
862
863 * xfaces.c (merge_into_realized_face): New function. Used to
864 merge escape-glyph face or face from display table into current face.
865
866 * xdisp.c (Vshow_nonbreak_escape): New lisp var.
867 (syms_of_xdisp): DEFVAR_LISP it.
868 (escape_glyph_face): Remove var.
869 (redisplay_window): Don't initialize it.
870 (setup_for_ellipsis, get_next_display_element):
871 Set it->dpvec_face_id to -1.
872 (get_next_display_element): Test Vshow_nonbreak_escape.
873 Do not setup escape_glyph_face.
874 Properly merge escape-glyph face or face from display table with
875 current face for escape and control characters.
876 Set it->dpvec_face_id to relevant face id instead of adding it to each
877 element of display vector.
878 (next_element_from_display_vector): If it->dpvec_face_id is set,
879 use that instead of lface_id from glyph itself.
880
881 2005-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
882
883 * xterm.h (struct x_output): New member, toolbar_detached.
884
885 * gtkutil.c (xg_create_frame_widgets): Set initial tool bar height to
886 38.
887 (xg_tool_bar_detach_callback): Set toolbar_detached to 1.
888 (xg_tool_bar_attach_callback): Set toolbar_detached to 0.
889 (xg_create_tool_bar): Initialize toolbar_detached.
890 (update_frame_tool_bar): Only set FRAME_TOOLBAR_HEIGHT (f) if
891 toolbar_detached is zero.
892
893 2005-01-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
894
895 * xmenu.c (create_and_show_popup_menu): Pass zero as button to
896 gtk_menu_popup if not for_click, so callbacks for the menu are called.
897
898 * gtkutil.c (xg_gtk_scroll_destroy, xg_create_scroll_bar)
899 (xg_tool_bar_callback, xg_tool_bar_help_callback)
900 (update_frame_tool_bar): Cast to EMACS_INT to avoid compiler warning.
901
902 * xselect.c (x_get_foreign_selection, x_fill_property_data)
903 (Fx_get_atom_name, Fx_send_client_event): Replace XFLOAT with
904 XFLOAT_DATA to get extract number from Lisp object.
905
906 2005-01-07 Kim F. Storm <storm@cua.dk>
907
908 * xdisp.c (set_iterator_to_next): Fix 2004-12-13 change.
909 Set stop_charpos to current charpos instead of 0.
910
911 2005-01-06 Nick Roberts <nickrob@snap.net.nz>
912
913 * xdisp.c (Fformat_mode_line): First arg now required.
914
915 2005-01-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
916
917 * macterm.c (XLoadQueryFont): Correctly handle 0 size
918 font widths that are returned from some Japanese fonts.
919
920 2005-01-06 Kim F. Storm <storm@cua.dk>
921
922 * fringe.c (fringe_faces): Change to Lisp_Object pointer.
923 (draw_fringe_bitmap_1): Lookup user defined fringe faces here.
924 (destroy_fringe_bitmap): Set fringe_faces element to nil.
925 (Fdefine_fringe_bitmap, init_fringe): Change allocation of
926 fringe_faces array and init elements to nil.
927 (Fset_fringe_bitmap_face): Set fringe_faces to face name instead of
928 non-persistent face id.
929 (mark_fringe_data): New function for GC.
930
931 * alloc.c (mark_fringe_data): Declare extern.
932 (Fgarbage_collect): Call mark_fringe_data.
933
934 * alloc.c (overrun_check_free): Invalidate freed memory if
935 XMALLOC_CLEAR_FREE_MEMORY is defined.
936
937 2005-01-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
938
939 * macfns.c: Include sys/param.h.
940 [TARGET_API_MAC_CARBON] (mac_nav_event_callback): New declaration
941 and function.
942 [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size
943 of filename string. Set event callback function when creating
944 dialog boxes. Add code conversions for filenames. Don't dispose
945 apple event descriptor record if failed to create it.
946
947 * macterm.c: Include sys/param.h.
948 [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for
949 kEventWindowUpdate.
950 (install_window_handler) [USE_CARBON_EVENTS]: Register it.
951 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Get FSRef instead
952 of FSSpec from apple event descriptor record.
953 (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Use MAXPATHLEN for
954 size of filename string.
955 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise.
956 [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a
957 file dialog is in action.
958 [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise.
959 Reject only when there are no filename items. Set background color
960 before (un)highlighting the window below the dragged items.
961 (XTread_socket) [USE_CARBON_EVENTS]: Don't call do_window_update.
962
963 2005-01-05 Romain Francoise <romain@orebokech.com>
964
965 * term.c (encode_terminal_code): Fix buffer size computation.
966
967 2005-01-04 Richard M. Stallman <rms@gnu.org>
968
969 * xdisp.c (Fformat_mode_line): Doc fix.
970
971 2005-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
972
973 * alloc.c (refill_memory_reserve): Move.
974 (emacs_blocked_free, emacs_blocked_malloc, emacs_blocked_realloc)
975 (reset_malloc_hooks, uninterrupt_malloc) [SYNC_INPUT]: Don't define.
976
977 2005-01-03 Richard M. Stallman <rms@gnu.org>
978
979 * window.c (window_scroll_pixel_based): Don't correct preserve_y
980 for CURRENT_HEADER_LINE_HEIGHT when moving backwards.
981
982 2005-01-03 Jason Rumney <jasonr@gnu.org>
983
984 * w32bdf.c (w32_load_bdf_font): Set fontp->average_width and
985 fontp->space_width to FONT_WIDTH so they are valid.
986
987 * w32fns.c (w32_load_system_font): Set FONT_WIDTH to maximum, not
988 average width. Set fontp->average_width and fontp->space_width to
989 their appropriate values.
990
991 * w32term.c (x_new_font): Set FRAME_COLUMN_WIDTH to
992 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
993 fontp->space_width.
994
995 2005-01-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
996
997 * macterm.c (x_new_font): Set FRAME_SPACE_WIDTH.
998 (x_font_min_bounds, XLoadQueryFont): Use the correct font width
999 metrics for max and min bounds.
1000 (x_load_font): Correctly calculate average font width metrics.
1001
1002 2005-01-02 Richard M. Stallman <rms@gnu.org>
1003
1004 * alloc.c (Fgarbage_collect): Don't truncate_undo_list on dead buffers.
1005
1006 2004-12-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1007
1008 * xterm.c (handle_one_xevent): Clear area in expose event for GTK.
1009
1010 2004-12-31 Richard M. Stallman <rms@gnu.org>
1011
1012 * xdisp.c (setup_for_ellipsis, get_next_display_element):
1013 Set it->ellipsis_p to 1 or 0.
1014 (display_line): Record whether row ends in mid-ellipsis.
1015 (set_cursor_from_row): If ends in ellipsis. find start of it.
1016 (cursor_row_p): If PT's at the end of the ellipsis the row
1017 ends within, don't display cursor on this row.
1018
1019 * dispextern.h (struct it): New element ellipsis_p.
1020 (struct glyph_row): New element ends_in_ellipsis_p.
1021
1022 * xdisp.c (BUFFER_POS_REACHED_P): We haven't reached the specified
1023 position if we're reading from something other than the buffer.
1024
1025 * window.c (window_scroll_pixel_based): Only look at
1026 Vscroll_preserve_screen_position if the old PT can't be kept.
1027 (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
1028
1029 2004-12-30 Kim F. Storm <storm@cua.dk>
1030
1031 * xdisp.c (get_line_height_property): New function extracted from
1032 original calc_line_height_property.
1033 (calc_line_height_property): Rework. Handle t and (nil . ratio).
1034 (x_produce_glyphs): Use them to handle line-height and
1035 line-spacing according to new height spec.
1036 (Qtotal): Remove.
1037 (syms_of_xdisp): Remove intern and staticpro for Qtotal.
1038
1039 2004-12-30 Kenichi Handa <handa@m17n.org>
1040
1041 * fileio.c (Finsert_file_contents): Don't use
1042 current_buffer->buffer_file_coding_system even if REPLACE is
1043 non-nil. Call Qafter_insert_file_set_coding with the second arg VISIT.
1044
1045 * fontset.h (struct font_info): New members space_width and
1046 average_width.
1047
1048 * frame.h (struct frame): New member space_width.
1049 (FRAME_SPACE_WIDTH): New macro.
1050
1051 * xterm.h (struct x_display_info): New member Xatom_AVERAGE_WIDTH.
1052
1053 * xterm.c (x_new_font): Set FRAME_COLUMN_WIDTH to
1054 fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to
1055 fontp->space_width.
1056 (x_load_font): Calculate fontp->space_width and fontp->average_width.
1057 (x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH.
1058
1059 * xdisp.c (x_produce_glyphs): Calculate tab width by
1060 FRAME_SPACE_WIDTH, not FRAME_COLUMN_WIDTH.
1061
1062 2004-12-29 Sanghyuk Suh <han9kin@mac.com>
1063
1064 * macterm.c (SelectionRange): Add Xcode position apple event struct.
1065 (do_ae_open_documents): Handle Xcode-style file position open events.
1066
1067 2004-12-29 Luc Teirlinck <teirllm@auburn.edu>
1068
1069 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Correct typo.
1070
1071 2004-12-29 Richard M. Stallman <rms@gnu.org>
1072
1073 * buffer.c (syms_of_buffer) <vertical-scroll-bar>: Doc fix.
1074
1075 2004-12-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1076
1077 * macfns.c (install_window_handler): Modify extern to return OSErr
1078 value.
1079 (mac_window): Handle return value of install_window_handler.
1080
1081 * macterm.c (reflect_byte): Remove function.
1082 (mac_create_bitmap_from_bitmap_data): Don't call reflect_byte.
1083 Lookup table instead.
1084 (mac_do_font_lists): Simplify calculation of the longest
1085 nonspecial string.
1086 (init_mac_drag_n_drop): Remove function and declaration.
1087 (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
1088 init_mac_drag_n_drop.
1089 (mac_do_track_drag): New function and declaration.
1090 (install_window_handler): Return OSErr value.
1091 (install_window_handler) [TARGET_API_MAC_CARBON]:
1092 Register handlers for tracking/receiving drag-and-drop items.
1093 (do_ae_open_documents): Generate unibyte strings for filenames.
1094 (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise.
1095 Reject only non-filename items. Set event modifiers, and return value.
1096
1097 2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
1098
1099 * coding.c (decode_coding): Fix previous change.
1100
1101 2004-12-28 Richard M. Stallman <rms@gnu.org>
1102
1103 * xdisp.c (back_to_previous_visible_line_start):
1104 Don't call handle_display_prop.
1105
1106 2004-12-28 Dan Nicolaescu <dann@ics.uci.edu>
1107
1108 * coding.c (decode_coding_XXX, decode_composition_emacs_mule)
1109 (decode_coding_emacs_mule, encode_coding_emacs_mule)
1110 (decode_coding_iso2022, encode_designation_at_bol)
1111 (encode_coding_iso2022, decode_coding_sjis_big5, decode_eol)
1112 (decode_coding): Constify arguments and local vars.
1113
1114 2004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1115
1116 * xmenu.c (popup_get_selection): Only pop down dialogs
1117 on C-g and Escape.
1118 (popup_get_selection): Remove parameter down_on_keypress.
1119 (create_and_show_popup_menu, create_and_show_dialog):
1120 Remove parameter down_on_keypress to popup_get_selection.
1121
1122 2004-12-27 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1123
1124 * dispextern.h: Change HAVE_CARBON to MAC_OS.
1125 (struct glyph_string): Likewise.
1126
1127 * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of
1128 mac_initialize.
1129
1130 * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name):
1131 Change TARGET_API_MAC_CARBON to HAVE_CARBON.
1132
1133 * fns.c (vector): Change MAC_OSX to MAC_OS.
1134
1135 * frame.c (x_set_frame_parameters, x_report_frame_params)
1136 (x_set_fullscreen): Remove #ifndef HAVE_CARBON.
1137 (x_set_border_width, Vdefault_frame_scroll_bars):
1138 Change HAVE_CARBON to MAC_OS.
1139
1140 * image.c [MAC_OS]: Include sys/stat.h.
1141 [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and
1142 QuickTimeComponents.h.
1143
1144 * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern.
1145 [!MAC_OSX] (select): Use mac_wait_next_event.
1146 [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes.
1147 [!MAC_OSX] (select, run_mac_command): Change `#ifdef
1148 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
1149 (mac_clear_font_name_table): Add extern.
1150 (Fmac_clear_font_name_table): New defun.
1151 (syms_of_mac): Defsubr it.
1152 [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define.
1153 [MAC_OSX] (select_and_poll_event): New function.
1154 [MAC_OSX] (sys_select): Use it.
1155 [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function.
1156 [MAC_OSX && SELECT_USE_CFSOCKET]
1157 (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines.
1158 [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and
1159 RunLoop for simultaneously monitoring two kinds of inputs, window
1160 events and process outputs, without periodically polling.
1161
1162 * macfns.c (mac_initialized): Remove extern.
1163 (stricmp): Put in #if 0. All callers changed to use xstricmp in
1164 xfaces.c.
1165 (strnicmp): Decrement `n' at the end of each loop, not the beginning.
1166 (check_mac): Use the term "Mac native windows" instead of "Mac OS".
1167 (check_x_display_info, x_display_info_for_name): Sync with xfns.c.
1168 (mac_get_rdb_resource): New function (from w32reg.c).
1169 (x_get_string_resource): Use it.
1170 (install_window_handler): Add extern.
1171 (mac_window): New function.
1172 (Fx_create_frame): Use it instead of make_mac_frame.
1173 Set parameter for Qfullscreen. Call x_wm_set_size_hint.
1174 (Fx_open_connection, Fx_close_connection): New defuns.
1175 (syms_of_macfns): Defsubr them.
1176 (x_create_tip_frame) [TARGET_API_MAC_CARBON]:
1177 Add kWindowNoUpdatesAttribute to the window attribute.
1178 (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow.
1179 (x_create_tip_frame): Don't call ShowWindow.
1180 (Fx_show_tip): Call ShowWindow.
1181 (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if
1182 TARGET_API_MAC_CARBON'.
1183 (mac_frame_parm_handlers): Set handlers for Qfullscreen.
1184 (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0.
1185
1186 * macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h.
1187 (Window): Typedef to WindowPtr and move outside `#if
1188 TARGET_API_MAC_CARBON'.
1189 (XSizeHints): New struct.
1190
1191 * macterm.c (x_update_begin, x_update_end)
1192 [TARGET_API_MAC_CARBON]: Disable screen updates during update of a
1193 frame.
1194 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
1195 [MAC_OS8]: Use XDrawImageString/XDrawImageString16.
1196 (construct_mouse_click): Put in #if 0.
1197 (x_check_fullscreen, x_check_fullscreen_move): Remove decls.
1198 (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef
1199 TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
1200 (activate_scroll_bars, deactivate_scroll_bars)
1201 [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl.
1202 (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window
1203 if the position is neither user-specified nor program-specified.
1204 (x_free_frame_resources): Free size_hints.
1205 (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints.
1206 (mac_clear_font_name_table): New function.
1207 (mac_do_list_fonts): Initialize font_name_table if needed.
1208 (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT
1209 around mac_do_list_fonts.
1210 (mac_unload_font): New function.
1211 (x_load_font): Add BLOCK_INPUT around XLoadQueryFont.
1212 (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations
1213 and definitions with #if TARGET_API_MAC_CARBON.
1214 [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl.
1215 (install_window_handler): Add decl.
1216 (do_window_update): Add BeginUpdate/EndUpdate for the tooltip
1217 window. Use UpdateControls. Get the rectangle that should be
1218 updated and restrict the target of expose_frame to it.
1219 (do_grow_window): Set minimum height/width according to size_hints.
1220 (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow.
1221 (do_zoom_window): Don't use x_set_window_size.
1222 [USE_CARBON_EVENTS] (mac_handle_window_event): New function.
1223 (install_window_handler): New function.
1224 [!USE_CARBON_EVENTS] (mouse_region): New variable.
1225 [!USE_CARBON_EVENTS] (mac_wait_next_event): New function.
1226 (XTread_socket) [USE_CARBON_EVENTS]: Move call to
1227 GetEventDispatcherTarget inside BLOCK_INPUT.
1228 (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event.
1229 Update mouse_region when mouse is moved.
1230 (make_mac_frame): Remove.
1231 (make_mac_terminal_frame): Put in #ifdef MAC_OS8.
1232 Initialize mouse pointer shapes. Change values of f->left_pos and
1233 f->top_pos. Don't use make_mac_frame. Use NewCWindow.
1234 Don't call ShowWindow.
1235 (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from
1236 Vinvocation_name and Vsystem_name.
1237 (mac_make_rdb): New function (from w32term.c).
1238 (mac_term_init): Use it. Add BLOCK_INPUT. Error if display has
1239 already been opened. Don't pass argument to
1240 mac_initialize_display_info. Don't set dpyinfo->height/width.
1241 Add entries to x_display_list and x_display_name_list.
1242 (x_delete_display): New function.
1243 (mac_initialize): Don't call mac_initialize_display_info.
1244 (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide.
1245
1246 * macterm.h (check_mac): Add extern.
1247 (struct mac_output): New member size_hints.
1248 (FRAME_SIZE_HINTS): New macro.
1249 (mac_unload_font): Add extern.
1250
1251 * xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
1252
1253 * xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
1254
1255 2004-12-27 Richard M. Stallman <rms@gnu.org>
1256
1257 * buffer.c (Fbuffer_disable_undo): Delete (move to simple.el).
1258 (syms_of_buffer): Don't defsubr it.
1259
1260 * process.c (list_processes_1): Set undo_list instead
1261 of calling Fbuffer_disable_undo.
1262
1263 * xdisp.c (single_display_spec_string_p): Rename from
1264 single_display_prop_string_p.
1265 (single_display_spec_intangible_p): Rename from
1266 single_display_prop_intangible_p.
1267 (handle_single_display_spec): Rename from handle_single_display_prop.
1268 Rewritten to be easier to understand.
1269
1270 Change in load-history format. Functions now get (defun . NAME),
1271 and variables get just NAME.
1272
1273 * data.c (Fdefalias): Use (defun . FN_NAME) in LOADHIST_ATTACH.
1274
1275 * eval.c (Fdefun, Fdefmacro): Use (defun . FN_NAME) in LOADHIST_ATTACH.
1276 (Fdefvaralias, Fdefvar, Fdefconst): Use just SYM in LOADHIST_ATTACH.
1277 (Qdefvar): Var deleted.
1278 (syms_of_eval): Don't initialze it.
1279
1280 * lread.c (syms_of_lread) <load-history>: Doc fix.
1281
1282 2004-12-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1283
1284 * xmenu.c (popup_get_selection): Pop down on C-g.
1285 (set_frame_menubar): Install translations for Lucid/Motif/Lesstif that
1286 pops down menu on C-g.
1287 (xdialog_show): If dialog popped down and no button in the dialog was
1288 pushed, call Fsignal to quit.
1289 (xmenu_show): In no toolkit version, if menu returns NO_SELECT call
1290 Fsignal to quit.
1291
1292 * xfns.c (Fx_file_dialog): Motif/Lesstif version: Pop down on C-g.
1293
1294 * gtkutil.c (xg_initialize): Install bindings for C-g so that
1295 dialogs and menus pop down.
1296
1297 2004-12-27 Kenichi Handa <handa@m17n.org>
1298
1299 * coding.c (code_convert_region): Fix calculation of `ratio'.
1300
1301 2004-12-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1302
1303 * gtkutil.c (update_frame_tool_bar): Make the value of
1304 tool-bar-button-margin control margins of images in tool bar.
1305
1306 * alloc.c (check_depth): New variable.
1307 (overrun_check_malloc, overrun_check_realloc): Only add
1308 overhead and write check pattern if check_depth is 1 (to handle
1309 recursive calls). Increase/decrease check_depth in entry/exit.
1310 (overrun_check_free): Only check for overhead if check_depth is 1.
1311 Increase/decrease check_depth in entry/exit.
1312
1313 2004-12-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1314
1315 * keyboard.c (input_available_signal): Call SIGNAL_THREAD_CHECK
1316 before touching input_available_clear_time, to avoid accessing it
1317 from multiple threads.
1318
1319 2004-12-23 Jason Rumney <jasonr@gnu.org>
1320
1321 * image.c (__WIN32__) [HAVE_NTGUI]: Define for correct behaviour
1322 of JPEG library.
1323
1324 2004-12-22 Richard M. Stallman <rms@gnu.org>
1325
1326 * emacs.c (main): If batch mode, set Vundo_outer_limit to nil.
1327
1328 * lisp.h (Vundo_outer_limit): Fix decl.
1329
1330 * undo.c (Vundo_outer_limit): Replaces undo_outer_limit.
1331 Uses changed.
1332 (syms_of_undo): Initialize appropriately.
1333 (truncate_undo_list): If it's nil, there's no limit.
1334
1335 2004-12-22 Kenichi Handa <handa@m17n.org>
1336
1337 * xselect.c (Fx_get_cut_buffer_internal): Return a unibyte string.
1338
1339 2004-12-21 Richard M. Stallman <rms@gnu.org>
1340
1341 * eval.c (unwind_to_catch): Clear immediate_quit.
1342
1343 * xdisp.c (get_next_display_element): Display codes 8a0 and 8ad
1344 specially as `\ ' and `\-'.
1345
1346 * keyboard.c (kbd_buffer_store_event_hold):
1347 In the code for while-no-input, handle immediate_quit.
1348
1349 * alloc.c (Fgarbage_collect): Update call to truncate_undo_list.
1350 Call that at the very start.
1351 (undo_limit, undo_strong_limit, undo_outer_limit): Move to undo.c.
1352 (syms_of_alloc): Don't define undo-limit,
1353 undo-strong-limit and undo-outer-limit here.
1354
1355 * undo.c (truncate_undo_list): Return void.
1356 Take just one argument, the buffer.
1357 Make it current, and inhibit recursive GC.
1358 Access and update the undo list directly; return void.
1359 Refer to the undo...limit variables directly.
1360 Test undo_outer_limit only after counting the whole current command.
1361 When it's exceeded, call the function in undo-outer-limit-function.
1362 (undo_limit, undo_strong_limit, undo_outer_limit): From alloc.c.
1363 (Vundo_outer_limit_function): New variable.
1364 (syms_of_undo): Define undo-limit, undo-strong-limit
1365 and undo-outer-limit here, and undo-outer-limit-function.
1366 Doc fixes.
1367
1368 * lisp.h (truncate_undo_list): Update decl.
1369
1370 2004-12-21 Piet van Oostrum <piet@cs.uu.nl>
1371
1372 * fileio.c (Fread_file_name): Delete duplicates in
1373 file-name-history when history_delete_duplicates is true.
1374
1375 2004-12-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1376
1377 * macterm.c (mac_do_list_fonts): Fix memory leak
1378
1379 2004-12-20 Richard M. Stallman <rms@gnu.org>
1380
1381 * regex.c (re_match_2_internal) <symend, wordend>:
1382 Fix calls to UPDATE_SYNTAX_TABLE_FORWARD.
1383
1384 2004-12-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1385
1386 * macterm.c (endif, x_font_name_to_mac_font_name):
1387 Use maccentraleurroman instead of maccentraleuropean
1388 (mac_c_string_match, mac_do_list_fonts): Speed up font search by
1389 quickly finding a specific font without needing regexps.
1390
1391 2004-12-15 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1392
1393 * syssignal.h: Declare main_thread.
1394 (SIGNAL_THREAD_CHECK): New macro.
1395
1396 * keyboard.c (input_available_signal): Move thread checking code
1397 to macro SIGNAL_THREAD_CHECK and call that macro.
1398 (interrupt_signal): Call SIGNAL_THREAD_CHECK.
1399
1400 * alloc.c (uninterrupt_malloc): Move main_thread to emacs.c.
1401
1402 * emacs.c: Define main_thread.
1403 (main): Initialize main_thread.
1404 (handle_USR1_signal, handle_USR2_signal, fatal_error_signal)
1405 (memory_warning_signal): Call SIGNAL_THREAD_CHECK.
1406
1407 * floatfns.c (float_error): Call SIGNAL_THREAD_CHECK.
1408
1409 * dispnew.c (window_change_signal): Call SIGNAL_THREAD_CHECK.
1410
1411 * sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK.
1412
1413 * process.c (send_process_trap, sigchld_handler):
1414 Call SIGNAL_THREAD_CHECK.
1415
1416 * data.c (arith_error): Call SIGNAL_THREAD_CHECK.
1417
1418 * atimer.c (alarm_signal_handler): Call SIGNAL_THREAD_CHECK.
1419
1420 * xterm.c (xg_scroll_callback): Update XG_LAST_SB_DATA before
1421 returning when xg_ignore_gtk_scrollbar is true.
1422
1423 2004-12-14 Kim F. Storm <storm@cua.dk>
1424
1425 * keyboard.c (read_char): Save and restore echo_string when
1426 handling input method.
1427
1428 2004-12-13 Richard M. Stallman <rms@gnu.org>
1429
1430 * eval.c (syms_of_eval) <quit-flag>: Doc fix.
1431
1432 * keyboard.c (Vthrow_on_input): New variable.
1433 (syms_of_keyboard): Defvar and initialize it.
1434 (kbd_buffer_store_event_hold): Handle Vthrow_on_input.
1435
1436 * lisp.h (QUIT): Check for Vthrow_on_input.
1437 (Vthrow_on_input): Declare it.
1438
1439 2004-12-13 Kim F. Storm <storm@cua.dk>
1440
1441 * xdisp.c (set_iterator_to_next): Reset stop_charpos after display
1442 vector.
1443
1444 2004-12-12 Richard M. Stallman <rms@gnu.org>
1445
1446 * indent.c (Fvertical_motion): Call move_it_by_lines even if LINES = 0.
1447
1448 * minibuf.c (Fall_completions): Add var `zero' and use it in loop.
1449 (Ftry_completion): Really use outer `zero'; eliminate inner one.
1450
1451 2004-12-12 Kenichi Handa <handa@m17n.org>
1452
1453 * term.c (encode_terminal_code): Fix previous change.
1454
1455 2004-12-11 Stefan Monnier <monnier@iro.umontreal.ca>
1456
1457 * keyboard.c (handle_async_input): Remove pthread mutex handling.
1458 (input_available_signal): Move pthread thingy to !SYNC_INPUT branch.
1459
1460 * syntax.c (Fforward_word): Avoid non-idempotent side-effects
1461 in macro arguments.
1462
1463 * minibuf.c (Ftry_completion, Fall_completions): Don't use
1464 XFASTINT blindly.
1465
1466 * emacs.c (main, Fdump_emacs): Don't touch malloc hooks if SYNC_INPUT.
1467
1468 2004-12-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1469
1470 * w32term.c (x_calc_absolute_position): Remove calculation of
1471 difference between inner and outer window. Don't subtract difference
1472 for left and top calculations.
1473
1474 * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
1475 for left and top calculations. Remove call to x_real_positions.
1476 [Bug report by Drew Adams in November]
1477 (x_check_expected_move): Do not set change_gravity to 1 when calling
1478 x_set_offset.
1479
1480 2004-12-08 Richard M. Stallman <rms@gnu.org>
1481
1482 * xdisp.c (get_next_display_element): Use `escape-glyph' for
1483 control chars and escaped octal codes.
1484 (Qescape_glyph): New variable.
1485 (syms_of_xdisp): Initialize it.
1486 (escape_glyph_face): New variable.
1487 (redisplay_window): Initialize it.
1488
1489 2004-12-07 Paul Eggert <eggert@cs.ucla.edu>
1490
1491 * image.c (our_fill_input_buffer, jpeg_load, CHECK_LIB_AVAILABLE)
1492 (init_image): Use 1 rather than TRUE. TRUE's not always defined.
1493
1494 2004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1495
1496 * emacs.c (Fdump_emacs): Add ! defined (SYSTEM_MALLOC) around
1497 reset_malloc_hooks.
1498
1499 * keyboard.c (handle_async_input, input_available_signal):
1500 Add ! defined (SYSTEM_MALLOC) around thread code.
1501
1502 * alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC.
1503
1504 2004-12-07 Stefan Monnier <monnier@iro.umontreal.ca>
1505
1506 * eval.c (init_eval_once): Increase max_specpdl_size to 1000.
1507
1508 * config.in: Regenerate.
1509
1510 2004-12-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1511
1512 * xmenu.c (Fx_popup_menu): Correct documentation about position.
1513 (xmenu_show): Do not call XTranslateCoordinates. Adjust position
1514 if not given by a mouse click to correspond with x-popup-menu
1515 documentation.
1516
1517 * config.in: Regenerate.
1518
1519 * gtkutil.c: Include signal.h and syssignal.h.
1520 (xg_get_file_name): Block and unblock __SIGRTMIN if defined.
1521
1522 * alloc.c: If HAVE_GTK_AND_PTHREAD, include pthread.h,
1523 new variables main_thread and alloc_mutex,
1524 define (UN)BLOCK_INPUT_ALLOC to use alloc_mutex to protect
1525 emacs_blocked_* calls and only do (UN)BLOCK_INPUT in the main thread.
1526 If not HAVE_GTK_AND_PTHREAD, (UN)BLOCK_INPUT_ALLOC is the same as
1527 (UN)BLOCK_INPUT.
1528 (emacs_blocked_free, emacs_blocked_malloc)
1529 (emacs_blocked_realloc): Use (UN)BLOCK_INPUT_ALLOC.
1530 (uninterrupt_malloc): Initialize main_thread and alloc_mutex.
1531 (reset_malloc_hooks): New function.
1532
1533 * lisp.h: Declare reset_malloc_hooks.
1534
1535 * emacs.c (Fdump_emacs): Call reset_malloc_hooks.
1536
1537 * keyboard.c: Conditionally include pthread.h
1538 (handle_async_input, input_available_signalt): If not in the main
1539 thread, block signal, send signal to main thread and return.
1540
1541 * gtkutil.c (xg_get_file_with_chooser): Handle local files only.
1542 Set current folder in file chooser if default_filename is a directory.
1543
1544 2004-12-05 Stefan Monnier <monnier@iro.umontreal.ca>
1545
1546 * regex.c (GET_UNSIGNED_NUMBER): Signal an error when reaching the end.
1547 Remove redundant correctness checks.
1548 (regex_compile): Fix up error codes for \{..\} expressions.
1549
1550 2004-12-05 Richard M. Stallman <rms@gnu.org>
1551
1552 * regex.c (regex_compile): Fix end-of-pattern case for space.
1553
1554 2004-12-03 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1555
1556 * macterm.h (cfstring_create_with_utf8_cstring): Add prototype.
1557 * mac.c (cfstring_create_with_utf8_cstring): Add to prevent
1558 crashes with invalid characters.
1559 * macmenu.c (add_menu_item): Use it.
1560 * image.c (image_load_quartz2d): Likewise.
1561 * macfns.c (x_set_name, x_set_title): Likewise.
1562 (Fx_file_dialog): Likewise. Use constant CFRefs instead of
1563 creating them each time for labels.
1564
1565 2004-12-02 Richard M. Stallman <rms@gnu.org>
1566
1567 * config.in (RE_TRANSLATE_P): If make_number is not a macro,
1568 don't use it here.
1569
1570 * eval.c (Fcalled_interactively_p): Don't check INTERACTIVE.
1571 (interactive_p): Skip Scalled_interactively_p frames
1572 like Sinteractive_p frames.
1573 (unwind_to_catch): Clear handling_signal.
1574
1575 * data.c (Fmake_variable_buffer_local): Doc fix.
1576 (Fmake_local_variable): Doc fix.
1577
1578 * insdel.c (insert_from_string_before_markers)
1579 (insert_from_string): Don't modify buffer on empty insertion.
1580
1581 * window.c (Fget_lru_window, Fget_largest_window): Doc fixes.
1582
1583 2004-12-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1584
1585 * macmenu.c (add_menu_item): Fallback on MacRoman if encoding
1586 menu text as UTF8 fails.
1587
1588 2004-12-01 Kim F. Storm <storm@cua.dk>
1589
1590 * alloc.c: Add commentary for last change.
1591 (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): New macros to handle
1592 sizeof(size_t) != 4.
1593 (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
1594 Use them. Also clear header and trailer of freed memory.
1595 (GC_STRING_OVERRUN_COOKIE_SIZE): Rename from GC_STRING_EXTRA.
1596 (string_overrun_cookie): Rename from string_overrun_pattern.
1597 (GC_STRING_EXTRA): Define from GC_STRING_OVERRUN_COOKIE_SIZE.
1598
1599 2004-12-01 Andreas Schwab <schwab@suse.de>
1600
1601 * lisp.h: Declare string_to_multibyte.
1602
1603 2004-12-01 Kenichi Handa <handa@m17n.org>
1604
1605 * w32console.c (w32con_write_glyphs): Decide coding here.
1606 Adjusted for the change of encode_terminal_code.
1607
1608 * term.c (encode_terminal_code): Don't make it "static".
1609
1610 2004-11-30 Kenichi Handa <handa@m17n.org>
1611
1612 * term.c (encode_terminal_buf, encode_terminal_bufsize): New variables.
1613 (encode_terminal_code): Argument changed. Encode all
1614 characters at once, and return a pointer to the result of encoding.
1615 (write_glyphs): Decide coding here. Adjusted for the above change.
1616 (insert_glyphs): Likewise.
1617 (term_init): Initialize encode_terminal_bufsize to 0.
1618
1619 * coding.c (Vcode_conversion_workbuf_name): New variable.
1620 (syms_of_coding): Initialize and staticpro it.
1621 (set_conversion_work_buffer): New function.
1622 (run_pre_post_conversion_on_str): Use it.
1623 (run_pre_write_conversin_on_c_str): New function.
1624
1625 * coding.h (run_pre_write_conversin_on_c_str): Extern it.
1626
1627 2004-11-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
1628
1629 * keyboard.c: Don't undef SIGIO
1630 * s/darwin.h (NO_SOCK_SIGIO): Define NO_SOCK_SIGIO on carbon
1631 * Makefile.in (mac.o): Depend on blockinput.h and atimer.h.
1632 (macfns.o): Don't depend on ccl.h.
1633 * macfns.c (mac_frame_parm_handlers): Set handlers for
1634 Qleft_fringe and Qright_fringe.
1635 * macterm.c (mac_fill_rectangle_to_pixmap)
1636 (mac_draw_rectangle_to_pixmap, mac_copy_area_to_pixmap)
1637 (mac_copy_area_with_mask_to_pixmap, x_draw_image_foreground_1):
1638 Put in #if 0.
1639 (mac_scroll_area) [TARGET_API_MAC_CARBON]: Use ScrollWindowRect.
1640 (x_flush) [TARGET_API_MAC_CARBON]: Don't traverse frames.
1641 (XFlush) [TARGET_API_MAC_CARBON]: Define to an empty replacement.
1642 (x_draw_glyph_string_background, x_draw_glyph_string_foreground)
1643 [!MAC_OS8]: Added ifdef'd out code for os8. Don't use
1644 XDrawImageString. Always draw background and foreground separately.
1645 (x_draw_image_foreground): Use clipping instead of computing the
1646 intersection rectangle.
1647 (x_draw_image_glyph_string): Don't draw an image with mask to a
1648 pixmap.
1649 (x_redisplay_interface): Set flush_display_optional member to 0.
1650 (XTread_socket): Correctly reset the TEConverter
1651 object.
1652
1653 2004-11-30 Kim F. Storm <storm@cua.dk>
1654
1655 * lisp.h: New defines to enable buffer overrun checking.
1656 (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST)
1657 (XMALLOC_OVERRUN_CHECK, GC_CHECK_CONS_LIST): Add.
1658
1659 * alloc.c: Add more checks for buffer overruns.
1660 (XMALLOC_OVERRUN_CHECK_SIZE, xmalloc_overrun_check_header)
1661 xmalloc_overrun_check_trailer, overrun_check_malloc)
1662 overrun_check_realloc, overrun_check_free): Add.
1663 (GC_STRING_EXTRA, string_overrun_pattern): Add.
1664 (check_sblock, allocate_string_data, compact_small_strings):
1665 Set and check string_overrun_pattern if GC_CHECK_STRING_OVERRUN.
1666 (check_cons_list): Condition on GC_CHECK_CONS_LIST.
1667 (check_string_free_list): Add.
1668 (allocate_string, sweep_strings): Call check_string_free_list.
1669
1670 * emacs.c (malloc_initialize_hook): Don't free malloc_state_ptr if
1671 XMALLOC_OVERRUN_CHECK to avoid crash during load.
1672
1673 2004-11-29 Kim F. Storm <storm@cua.dk>
1674
1675 * fns.c (concat): Use SAFE_ALLOCA.
1676
1677 2004-11-29 Stefan Monnier <monnier@iro.umontreal.ca>
1678
1679 * sysdep.c (emacs_write): Don't use QUIT.
1680
1681 2004-11-29 Kenichi Handa <handa@m17n.org>
1682
1683 * buffer.c (init_buffer): Set current_buffer->directory to a
1684 multibyte string made by string_to_multibyte.
1685
1686 * emacs.c (init_cmdargs): Set unibyte strings in Vcommand_line_args.
1687
1688 2004-11-27 Andreas Schwab <schwab@suse.de>
1689
1690 * alloc.c (mark_stack): Call GC_MARK_SECONDARY_STACK if defined.
1691
1692 * s/gnu-linux.h: Enable no-op gcpros on ia64.
1693 (GC_MARK_SECONDARY_STACK) [__ia64__]: Define.
1694
1695 * filelock.c (lock_file_1): Call get_boot_time early.
1696 Increase buffer size.
1697
1698 2004-11-27 Eli Zaretskii <eliz@gnu.org>
1699
1700 * lisp.h (DECL_ALIGN): Define non-trivially only if NO_DECL_ALIGN
1701 is not defined.
1702
1703 2004-11-27 Kim F. Storm <storm@cua.dk>
1704
1705 * search.c (syms_of_search) <search-spaces-regexp>: Move 'doc:'
1706 marker out of doc string.
1707
1708 2004-11-26 Stefan Monnier <monnier@iro.umontreal.ca>
1709
1710 * s/darwin.h (POSIX_SIGNALS): Undo the removal of 2002-08-25,
1711 which was not mentioned in the log.
1712
1713 2004-11-26 Kim F. Storm <storm@cua.dk>
1714
1715 * fringe.c (update_window_fringes): Prefer truncation bitmaps over
1716 angle bitmaps at top/bottom line.
1717
1718 * xdisp.c: Undo recent changes for restoring saved_face_id. Instead,
1719 set it when it->method is set to next_element_from_display_vector.
1720 (setup_for_ellipsis): Add LEN argument. Callers changed.
1721 Set it->saved_face_id.
1722 (get_next_display_element): Use loop instead of recursion.
1723 Set it->saved_face_id. Combine duplicate code for ctr chars.
1724 (next_element_from_display_vector): Do not set it->saved_face_id.
1725 (next_element_from_ellipsis): Use setup_for_ellipsis.
1726
1727 2004-11-26 Eli Zaretskii <eliz@gnu.org>
1728
1729 * eval.c (Fdefvar): Declare pdl from last change as `volatile' to
1730 prevent compiler warnings.
1731
1732 2004-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
1733
1734 * keyboard.c (command_loop_1): Print a message describing the key
1735 the user just pressed when this key has no binding.
1736
1737 * sysdep.c (sys_signal): Don't use SA_RESTART if SYNC_INPUT is set.
1738 (emacs_open, emacs_read, emacs_write): Check QUIT when interrupted.
1739
1740 * lread.c (readchar): Check QUIT when `getc' is interrupted.
1741
1742 2004-11-24 Richard M. Stallman <rms@gnu.org>
1743
1744 * coding.c (run_pre_post_conversion_on_str): Bind Qinhibit_read_only.
1745
1746 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>: Doc fix.
1747
1748 2004-11-24 Kim F. Storm <storm@cua.dk>
1749
1750 * xdisp.c (move_it_in_display_line_to, display_line):
1751 Restore saved_face_id also when truncate-lines or hscrolled.
1752
1753 2004-11-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1754
1755 * gtkutil.c (xg_get_file_name): Rename use-old-gtk-file-dialog to
1756 x-use-old-gtk-file-dialog.
1757
1758 * xfns.c: Define x_use_old_gtk_file_dialog.
1759 (syms_of_xfns): Rename use-old-gtk-file-dialog to x-... Move it
1760 outside ifdef USE_GTK.
1761
1762 2004-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
1763
1764 * coding.h (ENCODE_FILE, DECODE_FILE, ENCODE_SYSTEM, DECODE_SYSTEM):
1765 Don't use XFASTINT blindly.
1766
1767 * config.in (RE_TRANSLATE_P): Don't use XFASTINT blindly.
1768
1769 * indent.c (skip_invisible): Avoid non-idempotent side-effects
1770 in macro arguments.
1771
1772 * keymap.c (Flookup_key): Check INTEGERP before XINT.
1773
1774 * lread.c (oblookup): Don't use XFASTINT blindly.
1775
1776 * window.c (Fset_window_scroll_bars): Don't use XINT if it isn't int.
1777 (decode_next_window_args, window_loop): Don't use XFASTINT blindly.
1778
1779 2004-11-23 Kim F. Storm <storm@cua.dk>
1780
1781 * dispextern.h (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P)
1782 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Not if dpvec_index is zero.
1783
1784 * xfaces.c (lookup_named_face): Add signal_p arg. Return -1 if
1785 signal_p is zero and face name is unknown.
1786 (Fx_list_fonts): Don't signal error in lookup_named_face.
1787 (Fface_font): Signal error in lookup_named_face.
1788 (ascii_face_of_lisp_face): Likewise.
1789
1790 * dispextern.h (lookup_named_face): Fix prototype.
1791
1792 * xdisp.c (handle_single_display_prop): Don't signal error in
1793 lookup_named_face for unknown fringe face name.
1794 (highlight_trailing_whitespace): Don't signal error in
1795 lookup_named_face if trailing-whitespace face unknown.
1796 (calc_line_height_property): Don't signal error in
1797 lookup_named_face if specified face name is unknown.
1798
1799 * fringe.c (update_window_fringes): Show top row indicator if
1800 window has header-line. Don't show arrow at bob and eob
1801 if the boundary indicators are not used.
1802 (Fset_fringe_bitmap_face): Signal error in lookup_named_face.
1803
1804 * window.c (set_window_buffer): Clear display_error_modiff.
1805
1806 2004-11-22 Kim F. Storm <storm@cua.dk>
1807
1808 * fringe.c (update_window_fringes): Provide sensible fall-back
1809 value for non-nil indicate-buffer-boundaries setting.
1810
1811 2004-11-22 Markus Rost <rost@ias.edu>
1812
1813 * minibuf.c (Fminibuffer_complete_and_exit): Fix previous change.
1814
1815 2004-11-22 Stefan Monnier <monnier@iro.umontreal.ca>
1816
1817 * eval.c (Fdefvar): Warn when var is let-bound but globally void.
1818
1819 2004-11-21 Kim F. Storm <storm@cua.dk>
1820
1821 * xdisp.c (erase_phys_cursor): Clear hollow cursor inside TEXT_AREA.
1822
1823 * xterm.c (x_clip_to_row): Add area arg. Callers changed.
1824 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
1825
1826 * w32term.c (w32_clip_to_row): Add area arg. Callers changed.
1827 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
1828
1829 * macterm.c (x_clip_to_row): Add area arg. Callers changed.
1830 (x_draw_hollow_cursor, x_draw_bar_cursor): Clip to TEXT_AREA.
1831
1832 * xdisp.c (move_it_in_display_line_to, display_line):
1833 Restore saved_face_id if overflow-newline-into-fringe is enabled and
1834 line is continued before or in middle of element from display vector.
1835
1836 * indent.c (Fvertical_motion): Fix last change. Use another
1837 method to detect if iterator moved too far ahead after reseat.
1838
1839 * xdisp.c (IT_EXPAND_MATRIX_WIDTH): New macro. Do not
1840 expand matrix width for overflow in zero-width area.
1841 (append_glyph, append_composite_glyph, produce_image_glyph)
1842 (append_stretch_glyph): Use it to avoid loop in redisplay.
1843 (note_mode_line_or_margin_highlight): Don't let help-echo from
1844 string override help-echo from image map.
1845
1846 2004-11-20 Luc Teirlinck <teirllm@auburn.edu>
1847
1848 * fns.c (Fyes_or_no_p): Call Fread_from_minibuffer with extra argument.
1849 * callint.c (Fcall_interactively): Ditto.
1850
1851 2004-11-20 Stefan Monnier <monnier@iro.umontreal.ca>
1852
1853 * minibuf.c (Fminibuffer_complete_and_exit):
1854 Fixup the case of the completed value, for case-indep completion.
1855
1856 2004-11-20 Richard M. Stallman <rms@gnu.org>
1857
1858 * lisp.h (Fread_from_minibuffer): Add arg in decl.
1859
1860 * minibuf.c (read_minibuf): New arg KEEP_ALL. Callers changed.
1861 (Fread_from_minibuffer): New arg KEEP_ALL. Callers changed.
1862
1863 * search.c (Vsearch_spaces_regexp):
1864 Rename from Vsearch_whitespace_regexp. All uses changed.
1865
1866 2004-11-20 Thien-Thi Nguyen <ttn@gnu.org>
1867
1868 * eval.c (init_eval_once): Increase `max_specpdl_size' to 650.
1869
1870 2004-11-19 Richard M. Stallman <rms@gnu.org>
1871
1872 * search.c (Vsearch_whitespace_regexp): New variable.
1873 (syms_of_search): Defvar it.
1874 (compile_pattern_1): Call re_set_whitespace_regexp with it.
1875 (search_buffer): No regexp is trivial if Vsearch_whitespace_regexp
1876 is non-nil.
1877 (struct regexp_cache): New element whitespace_regexp.
1878 (syms_of_search): Initialize whitespace_regexp elements.
1879 (compile_pattern): Compare whitespace_regexp elements.
1880 (compile_pattern_1): Set whitespace_regexp elements.
1881
1882 * regex.c (regex_compile): Substitute whitespace_regexp
1883 for spaces, if it is nonzero.
1884 (whitespace_regexp): New variable.
1885 (re_set_whitespace_regexp): New function.
1886
1887 2004-11-19 Kim F. Storm <storm@cua.dk>
1888
1889 * indent.c (Fvertical_motion): Fix last change.
1890
1891 2004-11-18 Kim F. Storm <storm@cua.dk>
1892
1893 * indent.c (Fvertical_motion): Undo 2004-11-16 change.
1894 Instead, move back again if reseating moves too far ahead.
1895
1896 2004-11-17 Luc Teirlinck <teirllm@auburn.edu>
1897
1898 * xdisp.c (message3): Call clear_message.
1899
1900 2004-11-17 Kim F. Storm <storm@cua.dk>
1901
1902 * xdisp.c (erase_phys_cursor): Adjust cursor row visible height.
1903
1904 2004-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1905
1906 * gtkutil.c (xg_get_file_name): Typo in HAVE_GTK_FILE_SELECTION_NEW.
1907
1908 * xmenu.c (x_menu_in_use): Remove.
1909 (x_menu_set_in_use): Also set popup_activated_flag.
1910
1911 * xfns.c (Fx_file_dialog): Call popup_activated instead of
1912 x_menu_in_use. Call x_menu_set_in_use in Motif version also.
1913
1914 * xterm.h: (x_menu_in_use): Remove.
1915
1916 2004-11-16 Richard M. Stallman <rms@gnu.org>
1917
1918 * keymap.c (Fmap_keymap): New arg SORT-FIRST.
1919 Use map-keymap-internal to implement that.
1920
1921 * indent.c (Fvertical_motion): In batch mode, use vmotion directly.
1922
1923 2004-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
1924
1925 * xdisp.c (get_glyph_string_clip_rect, init_glyph_string): Check it's
1926 a window before using XWINDOW.
1927
1928 * window.c (make_window, Fselect_window, make_dummy_parent)
1929 (save_window_save):
1930 * frame.c (make_frame):
1931 * fns.c (concat): Avoid side-effects inside XSETFASTINT's arguments.
1932
1933 * lisp.h (NILP): Use EQ rather than XFASTINT.
1934
1935 2004-11-16 Kim F. Storm <storm@cua.dk>
1936
1937 * fringe.c (Fdefine_fringe_bitmap): Always set 'h'. Simplify.
1938
1939 * indent.c (Fvertical_motion): Fix last change. Only reseat when
1940 moving backwards.
1941
1942 2004-11-16 Luc Teirlinck <teirllm@auburn.edu>
1943
1944 * dispextern.h: Extern reseat_at_previous_visible_line_start.
1945
1946 2004-11-16 Kenichi Handa <handa@m17n.org>
1947
1948 * xdisp.c (display_mode_element): Fix previous change (calculate
1949 end position of substring to display correctly).
1950
1951 2004-11-16 Kim F. Storm <storm@cua.dk>
1952
1953 * keyboard.c (Fposn_at_point): Remove extra */ after doc string.
1954 Reported by Andrew M. Scott.
1955
1956 2004-11-15 Kim F. Storm <storm@cua.dk>
1957
1958 * fns.c (Fsafe_plist_get): New defun.
1959 (syms_of_fns): Defsubr it.
1960
1961 * lisp.h (Fsafe_plist_get): Add EXFUN.
1962
1963 * xdisp.c (store_mode_line_string, produce_stretch_glyph):
1964 Use Fsafe_plist_get.
1965 (note_mode_line_or_margin_highlight, note_mouse_highlight):
1966 Fix image map element parsing. Use Fsafe_plist_get.
1967
1968 2004-11-15 Richard M. Stallman <rms@gnu.org>
1969
1970 * xdisp.c (get_next_display_element): Fix previous change.
1971
1972 2004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1973
1974 * window.c (shrink_windows): Handle special case of one window left
1975 when trying to shrink the final reminder. Grow windows if
1976 total_removed is less than total_shrink.
1977
1978 * xmenu.c (pop_down_menu): Remove global variable current_menu,
1979 extract pointer from arg with XSAVE_VALUE.
1980 (create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
1981 Construct arg to record_unwind_protect with make_save_value.
1982
1983 2004-11-13 Richard M. Stallman <rms@gnu.org>
1984
1985 * xdisp.c (reseat_at_previous_visible_line_start): No longer static.
1986 (get_next_display_element): Fix previous change to apply only to \n.
1987
1988 * indent.c (Fvertical_motion): Scan to PT from start of line to
1989 make iterator consistent.
1990
1991 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
1992
1993 2004-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
1994
1995 * gtkutil.c (pop_down_file_dialog): Add BLOCK_INPUT.
1996
1997 * xfns.c (Fx_file_dialog): Call x_menu_in_use and x_menu_set_in_use.
1998 Record unwind with clean_up_file_dialog.
1999
2000 * xterm.h (x_menu_in_use, x_menu_set_in_use, x_menu_wait_for_event):
2001 Declare.
2002
2003 * xmenu.c (x_menu_in_use, x_menu_set_in_use): New functions.
2004
2005 2004-11-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2006
2007 * gtkutil.c (xg_file_sel_ok, xg_file_sel_cancel)
2008 (xg_file_sel_destroy): Remove.
2009 (xg_file_response_cb, pop_down_file_dialog)
2010 (xg_get_file_name_from_chooser, xg_get_file_name_from_selector):
2011 New functions.
2012 (xg_get_file_with_chooser, xg_get_file_with_selection):
2013 Take new arg func, set it to xg_get_file_name_from_chooser/selector.
2014 Move common code to xg_get_file_name. Return widget created.
2015 (xg_get_file_name): Set name, transient for, modal and destroy
2016 with parent here. Connect response signal to xg_file_response_cb,
2017 connect delete-event to gtk_true. Record pop_down_file_dialog
2018 for unwind. Do event loop and call x_menu_wait_for_event in loop.
2019 (xg_create_widget): Make dialogs modal.
2020
2021 * xmenu.c (unuse_menu_items, pop_down_menu): Arg is of type
2022 Lisp_Object.
2023 (popup_get_selection): Move unwind protect ...
2024 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
2025 Move destroy of widget to pop_down_menu.
2026 (popup_widget_loop): Move unwind protect ...
2027 (create_and_show_popup_menu, create_and_show_dialog): ... to here.
2028 Move destroy of widget to pop_down_menu.
2029 (pop_down_menu): BLOCK_INPUT and destroy widget/window.
2030 (xmenu_show): Record unwind pop_down_menu. Move XMenuDestroy,
2031 x_mouse_leave and grabbed = 0 to pop_down_menu.
2032
2033 2004-11-13 Kim F. Storm <storm@cua.dk>
2034
2035 * xdisp.c (make_cursor_line_fully_visible_p): New variable.
2036 (syms_of_xdisp): DEFVAR_BOOL it.
2037 (make_cursor_line_fully_visible, try_cursor_movement)
2038 (try_window_id): Use it.
2039
2040 2004-11-12 Kim F. Storm <storm@cua.dk>
2041
2042 * dispextern.h (struct glyph_row): New member extra_line_spacing.
2043 (struct it): New member max_extra_line_spacing.
2044 (MR_PARTIALLY_VISIBLE, MR_PARTIALLY_VISIBLE_AT_TOP)
2045 (MR_PARTIALLY_VISIBLE_AT_BOTTOM): New helper macros.
2046 (MATRIX_ROW_PARTIALLY_VISIBLE_P): Fix to return false if invisible
2047 part of last line is only extra line spacing (so the text on the
2048 line is fully visible). Use helper macros.
2049 Add W arg (to use them). All callers changed.
2050 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_TOP_P)
2051 (MATRIX_ROW_PARTIALLY_VISIBLE_AT_BOTTOM_P): Use helper macros.
2052
2053 * window.c (window_scroll_pixel_based, Frecenter):
2054 Use move_it_vertically_backward directly.
2055 (Frecenter): Fix calculation of new start pos for negative arg.
2056 Before, the new start pos was sometimes chosen too far back, so
2057 the last line became only partially visible, and thus would be
2058 either only semi-visible or automatically scrolled to the middle
2059 of the window by redisplay.
2060
2061 * xdisp.c (init_iterator): Clear it.max_extra_line_spacing.
2062 (move_it_vertically_backward): Don't recure to move further back.
2063 (move_it_vertically): Remove superfluous condition.
2064 (move_it_by_lines): Clear last_height when moved 0 lines.
2065 (resize_mini_window): Use it.max_extra_line_spacing.
2066 (display_tool_bar_line): Clear row->extra_line_spacing.
2067 (try_scrolling): Use move_it_vertically_backward directly.
2068 (redisplay_window): Likewise.
2069 (compute_line_metrics): Set row->extra_line_spacing.
2070 (display_line, display_string): Likewise.
2071 (x_produce_glyphs): Update it->max_extra_line_spacing.
2072
2073 * xmenu.c (pop_down_menu): Return nil.
2074
2075 2004-11-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2076
2077 * xmenu.c (x_menu_wait_for_event): New function.
2078 (popup_get_selection, popup_widget_loop): Call x_menu_wait_for_event
2079 to handle timers.
2080 (popup_widget_loop): Add argument do_timers.
2081 (create_and_show_popup_menu, create_and_show_dialog): Pass 1 for
2082 do_timers to popup_widget_loop.
2083 (xmenu_show): Call XMenuActivateSetWaitFunction so that
2084 x_menu_wait_for_event is called by XMenuActivate.
2085 (create_and_show_popup_menu): Pass 1 for do_timers to
2086 popup_get_selection.
2087 (pop_down_menu): New function.
2088 (popup_get_selection, popup_widget_loop): Unwind protect to
2089 pop_down_menu.
2090 (popup_widget_loop): Add argument widget.
2091 (create_and_show_popup_menu, create_and_show_dialog): Pass new
2092 argument widget to popup_widget_loop.
2093
2094 2004-11-10 Stefan Monnier <monnier@iro.umontreal.ca>
2095
2096 * keymap.c (Fkeymap_prompt): Accept symbol keymaps.
2097
2098 2004-11-09 Kim F. Storm <storm@cua.dk>
2099
2100 * xselect.c: Include <sys/types.h> and <unistd.h> (for getpid).
2101 Fix various comments referring to XEvents instead of input events.
2102 (x_queue_event): Fix format strings.
2103 (x_stop_queuing_selection_requests): Likewise.
2104
2105 * xdisp.c (produce_image_glyph): Remove unused variable 'face_ascent'.
2106 (pint2hrstr): Add extra braces to silence compiler.
2107
2108 * print.c (print_object): Fix format string.
2109
2110 * lread.c (read1): Fix next_char matching.
2111
2112 * lisp.h (Fdelete): Add EXFUN.
2113 (replace_range_2): Add prototype.
2114
2115 * keyboard.c (read_avail_input): Remove unused variable 'discard'.
2116
2117 * intervals.h (NULL_INTERVAL_P): Add separate version when
2118 ENABLE_CHECKING is not defined to silence compiler.
2119 (compare_string_intervals): Add prototype.
2120
2121 * fringe.c (destroy_fringe_bitmap): Fix return type.
2122 (Ffringe_bitmaps_at_pos): Remove unused var 'old_buffer'.
2123
2124 * emacs.c (Fdump_emacs): Fix format string.
2125
2126 * doc.c: Include <ctype.h>.
2127 (Fsubstitute_command_keys): Remove unused variable 'firstkey'.
2128
2129 * data.c (store_symval_forwarding): Remove unused variables.
2130
2131 * callint.c (Fcall_interactively): Remove unused variable 'funcar'.
2132
2133 2004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2134
2135 * Makefile.in (stamp-oldxmenu): If HAVE_GTK, don't add dependencies
2136 to ${OLDXMENU}.
2137
2138 2004-11-09 Kim F. Storm <storm@cua.dk>
2139
2140 * process.c (Fmake_network_process): Remove kludge for interrupted
2141 connects on BSD. If connect is interrupted, just close socket and
2142 start over rather than sleeping and retry with same socket.
2143
2144 2004-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2145
2146 * .cvsignore: Add buildobj.lst.
2147
2148 * doc.c: New variable Vbuild_files.
2149 (Fsnarf_documentation): If Vbuild_files is nil, populate it with
2150 file names from buildobh.lst. Only attach docstrings from files
2151 that are in Vbuild_files.
2152 (syms_of_doc): Defvar Vbuild_files.
2153
2154 * Makefile.in (SOME_MACHINE_OBJECTS): Add fringe.o, image.o
2155 and w32*.o.
2156 (temacs${EXEEXT}): Generate buildobj.lst when temacs is linked.
2157 (mostlyclean): Rm buildobj.lst
2158
2159 * makefile.w32-in ($(TEMACS)): Generate buildobj.lst when temacs
2160 is linked.
2161
2162 2004-11-09 Kim F. Storm <storm@cua.dk>
2163
2164 * fringe.c (update_window_fringes): Update fringe bitmaps if
2165 cur and row ends_at_zv_p differs. If bitmaps of a row is updated,
2166 also update previous row to get rid of misc. artifacts.
2167
2168 2004-11-08 Kim F. Storm <storm@cua.dk>
2169
2170 * xdisp.c (fast_find_position): Fix start pos if header line present.
2171 (note_mouse_highlight): Clear mouse face if we move out of text area.
2172
2173 2004-11-08 Eli Zaretskii <eliz@gnu.org>
2174
2175 * editfns.c: Move #include "systime.h" before <sys/resource.h>.
2176 Don't include <sys/time.h> explicitly.
2177 Include <stdio.h> unconditionally, not just on MacOS.
2178
2179 2004-11-08 Kenichi Handa <handa@m17n.org>
2180
2181 * fontset.c (fontset_pattern_regexp): Cancel my previous change;
2182 don't pay attention to '\' before '*'.
2183 (fontset_pattern_regexp): Change the meaning of the second arg.
2184 (Fnew_fontset): Call fs_query_fontset, not Fquery_fontset.
2185 (check_fontset_name): Try NAME as literal at first, and if it
2186 failes, try NAME as pattern.
2187
2188 2004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2189
2190 * emacs.c (Fdump_emacs): Only output warning on GNU/Linux.
2191
2192 2004-11-07 Andreas Schwab <schwab@suse.de>
2193
2194 * lisp.h (Fmsdos_downcase_filename): Declare.
2195 * dired.c (Fmsdos_downcase_filename): Don't declare here.
2196 * fileio.c: Likewise.
2197
2198 2004-11-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2199
2200 * dosfns.c (Fdos_memget, Fdos_memput): Use integer variable offs in
2201 comparisons with integers instead of Lisp_Object address.
2202 (Fmsdos_set_keyboard): Declare argument allkeys.
2203
2204 * msdos.c (IT_set_frame_parameters): Use EQ, not ==, for Lisp_Object:s.
2205
2206 * dired.c (Fmsdos_downcase_filename): Declare extern on MSDOS to avoid
2207 int/Lisp_Object mixup.
2208
2209 * fileio.c: Ditto.
2210
2211 2004-11-06 Steven Tamm <steventamm@mac.com>
2212
2213 * editfns.c: Need to include sys/time.h before resource.h on darwin.
2214
2215 2004-11-06 Richard M. Stallman <rms@gnu.org>
2216
2217 * callint.c (Fcall_interactively): Avoid reusing EVENT for other data.
2218
2219 * xfaces.c (merge_named_face): GCPRO the face_name in the
2220 named_merge_point struct that we make.
2221 (merge_face_heights): Eliminate GCPRO arg. All callers changed.
2222
2223 * keyboard.c (command_loop_1): Change Vtransient_mark_mode
2224 before deciding whether to inactivate mark.
2225
2226 2004-11-06 Lars Brinkhoff <lars@nocrew.org>
2227
2228 * config.in: Regenerate (add HAVE_GETRUSAGE).
2229 * editfns.c (Fget_internal_run_time): New function.
2230 (syms_of_data): Defsubr it.
2231 * fns.c (sxhash): As far as possible, merge calculation of
2232 hash code for symbols and strings.
2233
2234 2004-11-06 Eli Zaretskii <eliz@gnu.org>
2235
2236 * frame.c (syms_of_frame): Fix the example in the doc string.
2237
2238 2004-11-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2239
2240 * eval.c (Feval): Remove check for INPUT_BLOCKED_P.
2241
2242 * xmenu.c (popup_get_selection, create_and_show_popup_menu)
2243 (create_and_show_dialog): Revert change from 2004-10-31.
2244
2245 2004-11-05 Luc Teirlinck <teirllm@auburn.edu>
2246
2247 * macros.c (syms_of_macros) <defining-kbd-macro>: Doc fix.
2248
2249 2004-11-05 Kim F. Storm <storm@cua.dk>
2250
2251 * print.c (print_object): Print Lisp_Misc_Save_Value objects.
2252
2253 * fileio.c (Ffile_modes): Doc fix.
2254 (auto_save_1): Check for Ffile_modes nil value.
2255
2256 2004-11-05 Kim F. Storm <storm@cua.dk>
2257
2258 * xselect.c (struct selection_event_queue, selection_queue)
2259 (x_queue_selection_requests, x_queue_event)
2260 (x_start_queuing_selection_requests)
2261 (x_stop_queuing_selection_requests): Add new queue for selection
2262 input events to replace previous XEvent queue in xterm.c.
2263 (queue_selection_requests_unwind): Adapt to new queue.
2264 (x_reply_selection_request): Adapt to new queue.
2265 Unexpect wait_object in case of x errors (memory leak).
2266 (x_handle_selection_request, x_handle_selection_clear): Make static.
2267 (x_handle_selection_event): New function. May queue selection events.
2268 (wait_for_property_change_unwind): Use save_value instead of cons.
2269 Clear property_change_reply_object.
2270 (wait_for_property_change): Abort if already waiting.
2271 Use save_value instead of cons for unwind data.
2272 (x_handle_property_notify): Skip events already arrived, but don't
2273 free them, as "arrived" field is checked by wait_for_property_change,
2274 and it will be freed by unwind or explicit unexpect_property_change.
2275 (x_get_foreign_selection): Add to new queue.
2276 (receive_incremental_selection): Don't unexpect wait_object when done
2277 as it has already been freed by previous wait_for_property_change.
2278
2279 * xterm.h (x_start_queuing_selection_requests)
2280 (x_stop_queuing_selection_requests, x_handle_selection_request)
2281 (x_handle_selection_clear): Remove prototypes.
2282 (x_handle_selection_event): Add prototype.
2283
2284 * xterm.c (handle_one_xevent): Don't queue X selection events
2285 here, it may be too late if we start queuing after we have already
2286 stored some selection events into the kbd buffer.
2287 (struct selection_event_queue, queue, x_queue_selection_requests)
2288 (x_queue_event, x_unqueue_events, x_start_queuing_selection_requests)
2289 (x_stop_queuing_selection_requests): Remove/move to xselect.c.
2290 (x_catch_errors_unwind): Block input around final XSync.
2291
2292 * keyboard.h (kbd_buffer_unget_event): Add prototype.
2293
2294 * keyboard.c (kbd_buffer_store_event_hold): Remove obsolete code.
2295 (kbd_buffer_unget_event): New function.
2296 (kbd_buffer_get_event, swallow_events): Combine SELECTION events
2297 and use x_handle_selection_event.
2298 (mark_kboards): Don't mark x and y of SELECTION_CLEAR_EVENT.
2299
2300 2004-11-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2301
2302 * xselect.c (TRACE3): New debug macro.
2303 (x_reply_selection_request): Use it.
2304 (receive_incremental_selection): In call to TRACE0, the name of
2305 a symbol is in xname.
2306
2307 2004-11-05 Kim F. Storm <storm@cua.dk>
2308
2309 * fontset.c (fontset_pattern_regexp): Use unsigned char.
2310
2311 2004-11-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2312
2313 * fileio.c (Fnext_read_file_uses_dialog_p): New function.
2314
2315 * gtkutil.h (use_old_gtk_file_dialog): Declare.
2316
2317 * gtkutil.c: Make use_old_gtk_file_dialog non-static.
2318 (xg_initialize): Move DEFVAR_BOOL for use_old_gtk_file_dialog ...
2319 * xfns.c (syms_of_xfns): ... to here.
2320
2321 * gtkutil.c (xg_get_file_with_chooser): Expand DEFAULT_FILENAME if
2322 it doesn't start with /.
2323
2324 2004-11-04 Kenichi Handa <handa@m17n.org>
2325
2326 * fontset.c (fontset_pattern_regexp): If '*' is preceded by '\',
2327 treat it as a literal character.
2328
2329 2004-11-03 Kim F. Storm <storm@cua.dk>
2330
2331 * .gdbinit (ppt): New function.
2332
2333 2004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2334
2335 * xterm.c (x_window_to_scroll_bar): Only call
2336 xg_get_scroll_id_for_window if toolkit scroll bars are used.
2337
2338 * gtkutil.c (xg_get_file_with_chooser): Use GTK_STOCK_OK instead
2339 of save.
2340
2341 2004-11-02 Andreas Schwab <schwab@suse.de>
2342
2343 * window.c (Fscroll_right): Fix last change.
2344
2345 2004-11-02 Kim F. Storm <storm@cua.dk>
2346
2347 * Makefile.in (callproc.o): Depend on blockinput.h atimer.h systime.h.
2348
2349 2004-11-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2350
2351 * callproc.c (Fcall_process): Block input around vfork.
2352
2353 2004-11-02 Kim F. Storm <storm@cua.dk>
2354
2355 * eval.c (Fcalled_interactively_p): Rename from Fcall_interactive_p.
2356 (syms_of_eval): Defsubr it.
2357
2358 2004-11-02 Richard M. Stallman <rms@gnu.org>
2359
2360 * insdel.c (replace_range_2): New function.
2361
2362 * casefiddle.c (casify_region): Handle changes in byte-length
2363 using replace_range_2.
2364
2365 * emacs.c (USAGE3): Delete --horizontal-scroll-bars, -hb.
2366
2367 * xdisp.c (back_to_previous_visible_line_start):
2368 Subtract 1 from pos when checking previous newline for invisibility.
2369
2370 * window.c (window_scroll_pixel_based): Update preserve_y
2371 for header line if any.
2372 (Fscroll_left, Fscroll_right): Don't call interactive_p;
2373 use a new second argument instead.
2374
2375 * eval.c (Fcall_interactive_p): New function.
2376 (interactive_p): Don't test INTERACTIVE here.
2377 (Finteractive_p): Doc fix.
2378
2379 * eval.c (Feval): Abort if INPUT_BLOCKED_P.
2380
2381 2004-11-02 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
2382
2383 * w32fns.c (w32_font_match): Use fast_string_match_ignore_case for
2384 comparing font names.
2385
2386 2004-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2387
2388 * fileio.c (Fread_file_name): Pass Qt as fifth parameter to
2389 Fx_file_dialog if only directories should be read.
2390
2391 * lisp.h: Fx_file_dialog takes 5 parameters.
2392
2393 * xfns.c (Fx_file_dialog): Both Motif and GTK version:
2394 Add parameter only_dir_p.
2395 In Motif version, don't put DEFAULT_FILENAME in filter part of the
2396 dialog, just text field part. Do not add DEFAULT_FILENAME
2397 to list of files if it isn't there.
2398 In GTK version, pass only_dir_p parameter to xg_get_file_name.
2399
2400 * macfns.c (Fx_file_dialog): Add parameter only_dir_p.
2401 Check only_dir_p instead of comparing prompt to "Dired". When using
2402 a save dialog, add option kNavDontConfirmReplacement, change title
2403 to "Enter name", change text for save button to "Ok".
2404
2405 * w32fns.c (Fx_file_dialog): Add parameter only_dir_p.
2406 Check only_dir_p instead of comparing prompt to "Dired".
2407
2408 * gtkutil.c (xg_get_file_with_chooser)
2409 (xg_get_file_with_selection): New functions, only defined ifdef
2410 HAVE_GTK_FILE_CHOOSER_DIALOG_NEW and HAVE_GTK_FILE_SELECTION_NEW
2411 respectively.
2412 (xg_get_file_name): Add parameter only_dir_p.
2413 Call xg_get_file_with_chooser or xg_get_file_with_selection
2414 depending on HAVE_GTK_FILE* and the value of use_old_gtk_file_dialog.
2415 (xg_initialize): New DEFVAR_BOOL use_old_gtk_file_dialog.
2416
2417 * gtkutil.h (xg_get_file_name): Add parameter only_dir_p.
2418
2419 * config.in: Rebuild (added HAVE_GTK_FILE_*).
2420
2421 2004-11-01 Kim F. Storm <storm@cua.dk>
2422
2423 * process.c (connect_wait_mask, num_pending_connects):
2424 Only declare and use them if NON_BLOCKING_CONNECT is defined.
2425 (init_process): Initialize them if NON_BLOCKING_CONNECT defined.
2426 (IF_NON_BLOCKING_CONNECT): New helper macro.
2427 (wait_reading_process_output): Only declare and use local vars
2428 Connecting and check_connect when NON_BLOCKING_CONNECT is defined.
2429
2430 2004-11-01 Andy Petrusenco <Igrek@star-sw.com> (tiny change)
2431
2432 * w32term.c (x_scroll_run): Delete region objects after use.
2433
2434 2004-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2435
2436 * xmenu.c: Add prototypes for forward function declarations.
2437 (popup_get_selection): Remove parameter do_timers, remove call to
2438 timer_check.
2439 (create_and_show_popup_menu, create_and_show_dialog):
2440 Remove parameter do_timers from call to popup_get_selection.
2441
2442 * xdisp.c (update_tool_bar): Pass a copy of f->tool_bar_items to
2443 tool_bar_items and assign the result to f->tool_bar_items if
2444 not equal. Move BLOCK/UNBLOCK_INPUT from around call to
2445 tool_bar_items to assignment of result.
2446
2447 * atimer.c (alarm_signal_handler): Do not call set_alarm if
2448 pending_atmers is non-zero.
2449
2450 2004-10-31 Kim F. Storm <storm@cua.dk>
2451
2452 * dispnew.c (margin_glyphs_to_reserve): Don't use ncols_scale_factor.
2453
2454 2004-10-28 Will <will@glozer.net>
2455
2456 * macterm.c: allow user to assign key modifiers to the Mac Option
2457 key via a 'mac-option-modifier' variable.
2458
2459 2004-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
2460
2461 * xselect.c (Vx_lost_selection_functions, Vx_sent_selection_functions):
2462 Rename from Vx_lost_selection_hooks and Vx_sent_selection_hooks.
2463 (x_handle_selection_request, x_handle_selection_clear)
2464 (x_clear_frame_selections, syms_of_xselect): Adjust accordingly.
2465
2466 2004-10-28 Richard M. Stallman <rms@gnu.org>
2467
2468 * w32fns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
2469
2470 * xfns.c (Fx_server_vendor, Fx_server_version): Doc fixes.
2471
2472 2004-10-27 Stefan Monnier <monnier@iro.umontreal.ca>
2473
2474 * syntax.c (scan_sexps_forward): Give precedence to a 2-char
2475 comment-starter over a 1-char one.
2476
2477 2004-10-27 Richard M. Stallman <rms@gnu.org>
2478
2479 * xdisp.c (get_next_display_element): In mode lines,
2480 treat newline and tab like other control characters.
2481
2482 * editfns.c (Fmessage): Doc fix.
2483
2484 * indent.c (vmotion): When moving up, check the newline before.
2485 Make prevline an int, not a Lisp_Object.
2486
2487 2004-10-27 Kim F. Storm <storm@cua.dk>
2488
2489 * editfns.c (Fformat): Allocate discarded table with SAFE_ALLOCA.
2490 Only allocate info and discarded tables once.
2491
2492 * lisp.h (USE_SAFE_ALLOCA): Add and init sa_must_free integer.
2493 (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used.
2494 (SAFE_FREE): Test it to determine if we need to unwind to free.
2495 Remove size arg. All users changed.
2496 (SAFE_FREE_LISP) Remove. All users changed to use SAFE_FREE.
2497
2498 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2499
2500 * gtkutil.c: Put empty line between comment and function body.
2501 (xg_destroy_widgets): Rename from remove_from_container.
2502 Just destroy all widgets in list. Argument wcont removed.
2503 (xg_update_menubar, xg_update_submenu): Call xg_destroy_widgets
2504 instead of remove_from_container.
2505 (xg_display_close, xg_create_tool_bar, update_frame_tool_bar)
2506 (free_frame_tool_bar): Add comment.
2507
2508 * xfns.c (xic_create_xfontset): Check that FRAME_XIC_BASE_FONTNAME
2509 is not NULL before strcmp.
2510
2511 2004-10-26 Kim F. Storm <storm@cua.dk>
2512
2513 * callint.c (Fcall_interactively): Add 'U' code to get the
2514 up-event discarded by a previous 'k' or 'K' argument.
2515
2516 2004-10-26 David Kastrup <dak@gnu.org>
2517
2518 * buffer.c (syms_of_buffer): Fix a few typos.
2519
2520 2004-10-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2521
2522 * xsmfns.c: Put empty line between comment and function body.
2523 Use two spaces before comment end.
2524
2525 2004-10-25 Kenichi Handa <handa@m17n.org>
2526
2527 * fontset.c (fontset_pattern_regexp): Optimize for the case that
2528 PATTERN is full XLFD.
2529
2530 2004-10-24 Kenichi Handa <handa@m17n.org>
2531
2532 * regex.h (enum reg_errcode_t): New value REG_ERANGEX.
2533
2534 * regex.c (re_error_msgid): Add an entry for REG_ERANGEX.
2535 (regex_compile): Return REG_ERANGEX if appropriate.
2536
2537 2004-10-22 Kenichi Handa <handa@m17n.org>
2538
2539 * editfns.c (Ftranslate_region_internal): New function.
2540 (syms_of_editfns): Defsubr it.
2541
2542 2004-10-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2543
2544 * xfns.c (xic_create_xfontset): Initialize missing_list to NULL.
2545
2546 2004-10-21 K\e,Aa\e(Broly L\e$,1 q\e(Brentey <lorentey@elte.hu>
2547
2548 * xterm.h (x_output): New member `xic_base_fontname'.
2549 (FRAME_XIC_BASE_FONTNAME): New macro.
2550 (xic_free_xfontset): Declare.
2551
2552 * xfns.c (xic_create_xfontset): Share fontsets between frames
2553 based on base_fontname.
2554 (xic_free_xfontset): New function.
2555 (free_frame_xic): Use it.
2556 (xic_set_xfontset): Ditto.
2557
2558 * xterm.c (xim_destroy_callback): Ditto.
2559
2560
2561 2004-10-20 B. Anyos <banyos@freemail.hu> (tiny change)
2562
2563 * w32term.c (x_draw_glyph_string): Use overline_color for overlines.
2564
2565 2004-10-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2566
2567 * xterm.h (XSync): If USE_GTK, define XSync as process_all and then
2568 XSync.
2569
2570 * emacs.c (my_heap_start, heap_bss_diff, MAX_HEAP_BSS_DIFF):
2571 New variables and constant.
2572 (main): Calculate heap_bss_diff. If we are dumping and the
2573 heap_bss_diff is greater than MAX_HEAP_BSS_DIFF, set PER_LINUX32
2574 and exec ourself again.
2575 (Fdump_emacs): If heap_bss_diff is greater than MAX_HEAP_BSS_DIFF
2576 print a warning.
2577
2578 * lastfile.c: Make my_endbss and my_endbss_static available on all
2579 platforms.
2580
2581 * Makefile.in (RUN_TEMACS): Remove @SETARCH@.
2582 * config.in (HAVE_PERSONALITY_LINUX32): Regenerate.
2583
2584 2004-10-19 Luc Teirlinck <teirllm@auburn.edu>
2585
2586 * data.c (Flocal_variable_if_set_p): Doc fix.
2587
2588 2004-10-19 Jason Rumney <jasonr@gnu.org>
2589
2590 * w32.c (init_environment): Set emacs_dir correctly when running
2591 emacs from the build directory.
2592
2593 2004-10-19 Richard M. Stallman <rms@gnu.org>
2594
2595 * editfns.c (Fdelete_and_extract_region):
2596 If region is empty, return null string.
2597
2598 2004-10-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2599
2600 * gtkutil.h (xg_update_scrollbar_pos): Remove arguments real_left
2601 and canon_width.
2602 (xg_frame_cleared): Remove.
2603
2604 * gtkutil.c (xg_frame_cleared, xg_fixed_handle_expose)
2605 (xg_find_top_left_in_fixed): Remove.
2606 (xg_create_scroll_bar): Put an event box widget between
2607 the scroll bar widget and the edit widget.
2608 (xg_show_scroll_bar): Show the parent widget (the event box).
2609 (xg_remove_scroll_bar): Destroy parent (the event box) also.
2610 (xg_update_scrollbar_pos): Remove arguments real_left and canon_width.
2611 Move the parent (the event box) widget inside the fixed widget.
2612 Move window clear to xterm.c.
2613
2614 * gtkutil.h (xg_frame_cleared): Remove.
2615
2616 * xterm.c (x_clear_frame): Remove call to xg_frame_cleared
2617 (x_scroll_bar_create, XTset_vertical_scroll_bar):
2618 Remove arguments left and width to xg_update_scrollbar_pos.
2619 (XTset_vertical_scroll_bar): Do x_clear_area for USE_GTK also.
2620
2621 2004-10-19 Kenichi Handa <handa@m17n.org>
2622
2623 * xdisp.c (display_mode_element): Fix display of wide chars.
2624
2625 2004-10-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2626
2627 * gtkutil.c (xg_update_scrollbar_pos): Change XClearWindow to
2628 gdk_window_clear and move gdk_window_process_all_updates after
2629 clear so events are sent to the X server in correct order.
2630
2631 2004-10-18 Kenichi Handa <handa@m17n.org>
2632
2633 * fontset.c (fs_load_font): Use fast_string_match_ignore_case for
2634 comparing font names.
2635 (fs_query_fontset): Use fast_string_match for comparing fontset names.
2636 (list_fontsets): Likewise.
2637
2638 * search.c (fast_string_match_ignore_case): New function.
2639
2640 * lisp.h (fast_string_match_ignore_case): Extern it.
2641
2642 2004-10-17 Kim F. Storm <storm@cua.dk>
2643
2644 * xdisp.c (overlay_arrow_at_row): Return overlay string rather
2645 than bitmap if there is not left fringe.
2646 (get_overlay_arrow_glyph_row): Also used on windows system.
2647 (display_line): Display overlay string if no left fringe.
2648
2649 2004-10-16 Jason Rumney <jasonr@gnu.org>
2650
2651 * w32fns.c (w32_font_match): Encode font name being matched.
2652
2653 2004-10-16 Richard M. Stallman <rms@gnu.org>
2654
2655 * window.c (Fspecial_display_p): Doc fix.
2656
2657 2004-10-15 Stefan Monnier <monnier@iro.umontreal.ca>
2658
2659 * doc.c (Fsubstitute_command_keys): Fix remap-handling.
2660 Don't ignore menus, because where-is-internal already does it for us.
2661
2662 2004-10-15 Kim F. Storm <storm@cua.dk>
2663
2664 * xdisp.c (redisplay_window): Only update fringes and vertical
2665 border on window frames.
2666
2667 2004-10-14 Andreas Schwab <schwab@suse.de>
2668
2669 * m/ia64.h (DATA_SEG_BITS): Don't define.
2670
2671 2004-10-14 Kim F. Storm <storm@cua.dk>
2672
2673 * xterm.h: Include Xutil.h after keysym.h to work around bug
2674 in some X versions.
2675
2676 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
2677
2678 * fns.c (map_char_table): Add missing gcpros.
2679
2680 2004-10-13 Stefan Monnier <monnier@iro.umontreal.ca>
2681
2682 * keymap.c (get_keymap): An autoload form is not a keymap.
2683
2684 * textprop.c (syms_of_textprop): Make `syntax-table' nonsticky.
2685
2686 2004-10-13 Kim F. Storm <storm@cua.dk>
2687
2688 * callproc.c (Fcall_process): Simplify handling of display arg.
2689 Resume `display_on_the_fly' once a coding system is determined.
2690
2691 * xdisp.c (redisplay_preserve_echo_area): Fix last change.
2692
2693 2004-10-12 Kim F. Storm <storm@cua.dk>
2694
2695 * xdisp.c (redisplay_preserve_echo_area): Flush display in case
2696 caller, such as call-process, is not going to poll for input.
2697 (calc_line_height_property): Handle case where it->object is nil.
2698
2699 * xterm.c (x_redisplay_interface): Fix flush_display_optional.
2700
2701 2004-10-12 Kenichi Handa <handa@m17n.org>
2702
2703 * xdisp.c (get_next_display_element):
2704 If unibyte_display_via_language_environment is zero, display 8-bit
2705 chars in octal in unibyte buffer.
2706
2707 2004-10-12 Kim F. Storm <storm@cua.dk>
2708
2709 * doc.c (Fsubstitute_command_keys): Ignore remappings unless there
2710 are no ordinary bindings.
2711
2712 2004-10-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2713
2714 * xfns.c (syms_of_xfns): Defsubr x-file-dialog for GTK also.
2715
2716 2004-10-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2717
2718 * macterm.c (x_raise_frame): Add BLOCK_INPUT around SelectWindow.
2719 (x_lower_frame): Add BLOCK_INPUT around SendBehind.
2720 (make_mac_frame): Add BLOCK_INPUT around the making of a
2721 terminal frame.
2722 (mac_initialize): Add BLOCK_INPUT around carbon initialization.
2723 * macgui.h (mktime): Use emacs_mktime.
2724 * macfns.c (Fx_file_dialog): Add BLOCK_INPUT around more code.
2725 Make a cancel file-open dialog be like C-g.
2726 * mac.c (mktime): Use emacs_mktime.
2727 (Fdo_applescript): Add BLOCK_INPUT around do_applescript.
2728 (Fmac_paste_function): Add better error handling for carbon cut/paste.
2729
2730 2004-10-10 Kim F. Storm <storm@cua.dk>
2731
2732 * keyboard.c (timer_resume_idle): New function to resume idle
2733 timer without resetting timers on the idle list.
2734 (read_char): Use timer_resume_idle. Remove local var last_idle_start.
2735 (timer_start_idle, timer_stop_idle): Declare static.
2736 (read_key_sequence): Use timer_resume_idle instead of timer_start_idle.
2737
2738 * keyboard.h (timer_start_idle, timer_stop_idle): Remove prototypes.
2739
2740 2004-10-08 Steven Tamm <steventamm@mac.com>
2741
2742 * config.in (HAVE_MALLOC_MALLOC_H): Regenerate.
2743 * macterm.c (mac_check_for_quit_char): Remove warning for using
2744 NULL where 0 should be used.
2745 * unexmacosx.c: Use malloc/malloc.h on Tiger instead of
2746 objc/malloc.h
2747 * mac.c: Include time.h for Tiger compatibility.
2748
2749 2004-10-07 Kim F. Storm <storm@cua.dk>
2750
2751 * xdisp.c (redisplay_window): Fix flicker on vertical line between
2752 windows. Update vertical line after drawing window fringes, but
2753 only if actually drawing any bitmaps--or there is no fringe.
2754
2755 * xterm.c (x_update_window_end): Likewise.
2756 * macterm.c (x_update_window_end): Likewise.
2757 * w32term.c (x_update_window_end): Likewise.
2758
2759 * fringe.c (draw_window_fringes): Return value now indicates if
2760 any fringe bitmaps were redrawn (or there are no fringes).
2761
2762 * dispextern.h (draw_window_fringes): Update prototype.
2763
2764 2004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2765
2766 * macfns.c (mac_get_window_bounds): Add extern.
2767 (x_real_positions): Use mac_get_window_bounds.
2768
2769 * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for
2770 xmenu.c (YAILOM).
2771
2772 * macterm.c [!MAC_OSX]: Include Windows.h.
2773 (front_emacs_window): Rename from mac_front_window. All uses
2774 changed. Return the frontmost non-tooltip emacs window.
2775 (mac_get_window_bounds): New function.
2776 (x_calc_absolute_position): Use the difference of width and height
2777 between the inner and outer window.
2778 (x_set_offset): Specify window position by the coordinae of the
2779 outer window. Adjust the position if the title bar is completely
2780 outside the screen.
2781 (app_is_suspended, app_sleep_time): Remove unused variables.
2782 (do_app_resume, do_app_suspend): Remove their contents because
2783 window-activate/deactivate events will do the job.
2784 (do_zoom_window): Remove unused variables. Make compliant to the
2785 standard way of zooming. Set f->left_pos and f->top_pos.
2786 (XTread_socket): Don't use argument `expected'. Don't use
2787 FrontWindow to determine the clicked window. Exclude unprocessed
2788 mouseUp cases in the early stage. Add parentheses to fix operator
2789 precedence.
2790 (XTread_socket) [TARGET_API_MAC_CARBON]: Don't specify drag area.
2791
2792 2004-10-05 Jan Dj\e,Ad\e(Brv. <jan.h.d@swipnet.se>
2793
2794 * config.in: Regenerate.
2795
2796 * Makefile.in (RUN_TEMACS): Check HAVE_RANDOM_HEAPSTART instead of
2797 HAVE_EXECSHIELD.
2798
2799 2004-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2800
2801 * xterm.c (x_find_modifier_meanings): Ignore any Super or Hyper for
2802 a row if Alt or Meta has been found for that row. Also stop scanning
2803 for Keysyms for that row.
2804
2805 2004-10-04 Kim F. Storm <storm@cua.dk>
2806
2807 * fringe.c (Ffringe_bitmaps_at_pos): Change return value from cons
2808 to list. Include overlay arrow bitmap in return value.
2809
2810 * xterm.c (XTset_vertical_scroll_bar): Improve handling of scroll
2811 bars with fractional column width. If scroll bar separates two
2812 windows, move it towards the window it belongs to. Only update
2813 the padding area below the scroll bar widget when necessary,
2814 i.e. when scroll bar widget is created, moved, or resized.
2815
2816 * xdisp.c (define_frame_cursor1): Do not change frame cursor
2817 while tracking/dragging mouse.
2818 (x_draw_vertical_border): Do not draw line if frame has scroll bars.
2819
2820 * window.c (coordinates_in_window): Relax check for cursor
2821 on vertial border between mode lines.
2822 (Fset_window_fringes): Do not allow negative widths.
2823 (Fset_window_scroll_bars): Likewise.
2824
2825 * .gdbinit (pp): Shorthand for p ARG + pr.
2826 (ff): New command: flush frame updates (X only).
2827
2828 2004-10-03 Michael Albinus <michael.albinus@gmx.de>
2829
2830 * fileio.c (auto_save_1) Call Ffile_modes for remote files.
2831
2832 2004-09-30 Kenichi Handa <handa@m17n.org>
2833
2834 * process.c (send_process): Free composition data.
2835
2836 * fileio.c (Finsert_file_contents): Free composition data.
2837
2838 * coding.c (code_convert_region): Don't skip ASCIIs if there are
2839 compositions to encode.
2840 (encode_coding_string): Likewise. Free composition data.
2841
2842 2004-09-30 Florian Weimer <fw@deneb.enyo.de>
2843
2844 * coding.c (code_convert_region): Free composition data.
2845
2846 2004-09-29 Kim F. Storm <storm@cua.dk>
2847
2848 * fringe.c: Remove limit on number of bitmaps.
2849 (fringe_bitmaps, fringe_faces): Change to pointers.
2850 (max_fringe_bitmaps): New var.
2851 (Fdefine_fringe_bitmap): Expand fringe_bitmaps and fringe_faces.
2852 (init_fringe): Allocate fringe_bitmaps and fringe_faces.
2853
2854 * dispextern.h (FRINGE_ID_BITS): Increase to 16 bits (64K bitmaps).
2855 (struct glyph_row): Reorder fringe_bitmap related fields.
2856 (struct it): Likewise.
2857
2858 * w32term.c (fringe_bmp): Change to pointer.
2859 (max_fringe_bmp): New var.
2860 (w32_define_fringe_bitmap): Expand fringe_bmp.
2861 (w32_draw_fringe_bitmap): Check max_fringe_bmp.
2862 (w32_destroy_fringe_bitmap): Likewise.
2863
2864 2004-09-29 Kim F. Storm <storm@cua.dk>
2865
2866 * fringe.c: Simplify last change.
2867 (lookup_fringe_bitmap): New function.
2868 (valid_fringe_bitmap_p, resolve_fringe_bitmap): Remove.
2869 (Fdestroy_fringe_bitmap): Use lookup_fringe_bitmap.
2870 Keep standard bitmaps in Vfringe_bitmaps.
2871 (Fdefine_fringe_bitmap): Use lookup_fringe_bitmap.
2872 (Fset_fringe_bitmap_face): Likewise.
2873
2874 * dispextern.h (lookup_fringe_bitmap): Add prototype.
2875 (valid_fringe_bitmap_p): Remove prototype.
2876
2877 * xdisp.c (handle_single_display_prop): Use lookup_fringe_bitmap.
2878
2879 2004-09-29 Kim F. Storm <storm@cua.dk>
2880
2881 * fringe.c (destroy_fringe_bitmap, init_fringe_bitmap)
2882 (w32_init_fringe, w32_reset_fringes): Fix bootstrap (NULL rif).
2883
2884 * dispextern.h (valid_fringe_bitmap_p): Fix prototype.
2885
2886 * fringe.c (Vfringe_bitmaps): New variable.
2887 (syms_of_fringe): DEFVAR_LISP it.
2888 (valid_fringe_bitmap_p): Rename from valid_fringe_bitmap_id_p.
2889 Change arg to Lisp_Object and fail if not an integer.
2890 (get_fringe_bitmap_name, resolve_fringe_bitmap)
2891 (destroy_fringe_bitmap): New functions.
2892 (Fdestroy_fringe_bitmap): Change arg to bitmap symbol.
2893 Use destroy_fringe_bitmap. Remove symbol from Vfringe_bitmaps and
2894 clear its fringe property.
2895 (init_fringe_bitmap): Use destroy_fringe_bitmap instead of
2896 Fdestroy_fringe_bitmap.
2897 (Fdefine_fringe_bitmap): Add BITMAP arg specifying new or existing
2898 bitmap symbol; remove WHICH arg. Add symbol to Vfringe_bitmaps
2899 and set fringe property. Signal error if no free slots.
2900 (Fset_fringe_bitmap_face): Change arg to bitmap symbol.
2901 (Ffringe_bitmaps_at_pos): Return bitmap symbols instead of numbers.
2902
2903 * xdisp.c (handle_single_display_prop): Fringe bitmaps are now
2904 symbols with a fringe property.
2905
2906 2004-09-27 Kim F. Storm <storm@cua.dk>
2907
2908 * buffer.c (syms_of_buffer) <indicate-buffer-boundaries>:
2909 Doc fix. Format may now be a symbol or alist, not a cons.
2910
2911 * fringe.c (update_window_fringes): Handle new formats of
2912 indicate-buffer-boundaries (symbol or alist). No longer
2913 allow a simple cons.
2914 (Ffringe_bitmaps_at_pos): Use nil value for no bitmap.
2915
2916 2004-09-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2917
2918 * config.in: Rebuild.
2919
2920 2004-09-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2921
2922 * config.in: Rebuild.
2923
2924 * Makefile.in: Run setarch i386 ./temacs if exec-shield is present.
2925
2926 2004-09-18 Stefan Monnier <monnier@iro.umontreal.ca>
2927
2928 * xterm.c (x_term_init): Work around a bug in some X servers.
2929
2930 2004-09-18 Richard M. Stallman <rms@gnu.org>
2931
2932 * buffer.c (syms_of_buffer) <default-major-mode>: Doc fix.
2933
2934 * xdisp.c (try_window_reusing_current_matrix):
2935 Handle the case where we reach the old displayed text,
2936 out of sync with the old line boundary.
2937
2938 2004-09-14 Stefan Monnier <monnier@iro.umontreal.ca>
2939
2940 * fileio.c (Finsert_file_contents): Fix case of replacement in a
2941 narrowed buffer.
2942
2943 2004-09-14 Kim F. Storm <storm@cua.dk>
2944
2945 * puresize.h (PURESIZE_RATIO): Define based on BITS_PER_EMACS_INT.
2946
2947 * xfaces.c (Qface_no_inherit): New var.
2948 (syms_of_xfaces): Intern and staticpro it.
2949 (Finternal_make_lisp_face, Finternal_set_lisp_face_attribute)
2950 (Finternal_copy_lisp_face, update_face_from_frame_parameter):
2951 Don't increment face_change_count when face has non-nil
2952 face-no-inherit property.
2953
2954 2004-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
2955
2956 * bytecode.c (BYTE_CODE_QUIT): Add missing AFTER_POTENTIAL_GC.
2957 (Fbyte_code): Remove dead code after `wrong_type_argument'.
2958
2959 * alloc.c (Fgarbage_collect): Mark keyboards, gtk data, and specpdl
2960 before doing the mark_stack_check_gcpros since they're not on the stack.
2961
2962 2004-09-12 Kim F. Storm <storm@cua.dk>
2963
2964 * editfns.c (Fformat): Handle format strings with multiple text
2965 properties. Reverse text property list from the format string,
2966 so the positions are in increasing order.
2967
2968 2004-09-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
2969
2970 * xselect.c (x_reply_selection_request): XSync and UNBLOCK before
2971 x_uncatch_errors so that possible protocol errors are delivered.
2972
2973 2004-09-10 Eli Zaretskii <eliz@gnu.org>
2974
2975 * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
2976 blockinput.h.
2977 (dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
2978 charset.h, and coding.h
2979 (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h.
2980 (term.o): Depend on window.h and keymap.h.
2981 (abbrev.o): Depend on syntax.h.
2982 (callint.o): Depend on keymap.h.
2983 (casefiddle.o): Depend on charset.h and keymap.h.
2984 (category.o): Depend on keymap.h.
2985 (coding.o): Depend on dispextern.h.
2986 (cmds.o): Depend on keyboard.h and keymap.h.
2987 (dispnew.o): Depend on indent.h and intervals.h.
2988 (doc.o): Depend on keymap.h.
2989 (editfns.o): Depend on frame.h.
2990 (emacs.o): Depend on dispextern.h.
2991 (fileio.o): Don't depend on ccl.h.
2992 (filelock.o): Depend on charset.h and coding.h.
2993 (frame.o): Depend on w32term.h and macterm.h.
2994 (insdel.o): Depend on region-cache.h.
2995 (keyboard.o): Depend on keymap.h, w32term.h, and macterm.h.
2996 (minibuf.o): Depend on $(INTERVALS_SRC) and keymap.h.
2997 (search.o): Depend on $(INTERVALS_SRC).
2998 (syntax.o): Depend on keymap.h, regex.h, and $(INTERVALS_SRC).
2999 (window.o): Depend on keymap.h, blockinput.h, $(INTERVALS_SRC),
3000 xterm.h, w32term.h, and macterm.h.
3001 (xdisp.o): Depend on keyboard.h, $(INTERVALS_SRC), xterm.h,
3002 w32term.h, and macterm.h.
3003 (xfaces.o): Depend on keyboard.h, $(INTERVALS_SRC),
3004 region-cache.h, xterm.h, w32term.h, and macterm.h.
3005 (bytecode.o): Depend on dispextern.h, frame.h, and xterm.h.
3006 (data.o): Depend on frame.h.
3007 (fns.o): Depend on keymap.h, xterm.h, and blockinput.h.
3008 (print.o): Depend on termchar.h and $(INTERVALS_SRC).
3009 (lread.o): Depend on $(INTERVALS_SRC), termhooks.h, and coding.h.
3010 (intervals.o): Depend on keymap.h.
3011
3012 * msdos.c (msdos_set_cursor_shape, IT_display_cursor):
3013 Add debugging print-out to termscript.
3014
3015 2004-09-09 Richard M. Stallman <rms@gnu.org>
3016
3017 * xdisp.c (decode_mode_spec): Use current buffer for most purposes.
3018
3019 2004-09-08 Richard M. Stallman <rms@gnu.org>
3020
3021 * window.c (Fset_window_buffer): Doc fix.
3022
3023 * xdisp.c (Fformat_mode_line): New arg BUFFER says which buffer to use.
3024
3025 2004-09-08 Dan Nicolaescu <dann@ics.uci.edu>
3026
3027 * minibuf.c (history_delete_duplicates): New variable.
3028 (read_minibuf): Use it.
3029 (syms_of_minibuf): Create the corresponding lisp variable.
3030
3031 2004-09-08 Kim F. Storm <storm@cua.dk>
3032
3033 * xdisp.c (set_cursor_from_row): Also look at 'cursor' property in
3034 overlay just before point.
3035
3036 2004-09-07 Luc Teirlinck <teirllm@auburn.edu>
3037
3038 * buffer.h (struct buffer): Add auto_save_file_format field.
3039 * buffer.c (reset_buffer, init_buffer_once):
3040 Handle auto_save_file_format field.
3041 (syms_of_buffer): Add DEFVAR_PER_BUFFER for
3042 `buffer-auto-save-file-format'.
3043 * fileio.c: Delete declaration for removed Vauto_save_file_format.
3044 (build_annotations): Adapt to replacement of
3045 `auto-save-file-format' with the new buffer-local variable
3046 `buffer-auto-save-file-format'.
3047 (syms_of_fileio): Delete DEFVAR_LISP for auto-save-file-format.
3048
3049 2004-09-07 Jason Rumney <jasonr@gnu.org>
3050
3051 * w32term.h (AppendMenuW_Proc): Move declaration from w32menu.c.
3052
3053 * w32fns.c (w32_wnd_proc) [WM_MEASUREITEM, WM_DRAWITEM]:
3054 Handle Unicode menu titles.
3055
3056 2004-09-07 Kim F. Storm <storm@cua.dk>
3057
3058 * xdisp.c (set_cursor_from_row): Fix last change. Only use 'cursor'
3059 property from text property or overlay strings at point.
3060
3061 2004-09-07 Stefan Monnier <monnier@iro.umontreal.ca>
3062
3063 * xmenu.c (update_submenu_strings): YAILOM.
3064 (set_frame_menubar): Make sure last_i is initialized.
3065
3066 2004-09-03 Jason Rumney <jasonr@gnu.org>
3067
3068 * w32menu.c (_widget_value): Add lname and lkey.
3069 (digest_single_submenu): Set lname and lkey in widget_value
3070 instead of name and key.
3071 (update_submenu_strings): New function.
3072 (set_frame_menubar): Remove call to inhibit_garbage_collection,
3073 call update_submenu_strings.
3074
3075 * w32menu.c (globals_of_w32menu): Check for Unicode API.
3076 (digest_single_submenu, w32_menu_show): Encode menu strings as
3077 UTF-8 if Unicode API is available.
3078 (utf8to16): New function.
3079 (add_menu_item): Use it when calling Unicode API.
3080
3081 2004-09-03 Kim F. Storm <storm@cua.dk>
3082
3083 * xdisp.c (set_cursor_from_row): Look for non-nil `cursor' property
3084 in overlay or text-property strings; set cursor on corresponding
3085 glyph rather than at end of the string.
3086
3087 2004-09-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3088
3089 * macfns.c (x_real_positions): Save the current window port and
3090 set a new one before obtaining the global coordinate.
3091 Use FRAME_MAC_WINDOW.
3092 (x_set_name, x_set_title): Encode title to UTF8.
3093 Use SetWindowTitleWithCFString.
3094 (Fx_server_version): Get correct OS version.
3095
3096 * macmenu.c (add_menu_item): Remove unused variable `i'.
3097 Don't let separator items destroy refence constants of other menu items.
3098
3099 * macterm.c (x_update_end): Move SetPortWindowPort to inside
3100 BLOCK_INPUT.
3101 (x_set_offset): Use FRAME_MAC_WINDOW.
3102
3103 * xdisp.c (note_mouse_highlight): Set the mouse pointer shape to
3104 nontext_cursor if it is on a scroll bar.
3105
3106 * s/darwin.h (LIBS_CARBON): New define to specify libraries for
3107 Carbon support.
3108 (LD_SWITCH_SYSTEM_TEMACS): Don't link with unused libstdc++.
3109 Use LIBS_CARBON.
3110
3111 2004-09-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3112
3113 * xfns.c (x_set_name_internal): New function. Check if we shall call
3114 xfree before ENCODE_UTF_8.
3115 (x_set_name, x_set_title): Call x_set_name_internal.
3116
3117 2004-08-31 NAKAMURA Toshikazu <nr-tkz@nifty.com> (tiny change)
3118
3119 * w32fns.c (w32_load_font): If a BDF font is already loaded, do not
3120 reload it.
3121
3122 2004-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3123
3124 * macmenu.c (_widget_value): Add lname and lkey.
3125 (single_submenu): Set lname and lkey in widget_value
3126 instead of name and key.
3127 (update_submenu_strings): New function.
3128 (set_frame_menubar): Remove call to inhibit_garbage_collection,
3129 call update_submenu_strings.
3130
3131 * xmenu.c (digest_single_submenu): Set lname and lkey in widget_value
3132 instead of name and key.
3133 (update_submenu_strings): New function.
3134 (set_frame_menubar): Remove call to inhibit_garbage_collection,
3135 call update_submenu_strings.
3136
3137 * gtkutil.h (_widget_value): Added lname and lkey.
3138
3139 2004-08-30 Steven Tamm <steventamm@mac.com>
3140
3141 * macmenu.c (mac_menu_show): Remove shadowing of menu variable
3142 by using different names for inner loop variables.
3143
3144 2004-08-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3145
3146 * xmenu.c (set_frame_menubar): Reintroduce inhibit_garbage_collection
3147 from 2002-07-15T00:01:34Z!raeburn@raeburn.org so that strings from ENCODE_UTF_8 isn't GC:ed before used.
3148
3149 * gtkutil.c (xg_create_frame_widgets): Compensate for tool bar when
3150 tool bar items is 0.
3151
3152 2004-08-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3153
3154 * macmenu.c (ENCODE_MENU_STRING): Added to handle multibyte
3155 strings in menu items.
3156 (single_submenu): Use ENCODE_MENU_STRING
3157 (mac_menu_show): Use ENCODE_MENU_STRING. Reset grabbed because
3158 button release isn't passed to event loop
3159 (add_menu_item): Use SetMenuItemWithCFString
3160
3161 2004-08-26 Steven Tamm <steventamm@mac.com>
3162
3163 * fileio.c (Fread_file_name): Call x_file_dialog on carbon on
3164 tool-bar/menu click
3165 * macfns.c (Fx_file_dialog): Implemented using NavServices
3166
3167 2004-08-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3168
3169 * xterm.c (x_catch_errors_unwind): Do not XSync if display has closed.
3170
3171 * xfns.c (x_window_to_frame, x_any_window_to_frame)
3172 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
3173 (x_top_window_to_frame): Return 0 if wdesc is None.
3174
3175 2004-08-22 Richard M. Stallman <rms@gnu.org>
3176
3177 * process.c (process_send_signal) [SIGNALS_VIA_CHARACTERS,
3178 HAVE_TERMIOS]: If there's no char for this signal, drop through
3179 and use system calls.
3180
3181 * bytecode.c (Fbyte_code) <unwind-protect>: Cannot GC.
3182
3183 2004-08-20 Kim F. Storm <storm@cua.dk>
3184
3185 * process.c (wait_reading_process_output): Rename from
3186 wait_reading_process_input. All uses changed.
3187 (wait_reading_process_output_1): Rename from
3188 wait_reading_process_input_1. All uses changed.
3189
3190 * dispnew.c (Fsleep_for): Remove obsolete code.
3191
3192 2004-08-20 Kenichi Handa <handa@m17n.org>
3193
3194 * syntax.c (skip_chars): Fix for unibyte case.
3195
3196 2004-08-19 Stefan Monnier <monnier@iro.umontreal.ca>
3197
3198 * syntax.c (char_quoted): Mixup byte/char pos.
3199 (back_comment): Fixup globals in all cases.
3200
3201 2004-08-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3202
3203 * xfns.c (x_set_name, x_set_title): Encode title to UTF8 before
3204 passing it to gtk_window_set_title.
3205
3206 2004-08-19 Kim F. Storm <storm@cua.dk>
3207
3208 * process.c (wait_reading_process_input): Clean up.
3209 Add wait_for_cell, wait_proc, and just_wait_proc args
3210 to avoid overloading `read_kbd' and `do_display' args.
3211 Change read_kbd arg to int. All callers changed.
3212
3213 * process.c (process_send_signal): Use CDISABLE.
3214
3215 * sysdep.c (child_setup_tty, init_sys_modes): Use CDISABLE.
3216
3217 2004-08-18 Kim F. Storm <storm@cua.dk>
3218
3219 * process.c (Faccept_process_output): Add arg JUST-THIS-ONE;
3220 forward to wait_reading_process_input via DO_DISPLAY arg.
3221 (wait_reading_process_input): If DO_DISPLAY < 0 for a process
3222 object, only process output from that process; also inhibit
3223 running timers if DO_DISPLAY==-2.
3224
3225 2004-08-17 Kim F. Storm <storm@cua.dk>
3226
3227 * process.c (process_send_signal): Fix last change--use
3228 _POSIX_VDISABLE instead of CVDISABLE when available.
3229
3230 2004-08-16 Richard M. Stallman <rms@gnu.org>
3231
3232 * sysdep.c (child_setup_tty) [SIGNALS_VIA_CHARACTERS]:
3233 Set VQUIT and VINTR chars to the standard ones if they are unset.
3234 [AIX]: Don't do that here. And don't force VINTR to standard
3235 when SIGNALS_VIA_CHARACTERS.
3236
3237 * process.c (process_send_signal)
3238 [SIGNALS_VIA_CHARACTERS, HAVE_TERMIOS]: Clean up.
3239 Do nothing if the character is CVDISABLE.
3240
3241 * xfaces.c (merge_face_ref): Specifying `unspecified' is a no-op.
3242
3243 * intervals.c (move_if_not_intangible):
3244 Force POSITION to be between BEGV and ZV.
3245
3246 2004-08-14 John Paul Wallington <jpw@gnu.org>
3247
3248 * buffer.c (Frestore_buffer_modified_p): Doc fix.
3249
3250 * fileio.c (Fread_file_name): Doc fix.
3251
3252 * minibuf.c (syms_of_minibuf) <completion-ignore-case>: Doc fix.
3253
3254 2004-08-09 Luc Teirlinck <teirllm@auburn.edu>
3255
3256 * keymap.c (Fmake_keymap, Fmap_keymap, Fwhere_is_internal): Doc fixes.
3257
3258 2004-08-08 Luc Teirlinck <teirllm@auburn.edu>
3259
3260 * keyboard.c: Declare Qdisabled_command_function instead of
3261 Qdisabled_command_hook.
3262 (Fcommand_execute): Use Qdisabled_command_function instead of
3263 Qdisabled_command_hook.
3264 (syms_of_keyboard): Ditto.
3265
3266 2004-08-07 Luc Teirlinck <teirllm@auburn.edu>
3267
3268 * keymap.c (Flocal_key_binding, Fglobal_key_binding)
3269 (syms_of_keymap) <key-translation-map>: Doc fixes.
3270
3271 2004-08-07 Stefan Monnier <monnier@iro.umontreal.ca>
3272
3273 * window.c (window_list_1): YAILOM.
3274
3275 * fileio.c (make_temp_name): Handle multibyte prefixes.
3276
3277 2004-08-06 Luc Teirlinck <teirllm@auburn.edu>
3278
3279 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3280 Doc fix.
3281
3282 2004-08-03 Kenichi Handa <handa@m17n.org>
3283
3284 * coding.c (decode_coding_string): Adjust coding->consumed, and
3285 etc. with shrinked_bytes.
3286
3287 2004-08-03 Kim F. Storm <storm@cua.dk>
3288
3289 * indent.c (compute_motion): Fix check for full width window
3290 in non-window case. Do not count left truncation glyph on
3291 window systems.
3292
3293 2004-08-02 Luc Teirlinck <teirllm@auburn.edu>
3294
3295 * data.c (Finteractive_form): Doc fix.
3296
3297 2004-08-02 Kim F. Storm <storm@cua.dk>
3298
3299 * indent.c (compute_motion): Use actual window width if WIDTH is -1,
3300 properly accounting for continuation glyph on non-window systems.
3301 (Fcompute_motion): Use actual window width if WIDTH is nil, and
3302 actual window width/height if TOPOS is nil, properly accounting for
3303 continuation glyphs on non-window systems, and optional header lines.
3304 (vmotion): Let compute_motion calculate actual window width.
3305
3306 * window.c (window_scroll_line_based): Let compute_motion
3307 calculate actual window width.
3308
3309 2004-08-02 Kim F. Storm <storm@cua.dk>
3310
3311 * process.c (read_process_output): Use whole read buffer.
3312 Don't trigger adaptive read buffering on errors.
3313
3314 2004-07-31 Luc Teirlinck <teirllm@auburn.edu>
3315
3316 * keymap.c (Fset_keymap_parent, Fdefine_prefix_command): Doc fixes.
3317
3318 * keyboard.c (syms_of_keyboard) <disable-point-adjustment>: Doc fix.
3319
3320 * callint.c (Fcall_interactively): Doc fix.
3321
3322 2004-07-30 Richard M. Stallman <rms@gnu.org>
3323
3324 * abbrev.c (Fexpand_abbrev): Undo previous change.
3325
3326 2004-07-30 Kim F. Storm <storm@cua.dk>
3327
3328 * editfns.c (Fformat): Allocate extra (dummy) element in info.
3329
3330 2004-07-28 Luc Teirlinck <teirllm@auburn.edu>
3331
3332 * eval.c (Fdefvar, Fdefconst): Doc fixes.
3333
3334 2004-07-27 Kim F. Storm <storm@cua.dk>
3335
3336 * xdisp.c (move_it_in_display_line_to): Check BUFFER_POS_REACHED_P after
3337 we have ensured that the glyph fits on the current line (or returned
3338 MOVE_LINE_CONTINUED otherwise).
3339
3340 2004-07-26 Kim F. Storm <storm@cua.dk>
3341
3342 * xdisp.c (move_it_in_display_line_to): If overflow-newline-into-fringe
3343 is enabled, return MOVE_LINE_CONTINUED rather than MOVE_POS_MATCH_OR_ZV
3344 if target position is at end of display line but char is not a newline.
3345
3346 2004-07-25 Richard M. Stallman <rms@gnu.org>
3347
3348 * window.c (coordinates_in_window): Return ON_SCROLL_BAR
3349 instead of ON_VERTICAL_BORDER, when on scroll bar.
3350 (Fcoordinates_in_window_p): Handle ON_SCROLL_BAR--return nil.
3351
3352 * dispextern.h (enum window_part): Add ON_SCROLL_BAR.
3353
3354 * window.c (Fcoordinates_in_window_p):
3355 Take account of FRAME_INTERNAL_BORDER_WIDTH.
3356
3357 * alloc.c (check_cons_list): New function (contents commented out).
3358
3359 2004-07-24 Luc Teirlinck <teirllm@auburn.edu>
3360
3361 * xfaces.c (Fcolor_supported_p): Doc fix.
3362
3363 * frame.c (Fselect_frame, Fset_frame_selected_window)
3364 (Fframe_visible_p, Fraise_frame): Doc fixes.
3365
3366 2004-07-24 Richard M. Stallman <rms@gnu.org>
3367
3368 * keyboard.h (not_single_kboard_state): Declare.
3369
3370 * fileio.c (Fwrite_region): Doc fix.
3371
3372 * window.c (Fwindow_at): Take account of FRAME_INTERNAL_BORDER_WIDTH.
3373
3374 * abbrev.c (Fexpand_abbrev): Run Qpre_abbrev_expand_hook
3375 only when a real abbrev is present.
3376
3377 * xfns.c (x_icon_verify): New function.
3378 (Fx_create_frame): Use it.
3379
3380 2004-07-22 Barry Fishman <barry_fishman@att.net> (tiny change)
3381
3382 * s/gnu-linux.h: Use GC_MARK_STACK if __amd64__ is defined.
3383
3384 2004-07-21 Kim F. Storm <storm@cua.dk>
3385
3386 * window.h (struct glyph_matrix): New members nrows_scale_factor
3387 and ncols_scale_factor.
3388
3389 * window.c (make_window): Initialize nrows_scale_factor and
3390 ncols_scale_factor members.
3391
3392 * dispnew.c (margin_glyphs_to_reserve): Apply ncols_scale_factor.
3393 (allocate_matrices_for_frame_redisplay): Fix left/right margin mix-up.
3394 (required_matrix_height): Apply nrows_scale_factor.
3395 (required_matrix_width): Apply ncols_scale_factor.
3396
3397 * xdisp.c (display_line): Increment nrows_scale_factor and set
3398 fonts_changed_p if past last allocated row.
3399 (append_glyph, append_composite_glyph, produce_image_glyph)
3400 (append_stretch_glyph): Increment ncols_scale_factor and set
3401 fonts_changed_p if current area is full.
3402
3403 2004-07-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3404
3405 * widget.c (EmacsFrameDestroy): Don't abort if normal_gc is 0.
3406
3407 2004-07-19 Luc Teirlinck <teirllm@auburn.edu>
3408
3409 * window.c (Fpos_visible_in_window_p, Fset_window_hscroll)
3410 (Fwindow_inside_pixel_edges, Fwindow_end, Fset_window_point)
3411 (Fset_window_start, Fscroll_up, Fscroll_down)
3412 (Fother_window_for_scrolling, Fscroll_other_window)
3413 (Fsave_window_excursion, Fset_window_vscroll)
3414 (syms_of_window) <window-size-fixed>: Doc fixes.
3415
3416 2004-07-19 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3417
3418 * w32fns.c (Fx_file_dialog): Use ENCODE_FILE instead of
3419 ENCODE_SYSTEM for filenames.
3420
3421 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3422
3423 * mac.c (sys_select): Block input around call to
3424 ReceiveNextEvent to prevent breakage. Correctly handle
3425 blocking on event queue only by calling ReceiveNextEvent
3426 instead of select (since GUI events aren't on an fd).
3427 (sys_read): Remove function
3428 * sysdep.c: Remove redefine of read to sys_read if HAVE_CARBON
3429
3430 2004-07-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3431
3432 * mac.c (sys_select): Redo sys_select to use alarm-based
3433 polling instead of 1 sec timeouts (like solaris).
3434
3435 * macterm.c (x_make_frame_visible): Comment in polling on
3436 frame creation.
3437
3438 * keyboard.c: Undef SIGIO on Carbon
3439
3440 * atimer.c (alarm_signal_handler): Call alarm handlers after
3441 scheduling.
3442
3443 * eval.c (Feval): Remove quit_char test
3444
3445 * process.c (wait_reading_process_input): Remove clearing
3446 stdin for select call on process input.
3447
3448 2004-07-18 Luc Teirlinck <teirllm@auburn.edu>
3449
3450 * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Correct
3451 capitalization error in docstring.
3452
3453 2004-07-17 Juanma Barranquero <lektu@terra.es>
3454
3455 * keyboard.c (not_single_kboard_state): Do nothing unless
3456 MULTI_KBOARD is defined.
3457
3458 2004-07-17 Richard M. Stallman <rms@gnu.org>
3459
3460 * window.c (coordinates_in_window): Inside the window but outside
3461 its box to the L or R, return ON_VERTICAL_BORDER.
3462 (window_list_1): Rotate the list to start with WINDOW.
3463
3464 * print.c (print_preprocess): Test for print_depth at limit
3465 before entering in being_printed.
3466
3467 * keyboard.c (not_single_kboard_state): New function.
3468 (stuff_buffered_input): Now no-op only if no SIGTSTP.
3469
3470 * frame.c (Fdelete_frame): If we're in single_bboard_state on
3471 this kboard, and we delete its last frame, go to any_kboard_state.
3472
3473 * buffer.c (syms_of_buffer) <transient-mark-mode>: Doc fix.
3474
3475 2004-07-15 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
3476
3477 * w32fns.c (Fx_file_dialog): Encode strings in system coding
3478 system before passing them to OS functions for display.
3479
3480 2004-07-15 David Kastrup <dak@gnu.org>
3481
3482 * search.c (syms_of_search): Staticpro `saved_last_thing_searched'.
3483 Apparently fixes an abort condition.
3484
3485 2004-07-14 Luc Teirlinck <teirllm@auburn.edu>
3486
3487 * fileio.c (Fvisited_file_modtime): Return a list of two integers,
3488 instead of a cons.
3489
3490 2004-07-14 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
3491
3492 * keyboard.c (echo_dash): Do nothing if there already is a dash
3493 at the end of the echo string.
3494
3495 2004-07-12 Kim F. Storm <storm@cua.dk>
3496
3497 * alloc.c (mark_object): Only look at Lisp_Misc_Save_Value
3498 if GC_MARK_STACK.
3499
3500 2004-07-10 Luc Teirlinck <teirllm@auburn.edu>
3501
3502 * buffer.c (Fswitch_to_buffer, Fpop_to_buffer): Doc fixes.
3503
3504 * window.c (Fwindow_buffer, Fother_window, Fget_lru_window)
3505 (Fget_largest_window, Fget_buffer_window, Fdelete_windows_on)
3506 (Freplace_buffer_in_windows, Fset_window_buffer)
3507 (Fselect-window, Fdisplay-buffer, Fsplit_window): Doc fixes.
3508 (syms_of_window): Expand docstring of `display-buffer-function'.
3509
3510 2004-07-09 Luc Teirlinck <teirllm@auburn.edu>
3511
3512 * editfns.c (Ffloat_time, Fformat_time_string, Fdecode_time)
3513 (Fcurrent_time_string, Fcurrent_time_zone): Mention in docstrings
3514 that time values of the type (HIGH . LOW) are considered obsolete.
3515
3516 2004-07-06 Luc Teirlinck <teirllm@auburn.edu>
3517
3518 * keyboard.c (syms_of_keyboard): Fix `keyboard-translate-table'
3519 docstring.
3520
3521 * fns.c (Fclear_string): Declare `len' before call to CHECK_STRING.
3522
3523 2004-07-06 John Paul Wallington <jpw@gnu.org>
3524
3525 * eval.c (Fdefmacro): Signal an error if NAME is not a symbol.
3526
3527 * fns.c (Fclear_string): Signal an error if STRING is not a string.
3528
3529 2004-07-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3530
3531 * macterm.c (mac_initialize_display_info): Use CGGetActiveDisplayList
3532 instead of CGMainDisplayID (only in OSX 10.2 and later).
3533
3534 2004-07-04 John Paul Wallington <jpw@gnu.org>
3535
3536 * fileio.c (read_file_name_completion_ignore_case): New variable.
3537 (syms_of_fileio): Declare and initialise it.
3538 (Fread_file_name): Bind `completion-ignore-case' to respect it.
3539
3540 2004-07-03 Eli Zaretskii <eliz@gnu.org>
3541
3542 * msdos.c (dos_rawgetc): Use make_number to produce Lisp objects
3543 for event.x and event.y.
3544
3545 2004-07-01 Kenichi Handa <handa@m17n.org>
3546
3547 * w32select.c (Fw32_set_clipboard_data): Update `nbytes' correctly
3548 after getting a new string by pre-write-conversion.
3549
3550 2004-06-30 Stefan Monnier <monnier@iro.umontreal.ca>
3551
3552 * xterm.c (x_detect_focus_change): Remove unused var `nr_events'.
3553 (x_calc_absolute_position): Remove unused var `child'.
3554
3555 * xfaces.c (x_supports_face_attributes_p)
3556 (Fdisplay_supports_face_attributes_p): YAILOM.
3557 (tty_supports_face_attributes_p): Remove unused var `i'.
3558
3559 * syntax.c (skip_chars): Remove unused labels fwd_unibyte_ok and
3560 back_unibyte_ok.
3561
3562 * search.c (match_limit, Fmatch_data, Fset_match_data): YAILOM.
3563
3564 * fontset.c (Fset_fontset_font): Remove unused vars `family' and `registry'.
3565
3566 * Makefile.in (${etc}DOC): Fix file name of make-docfile.
3567
3568 2004-06-30 Andreas Schwab <schwab@suse.de>
3569
3570 * image.c (CHECK_LIB_AVAILABLE): Add third parameter LIBRARIES.
3571 (Finit_image_library): Pass LIBRARIES through to
3572 CHECK_LIB_AVAILABLE. Declare parameters. Doc fix.
3573 (lookup_image_type): Pass Qnil as second argument to
3574 Finit_image_library.
3575
3576 * lisp.h (Finit_image_library): Declare.
3577
3578 2004-06-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
3579
3580 * macterm.c (do_window_activate, do_window_deactivate): Remove.
3581 (XTread_socket): Send mouse button events to the toolbox
3582 dispatcher even when the mouse is grabbed. Don't process window
3583 activate events for non-Emacs windows. Replace function calls to
3584 do_window_activate and do_window_deactivate with their contents.
3585 Reset mouse grabbing status when a window is deactivated.
3586
3587 2004-06-29 Steven Tamm <steventamm@mac.com>
3588
3589 * macterm.c (mac_get_emulated_btn)
3590 (mac_event_to_emacs_modifiers): Fix emulated mouse button
3591 support to correctly mask out modifiers.
3592
3593 2004-06-29 David Kastrup <dak@gnu.org>
3594
3595 * search.c (Fset_match_data): Allow buffer before end of list
3596 which can happen if set-match-data is using a pre-consed list.
3597
3598 2004-06-28 Steven Tamm <steventamm@mac.com>
3599
3600 * macterm.c (XTread_socket): Correctly set the frame position
3601 after the window is moved.
3602
3603 2004-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3604
3605 * gtkutil.c (xg_get_image_for_pixmap): Call g_object_unref on
3606 gpix and gmask just before return to avoid memory leak.
3607 (xg_get_image_for_pixmap): Add workaround for monochrome displays
3608 so insensitive and activated icons look ok.
3609
3610 2004-06-27 Jason Rumney <jasonr@gnu.org>
3611
3612 * w32fns.c (file_dialog_callback): Disable edit control if set
3613 to directories only on CDN_INITDONE message.
3614 (Fx_file_dialog): Default to directories only when prompt starts
3615 with "Dired".
3616
3617 2004-06-25 Kim F. Storm <storm@cua.dk>
3618
3619 * alloc.c (allocate_misc): Update total_free_markers.
3620 (free_misc): New function.
3621 (safe_alloca_unwind, free_marker): Use it.
3622
3623 * lisp.h (free_misc): Add prototype.
3624
3625 * fns.c (Fmapconcat, Fmapcar): Remove superfluous GCPROs.
3626
3627 2004-06-24 Richard M. Stallman <rms@gnu.org>
3628
3629 * emacs.c (Vsignal_USR1_hook, Vsignal_USR2_hook): Definitions deleted.
3630 (syms_of_emacs): Lisp variables deleted.
3631
3632 2004-06-23 David Kastrup <dak@gnu.org>
3633
3634 * search.c (Freplace_match): Adjust the match-data more thoroughly
3635 when replacing strings in the buffer.
3636 (Fmatch_data): When INTEGERS is non-nil and the last match was in
3637 a buffer, add the buffer as last element to the match data.
3638 (Fset_match_data): If an additional element of the match-data is a
3639 buffer, restore it to last_thing_searched.
3640 (save_search_regs): Save last_thing_searched as part of the match data.
3641 (restore_match_data): Restore it again.
3642
3643 2004-06-23 Luc Teirlinck <teirllm@auburn.edu>
3644
3645 * keymap.c (Ftext_char_description): Doc fix.
3646 * doc.c (Fsnarf_documentation): Doc fix.
3647
3648 2004-06-22 Kim F. Storm <storm@cua.dk>
3649
3650 * fns.c (Fmapcar, Fmapconcat): GCPRO the args array.
3651
3652 * lisp.h (struct Lisp_Save_Value): New member dogc.
3653 (SAFE_ALLOCA_LISP): Change second arg to number of elements.
3654 Set dogc member in Lisp_Save_Value object so it will be GC'ed.
3655 (SAFE_FREE_LISP): New macro.
3656
3657 * alloc.c (safe_alloca_unwind): Clear dogc and pointer members.
3658 (make_save_value): Init new dogc member.
3659 (mark_object): Mark Lisp_Save_Value pointer array if dogc is set.
3660
3661 * fns.c (Fmapconcat, Fmapcar): Use new SAFE_ALLOCA_LISP and
3662 SAFE_FREE_LISP macros.
3663
3664 2004-06-22 Kim F. Storm <storm@cua.dk>
3665
3666 * lisp.h (SAFE_ALLOCA_LISP): New macro to allocate Lisp_Objects.
3667 Temporarily inhibits GC if memory is xmalloc'ed, as the Lisp_Objects
3668 in that memory area are unknown to GC. Add comments.
3669
3670 * fns.c (Fmapconcat, Fmapcar): Use SAFE_ALLOCA_LISP.
3671
3672 2004-06-21 Kim F. Storm <storm@cua.dk>
3673
3674 * lisp.h (MAX_ALLOCA): Define here.
3675 (safe_alloca_unwind): Add prototype.
3676 (USE_SAFE_ALLOCA, SAFE_ALLOCA, SAFE_FREE): New macros.
3677
3678 * alloc.c (safe_alloca_unwind): New function.
3679
3680 * casefiddle.c (casify_object): Use SAFE_ALLOCA.
3681
3682 * charset.c (Fstring): Use SAFE_ALLOCA.
3683
3684 * coding.c (MAX_ALLOCA): Remove define.
3685
3686 * data.c (MAX_ALLOCA): Remove define.
3687 (Faset): Use SAFE_ALLOCA.
3688
3689 * editfns.c (Fformat, Ftranspose_regions): Use SAFE_ALLOCA.
3690
3691 * fns.c (string_make_multibyte, string_to_multibyte)
3692 (string_make_unibyte, Fmapconcat, Fmapcar): Use SAFE_ALLOCA.
3693 (MAX_ALLOCA): Remove define.
3694 (Fbase64_encode_region, Fbase64_encode_string)
3695 (Fbase64_decode_region, Fbase64_decode_string): Use SAFE_ALLOCA.
3696 (Fbase64_encode_region, Fbase64_encode_string): Fix potential
3697 memory leak if encoding fails.
3698
3699 * xdisp.c (add_to_log): Use SAFE_ALLOCA.
3700
3701 2004-06-21 Eli Zaretskii <eliz@gnu.org>
3702
3703 * print.c (Fwith_output_to_temp_buffer): Doc fix.
3704
3705 2004-06-20 Richard M. Stallman <rms@gnu.org>
3706
3707 * xfaces.c (Finternal_copy_lisp_face): Small cleanup; doc fix.
3708
3709 * search.c (match_limit): Cleaner err msg when no match data available.
3710
3711 * window.c (syms_of_window): Doc fix.
3712
3713 * keyboard.c (command_loop_1): Handle values `only' and `identity'
3714 for Vtransient_mark_mode.
3715
3716 * buffer.c (syms_of_buffer): Doc fix.
3717
3718 2004-06-21 David Kastrup <dak@gnu.org>
3719
3720 * minibuf.c (Ftry_completion, Fall_completions): Do lazy binding
3721 and unbinding of `case-fold-search' according to
3722 `completion-ignore-case' around calls of string-match and
3723 predicates, respectively. Should give satisfactory performance
3724 in all relevant cases.
3725
3726 2004-06-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3727
3728 * xterm.c (x_draw_image_foreground_1): Subtract slice.x/y from
3729 clip_x/y_origin.
3730
3731 * fns.c (string_to_multibyte): Use xmalloc/xfree instead of alloca.
3732
3733 * macfns.c (Fx_display_color_cells): Do not limit return value to 256.
3734
3735 * macterm.c (mac_initialize_display_info): Initialize n_planes correctly
3736 on Mac OSX.
3737
3738 2004-06-16 Luc Teirlinck <teirllm@auburn.edu>
3739
3740 * buffer.c (syms_of_buffer): Clarify `fill-column' docstring.
3741
3742 2004-06-16 Kim F. Storm <storm@cua.dk>
3743
3744 * dispextern.h (Vimage_types): Remove extern.
3745
3746 2004-06-16 Miles Bader <miles@gnu.org>
3747
3748 * image.c (lookup_image_type): Initialize image type if necessary.
3749
3750 2004-06-15 Kim F. Storm <storm@cua.dk>
3751
3752 * xdisp.c (try_cursor_movement): Exclude header line from scroll
3753 margin at top of window.
3754 (try_window_reusing_current_matrix): Calculate proper cursor position
3755 after scrolling up with non-zero scroll margin, as the old cursor
3756 position corresponds to value of PT before executing this command.
3757 (try_window_id): Consider scroll margin at bottom of window too;
3758 otherwise we fail to scroll when hl-line-mode is enabled.
3759
3760 * syntax.c (skip_chars): Only recognize [:class:] when it has the
3761 proper format and class is a lower-case word.
3762
3763 2004-06-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
3764
3765 * gtkutil.c (xg_get_image_for_pixmap): New function.
3766 (xg_get_gdk_pixmap_and_mask): Remove.
3767 (update_frame_tool_bar): Call xg_get_image_for_pixmap instead of
3768 xg_get_gdk_pixmap_and_mask.
3769
3770 * xterm.h (struct x_display_info): Typo in comment fixed.
3771
3772 2004-06-14 Juanma Barranquero <lektu@terra.es>
3773
3774 * dispextern.h (Vimage_types): Make it conditional on
3775 HAVE_WINDOW_SYSTEM.
3776
3777 * image.c (Vimage_types): Move from xdisp.c.
3778 (Vimage_type_cache): New variable.
3779 (define_image_type): New argument indicating whether an image
3780 library was loaded; cache loaded status and return t on success,
3781 nil otherwise.
3782 (CACHE_IMAGE_TYPE, ADD_IMAGE_TYPE): New macros.
3783 (w32_delayed_load): New function to load an image library from a
3784 list of possible filenames.
3785 (init_xpm_functions, init_png_functions, init_jpeg_functions)
3786 (init_tiff_functions, init_gif_functions): Use `w32_delayed_load'.
3787 (CHECK_LIB_AVAILABLE): Call `define_image_library' with new argument.
3788 (Finit_image_library): New function, extracted from `init_image'.
3789 Try to initialize an image library on demand and cache whether we
3790 were successful or not.
3791 (syms_of_image): Initialize `Vimage_types' and
3792 `Vimage_type_cache'. Add recognized image types to Vimage_types.
3793 Export `init-image-library'.
3794 (init_image): Remove initialization of all image types, except xbm
3795 and pbm.
3796
3797 * xdisp.c (Vimage_types): Delete (moved to image.c).
3798
3799 2004-06-14 Andreas Schwab <schwab@suse.de>
3800
3801 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
3802 Avoid calling specbind when completion-regexp-list is empty.
3803
3804 2004-06-13 Richard M. Stallman <rms@gnu.org>
3805
3806 * regex.h (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
3807 (re_wctype, re_iswctype, re_wctype_to_bit):
3808 Non-function definitions moved here from regex.c.
3809
3810 * regex.c (re_wctype, re_iswctype): Function defs longer static.
3811 (CHAR_CLASS_MAX_LENGTH, re_wctype_t, re_wchar_t)
3812 (re_wctype, re_iswctype, re_wctype_to_bit):
3813 Non-function definitions moved to regex.h.
3814
3815 * window.c (Fselect_window): Doc fix.
3816
3817 * syntax.c: Include regex.h.
3818 (skip_chars): New arg HANDLE_ISO_CLASSES. Callers changed.
3819 If requested, make a list of classes, then check the scanned
3820 chars for membership in them.
3821 (in_classes): New function.
3822 Doc fix.
3823
3824 * keyboard.c (cmd_error): Don't call any_kboard_state
3825 if inside a recursive edit level.
3826
3827 2004-06-13 Lorentey K\e,Aa\e(Broly <lorentey@elte.hu>
3828
3829 * keyboard.c (command_loop): Call any_kboard_state before
3830 command_loop_2 when at top level.
3831
3832 2004-06-13 Andreas Schwab <schwab@suse.de>
3833
3834 * print.c (print_object): Always use %ld for printing EMACS_INT.
3835
3836 * keyboard.c (cancel_hourglass_unwind): Return a value.
3837 (modify_event_symbol): Always use %ld for printing EMACS_INT.
3838 (Fexecute_extended_command): Likewise.
3839
3840 * syntax.h (SYNTAX_ENTRY_FOLLOW_PARENT): Rename local variable to
3841 avoid clashes.
3842 (SYNTAX): Likewise.
3843 (SYNTAX_WITH_FLAGS): Likewise.
3844 (SYNTAX_MATCH): Likewise.
3845
3846 * syntax.c (char_quoted): Avoid warning about undefined operation.
3847 (find_defun_start): Likewise.
3848 (scan_lists): Likewise.
3849 (INC_FROM): Likewise.
3850 (scan_sexps_forward): Likewise.
3851
3852 * image.c: Include <ctype.h>.
3853
3854 * xfaces.c (face_attr_equal_p): Declare parameters.
3855
3856 2004-06-13 Kenichi Handa <handa@m17n.org>
3857
3858 * ccl.c (CCL_READ_CHAR): If hit EOF, set REG to -1.
3859
3860 2004-06-12 Matthew Mundell <matt@mundell.ukfsn.org>
3861
3862 * eval.c (Fdefun): Signal an error if NAME is not a symbol.
3863
3864 2004-06-12 Kenichi Handa <handa@m17n.org>
3865
3866 * ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION): Save eof_ic in
3867 ccl_prog_stack_struct and update it.
3868 (CCL_INVALID_CMD): If CCL_DEBUG is defined, call ccl_debug_hook.
3869 (CCL_READ_CHAR): Get instruction counter from eof_ic, not from
3870 ccl->eof_ic on EOF.
3871 (ccl_debug_hook): New function.
3872 (struct ccl_prog_stack): New member eof_ic.
3873 (ccl_driver): Handle EOF in subrountine call correctly.
3874
3875 2004-06-11 Kenichi Handa <handa@m17n.org>
3876
3877 * coding.c (decode_coding_string): Check CODING_FINISH_INTERRUPT.
3878
3879 2004-06-11 Kim F. Storm <storm@cua.dk>
3880
3881 * emacs.c (shut_down_emacs): Inhibit redisplay during shutdown.
3882
3883 2004-06-11 Juanma Barranquero <lektu@terra.es>
3884
3885 * keyboard.c (Fposn_at_point): Doc fix.
3886
3887 2004-06-11 David Kastrup <dak@gnu.org>
3888
3889 * search.c (match_limit): Don't flag an error if match-data
3890 exceeding the allocated search_regs.num_regs gets requested, just
3891 return Qnil.
3892
3893 2004-06-08 Miles Bader <miles@gnu.org>
3894
3895 * xfaces.c (push_named_merge_point): Return 0 when a cycle is detected.
3896
3897 2004-06-07 Juanma Barranquero <lektu@terra.es>
3898
3899 * editfns.c (Fuser_login_name, Ffloat_time, Fencode_time)
3900 (Fcurrent_time_string, Fcurrent_time_zone)
3901 (Finsert_buffer_substring, Ftranspose_regions): Doc fixes.
3902
3903 2004-06-07 Miles Bader <miles@gnu.org>
3904
3905 * xfaces.c (struct named_merge_point): New type.
3906 (push_named_merge_point): New function.
3907 (merge_named_face): New function.
3908 (merge_face_ref, face_at_buffer_position, face_at_string_position):
3909 Use `merge_named_face'.
3910 (merge_face_inheritance): Function removed.
3911 (merge_face_ref): Rename from `merge_face_vector_with_property'.
3912 Add new `err_msgs' and `named_merge_points' args. Return error
3913 status. Only print error messages if ERR_MSGS is true. Don't try to
3914 do :inherit attribute validation.
3915 (merge_face_heights): Handle `unspecified' in both directions.
3916 (merge_face_vectors): Rename `cycle_check' arg to `named_merge_points'.
3917 Call `merge_face_ref' instead of `merge_face_inheritance'.
3918 (Fdisplay_supports_face_attributes_p, Fface_attributes_as_vector)
3919 (compute_char_face, face_at_buffer_position)
3920 (face_at_string_position): Call `merge_face_ref' instead of
3921 `merge_face_vector_with_property'.
3922
3923 2004-06-07 Kenichi Handa <handa@m17n.org>
3924
3925 * coding.c (find_safe_codings): Check NILP (safe_codings) only at
3926 the necessary places.
3927
3928 2004-06-07 Kim F. Storm <storm@cua.dk>
3929
3930 * process.c (Fdelete_process): Undo 2004-05-28 change.
3931 Instead, call status_notify also for network process.
3932 (status_message): Use process instead of status as arg.
3933 Give messages "deleted" or "connection broken by remote peer" for
3934 an exited network process.
3935 (status_notify): Change call to status_message.
3936 (read_process_output): Increase readmax to 4096. Do not increase
3937 buffer size for datagram channels (default is now large enough).
3938
3939 2004-06-06 Steven Tamm <tamm@Steven-Tamms-Computer.local>
3940
3941 * macfns.c (x_create_tip_frame): Fix Mac OS X 10.1 compilation
3942 problem due to newly defined variable.
3943
3944 2004-06-06 Miles Bader <miles@gnu.org>
3945
3946 * xfaces.c (Fdisplay_supports_face_attributes_p): Give up
3947 immediately if non-interactive or not initialized.
3948
3949 2004-06-05 Richard M. Stallman <rms@gnu.org>
3950
3951 * minibuf.c (Fcompleting_read): Doc fix.
3952
3953 2004-06-05 Andreas Schwab <schwab@suse.de>
3954
3955 * macfns.c (x_create_tip_frame): Fix declaration after statement.
3956
3957 2004-06-05 Juanma Barranquero <lektu@terra.es>
3958
3959 * keymap.c (Fdescribe_vector): Fix docstring.
3960 (Fkey_description, Fglobal_key_binding): Fix typo in docstring.
3961
3962 2004-06-05 Miles Bader <miles@gnu.org>
3963
3964 * xfaces.c (tty_supports_face_attributes_p): Make sure the specified
3965 attributes have different values than the default face.
3966
3967 2004-06-04 Eli Zaretskii <eliz@gnu.org>
3968
3969 * xfaces.c (x_supports_face_attributes_p): Make this function
3970 conditional on HAVE_WINDOW_SYSTEM.
3971 (Fdisplay_supports_face_attributes_p) [HAVE_WINDOW_SYSTEM]:
3972 Don't call x_supports_face_attributes_p if it was not compiled in.
3973
3974 2004-06-04 Miles Bader <miles@gnu.org>
3975
3976 * xfaces.c (tty_supports_face_attributes_p): New function, mostly
3977 from Ftty_supports_face_attributes_p.
3978 (x_supports_face_attributes_p): New function.
3979 (Ftty_supports_face_attributes_p): Function deleted.
3980 (Fdisplay_supports_face_attributes_p): New function.
3981 (syms_of_xfaces): Initialize Sdisplay_supports_face_attributes_p.
3982 (face_attr_equal_p): New function.
3983 (lface_equal_p): Use it.
3984
3985 2004-06-03 Juanma Barranquero <lektu@terra.es>
3986
3987 * w32fns.c (Fx_display_grayscale_p, Fw32_send_sys_command)
3988 (Vw32_color_map): Fix typo in docstring.
3989 (Fx_create_frame, Fw32_find_bdf_fonts, Fx_show_tip)
3990 (Fw32_unregister_hot_key, Fw32_reconstruct_hot_key):
3991 Make argument names match their use in docstring.
3992
3993 2004-06-02 Juanma Barranquero <lektu@terra.es>
3994
3995 Work around bugs/problems with MinGW builds of graphics libraries
3996 called from MSVC builds of Emacs.
3997
3998 * image.c (lookup_image): Make pointer to img static.
3999 (png_read_from_memory): Disable "global" optimization.
4000
4001 2004-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
4002
4003 * eval.c (Fcondition_case): Fix usage. Simplify.
4004
4005 * mem-limits.h (EXCEEDS_LISP_PTR) [USE_LSB_TAG]: Never true.
4006
4007 2004-05-29 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4008
4009 * macfns.c: Don't include ccl.h.
4010 [MAC_OSX]: Don't include QuickTime/QuickTime.h.
4011 [!MAC_OSX]: Don't include alloca.h, Windows.h, Gestalt.h, or
4012 TextUtils.h.
4013 (Fx_create_frame): Sync with xfns.c. Initialize cursor descriptors.
4014 (Fx_display_mm_height, Fx_display_mm_width): Calculate length from
4015 display height/width.
4016 (compute_tip_xy, Vx_max_tooltip_size): Declare.
4017 (unwind_create_tip_frame, compute_tip_xy): New functions.
4018 (x_create_tip_frame, Fx_show_tip, Fx_hide_tip): Sync with xfns.c.
4019 (syms_of_macfns): Initialize Qcancel_timer, Vx_max_tooltip_size,
4020 and last_show_tip_args.
4021
4022 * macgui.h [!MAC_OSX]: Include Gestalt.h.
4023 (Cursor, No_Cursor): New defines.
4024 [!TARGET_API_MAC_CARBON] (SetPortWindowPort): New compatibility macro.
4025 [!TARGET_API_MAC_CARBON] (arrow_cursor): Declare.
4026
4027 * macmenu.c (mac_menu_show, mac_dialog): Use SetPortWindowPort.
4028
4029 * macterm.c: Don't include Gestalt.h.
4030 (enum mouse_tracking_type, mouse_tracking_in_progress): Remove.
4031 (XDrawLine, XClearArea, XClearWindow, mac_draw_bitmap)
4032 (mac_set_clip_rectangle, mac_reset_clipping, XCreatePixmap)
4033 (XFillRectangle, mac_draw_rectangle, mac_draw_string_common)
4034 (mac_copy_area, mac_copy_area_with_mask, x_update_end)
4035 (construct_mouse_click, XTmouse_position)
4036 (x_scroll_bar_report_motion, x_calc_absolute_position)
4037 (do_mouse_moved, do_zoom_window, mac_do_receive_drag)
4038 (XTread_socket, make_mac_frame): Use SetPortWindowPort.
4039 (note_mouse_movement): Clear the mouse face and reset the pointer
4040 shape when the pointer goes outside the frame without grabbing.
4041 (mac_front_window): New function.
4042 (mac_window_to_frame): New macro.
4043 (XTmouse_position, x_scroll_bar_report_motion, do_window_update)
4044 (do_window_activate, do_window_deactivate, do_app_resume)
4045 (do_app_suspend, do_mouse_moved, do_menu_choice, do_grow_window)
4046 (do_zoom_window, mac_do_receive_drag, XTread_socket)
4047 (mac_check_for_quit_char): Use mac_front_window and/or
4048 mac_window_to_frame.
4049 (x_scroll_bar_handle_click): Set `(PORTION . WHOLE)' part in a
4050 scroll-bar click event.
4051 (mac_define_frame_cursor): Change the pointer shape.
4052 (x_free_frame_resources): Reset tip_window to NULL when it is disposed.
4053 [!TARGET_API_MAC_CARBON] (arrow_cursor): New variable.
4054 [!TARGET_API_MAC_CARBON] (do_init_managers): Initialize arrow_cursor.
4055 (do_window_update): Don't do anything if the updated window is the
4056 tooltip window.
4057 (do_mouse_moved): Handle mouse movement events here (previously in
4058 XTread_socket). Clear the mouse face if
4059 dpyinfo->mouse_face_hidden is set.
4060 (do_os_event, do_events): Remove (now in XTread_socket).
4061 (XTread_socket): Immediately return if interrupt_input_blocked.
4062 Loop until all the events in the queue are processed.
4063 Rearrange codes for mouse grabbing. Add tooltip support. Include the
4064 contents of do_os_event and do_events. Remove mouse movement
4065 handling (now in do_mouse_moved). Add the case where
4066 Vmouse_highlight has an integer value.
4067 (NewMacWindow): Remove.
4068 (make_mac_frame): Do what NewMacWindow previously did. Don't do
4069 excess initializations.
4070 (make_mac_terminal_frame): Previous initializations in
4071 make_mac_frame are moved here.
4072 (mac_initialize_display_info):
4073 Initialize dpyinfo->mouse_face_overlay and dpyinfo->mouse_face_hidden.
4074
4075 * xdisp.c [MAC_OS] (No_Cursor): Remove variable.
4076 (define_frame_cursor1): Don't treat HAVE_CARBON as a special case.
4077
4078 2004-05-29 Richard M. Stallman <rms@gnu.org>
4079
4080 * lisp.h (truncate_undo_list): Update decl.
4081
4082 * alloc.c (undo_outer_limit): New variable.
4083 (syms_of_alloc): Defvar it.
4084 (Fgarbage_collect): Pass undo_outer_limit to truncate_undo_list.
4085
4086 * undo.c (truncate_undo_list): New arg LIMITSIZE.
4087
4088 * alloc.c (lisp_align_malloc): Check for base == 0
4089 regardless of HAVE_POSIX_MEMALIGN.
4090 Clean up HAVE_POSIX_MEMALIGN handling of `err'.
4091
4092 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4093
4094 * alloc.c: Undo Kim's recent changes and fix the same bug differently.
4095 (marker_blocks_pending_free): Remove.
4096 (Fgarbage_collect): Sweep after cleaning up undo-lists.
4097 Mark the undo lists after claning them up.
4098 Don't free block in marker_blocks_pending_free.
4099 (mark_buffer): Don't mark undo_list.
4100 (gc_sweep): Sweep hash-tables and strings first.
4101 Do free marker blocks that are empty.
4102
4103 2004-05-28 Jim Blandy <jimb@redhat.com>
4104
4105 * regex.c (print_partial_compiled_pattern): Add missing 'break'
4106 after 'case wordend'. For symbeg and symend, print to stderr,
4107 like the other cases.
4108
4109 2004-05-28 Noah Friedman <friedman@splode.com>
4110
4111 * process.c (Fdelete_process): Do not call remove_process.
4112
4113 2004-05-28 Stefan Monnier <monnier@iro.umontreal.ca>
4114
4115 * alloc.c (struct backtrace): Remove.
4116 (Fgarbage_collect): Use the new mark_backtrace.
4117
4118 * eval.c (mark_backtrace): New function.
4119
4120 * minibuf.c (run_exit_minibuf_hook): New function.
4121 (read_minibuf_unwind): Don't run exit-minibuffer-hook any more.
4122 (read_minibuf): Use separate unwind handler to run exit-minibuf-hook.
4123
4124 2004-05-27 Kim F. Storm <storm@cua.dk>
4125
4126 * xdisp.c (back_to_previous_visible_line_start): Skip backwards
4127 over display properties, e.g. images, that replace buffer text.
4128
4129 2004-05-25 Kim F. Storm <storm@cua.dk>
4130
4131 * alloc.c (marker_blocks_pending_free): New var.
4132 (gc_sweep): Store free marker blocks on that list.
4133 (Fgarbage_collect): Free them after undo-list cleanup.
4134
4135 * process.c (wait_reading_process_input): Check connect_wait_mask
4136 before actually accepting connection in case it has already been
4137 accepted due to recursion.
4138
4139 2004-05-23 K\e,Ba\e(Broly L\e,Bu\e(Brentey <lorentey@elte.hu>
4140
4141 * coding.c (Fset_safe_terminal_coding_system_internal):
4142 Set suppress_error in safe_terminal_coding, not terminal_coding.
4143
4144 2004-05-22 Richard M. Stallman <rms@gnu.org>
4145
4146 * alloc.c (Fmake_string): Doc fix.
4147
4148 * buffer.c (clone_per_buffer_values): Copy the alist of local vars,
4149 and the alist pairs too.
4150
4151 * casefiddle.c (casify_object): Return OBJ unchanged if not real char.
4152
4153 * emacs.c (main): Update copyright year.
4154
4155 * fileio.c (Fread_file_name): Expand DIR if not absolute.
4156
4157 * insdel.c (del_range_2, replace_range): Don't write an anchor
4158 if the gap is empty.
4159
4160 * xdisp.c (try_scrolling): If scroll-up-aggressively or
4161 scroll-down-aggressively is small but positive, put point
4162 near the screen edge.
4163
4164 2004-05-22 Juanma Barranquero <lektu@terra.es>
4165
4166 * keymap.c (Fdefine_key): Doc fix.
4167
4168 2004-05-22 Kim F. Storm <storm@cua.dk>
4169
4170 * alloc.c (struct backtrace): Add debug_on_exit member.
4171 (Fgarbage_collect): Clear out buffer undo_list markers after gc_sweep.
4172 Identify those markers as Lisp_Misc_Free objects. Clear car and cdr of
4173 the removed cons cells.
4174 (mark_object): Undo previous change - disallow Lisp_Misc_Free objects.
4175 (gc_sweep): Clear cons_blocks before sweeping strings, so we don't have
4176 any cons cells pointing to unallocated stings.
4177 Do not lisp_free any marker blocks, as there may still be pointers
4178 to them from buffer undo lists at this stage of GC.
4179
4180 * keyboard.c (struct backtrace): Add debug_on_exit member.
4181 (Fcommand_execute): Clear it.
4182
4183 2004-05-20 Luc Teirlinck <teirllm@auburn.edu>
4184
4185 * intervals.c (lookup_char_property): Do not prematurely return nil.
4186
4187 2004-05-19 Jim Blandy <jimb@redhat.com>
4188
4189 Add support for new '\_<' and '\_>' regexp operators, matching the
4190 beginning and end of symbols.
4191
4192 * regex.c (enum syntaxcode): Add Ssymbol.
4193 (init_syntax_once): Set the syntax for '_' to Ssymbol, not Sword.
4194 (re_opcode_t): New opcodes `symbeg' and `symend'.
4195 (print_partial_compiled_pattern): Print the new opcodes properly.
4196 (regex_compile): Parse the new operators.
4197 (analyse_first): Skip sym(beg|end) (they match only the empty string).
4198 (mutually_exclusive_p): `symend' is mutually exclusive with \s_ and
4199 \sw; `symbeg' is mutually exclusive with \S_ and \Sw.
4200 (re_match_2_internal): Match symbeg and symend.
4201
4202 * search.c (trivial_regexp_p): \_ is no longer a trivial regexp.
4203
4204 2004-05-19 Kim F. Storm <storm@cua.dk>
4205
4206 * .gdbinit (xsymbol): Fix last change.
4207
4208 2004-05-18 Stefan Monnier <monnier@iro.umontreal.ca>
4209
4210 * .gdbinit (xprintstr): New fun.
4211 (xstring, xprintsym): Use it.
4212
4213 * w32proc.c (create_child): Use INTMASK.
4214
4215 * alloc.c (Fgarbage_collect): Do all the marking before flushing
4216 unmarked elements of the undo list.
4217
4218 2004-05-18 David Ponce <david@dponce.com>
4219
4220 * print.c (print): Reset print_depth before to call print_object.
4221
4222 2004-05-18 Jason Rumney <jasonr@gnu.org>
4223
4224 * w32console.c: Prefix RIF functions with w32con_ to avoid
4225 namespace clash with functions in term.c and w32term.c.
4226
4227 * w32menu.c (add_menu_item, w32_menu_display_help)
4228 [USE_LISP_UNION_TYPE]: Cast from Lisp_Object using i member.
4229
4230 * w32term.h (display_x_get_resource, vga_stdcolor_name): Add prototype.
4231
4232 2004-05-18 Eli Zaretskii <eliz@gnu.org>
4233
4234 * lisp.h (DECL_ALIGN): Remove restriction on MS-DOS systems.
4235
4236 * msdos.c (syms_of_msdos): Initialize dos-unsupported-char-glyph
4237 with make_number.
4238 (IT_write_glyphs): Extract glyph from dos-unsupported-char-glyph
4239 with XINT.
4240
4241 2004-05-18 Kim F. Storm <storm@cua.dk>
4242
4243 * blockinput.h (INPUT_BLOCKED_P): New macros.
4244
4245 * keyboard.c (Frecursive_edit): Return immediately if input blocked.
4246 (Ftop_level): Unblock input if blocked.
4247
4248 * buffer.h (GET_OVERLAYS_AT): New macro.
4249 * msdos.c (IT_note_mouse_highlight): Use it.
4250 * textprop.c (get_char_property_and_overlay): Use it.
4251 * xdisp.c (next_overlay_change, note_mouse_highlight): Use it.
4252 * xfaces.c (face_at_buffer_position): Use it.
4253
4254 * print.c (print_object): Increase buf size.
4255
4256 2004-05-17 Jason Rumney <jasonr@gnu.org>
4257
4258 * w32fns.c (Fw32_register_hot_key, Fw32_unregister_hot_key)
4259 (Fw32_toggle_lock_key) [USE_LISP_UNION_TYPE]: Cast from
4260 Lisp_Object using i member.
4261 (w32_quit_key): Rename from Vw32_quit_key, and make an int.
4262 (syms_of_w32fns, globals_of_w32fns): Use Lisp_Object and int
4263 consistently.
4264
4265 * w32proc.c (create_child): Use make_number instead of masking pid.
4266
4267 * w32fns.c (w32_color_map_lookup): Return a Lisp_Object.
4268 (x_to_w32_charset, w32_to_x_charset, w32_to_all_x_charsets):
4269 Use EQ to compare Lisp_Objects.
4270 (w32_parse_hot_key): Use int for lisp_modifiers consistently.
4271
4272 * w32term.c (w32_num_mouse_buttons): Rename from
4273 Vw32_num_mouse_buttons and make it an int.
4274
4275 * w32.c (init_environment): Use it.
4276
4277 * w32fns.c (w32_wnd_proc): Likewise.
4278
4279 * w32proc.c (w32_pipe_read_delay): Rename from
4280 Vw32_pipe_read_delay and make it an int.
4281
4282 * w32.c (_sys_read_ahead): Use it.
4283
4284 * lisp.h (egetenv) [USE_CRT_DLL]: Remove condition.
4285
4286 * w32proc.c (create_child) [USE_LSB_TAG]: Don't try to mask pid.
4287
4288 * w32inevt.c (w32_console_mouse_position, do_mouse_event)
4289 (key_event): Don't mix Lisp_Object and int.
4290
4291 * w32heap.c (init_heap) [USE_LSB_TAG]: Don't check heap location.
4292
4293 * keyboard.c (kbd_buffer_get_event): Don't use event->code and
4294 modifiers in language change event.
4295
4296 2004-05-17 Kim F. Storm <storm@cua.dk>
4297
4298 * alloc.c (mark_object): Ignore Lisp_Misc_Free objects.
4299 Such objects may be freed markers which still exist on an undo list.
4300
4301 2004-05-16 Juanma Barranquero <lektu@terra.es>
4302
4303 * data.c (Fset_default): Make argument names match their use in
4304 docstring.
4305
4306 2004-05-15 Andreas Schwab <schwab@suse.de>
4307
4308 * emacs.c (gdb_array_mark_flag): Define.
4309 * .gdbinit: Mask off gdb_array_mark_flag from vector sizes.
4310
4311 2004-05-15 Eli Zaretskii <eliz@gnu.org>
4312
4313 * lisp.h (DECL_ALIGN) [MSDOS]: Don't define DECL_ALIGN to use
4314 __attribute__((__aligned__)), so that USE_LSB_TAG would not become
4315 defined for the MS-DOS build.
4316
4317 2004-05-14 Stefan Monnier <monnier@iro.umontreal.ca>
4318
4319 * w32fns.c (Fw32_define_rgb_color): Avoid XSET.
4320
4321 2004-05-14 Kenichi Handa <handa@m17n.org>
4322
4323 * ccl.c (Fccl_execute_on_string): Fix setting elements of STATUS.
4324
4325 2004-05-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4326
4327 * lisp.h (Vx_resource_name, Vx_resource_class): Move from xfns.c
4328 section to frame.c section.
4329 (Fxw_display_color_p, Fx_file_dialog): Declare if
4330 HAVE_WINDOW_SYSTEM defined.
4331
4332 * macfns.c (Fx_create_frame): Fix int/Lisp_Object mixup.
4333
4334 * macmenu.c (set_frame_menubar): Use NILP to test a lisp value.
4335
4336 * macterm.c (mac_get_emulated_btn, mac_event_to_emacs_modifiers)
4337 (mac_get_mouse_btn): Use NILP and EQ to test/compare lisp values.
4338 (XTread_socket): Fix int/Lisp_Object mixup.
4339 (mac_check_for_quit_char): Fix pointer/Lisp_Object mixup.
4340
4341 * macterm.h (struct frame, struct face, struct image)
4342 (display_x_get_resource, Fx_display_color_p)
4343 (Fx_display_grayscale_p, Fx_display_planes, x_free_gcs):
4344 Add prototypes.
4345
4346 2004-05-14 Kim F. Storm <storm@cua.dk>
4347
4348 * process.c (wait_reading_process_input): Make reentrant.
4349 Make Available and Connecting non-static. Save and restore value
4350 of waiting_for_user_input_p.
4351
4352 2004-05-13 Kim F. Storm <storm@cua.dk>
4353
4354 * keyboard.c (mark_kboards): Don't mark x and y members
4355 that are overloaded in selection request events.
4356
4357 2004-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
4358
4359 * lisp.h (USE_LSB_TAG): Make it the default when it is known to work.
4360
4361 2004-05-13 Glenn Morris <gmorris@ast.cam.ac.uk>
4362
4363 * window.c (Fdisplay_buffer, Fsplit_window)
4364 (split-height-threshold): Doc fix.
4365
4366 2004-05-13 Juanma Barranquero <lektu@terra.es>
4367
4368 * xfaces.c (Ftty_supports_face_attributes_p)
4369 (Finternal_copy_lisp_face): Fix typo in docstring.
4370 (Finternal_get_lisp_face_attribute): Fix docstring.
4371
4372 2004-05-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4373
4374 * xfns.c (syms_of_xfns): Provide x-toolkit also for GTK.
4375
4376 2004-05-11 Steven Tamm <steventamm@mac.com>
4377
4378 * macfns.c (Fx_create_frame): Default to using tool-bar by
4379 setting tool-bar-lines to 1 in default-frame-alist.
4380
4381 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4382
4383 * image.c (xpm_scan, xpm_make_color_table_v, xpm_put_color_table_v)
4384 (xpm_get_color_table_v, xpm_make_color_table_h)
4385 (xpm_put_color_table_h, xpm_get_color_table_h)
4386 (xpm_str_to_color_key, xpm_load_image, xpm_load)
4387 (syms_of_image): Support XPM on Carbon Emacs. Does not
4388 depend on libXpm, but only supports XPM version 3 without extensions.
4389
4390 2004-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4391
4392 * macterm.c (x_flush, XTframe_up_to_date): Use FRAME_MAC_P
4393 instead of FRAME_X_P
4394
4395 2004-05-11 Kim F. Storm <storm@cua.dk>
4396
4397 * process.c (read_process_output): Grow decoding_buf when needed;
4398 this could cause a crash in allocate_string and compact_small_strings.
4399
4400 2004-04-29 Jim Blandy <jimb@redhat.com>
4401
4402 * regex.c (mutually_exclusive_p): In 'case wordbeg', compare op2
4403 against proper opcode.
4404
4405 2004-05-10 Juanma Barranquero <lektu@terra.es>
4406
4407 * process.c (Fstart_process): Fix docstring.
4408
4409 * charset.c (Fget_unused_iso_final_char): Fix typos in docstring.
4410 (Fchar_bytes, Fchar_width, Fstring_width, Fchar_direction)
4411 (Fsplit_char, Fchar_charset): Make argument names match their use
4412 in docstring.
4413
4414 2004-05-10 Richard M. Stallman <rms@gnu.org>
4415
4416 * print.c (print_preprocess): Use being_printed, loop_count and
4417 halftail to detect overdeep nesting and cyclic cdr chains.
4418
4419 2004-05-10 Andreas Schwab <schwab@suse.de>
4420
4421 * lisp.h (Fmake_symbolic_link): Declare.
4422
4423 * fileio.c (Frename_file): Remove extra argument in call to
4424 Fmake_symbolic_link.
4425
4426 2004-05-10 Kim F. Storm <storm@cua.dk>
4427
4428 * xdisp.c (calc_line_height_property): Use string position when
4429 object is a string.
4430
4431 2004-05-10 Kenichi Handa <handa@m17n.org>
4432
4433 * print.c (temp_output_buffer_setup): Bind inhibit-read-only and
4434 inhibit-modification-hooks to t temporarily before calling
4435 Ferase_buffer.
4436
4437 * xfns.c (x_create_tip_frame): Bind inhibit-read-only and
4438 inhibit-modification-hooks to t temporarily before calling
4439 Ferase_buffer.
4440
4441 * w32fns.c (x_create_tip_frame): Bind inhibit-read-only and
4442 inhibit-modification-hooks to t temporarily before calling
4443 Ferase_buffer.
4444
4445 * fns.c (count_combining): Delete it.
4446 (concat): Don't check combining bytes.
4447
4448 2004-05-09 Jason Rumney <jasonr@gnu.org>
4449
4450 * w32fns.c (Vw32_ansi_code_page): New Lisp variable.
4451 (globals_of_w32fns): Set it.
4452
4453 2004-05-09 Piet van Oostrum <piet@cs.uu.nl>
4454
4455 * data.c (Fquo): Simplify.
4456
4457 2004-05-08 Peter Whaite <emacs@whaite.ca> (tiny change)
4458
4459 * data.c (Fquo): If any argument is float, do the computation in
4460 floating point.
4461
4462 2004-05-08 Juanma Barranquero <lektu@terra.es>
4463
4464 * process.c (Fwaiting_for_user_input_p, Fmake_network_process)
4465 (Fset_process_query_on_exit_flag, Vprocess_adaptive_read_buffering):
4466 Fix spelling of Emacs on docstring.
4467 (Fset_process_coding_system, Fprocess_coding_system)
4468 (Fset_process_filter_multibyte, Fprocess_filter_multibyte_p):
4469 Make argument names match their use in docstring.
4470 (Fprocess_id, Fprocess_query_on_exit_flag, Finterrupt_process):
4471 Fix docstring.
4472
4473 * editfns.c (Finsert_buffer_substring): Make argument names match their
4474 use in docstring.
4475
4476 * syntax.c (Fmodify_syntax_entry): Fix docstring.
4477
4478 2004-05-07 Steven Tamm <steventamm@mac.com>
4479
4480 * macterm.c (mac_check_for_quit_char): Adding BLOCK_INPUT
4481 around call to ReceiveEvent to avoid certain crashes.
4482
4483 2004-05-07 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
4484
4485 * macterm.c (mac_draw_line_to_pixmap, XCreatePixmapFromBitmapData)
4486 (mac_fill_rectangle_to_pixmap, mac_draw_rectangle_to_pixmap)
4487 (mac_copy_area_to_pixmap, mac_copy_area_with_mask_to_pixmap):
4488 Save/restore the current graphics port and device handle when
4489 drawing into an offscreen graphics world.
4490
4491 * image.c [MAC_OS] (XPutPixel, XGetPixel, image_load_qt_1)
4492 (gif_load): Likewise.
4493
4494 2004-05-07 Juanma Barranquero <lektu@terra.es>
4495
4496 * window.c (Fset_window_buffer): Fix docstring.
4497
4498 2004-05-06 Thien-Thi Nguyen <ttn@gnu.org>
4499
4500 * emacs.c (main) [VMS]: Fix var ref.
4501
4502 2004-05-06 Romain Francoise <romain@orebokech.com>
4503
4504 * data.c (Fsetq_default): Fix docstring.
4505
4506 2004-05-06 Jason Rumney <jasonr@gnu.org>
4507
4508 * image.c (Display) [HAVE_NTGUI]: Redefine while loading xpm.h
4509 to avoid name clash.
4510
4511 2004-05-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4512
4513 * fileio.c (barf_or_query_if_file_exists): Use lstat.
4514 (Frename_file): Handle renaming of symlinks across file systems.
4515 (Frename_file): Put symlink handling inside #ifdef S_IFLNK.
4516
4517 2004-05-04 Kim F. Storm <storm@cua.dk>
4518
4519 * xdisp.c (Qtotal): New var.
4520 (syms_of_xdisp): Intern and staticpro it.
4521 (calc_line_height_property): New arg total. Set it if
4522 line-spacing property has format (total . VALUE).
4523 (x_produce_glyphs): Ignore line-spacing if line-height is 0.
4524 Handle total line-spacing property.
4525
4526 2004-05-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4527
4528 * gtkutil.c (xg_update_scrollbar_pos): Call XClearWindow to clear
4529 "under" scroll bar when size/position changes.
4530
4531 2004-05-03 Jason Rumney <jasonr@gnu.org>
4532
4533 * makefile.nt: Remove.
4534
4535 2004-05-02 Eli Zaretskii <eliz@gnu.org>
4536
4537 * syntax.h (SET_RAW_SYNTAX_ENTRY, SYNTAX_ENTRY_INT):
4538 Avoid compiler warnings.
4539
4540 * Makefile.in (region-cache.o): Depend on config.h.
4541
4542 2004-05-02 Romain Francoise <romain@orebokech.com>
4543
4544 * indent.c (compute_motion): Save vpos in prev_vpos when dealing
4545 with continuation lines, too.
4546
4547 2004-05-02 Thien-Thi Nguyen <ttn@gnu.org>
4548
4549 * syssignal.h (init_signals): Move decl outside `#ifdef POSIX_SIGNALS'.
4550
4551 2004-05-01 Stefan Monnier <monnier@iro.umontreal.ca>
4552
4553 * xdisp.c (calc_line_height_property): YAILOM (yet another
4554 int/Lisp_Object mixup).
4555
4556 2004-05-01 Eli Zaretskii <eliz@gnu.org>
4557
4558 * msdos.c (top-level): Add "#pragma pack(0)" after <dir.h>, to
4559 undo bad effect of pack(4) in some versions of system headers.
4560
4561 2004-05-01 Jason Rumney <jasonr@gnu.org>
4562
4563 * w32term.c (x_draw_hollow_cursor): Sync with xterm.c
4564
4565 2004-04-30 Kim F. Storm <storm@cua.dk>
4566
4567 * buffer.c (syms_of_buffer) <line-spacing>: Allow float value.
4568 (syms_of_buffer) <cursor-type>: Doc fix.
4569
4570 * dispextern.h (struct it): Remove member use_default_face.
4571 Add members override_ascent, override_descent, override_boff.
4572
4573 * xdisp.c (init_iterator): Handle line-spacing float value.
4574 Initialize override_ascent member.
4575 (append_space_for_newline): Reset override_ascent.
4576 Remove use_default_face.
4577 (calc_line_height_property): New function to calculate value of
4578 line-height and line-spacing properties. Look at overlays, too.
4579 Set override_ascent, override_descent, override_boff members when
4580 using another face than the current face. Float values are now
4581 relative to the frame default font, by default; accept a cons
4582 of ratio and face name to specify value relative to a specific face.
4583 (x_produce_glyphs): Use calc_line_height_property.
4584 Use override_ascent etc. when set to handle different face heights.
4585 A negative line-spacing property value is interpreted as a total
4586 line height, rather than inter-line spacing.
4587 (note_mouse_highlight): Allocate room for 40 overlays initially.
4588
4589 2004-04-29 Stefan Monnier <monnier@iro.umontreal.ca>
4590
4591 * data.c (Fsubr_name): New fun.
4592 (syms_of_data): Defsubr it.
4593
4594 2004-04-29 Kim F. Storm <storm@cua.dk>
4595
4596 * xdisp.c (null_glyph_slice): New var.
4597 (append_glyph, append_composite_glyph, append_stretch_glyph):
4598 Use it to initialize glyph slice.
4599
4600 2004-04-27 Stefan Monnier <monnier@iro.umontreal.ca>
4601
4602 * xdisp.c (x_produce_glyphs): Fix the proverbial int/Lisp_Object mixup.
4603 (on_hot_spot_p): Make sure we always return a value.
4604 (Flookup_image_map): Remove unused var ix and iy.
4605 (note_mode_line_or_margin_highlight): Remove unused var `image'.
4606
4607 2004-04-27 Eli Zaretskii <eliz@gnu.org>
4608
4609 * msdos.c (init_environment): If one of the TMP... environment
4610 variables is set to a drive letter without a trailing slash,
4611 append a slash.
4612
4613 2004-04-27 Matthew Mundell <matt@mundell.ukfsn.org>
4614
4615 * editfns.c (lisp_time_argument): Provide externally.
4616
4617 * fileio.c (Fset_file_times): New function.
4618 (syms_of_fileio): Intern and staticpro it.
4619
4620 2004-04-27 Kim F. Storm <storm@cua.dk>
4621
4622 * xdisp.c (x_produce_glyphs): Fix last change; handle newline in
4623 header line strings.
4624
4625 * dispextern.h (struct it): New member use_default_face.
4626
4627 * xdisp.c (Qline_height): New variable.
4628 (syms_of_xdisp): Intern and staticpro it.
4629 (append_space_for_newline): Partially undo 2004-04-25 change;
4630 add default_face_p arg, and restore callers.
4631 Clear it->use_default_face after use.
4632 (x_produce_glyphs): Set default font for ascii char if
4633 it->use_default_font is set. Change line-spacing property to set
4634 just extra line spacing. Handle new line-height property.
4635
4636 2004-04-26 Andreas Schwab <schwab@suse.de>
4637
4638 * print.c (print_object): Print non-ascii characters in bool
4639 vector representation as octal escapes.
4640
4641 * lisp.h (BOOL_VECTOR_BITS_PER_CHAR): Define.
4642 * print.c (print_object): Use it instead of BITS_PER_CHAR for
4643 bool vectors.
4644 * lread.c (read1): Likewise.
4645 * alloc.c (Fmake_bool_vector): Likewise.
4646 * data.c (Faref, Faset): Likewise.
4647 * fns.c (Fcopy_sequence, concat, internal_equal, Ffillarray)
4648 (mapcar1): Likewise.
4649
4650 2004-04-26 Steven Tamm <tamm@Steven-Tamms-Computer.local>
4651
4652 * lread.c (init_lread): Fixing typo HAVE_CARBON test logic
4653
4654 2004-04-26 Miles Bader <miles@gnu.org>
4655
4656 * lisp.h (CYCLE_CHECK): Macro moved from xfaces.c.
4657
4658 2004-04-26 Juanma Barranquero <lektu@terra.es>
4659
4660 * buffer.c (Fpop_to_buffer): Fix docstring.
4661
4662 2004-04-26 Steven Tamm <steventamm@mac.com>
4663
4664 * lread.c (init_lread): Don't display missing lisp directory
4665 warnings with Carbon Emacs because self-contained bundled Emacs
4666 may be built without correct installation path.
4667
4668 2004-04-25 Kim F. Storm <storm@cua.dk>
4669
4670 * macterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
4671
4672 * xterm.c (x_draw_hollow_cursor): Fix height of box for narrow lines.
4673
4674 * xdisp.c (append_space_for_newline): Rename from append_space.
4675 Remove DEFAULT_FACE_P arg; always use current face. Callers changed.
4676 (x_produce_glyphs): Handle line-spacing property on newline char.
4677 If value is t, adjust ascent and descent to fit current row height.
4678 If value is an integer or float, set extra_line_spacing to integer
4679 value, or to float value x current line height.
4680
4681 2004-04-23 Kenichi Handa <handa@m17n.org>
4682
4683 * fontset.c (Finternal_char_font): If POSITION is nil, return
4684 font for displaying CH with the default face.
4685
4686 2004-04-23 Juanma Barranquero <lektu@terra.es>
4687
4688 * makefile.w32-in: Add "-*- makefile -*-" mode tag.
4689
4690 2004-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
4691
4692 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND && !NO_UNION_TYPE]:
4693 Don't make assumptions about the relative place of i and val.
4694 (EQ) [!NO_UNION_TYPE]: Don't forget to check the type match as well.
4695
4696 2004-04-21 Kim F. Storm <storm@cua.dk>
4697
4698 * dispextern.h (struct glyph_slice): New struct.
4699 (struct glyph): New member slice.
4700 (GLYPH_SLICE_EQUAL_P): New macro.
4701 (GLYPH_EQUAL_P): Use it.
4702 (struct glyph_string): New member slice.
4703 (struct it_slice): New struct.
4704 (struct it): New member slice, add member to stack too.
4705 New member constrain_row_ascent_descent_p.
4706 (image_ascent): Add prototype.
4707
4708 * dispnew.c (buffer_posn_from_coords): Return full image width
4709 and height even for image slices (posn is relative to full image).
4710 (marginal_area_string): Adjust x0,y0 for image slice.
4711
4712 * image.c (image_ascent): Add slice arg; calculate ascent for
4713 image slice (or full image).
4714
4715 * keyboard.c (Fposn_at_x_y, Fposn_at_point): New defuns.
4716 (syms_of_keyboard): Defsubr them.
4717
4718 * lisp.h (pos_visible_p): Fix prototype.
4719
4720 * macterm.c (x_draw_relief_rect): Add top_p and bot_p args.
4721 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4722 (x_draw_image_foreground, x_draw_image_relief)
4723 (x_draw_image_foreground_1, x_draw_image_glyph_string):
4724 Draw sliced images.
4725
4726 * w32term.c (w32_draw_relief_rect): Add top_p and bot_p args.
4727 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4728 (x_draw_image_foreground, x_draw_image_relief)
4729 (w32_draw_image_foreground_1, x_draw_image_glyph_string):
4730 Draw sliced images.
4731
4732 * w32term.h (image_ascent): Remove prototype.
4733
4734 * window.c (Fpos_visible_in_window_p): Return pixel position if
4735 PARTIALLY arg is non-nil. Simplify. Doc fix.
4736 (Fwindow_vscroll, Fset_window_vscroll): Add optional PIXEL_P arg
4737 to return/set vscroll in pixels.
4738
4739 * window.h (Fwindow_vscroll, Fset_window_vscroll): Fix EXFUN.
4740
4741 * xdisp.c (Qslice): New variable.
4742 (syms_of_xdisp): Intern and staticpro it.
4743 (pos_visible_p): Return pixel position in new x and y args.
4744 (init_iterator): Reset it->slice info.
4745 (handle_display_prop): Parse (slice ...) property.
4746 (push_it, pop_it): Save/restore slice info.
4747 (make_cursor_line_fully_visible): Fix 2004-04-14 change. Do not
4748 force repositioning of tall row if window is vscrolled, as that
4749 would reset vscroll.
4750 (append_space): Set it->constrain_row_ascent_descent_p to avoid
4751 increasing row height if row is non-empty.
4752 (fill_image_glyph_string): Copy slice info.
4753 (take_vertical_position_into_account): Simplify.
4754 (produce_image_glyph): Handle iterator slice info, setup glyph
4755 slice info. Do not force minimum line height.
4756 (x_produce_glyphs): If it->constrain_row_ascent_descent_p is set,
4757 do not increase height (ascent/descent) of non-empty row when
4758 adding normal character glyph; instead reduce glyph ascent/descent
4759 appropriately; if row is higher than current glyph, adjust glyph
4760 descent/ascent to reposition glyph within the existing row.
4761 Likewise, when char is newline, only set ascent/descent if row is
4762 currently empty.
4763 (note_mouse_highlight): Handle hotspots with sliced image.
4764
4765 * xterm.c (x_draw_relief_rect): Add top_p and bot_p args.
4766 (x_draw_glyph_string_box): Fix call to x_draw_relief_rect.
4767 (x_draw_image_foreground, x_draw_image_relief)
4768 (x_draw_image_foreground_1, x_draw_image_glyph_string):
4769 Draw sliced images.
4770
4771 * xterm.h (image_ascent): Remove prototype.
4772
4773 2004-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
4774
4775 * keymap.c (Fkey_description): Fix the usual int/Lisp_Object mixup.
4776
4777 2004-04-20 John Paul Wallington <jpw@gnu.org>
4778
4779 * fns.c (Fassoc, Feql): Fix indentation.
4780
4781 * fontset.c (regularize_fontname): Rename from regulalize_fontname.
4782
4783 2004-04-19 John Paul Wallington <jpw@gnu.org>
4784
4785 * fns.c (Feql): New function.
4786 (syms_of_fns): Defsubr it.
4787
4788 2004-04-18 Jason Rumney <jasonr@gnu.org>
4789
4790 * w32select.c (Fw32_set_clipboard_data): Get sequence number
4791 after closing the clipboard.
4792
4793 2004-04-16 Luc Teirlinck <teirllm@auburn.edu>
4794
4795 * buffer.c (Fbuffer_base_buffer): Doc fix.
4796
4797 2004-04-17 Kim F. Storm <storm@cua.dk>
4798
4799 * keymap.c (Fkey_description): Add optional PREFIX arg.
4800 Combine prefix with KEYS to make up the full key sequence to describe.
4801 Correlate meta_prefix_char and following (simple) key to describe
4802 as meta modifier. All callers changed.
4803 (describe_map): Rename arg `keys' to `prefix'. Remove local
4804 `elt_prefix' var. Use Fkey_description with prefix instead of
4805 elt_prefix combined with Fsingle_key_description.
4806 (describe_vector): Declare static. Replace arg `elt_prefix' with
4807 `prefix'. Add KEYMAP_P arg. Add local var `elt_prefix'; use it
4808 if !KEYMAP_P. Use Fkey_description with prefix instead of
4809 Fsingle_key_description.
4810
4811 * keymap.h (Fkey_description): Fix prototype.
4812 (describe_vector): Remove prototype.
4813
4814 * xdisp.c (update_overlay_arrows): Fix handling of up_to_date < 0.
4815
4816 * image.c (PNG_BG_COLOR_SHIFT): Remove.
4817 (png_load): Fix calculation of transparent background color on X
4818 and W32 platforms.
4819
4820 2004-04-16 Juanma Barranquero <lektu@terra.es>
4821
4822 * xdisp.c (try_scrolling): Make sure `scroll-conservatively' is
4823 not too large before computing how much to scroll.
4824
4825 2004-04-15 Stefan Monnier <monnier@iro.umontreal.ca>
4826
4827 * dired.c (Ffile_attributes): Don't pass extra nil arg to file-handler.
4828
4829 2004-04-14 Luc Teirlinck <teirllm@auburn.edu>
4830
4831 * fileio.c (Fverify_visited_file_modtime, Fvisited_file_modtime):
4832 Add hyperlink to Elisp manual to the docstring.
4833
4834 2004-04-14 Stefan Monnier <monnier@iro.umontreal.ca>
4835
4836 * callint.c (fix_command): Use XDCR.
4837
4838 2004-04-14 Nick Roberts <nick@nick.uklinux.net>
4839
4840 * window.c (Fget_lru_window): Doc fix.
4841
4842 2004-04-14 Kim F. Storm <storm@cua.dk>
4843
4844 * editfns.c (Fformat): Fix allocation size of precision array.
4845
4846 * dispnew.c (update_window): Only set changed_p if
4847 scrolling_window actually did scroll.
4848 (scrolling_window): Only return 1 if we actually did scroll.
4849
4850 * xdisp.c (get_glyph_string_clip_rect): Fix reduction of cursor
4851 height to glyph height when cursor row is not fully visible.
4852 (make_cursor_line_fully_visible): Add FORCE_P arg to return
4853 failure in case row is higher than window. Callers changed.
4854 (try_scrolling): Fix loop in scrolling if last_line_misfit (from Gerd).
4855 Try to scroll partially visible, higher-than-window cursor row.
4856 (redisplay_window): Always try to scroll partially visible,
4857 higher-than-window cursor row - both initially and again with
4858 centering_position = 0.
4859 Clear desired matrix before retrying with centering_position = 0.
4860
4861 2004-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
4862
4863 * syntax.c (scan_lists): Simplify backward string scan.
4864 Fix off-by-one boundary check for string and comment fences.
4865
4866 2004-04-13 Joe Buehler <jbuehler@hekimian.com>
4867
4868 * sheap.c, unexcw.c: New files.
4869
4870 2004-04-12 Luc Teirlinck <teirllm@auburn.edu>
4871
4872 * buffer.c (Fmake_indirect_buffer): Throw an error if the intended
4873 base buffer has been killed. Correct the error message if the
4874 base buffer does not exist.
4875
4876 2004-04-12 Joe Buehler <jbuehler@hekimian.com>
4877
4878 * s/cygwin.h: Changes for Cygwin unexec() support, changes in
4879 Cygwin itself. Add support for Xaw3d scrollbars.
4880
4881 * puresize.h: Set up PURE_P() for Cygwin unexec() support.
4882
4883 * lastfile.c: Define my_endbss[] for Cygwin unexec() support.
4884
4885 * gmalloc.c (__default_morecore): Use bss_sbrk(), not __sbrk(),
4886 before Cygwin unexec.
4887
4888 * Makefile.in: Link changes for Cygwin unexec() support.
4889
4890 2004-04-12 Andreas Schwab <schwab@suse.de>
4891
4892 * buffer.c (Fmake_indirect_buffer): Check that NAME is a string.
4893
4894 2004-04-11 Luc Teirlinck <teirllm@auburn.edu>
4895
4896 * buffer.c (Fgenerate_new_buffer_name): Return NAME argument if
4897 IGNORE argument equals NAME. Doc fix.
4898
4899 2004-04-11 Masatake YAMATO <jet@gyve.org>
4900
4901 * buffer.c (fix_start_end_in_overlays): Make overlays
4902 empty if they are backwards.
4903
4904 2004-04-09 Stefan Monnier <monnier@iro.umontreal.ca>
4905
4906 * xfaces.c (face_color_supported_p): Fix compilation without X11.
4907
4908 2004-04-07 Stefan Monnier <monnier@iro.umontreal.ca>
4909
4910 * doc.c (Fsnarf_documentation): Ignore new file name entries.
4911
4912 2004-04-06 Kim F. Storm <storm@cua.dk>
4913
4914 * msdos.c (clear_mouse_face): Only clear mouse highlight if not hidden.
4915 (dos_rawgetc): Set mouse_face_hidden after clearing highlight.
4916
4917 * w32term.c (w32_read_socket): Set mouse_face_hidden after
4918 clearing highlight.
4919
4920 * xdisp.c (clear_mouse_face): Only clear mouse highlight if not hidden.
4921
4922 * xterm.c (handle_one_xevent): Set mouse_face_hidden after
4923 clearing highlight.
4924
4925 * indent.c (vmotion): Do not reserve one column for continuation
4926 marks on window frames.
4927
4928 2004-04-04 Eli Zaretskii <eliz@gnu.org>
4929
4930 * charset.h (SINGLE_BYTE_CHAR_P): Fix macro to avoid warnings
4931 from GCC.
4932
4933 2004-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
4934
4935 * .gdbinit-union: Remove.
4936
4937 * .gdbinit: Make it work for USE_LSB_TAG and !NO_LISP_UNION.
4938 (xgetptr, xgetint, xgettype): New funs. Use them everywhere.
4939 ($nonvalbits): Remove.
4940 ($valmask): Set it by calling xreload to avoid redundancy.
4941
4942 * emacs.c (gdb_use_union, gdb_use_lsb): New vars.
4943 (gdb_emacs_intbits): Remove.
4944
4945 2004-03-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4946
4947 * data.c (Fbyteorder): Make test work even if unsigned is not 4 bytes.
4948
4949 2004-03-30 Kenichi Handa <handa@m17n.org>
4950
4951 * editfns.c (Fformat): Fix initialization of the array info.
4952
4953 2004-03-30 Kim F. Storm <storm@cua.dk>
4954
4955 * xterm.c (x_mouse_click_focus_ignore_position): New var.
4956 (syms_of_xterm): DEFVAR_BOOL it.
4957 (ignore_next_mouse_click_timeout): New var.
4958 (handle_one_xevent): Clear it on KeyPress, set it on EnterNotify.
4959 Use it to filter mouse clicks following focus event.
4960
4961 2004-03-29 David Ponce <david@dponce.com>
4962
4963 * callint.c (Fcall_interactively): Fix last change.
4964
4965 2004-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
4966
4967 * eval.c (Fcommandp): Simplify.
4968
4969 * data.c (Finteractive_form): Rename from Fsubr_interactive_form.
4970 Extend to handle all kinds of functions.
4971
4972 * lisp.h (Finteractive_form): Declare.
4973
4974 * callint.c (Fcall_interactively): Use it.
4975
4976 2004-03-26 Kim F. Storm <storm@cua.dk>
4977
4978 * xdisp.c (syms_of_xdisp): Include `void-variable' in list_of_error
4979 to catch errors in calc_pixel_width_or_height during redisplay.
4980
4981 2004-03-26 Masatake YAMATO <jet@gyve.org>
4982
4983 * buffer.c (fix_start_end_in_overlays): Rename fix_overlays_in_range.
4984
4985 * lisp.h (fix_start_end_in_overlays): Likewise.
4986
4987 * insdel.c (adjust_markers_for_insert): Call fix_start_end_in_overlays.
4988
4989 * editfns.c (Ftranspose_regions): Likewise.
4990
4991 2004-03-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
4992
4993 * xterm.c (handle_one_xevent): Do not pass key press events to GTK.
4994
4995 2004-03-19 Richard M. Stallman <rms@gnu.org>
4996
4997 * s/sol2-6.h: Delete previous change.
4998
4999 2004-03-19 Kim F. Storm <storm@cua.dk>
5000
5001 * xdisp.c (move_it_in_display_line_to): Fix MOVE_TO_POS case when
5002 to_charpos corresponds to newline in right fringe. Use local
5003 BUFFER_POS_REACHED_P macro.
5004
5005 2004-03-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5006
5007 * xdisp.c (calc_pixel_width_or_height): Add ifdef HAVE_WINDOW_SYSTEM
5008 to compile on non-window system.
5009
5010 2004-03-19 Kim F. Storm <storm@cua.dk>
5011
5012 * dispextern.h (calc_pixel_width_or_height): Add prototype.
5013
5014 * image.c (Qcenter): Move to xdisp.c.
5015
5016 * xdisp.c (Qcenter): Declare here.
5017 (syms_of_xdisp): Intern and staticpro it.
5018 (handle_single_display_prop): Allow space display property on all
5019 platforms.
5020 (display_mode_line): Set mode_line_p before displaying line.
5021 (calc_pixel_width_or_height): Declare extern. Add separate :align-to
5022 handling. Remove complex cases for fringes and scroll-bars.
5023 Add left, right, and center alignment positions. Add text (area)
5024 width/height. Return width or height for image specs.
5025 (produce_stretch_glyph): Improve handling of :align-to. Is now
5026 relative to left of text area by default, but other base offsets
5027 can be specified -- also for text lines.
5028
5029 * term.c (produce_glyphs): Handle IT_STRETCH.
5030 (produce_stretch_glyph): New function to handle space width and
5031 align-to display properties on non-window systems.
5032
5033 2004-03-17 Stefan Monnier <monnier@iro.umontreal.ca>
5034
5035 * fileio.c (Fread_file_name): Set completion-ignore-case for
5036 case-insensitive systems.
5037
5038 2004-03-14 Masatake YAMATO <jet@gyve.org>
5039
5040 * xdisp.c (note_mode_line_or_margin_highlight): Accept HEADER_LINE
5041 when keymap and cursor are setup.
5042
5043 2004-03-14 Steven Tamm <steventamm@mac.com>
5044
5045 * Makefile.in (XMENU_OBJ) [HAVE_CARBON]: Do not include xmenu.o.
5046
5047 2004-03-14 Kim F. Storm <storm@cua.dk>
5048
5049 * dispextern.h (x_find_image_file): Add prototype.
5050
5051 * image.c (x_find_image_file): Make extern.
5052
5053 * xfns.c (x_find_image_file): Remove prototype.
5054
5055 2004-03-13 Eli Zaretskii <eliz@gnu.org>
5056
5057 * Makefile.in (XMENU_OBJ): Include xmenu.o if HAVE_MENUS is defined.
5058
5059 * emacs.c (main): Call syms_of_xmenu only if HAVE_MENUS is defined.
5060
5061 2004-03-12 Richard M. Stallman <rms@gnu.org>
5062
5063 * fns.c (internal_equal): New arg PROPS controls comparing
5064 text properties. All callers changed.
5065 (Fequal_including_properties): New function.
5066 (syms_of_fns): defsubr it.
5067
5068 2004-03-12 Kim F. Storm <storm@cua.dk>
5069
5070 Fix image support on MAC. From YAMAMOTO Mitsuharu.
5071
5072 * dispextern.h (XImagePtr, XImagePtr_or_DC): Add typedefs.
5073 (image_background, image_background_transparent): Fix prototypes.
5074
5075 * image.c (XImagePtr, XImagePtr_or_DC): Move typedefs to dispextern.h.
5076
5077 * macfns.c (x_list_fonts, x_get_font_info, x_load_font)
5078 (x_query_font, x_find_ccl_program, x_set_window_size)
5079 (x_make_frame_visible, mac_initialize, XCreatePixmap)
5080 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
5081 (mac_draw_line_to_pixmap): Move prototypes to macterm.h.
5082
5083 * macterm.h (x_list_fonts, x_get_font_info, x_load_font)
5084 (x_query_font, x_find_ccl_program, x_set_window_size)
5085 (x_make_frame_visible, mac_initialize, XCreatePixmap)
5086 (XCreatePixmapFromBitmapData, XFreePixmap, XSetForeground)
5087 (mac_draw_line_to_pixmap): Add prototypes.
5088
5089 2004-03-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5090
5091 * macterm.c (XTread_socket): Fix mouse click on tool bar.
5092
5093 2004-03-11 Kim F. Storm <storm@cua.dk>
5094
5095 * dispextern.h: Move image related prototypes from xfns.c section
5096 to image.c. Condition them by HAVE_WINDOW_SYSTEM rather than
5097 HAVE_X_WINDOWS.
5098
5099 * Makefile.in (XOBJ): Consolidate into one list. Add image.o.
5100 Move gtkutil.o to new GTK_OBJ list.
5101 (XMENU_OBJ) [HAVE_MENUS]: Move declaration to proper place.
5102 (GTK_OBJ) [USE_GTK]: New declaration.
5103 (obj): Add $(GTK_OBJ) to list.
5104
5105 2004-03-11 Steven Tamm <steventamm@mac.com>
5106
5107 * image.c [MAC_OSX]: Include sys/stat.h
5108
5109 * macfns.c (syms_of_macfns): Remove definitions of things now
5110 defined in image.c
5111
5112 2004-03-11 Kim F. Storm <storm@cua.dk>
5113
5114 The following changes consolidates the identical/similar image
5115 support code previously found in xfns.c, w32fns.c, and macfns.c
5116 into a new file image.c.
5117
5118 * makefile.w32-in (OBJ1): Add image.o.
5119 ($(BLD)/image.$(O)): Add dependencies.
5120
5121 * Makefile.in (XOBJ, MAC_OBJ): Add image.o.
5122 (image.o): Add dependencies.
5123
5124 * image.c: New file with consolidated image support code.
5125 (COLOR_TABLE_SUPPORT): New define to control whether
5126 color table support is available (X only).
5127 (Bitmap_Record): Common name for x_bitmap_record,
5128 w32_bitmap_record, and mac_bitmap_record.
5129 (XImagePtr): Common name for pointer to XImage or equivalent.
5130 (XImagePtr_or_DC): New type to simplify code sharing; equivalent
5131 to XImagePtr on X+MAC, and to HDC on W32.
5132 (GET_PIXEL): Wrapper for XGetPixel or equivalent.
5133 (NO_PIXMAP): Common name for "None" or equivalent.
5134 (PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
5135 (RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
5136 (PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
5137 (FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen):
5138 Define with suitable equivalents on W32 and MAC for code sharing.
5139 (XDrawLine): Define on MAC for code sharing.
5140 (Destroy_Image, Free_Pixmap): Wrappers for code sharing.
5141 (IF_LIB_AVAILABLE): Macro to simplify code sharing.
5142 (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5143 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5144 (x_reference_bitmap, x_create_bitmap_from_data)
5145 (x_create_bitmap_from_file, x_destroy_bitmap)
5146 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5147 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5148 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5149 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5150 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5151 (define_image_type, lookup_image_type, valid_image_p)
5152 (image_error, enum image_value_type, struct image_keyword)
5153 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5154 (make_image, free_image, prepare_image_for_display, image_ascent)
5155 (four_corners_best, image_background, image_background_transparent)
5156 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5157 (make_image_cache, free_image_cache, clear_image_cache)
5158 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5159 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5160 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5161 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
5162 (init_image_func_pointer, image_load_quartz2d)
5163 (struct ct_color, init_color_table, free_color_table)
5164 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5165 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5166 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5167 (x_disable_image, x_build_heuristic_mask)
5168 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5169 (TIFF support, GIF support, Ghostscript support): Consolidate image
5170 code from xfns.c, w32fns.c, and macfns.c.
5171 (syms_of_image): Consolidate image related symbol setup here.
5172 (init_image): Consolidate image related initializations here.
5173
5174 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
5175 and init_image. Remove call to init_xfns.
5176
5177 * macterm.h (struct mac_bitmap_record): Add file member.
5178 Not currently used, but simplifies code sharing.
5179
5180 * macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5181 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5182 (x_reference_bitmap, x_create_bitmap_from_data)
5183 (x_create_bitmap_from_file, x_destroy_bitmap)
5184 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5185 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5186 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5187 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5188 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5189 (define_image_type, lookup_image_type, valid_image_p)
5190 (image_error, enum image_value_type, struct image_keyword)
5191 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5192 (make_image, free_image, prepare_image_for_display, image_ascent)
5193 (four_corners_best, image_background, image_background_transparent)
5194 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5195 (make_image_cache, free_image_cache, clear_image_cache)
5196 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5197 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5198 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5199 (find_image_fsspec, image_load_qt_1, image_load_quicktime)
5200 (init_image_func_pointer, image_load_quartz2d)
5201 (struct ct_color, init_color_table, free_color_table)
5202 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5203 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5204 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5205 (x_disable_image, x_build_heuristic_mask)
5206 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5207 (TIFF support, GIF support, Ghostscript support): Merge with image
5208 code from xfns.c and macfns.c into image.c.
5209 (syms_of_xfns): Move image related symbols to image.c.
5210 (init_external_image_libraries, init_xfns): Remove; initialization
5211 moved to init_image in image.c.
5212
5213 * w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5214 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5215 (x_reference_bitmap, x_create_bitmap_from_data)
5216 (x_create_bitmap_from_file, x_destroy_bitmap)
5217 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5218 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5219 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5220 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5221 (define_image_type, lookup_image_type, valid_image_p)
5222 (image_error, enum image_value_type, struct image_keyword)
5223 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5224 (make_image, free_image, prepare_image_for_display, image_ascent)
5225 (four_corners_best, image_background, image_background_transparent)
5226 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5227 (make_image_cache, free_image_cache, clear_image_cache)
5228 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5229 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5230 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5231 (struct ct_color, init_color_table, free_color_table)
5232 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5233 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5234 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5235 (x_disable_image, x_build_heuristic_mask)
5236 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5237 (TIFF support, GIF support, Ghostscript support): Merge with image
5238 code from xfns.c and macfns.c into image.c.
5239 (syms_of_xfns): Move image related symbols to image.c.
5240 (init_external_image_libraries, init_xfns): Remove; initialization
5241 moved to init_image in image.c.
5242
5243 * xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
5244 (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5245 (x_reference_bitmap, x_create_bitmap_from_data)
5246 (x_create_bitmap_from_file, x_destroy_bitmap)
5247 (x_destroy_all_bitmaps, x_create_bitmap_mask)
5248 (QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
5249 (QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
5250 (Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
5251 (define_image_type, lookup_image_type, valid_image_p)
5252 (image_error, enum image_value_type, struct image_keyword)
5253 (parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
5254 (make_image, free_image, prepare_image_for_display, image_ascent)
5255 (four_corners_best, image_background, image_background_transparent)
5256 (x_clear_image_1, x_clear_image, x_alloc_image_color)
5257 (make_image_cache, free_image_cache, clear_image_cache)
5258 (Fclear_image_cache, postprocess_image, lookup_image, cache_image)
5259 (forall_images_in_image_cache, x_create_x_image_and_pixmap)
5260 (x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
5261 (struct ct_color, init_color_table, free_color_table)
5262 (lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
5263 (cross_disabled_images, x_to_xcolors, x_from_xcolors)
5264 (x_detect_edges, x_emboss, x_laplace, x_edge_detection)
5265 (x_disable_image, x_build_heuristic_mask)
5266 (XBM support, XPM support, PBM support, PNG support, JPEG support)
5267 (TIFF support, GIF support, Ghostscript support): Merge with
5268 w32fns.c and macfns.c image code into image.c.
5269 (syms_of_xfns): Move image related symbols to image.c.
5270 (init_xfns): Remove; initialization moved to init_image in image.c.
5271
5272 * lisp.h (syms_of_image, init_image): Add protoypes.
5273 (init_xfns): Remove prototype.
5274
5275 * dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5276 (x_reference_bitmap, x_create_bitmap_from_data)
5277 (x_create_bitmap_from_file, x_destroy_bitmap)
5278 (x_create_bitmap_mask): Move prototypes from dispextern.h.
5279 (gamma_correct) [MAC_OS]: Add prototype.
5280
5281 * xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
5282 (x_reference_bitmap, x_create_bitmap_from_data)
5283 (x_create_bitmap_from_file, x_destroy_bitmap)
5284 (x_create_bitmap_mask): Move prototypes to dispextern.h.
5285
5286 2004-03-09 Kenichi Handa <handa@etlken2>
5287
5288 * coding.c (decode_coding_emacs_mule): Handle insufficent source
5289 correctly.
5290
5291 2004-03-04 Richard M. Stallman <rms@gnu.org>
5292
5293 * s/sol2-6.h (LD_SWITCH_SYSTEM_TEMACS): New definition.
5294
5295 * window.c (Fdisplay_buffer): Doc fix.
5296
5297 * buffer.c (Fpop_to_buffer): Doc fix.
5298
5299 2004-03-03 Kim F. Storm <storm@cua.dk>
5300
5301 * xdisp.c (display_line): Fix call to get_overlay_arrow_glyph_row.
5302
5303 2004-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
5304
5305 * editfns.c (Ftranslate_region): Lisp_Object/int mixup.
5306
5307 2004-03-02 Richard M. Stallman <rms@gnu.org>
5308
5309 * indent.c (compute_motion): Save vpos in prev_vpos, like hpos etc.
5310
5311 2004-03-02 Kenichi Handa <handa@m17n.org>
5312
5313 * doc.c (Fsubstitute_command_keys): Fix counding bytes.
5314
5315 2004-03-02 Kim F. Storm <storm@cua.dk>
5316
5317 * window.h (struct window): New member overlay_arrow_bitmap.
5318
5319 * window.c (make_window): Initialize overlay_arrow_bitmap.
5320
5321 * xdisp.c (Voverlay_arrow_variable_list): New variable to properly
5322 implement and integrate multiple overlay arrows with redisplay.
5323 (syms_of_xdisp): DEFVAR_LISP and initialize it.
5324 (last_arrow_position, last_arrow_string): Replace by properties.
5325 (Qlast_arrow_position, Qlast_arrow_string)
5326 (Qoverlay_arrow_string, Qoverlay_arrow_bitmap): New variables.
5327 (syms_of_xdisp): Intern and staticpro them.
5328 (overlay_arrow_string_or_property, update_overlay_arrows)
5329 (overlay_arrow_in_current_buffer_p, overlay_arrows_changed_p)
5330 (overlay_arrow_at_row): New functions for multiple overlay arrows.
5331 (redisplay_internal): Use them instead of directly accessing
5332 Voverlay_arrow_position etc. for multiple overlay arrows.
5333 (mark_window_display_accurate): Use update_overlay_arrows.
5334 (try_cursor_movement): Use overlay_arrow_in_current_buffer_p.
5335 (try_window_id): Use overlay_arrows_changed_p.
5336 (get_overlay_arrow_glyph_row): Add overlay_arrow_string arg.
5337 (display_line): Use overlay_arrow_at_row to check multiple
5338 overlay arrows, and get relevant overlay-arrow-string and
5339 overlay-arrow-bitmap. Set w->overlay_arrow_bitmap accordingly.
5340 (produce_image_glyph): Set pixel_width = 0 for fringe bitmap.
5341 (syms_of_xdisp): Remove last_arrow_position and last_arrow_string.
5342
5343 * fringe.c (draw_fringe_bitmap): Use w->overlay_arrow_bitmap if set.
5344 (update_window_fringes): Remove unused code.
5345
5346 2004-03-01 Jason Rumney <jasonr@gnu.org>
5347
5348 * w32term.c (w32_read_socket): Fix last change to ButtonPress handling.
5349
5350 2004-03-01 Juanma Barranquero <lektu@terra.es>
5351
5352 * fringe.c (Fdefine_fringe_bitmap): Fix typo in docstring.
5353
5354 * makefile.w32-in ($(BLD)/fringe.$(O)): Add dependencies.
5355
5356 2004-03-01 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5357
5358 * xfns.c (Fx_display_color_cells): Use number of planes to calculate
5359 how many colors can be displayed.
5360
5361 2004-03-01 Kenichi Handa <handa@m17n.org>
5362
5363 * editfns.c (Ftranslate_region): Handle multibyte chars in TABLE
5364 correctly.
5365
5366 2004-02-28 Kim F. Storm <storm@cua.dk>
5367
5368 * dispnew.c (update_window): Update header line also if there are
5369 no other changes in window (move code after set_cursor label).
5370
5371 * lisp.h (mark_window_display_accurate): Remove prototype.
5372
5373 * window.c (window_loop, Fforce_window_update): Force mode line
5374 updates by setting prevent_redisplay_optimizations_p and
5375 update_mode_lines.
5376
5377 2004-02-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5378
5379 * xfns.c (x_window): Fix indentation.
5380
5381 * xterm.c (x_calc_absolute_position): Call x_real_positions
5382 to get WM window sizes and use those to calculate position.
5383 (x_set_offset): Remove code commented out.
5384
5385 2004-02-28 Miles Bader <miles@gnu.org>
5386
5387 * keyboard.c (adjust_point_for_property): #ifdef-out dodgy xassert.
5388
5389 2004-02-28 Kim F. Storm <storm@cua.dk>
5390
5391 * keyboard.c (kbd_buffer_store_event_hold): New function to store
5392 an event into kbd fifo, but with special handling of quit event;
5393 a quit event is saved for later, and further events are discarded
5394 until the saved quit event has been processed.
5395 (kbd_buffer_store_event): Use kbd_buffer_store_event_hold.
5396 (gen_help_event): Store help event in kbd fifo.
5397 (NREAD_INPUT_EVENTS): Remove.
5398 (read_avail_input): Adapt to new read_socket_hook interface.
5399 Remove allocation and initialization of local input_event buffer,
5400 as read_socket_hook stores events directly in fifo. Allocate and
5401 initialize local hold_quit event to handle postponed quit event
5402 (and store it if set by kbd_buffer_store_event_hold).
5403
5404 * keyboard.h (kbd_buffer_store_event_hold): Add prototype.
5405 (gen_help_event): Fix prototype.
5406
5407 * macterm.c (XTread_socket): Remove bufp_r and
5408 numcharsp args. Add hold_quit arg.
5409 Rework to use just one, local, inev input_event. Store inev
5410 directly in fifo using kbd_buffer_store_event_hold.
5411
5412 * sysdep.c (BUFFER_SIZE_FACTOR): Remove.
5413 (read_input_waiting): Adapt to new read_socket_hook interface.
5414 Remove allocation and initialization of local input_event buffer,
5415 as read_socket_hook stores events directly in fifo. Allocate and
5416 initialize local hold_quit event to handle postponed quit event
5417 (and store it if set by kbd_buffer_store_event_hold).
5418
5419 * term.c (read_socket_hook): Fix arg list.
5420
5421 * termhooks.h (read_socket_hook): Fix prototype.
5422
5423 * w32inevt.c (w32_console_read_socket): Remove bufp_r and
5424 numcharsp args. Add hold_quit arg.
5425 Rework to use just one, local, inev input_event. Store inev
5426 directly in fifo using kbd_buffer_store_event_hold.
5427
5428 * w32inevt.h (w32_console_mouse_position): Fix prototype.
5429
5430 * w32term.c (w32_read_socket): Remove bufp_r and numcharsp args.
5431 Add hold_quit arg. Rework to use just one, local, inev
5432 input_event. Store inev directly in fifo using
5433 kbd_buffer_store_event_hold. Update count in one place.
5434 Postpone call to gen_help_event until inev is stored; use new
5435 local do_help for this.
5436 Remove local emacs_event in handing of ButtonPress event; just use
5437 inev instead (so no reason to copy it later).
5438
5439 * xsmfns.c (x_session_check_input): Remove numchars arg.
5440
5441 * xterm.c (x_focus_changed, x_detect_focus_change):
5442 Remove numchars arg. Always store event into bufp arg.
5443 Return nothing. Callers changed accordingly.
5444 (glyph_rect): Simplify.
5445 (STORE_KEYSYM_FOR_DEBUG): New macro.
5446 (SET_SAVED_MENU_EVENT): Use inev instead of bufp, etc.
5447 (current_bufp, current_numcharsp) [USE_GTK]: Remove.
5448 (current_hold_quit) [USE_GTK]: Add.
5449 (event_handler_gdk): Adapt to new handle_one_xevent.
5450 (handle_one_xevent): Remove bufp_r and numcharsp args.
5451 Add hold_quit arg. Rework to use just one, local, inev
5452 input_event. Store inev directly in fifo using
5453 kbd_buffer_store_event_hold. Update count in one place.
5454 Postpone call to gen_help_event until inev is stored; use new
5455 local do_help for this.
5456 Simplify handling of keysyms (consolidate common code). Fix bug
5457 where count was updated with nchars instead of nbytes.
5458 Remove local emacs_event in handing of ButtonPress event; just use
5459 inev instead (so no reason to copy it later).
5460 Remove `out' label. Rename label `ret' to `done'; add various
5461 `goto done' to clarify code flow in deeply nested blocks.
5462 (x_dispatch_event): Simplify as handle_one_xevent now calls
5463 kbd_buffer_store_event itself.
5464 (XTread_socket): Remove bufp_r and numcharsp args. Add hold_quit
5465 arg. Call handle_one_xevent with new arglist. Store event from
5466 x_session_check_input in fifo.
5467 [USE_GTK]: Setup current_hold_quit.
5468 Decrement handling_signal before unblocking input.
5469 (x_initialize) [USE_GTK]: Initialize current_count.
5470
5471 * xterm.h (x_session_check_input): Fix prototype.
5472
5473 2004-02-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
5474
5475 * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add `-framework QuickTime'.
5476
5477 * dispextern.h [MAC_OSX]: Do not include Carbon/Carbon.h (now in
5478 macgui.h).
5479
5480 * emacs.c (main) [HAVE_CARBON]: Call init_xfns.
5481
5482 * macgui.h [MAC_OSX]: Include Carbon/Carbon.h.
5483 (mktime, DEBUG, Z, free, malloc, realloc, max, min)
5484 (init_process) [MAC_OSX] : Avoid conflicts with Carbon/Carbon.h.
5485 [!MAC_OSX]: Include QDOffscreen.h and Controls.h.
5486 (INFINITY) [MAC_OSX]: Avoid conflict with definition in math.h.
5487 (Bitmap): Remove typedef.
5488 (Pixmap): Change int to GWorldPtr.
5489
5490 * macmenu.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5491
5492 * macterm.h [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5493 (RED16_FROM_ULONG, GREEN16_FROM_ULONG, BLUE16_FROM_ULONG):
5494 New #define to extract 16-bit depth color components from unsigned
5495 long representation.
5496 (PIX_MASK_DRAW, PIX_MASK_RETAIN): New #define to represent pixel
5497 colors used for masks.
5498 (struct mac_display_info): Add color_p. Remove n_cbits.
5499
5500 * macfns.c: Include sys/types.h and sys/stat.h.
5501 [MAC_OSX]: Do not include Carbon/Carbon.h (now in macgui.h).
5502 Include QuickTime/QuickTime.h.
5503 (XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
5504 (XSetForeground, mac_draw_line_to_pixmap): Add externs for
5505 functions defined in macterm.c.
5506 (XImagePtr): New typedef. Corresponds to XImage * in xfns.c.
5507 (ZPixmap): New #define for compatibility with xfns.c.
5508 (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
5509 (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
5510 (find_image_fsspec, image_load_qt_1, image_load_quicktime):
5511 New functions.
5512 (four_corners_best, x_create_x_image_and_pixmap)
5513 (x_destroy_x_image, unwind_create_frame, x_disable_image)
5514 (x_edge_detection, init_color_table, colors_in_color_table)
5515 (lookup_rgb_color, lookup_pixel_color, postprocess_image)
5516 (x_put_x_image, slurp_file, xbm_scan, xbm_load, xbm_load_image)
5517 (xbm_image_p, xbm_read_bitmap_data, xbm_file_p, x_to_xcolors)
5518 (x_from_xcolors, x_detect_edges): New declarations (from xfns.c).
5519 (mac_color_map_lookup, x_to_mac_color): Fix Lisp_Object/unsigned
5520 long mixup.
5521 (mac_defined_color, x_to_x_colors): Use RED16_FROM_ULONG etc.
5522 (x_decode_color): Don't use n_cbits (in struct mac_display_info).
5523 (x_set_foreground_color, x_set_cursor_color): Sync with w32fns.c.
5524 (x_set_cursor_type, Fxw_color_values, valid_image_p)
5525 (image_value_type, parse_image_spec, image_ascent, x_clear_image)
5526 (x_alloc_image_color, clear_image_cache, lookup_image)
5527 (x_find_image_file, xbm_read_bitmap_file_data)
5528 (enum xbm_keyword_index, xbm_format, xbm_image_p, xbm_scan)
5529 (xbm_read_bitmap_data, xbm_load, pbm_image_p, pbm_scan_number)
5530 (enum pbm_keyword_index, pbm_format, enum png_keyword_index)
5531 (png_format, png_image_p, enum jpeg_keyword_index, jpeg_format)
5532 (jpeg_image_p, enum tiff_keyword_index, tiff_format, tiff_image_p)
5533 (enum gif_keyword_index, gif_format, gif_image_p): Sync with xfns.c.
5534 (x_make_gc): Sync with xfns.c. Enclose unused `border_tile' with
5535 #if 0.
5536 (x_free_gcs): Sync with xfns.c. Enclose unused `border_tile' with
5537 #if 0. Free white_relief.gc and black_relief.gc.
5538 (unwind_create_frame, x_emboss, x_laplace, x_edge_detection):
5539 New functions (from xfns.c).
5540 (Fx_create_frame): Record unwind_create_frame.
5541 (Fxw_display_color_p): Use dpyinfo->color_p.
5542 (Fx_display_grayscale_p, Fx_display_planes): Don't use
5543 dpyinfo->n_cbits.
5544 (Fx_display_color_cells): Use dpyinfo->n_planes;
5545 (QCmatrix, QCcolor_adjustment, QCmask, Qemboss, Qedge_detection)
5546 (Qheuristic, cross_disabled_images, emboss_matrix)
5547 (laplace_matrix): New variables (from xfns.c).
5548 (Fimage_size, Fimage_mask_p, four_corners_best, image_background)
5549 (x_clear_image_1, postprocess_image, slurp_file, xbm_load_image)
5550 (xbm_file_p, x_to_xcolors, x_from_xcolors, x_detect_edges)
5551 (image_background_transparent): New function (from xfns.c).
5552 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5553 (image_load_quicktime): Add declaration.
5554 [MAC_OSX] (image_load_quartz2d): Likewise.
5555 [MAC_OSX] (CGImageCreateWithPNGDataProviderProcType): New typedef.
5556 [MAC_OSX] (MyCGImageCreateWithPNGDataProvider): New variable.
5557 [MAC_OSX] (init_image_func_pointer, image_load_quartz2d): New funs.
5558 (xbm_load_image_from_file, x_laplace_read_row)
5559 (x_laplace_write_row, pbm_read_file): Remove functions.
5560 [HAVE_XPM] (enum xpm_keyword_index, xpm_format, xpm_image_p)
5561 (xpm_load): Sync with xfns.c (although XPM is not supported yet).
5562 (colors_in_color_table): Sync with xfns.c (although not used).
5563 (lookup_rgb_color): Don't lookup color table. Just do gamma
5564 correction.
5565 (COLOR_INTENSITY): New #define (from xfns.c).
5566 (x_disable_image): New function (from xfns.c).
5567 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5568 (x_build_heuristic_mask): Sync with xfns.c.
5569 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5570 (HAVE_PBM): Remove #ifdef.
5571 (pbm_load): Sync with xfns.c. Set img->width and img->height
5572 before IMAGE_BACKGROUND.
5573 (png_image_p, png_load): Don't enclose declarations with #if HAVE_PNG.
5574 (Qpng, enum png_keyword_index, png_format, png_type, png_image_p):
5575 Don't enclose with #if HAVE_PNG.
5576 [!HAVE_PNG] (png_load) [MAC_OSX]: Use image_load_quartz2d if a
5577 symbol _CGImageCreateWithPNGDataProvider is defined.
5578 Otherwise use image_load_quicktime.
5579 [!HAVE_PNG] (png_load) [!MAC_OSX]: Use image_load_quicktime.
5580 [HAVE_PNG] (png_load): Sync with xfns.c.
5581 Use PIX_MASK_DRAW/PIX_MASK_RETAIN.
5582 (jpeg_image_p, jpeg_load): Don't enclose declarations with #if
5583 HAVE_JPEG.
5584 (Qjpeg, enum jpeg_keyword_index, jpeg_format, jpeg_type)
5585 (jpeg_image_p): Don't enclose with #if HAVE_JPEG.
5586 [!HAVE_JPEG] (jpeg_load) [MAC_OSX]: Use image_load_quartz2d.
5587 [!HAVE_JPEG] (jpeg_load) [!MAC_OSX]: Use image_load_quicktime.
5588 [HAVE_JPEG] (jpeg_load): Sync with xfns.c.
5589 (tiff_image_p, tiff_load): Don't enclose declarations with #if
5590 HAVE_TIFF.
5591 (Qtiff, enum tiff_keyword_index, tiff_format, tiff_type)
5592 (tiff_image_p): Don't enclose with #if HAVE_TIFF.
5593 [!HAVE_TIFF] (tiff_load): Use image_load_quicktime.
5594 [HAVE_TIFF] (tiff_error_handler, tiff_warning_handler):
5595 New functions (from xfns.c).
5596 [HAVE_TIFF] (tiff_load): Sync with xfns.c.
5597 (gif_image_p, gif_load): Don't enclose declarations with #if HAVE_GIF.
5598 (Qgif, enum gif_keyword_index, gif_format, gif_type, gif_image_p):
5599 Don't enclose with #if HAVE_GIF.
5600 [!HAVE_GIF] (gif_load): Use Quicktime Movie Toolbox if it is
5601 animated gif. Otherwise use image_load_quicktime.
5602 [HAVE_GIF] (gif_lib.h): Temporarily define DrawText as
5603 gif_DrawText to avoid conflict with QuickdrawText.h.
5604 [HAVE_GIF] (gif_load): Sync with xfns.c.
5605 (enum gs_keyword_index, gs_format, gs_image_p, gs_load)
5606 [HAVE_GHOSTSCRIPT] (x_kill_gs_process): Sync with xfns.c (although
5607 Ghostscript is not supported yet).
5608 (syms_of_macfns): Initialize Qemboss, Qedge_detection, Qheuristic,
5609 QCmatrix, QCcolor_adjustment, and QCmask. Add DEFVAR_BOOL
5610 cross_disabled_images (from xfns.c). Remove #if 0 for supported
5611 image types. Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
5612 HAVE_PNG. Add defsubr for Simage_size and Simage_mask_p.
5613 (init_xfns): Remove #if HAVE_JPEG, HAVE_TIFF, HAVE_GIF, and
5614 HAVE_PNG. Call EnterMovies to support animated gifs.
5615 Call init_image_func_pointer to bind a symbol
5616 _CGImageCreateWithPNGDataProvider if it is defined.
5617
5618 * macterm.c [MAC_OSX]: Don't include Carbon/Carbon.h (now in macgui.h).
5619 (x_draw_bar_cursor): Sync declaration with xterm.c.
5620 (XFreePixmap, mac_draw_rectangle_to_pixmap, mac_copy_area)
5621 (mac_copy_area_to_pixmap): Implementation with GWorld (offscreen
5622 graphics).
5623 (mac_set_forecolor, mac_set_backcolor): Use RED16_FROM_ULONG etc.
5624 (mac_draw_line_to_pixmap, XCreatePixmap)
5625 (XCreatePixmapFromBitmapData, mac_fill_rectangle_to_pixmap)
5626 (mac_copy_area_with_mask, mac_copy_area_with_mask_to_pixmap):
5627 New functions.
5628 (mac_draw_bitmap) [TARGET_API_MAC_CARBON]:
5629 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
5630 Cast bits to char *.
5631 (reflect_byte): New function (from w32fns.c).
5632 (mac_create_bitmap_from_bitmap_data): Use it and don't stuff bits
5633 due to byte alignment.
5634 (mac_scroll_area) [TARGET_API_MAC_CARBON]:
5635 Use GetPortBitMapForCopyBits instead of the cast to Bitmap *.
5636 (XSetForeground): Remove static (now used in macfns.c).
5637 (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New #define (from w32term.c).
5638 (mac_alloc_lighter_color, x_destroy_window): Sync with w32term.c.
5639 (x_setup_relief_color, x_setup_relief_colors, x_draw_box_rect)
5640 (x_draw_glyph_string_box, x_draw_image_foreground)
5641 (x_draw_image_foreground_1, x_draw_image_glyph_string)
5642 (x_draw_stretch_glyph_string, x_draw_glyph_string)
5643 (x_draw_hollow_cursor, x_draw_bar_cursor, mac_draw_window_cursor):
5644 Sync with xterm.c.
5645 (x_draw_relief_rect): Sync with xterm.c. Make 1 pixel shorter
5646 than the xterm.c version when a strictly horizontal or vertical
5647 line is drawn.
5648 (XTset_terminal_window): Add static.
5649 (x_make_frame_visible): Add UNBLOCK_INPUT.
5650 (x_free_frame_resources): New funcion (from xterm.c).
5651 (XTread_socket): Call handle_tool_bar_click if mouse up/down event
5652 occurs in tool bar area.
5653 (mac_initialize_display_info): Remove dpyinfo->n_cbits.
5654 Set dpyinfo->color_p. Determine dpyinfo->n_planes using HasDepth.
5655 Initialize image cache.
5656 (stricmp, wildstrieq, mac_font_pattern_match, mac_font_match):
5657 Enclose unused functions with #if 0.
5658 (Qbig5, Qcn_gb, Qsjis, Qeuc_kr): New variables.
5659 (decode_mac_font_name): New function to apply code conversions
5660 from a mac font name to an XLFD font name according to its script code.
5661 (x_font_name_to_mac_font_name): Apply code conversion from an XLFD
5662 font name to a mac font name according to REGISTRY and ENCODING fields.
5663 (init_font_name_table) [TARGET_API_MAC_CARBON]: Don't use a font
5664 whose name starts with `.'.
5665 (init_font_name_table): Use decode_mac_font_name. Add both
5666 jisx0208.1983-sjis and jisx0201.1976-0 entries if the script code
5667 of a font is smJapanese.
5668 (mac_do_list_fonts): New function to list fonts that match a given
5669 pattern.
5670 (x_list_fonts, XLoadQueryFont): Use it.
5671 (XLoadQueryFont): Set rbearing field for each variable width
5672 character to avoid needless redraw.
5673 (syms_of_macterm): Initialize Qbig5, Qcn_gb, Qsjis, and Qeuc_kr.
5674
5675 2004-02-26 Kim F. Storm <storm@cua.dk>
5676
5677 * keyboard.c (NREAD_INPUT_EVENTS): Temporarily increase to 512
5678 as read_socket_hook handler on X aborts if buffer is too small
5679 and W32 handler doesn't always check buffer limit.
5680
5681 * xdisp.c (handle_single_display_prop): Handle left-fringe and
5682 right-fringe similar to a display margin image. Specifically,
5683 the characters having the fringe prop are no longer shown, and
5684 we use IT_IMAGE/next_element_from_image with image_id = -1 to
5685 do this. Set fringe bitmap face_id in it->face_id.
5686 (produce_image_glyph): Handle image_id < 0 as "no image" case, but
5687 still realize it->face (i.e. the fringe bitmap face).
5688
5689 2004-02-25 Miles Bader <miles@gnu.org>
5690
5691 * xdisp.c (check_it): Check string/string_pos consistency.
5692 (init_iterator): Initialize string-related fields properly.
5693
5694 2004-02-11 Miles Bader <miles@gnu.org>
5695
5696 * xdisp.c (produce_image_glyph): Force negative descents to zero.
5697
5698 2004-02-10 Miles Bader <miles@gnu.org>
5699
5700 * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
5701 BLOCK_INPUT can be nested, so it doesn't make much sense.
5702
5703 2004-02-24 Michael Mauger <mmaug@yahoo.com>
5704
5705 * w32fns.c (slurp_file, xbm_scan, xbm_load_image)
5706 (xbm_read_bitmap_data): Use unsigned char for image data.
5707
5708 2004-02-23 Luc Teirlinck <teirllm@auburn.edu>
5709
5710 * abbrev.c (Finsert_abbrev_table_description): Doc fix.
5711
5712 2004-02-22 Jason Rumney <jasonr@gnu.org>
5713
5714 * w32term.c (w32_draw_fringe_bitmap): Draw overlaid bitmaps
5715 correctly over other bitmaps.
5716
5717 2004-02-21 Eli Zaretskii <eliz@gnu.org>
5718
5719 * emacs.c (USAGE1): Split into two halves.
5720 (USAGE2): Second half of the old USAGE1.
5721 (USAGE3): Rename from USAGE2.
5722 (USAGE4): Rename from USAGE3.
5723
5724 2004-02-21 Juri Linkov <juri@jurta.org>
5725
5726 * emacs.c (USAGE1): Add --no-desktop. Move --display from USAGE2.
5727 Fix --multibyte. Move --help, --version to USAGE2. Add alias
5728 --file. Fix -f, -l. Sort options. Untabify.
5729 (USAGE2): Add -hb. Fix --name, --title. Sort options. Untabify.
5730
5731 2004-02-19 Luc Teirlinck <teirllm@auburn.edu>
5732
5733 * category.c (Fdefine_category, Fcategory_docstring)
5734 (Fget_unused_category, Fset_category_table)
5735 (Fcategory_set_mnemonics): Doc fixes.
5736
5737 2004-02-20 Kim F. Storm <storm@cua.dk>
5738
5739 * keyboard.c: Undo 2004-02-16 and 2004-02-17 changes.
5740 The following changes are relative to the 2004-01-21 revision.
5741 (NREAD_INPUT_EVENTS): Define as max number of input events to read
5742 in one call to read_socket_hook. Value is 8.
5743 (read_avail_input): Separate and rework handling of read_socket_hook
5744 and non-read_socket_hook cases. Use smaller input_event buffer
5745 in read_socket_hook case, and repeat if full buffer is read.
5746 Use new local variable 'discard' to skip input after C-g.
5747 In non-read_socket_hook case, just use a single input_event, and
5748 call kbd_buffer_store_event on the fly for each character.
5749
5750 2004-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
5751
5752 * lisp.h (union Lisp_Object): Give a more precise type for `type'.
5753 Remove unused `gu' alternative.
5754
5755 2004-02-19 Andreas Schwab <schwab@suse.de>
5756
5757 * fringe.c (Fdefine_fringe_bitmap): Use && instead of & to avoid
5758 warning.
5759
5760 2004-02-18 Kim F. Storm <storm@cua.dk>
5761
5762 * xdisp.c (get_window_cursor_type, display_and_set_cursor):
5763 Fix last change.
5764
5765 2004-02-17 Kim F. Storm <storm@cua.dk>
5766
5767 * xdisp.c (fast_find_position): Fix return value of new version;
5768 it was inverted compared to the 21.1 version.
5769 (get_window_cursor_type): Don't look at glyph if NULL.
5770 (display_and_set_cursor): Set glyph to NULL if cursor in fringe.
5771
5772 * keyboard.c: Rework previous change; it didn't consider that the
5773 buf array was allocated on the stack.
5774 (prev_read): Remove variable.
5775 (read_avail_input_buf): New static event buffer array.
5776 (in_read_avail_input): New static variable to handle re-entrancy.
5777 (read_avail_input): Change buf to pinter to read_avail_input_buf.
5778 Use in_read_avail_input to handle re-entrance; when re-entered,
5779 fully initialize and use tmp_buf array instead of read_avail_input_buf.
5780 Do not initialize read_avail_input_buf in full here; instead assume it
5781 is always cleared on entry. To ensure that, we clear (just) the
5782 entries that were used before we return.
5783 (init_keyboard): Initialize read_avail_input_buf here.
5784
5785 2004-02-16 Jesper Harder <harder@ifa.au.dk>
5786
5787 * cmds.c (Fend_of_line): Doc fix.
5788
5789 2004-02-16 Dmitry Antipov <dmitry.antipov@mail.ru> (tiny change)
5790
5791 * keyboard.c (prev_read): New static variable.
5792 (read_avail_input): Use it to zero out only those slots in buf[]
5793 that were used last time we were called.
5794
5795 2004-02-16 Eli Zaretskii <eliz@gnu.org>
5796
5797 * Makefile.in (obj): Move fringe.o from here...
5798 (XOBJ, MAC_OBJ): ...to here.
5799
5800 2004-02-16 Stephen Eglen <stephen@gnu.org>
5801
5802 * fringe.c (init_fringe_bitmap): Define j in MAC_OS code.
5803
5804 2004-02-15 Stefan Monnier <monnier@iro.umontreal.ca>
5805
5806 * data.c (Fbyteorder):
5807 * fringe.c (Fdefine_fringe_bitmap):
5808 * xdisp.c (handle_single_display_prop):
5809 * xselect.c (x_handle_dnd_message): Lisp_Object/int mixup.
5810
5811 2004-02-16 Jason Rumney <jasonr@gnu.org>
5812
5813 * w32term.c (w32_draw_fringe_bitmap): Handle overlay fringe bitmaps.
5814
5815 2004-02-15 Steven Tamm <steventamm@mac.com>
5816
5817 * macterm.c (Vmac_emulate_three_button_mouse): New variable for
5818 controlling emulation of a three button mouse with option and
5819 command keys.
5820 (Qreverse, mac_get_enumlated_btn): Handle the emulation
5821 (mac_event_to_emacs_modifiers, XTread_socket): Ditto.
5822
5823 2004-02-15 Kim F. Storm <storm@cua.dk>
5824
5825 * buffer.c (syms_of_buffer): Doc fix for indicate-buffer-boundaries.
5826
5827 * fringe.c (init_fringe_bitmap) [MAC_OS, WORDS_BIG_ENDIAN]:
5828 Perform byte-swapping.
5829
5830 2004-02-14 Kim F. Storm <storm@cua.dk>
5831
5832 * dispextern.h (struct draw_fringe_bitmap_params): Change member
5833 bits from char to short to facilitate wider bitmaps.
5834 (struct redisplay_interface): Fix prototype of define_fringe_bitmap
5835 member.
5836
5837 * fringe.c (struct fringe_bitmap): Change member bits from char to
5838 short to facilitate 16 bits wide bitmaps. Modify all standard
5839 bitmaps accordingly.
5840 (BYTES_PER_BITMAP_ROW, STANDARD_BITMAP_HEIGHT): New macros.
5841 (FRBITS): Use STANDARD_BITMAP_HEIGHT instead of just sizeof.
5842 (draw_fringe_bitmap): Ditto.
5843 (init_fringe_bitmap) [MAC_OS]: Don't bitswap.
5844 (init_fringe_bitmap) [HAVE_X_WINDOWS]: Enhance bitswapping to
5845 handle up to 16 bits wide bitmaps.
5846 (Fdefine_fringe_bitmap): Doc fix. Handle wider bitmaps.
5847 (Ffringe_bitmaps_at_pos): Add missing arg declarations.
5848
5849 * macterm.c (mac_draw_bitmap): Handle 16 bits wide bitmaps directly.
5850 (x_draw_fringe_bitmap): Use enhanced mac_draw_bitmap, so we no longer
5851 need to call mac_create_bitmap_from_bitmap_data and mac_free_bitmap.
5852
5853 * w32term.c (w32_define_fringe_bitmap): Bitmaps are now 16 bits wide,
5854 so it is no longer necessary to expand them here.
5855
5856 * xterm.c (x_draw_fringe_bitmap): Handle wider bitmaps (max 16 bits).
5857
5858 2004-02-12 Kim F. Storm <storm@cua.dk>
5859
5860 * window.c (Fwindow_fringes): Doc fix.
5861
5862 2004-02-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5863
5864 * xselect.c (x_get_foreign_selection): Add new optional parameter
5865 time_stamp.
5866 (Fx_get_selection_internal): Ditto, pass time_stamp to
5867 x_get_foreign_selection.
5868
5869 * data.c (Fbyteorder): New function.
5870
5871 2004-02-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5872
5873 * atimer.c: Move include stdio.h to same place as in other files.
5874
5875 * region-cache.c: Ditto.
5876
5877 * sysdep.c: Ditto.
5878
5879 * xfaces.c: Ditto.
5880
5881 2004-02-09 Sam Steingold <sds@gnu.org>
5882
5883 * w32term.c (w32_draw_fringe_bitmap): Fix a typo in the last patch.
5884
5885 2004-02-09 Kim F. Storm <storm@cua.dk>
5886
5887 * fringe.c: New file. Move original fringe related declarations
5888 and code from dispextern.h and xdisp.c here.
5889 Rework code to support user defined fringe bitmaps, redefining
5890 standard bitmaps, ability to overlay user defined bitmap with
5891 overlay arrow bitmap, and add faces to bitmaps.
5892 (Voverflow_newline_into_fringe): Declare here.
5893 (enum fringe_bitmap_align): New enum.
5894 (..._bits): All bitmaps are now defined without bitswapping; that
5895 is now done in init_fringe_once (if necessary).
5896 (standard_bitmaps): New array with specifications for the
5897 standard fringe bitmaps.
5898 (fringe_faces): New array.
5899 (valid_fringe_bitmap_id_p): New function.
5900 (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
5901 (draw_fringe_bitmap): New function which draws fringe bitmap,
5902 possibly overlaying bitmap with cursor in right fringe or the
5903 overlay arrow in the left fringe.
5904 (update_window_fringes): Do not handle overlay arrow here.
5905 Compare and copy fringe bitmap faces.
5906 (init_fringe_bitmap): New function.
5907 (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
5908 define and destroy user defined fringe bitmaps.
5909 (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
5910 (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
5911 (syms_of_fringe): New function. Defsubr new DEFUNs.
5912 DEFVAR_LISP Voverflow_newline_into_fringe.
5913 (init_fringe_once, init_fringe): New functions.
5914 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
5915
5916 * Makefile.in (obj): Add fringe.o.
5917 (fringe.o): New dependencies.
5918
5919 * dispextern.h (FRINGE_ID_BITS): New definition for number of
5920 bits allocated to hold a fringe number. Increase number of bits
5921 from 4 to 8 to allow user defined fringe bitmaps.
5922 (struct glyph_row, struct it): New members left_user_fringe_bitmap,
5923 left_user_fringe_face_id, right_user_fringe_bitmap,
5924 right_user_fringe_face_id.
5925 (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
5926 Move to new file fringe.c.
5927 (MAX_FRINGE_BITMAPS): Define here.
5928 (struct draw_fringe_bitmap_params): New members bits, cursor_p,
5929 and overlay_p. Change member which to int.
5930 (struct redisplay_interface): New members define_fringe_bitmap
5931 and destroy_fringe_bitmap.
5932 (valid_fringe_bitmap_id_p): Add prototype.
5933 (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
5934
5935 * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
5936 arrows.
5937 (update_frame): Do flush_display if force_flush_display_p to
5938 ensure display (specifically fringes) are updated in a timely
5939 manner when resizing the frame by dragging the mouse.
5940 (update_window_line): Update row if overlay arrow changed.
5941 (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
5942 or overlay arrow changed.
5943
5944 * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
5945 syms_of_fringe, and init_fringe.
5946
5947 * frame.h (struct frame): New member force_flush_display_p.
5948
5949 * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
5950 Add prototypes.
5951
5952 * macterm.c (mac_draw_bitmap): Add overlay_p arg.
5953 (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps;
5954 thanks to YAMAMOTO Mitsuharu for advice on how to do this.
5955 Use cursor color for displaying cursor in fringe.
5956 (x_redisplay_interface): Add null handlers for
5957 define_fringe_bitmap and destroy_fringe_bitmap functions.
5958
5959 * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
5960 xterm.c to handle overlayed fringe bitmaps and to use cursor color
5961 for displaying cursor in fringe.
5962 (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
5963 specific functions to define and destroy fringe bitmaps in fringe_bmp.
5964 (w32_redisplay_interface): Add them to redisplay_interface.
5965 (w32_term_init): Call w32_init_fringe instead of explicitly
5966 defining fringe bitmaps in fringe_bmp array.
5967 (x_delete_display): Call w32_reset_fringes instead of explicitly
5968 destroying fringe bitmaps in fringe_bmp array.
5969
5970 * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
5971 (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
5972 (continued_bits, continuation_bits, ov_bits, first_line_bits)
5973 (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
5974 (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
5975 (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
5976 (draw_window_fringes, compute_fringe_widths, update_window_fringes):
5977 Move fringe handling vars and code to new file fringe.c.
5978 (handle_display_prop): Handle left-fringe and right-fringe
5979 display properties; store user fringe bitmaps in iterator.
5980 (move_it_in_display_line_to): Handle cursor in fringe at eob.
5981 (clear_garbaged_frames): Set force_flush_display_p if resized.
5982 (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
5983 (display_line): Handle cursor in fringe at eob.
5984 (display_line): Set row user fringe bitmaps from iterator.
5985
5986 * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
5987 Use cursor color for displaying cursor in fringe.
5988 (x_redisplay_interface): Add null handlers for
5989 define_fringe_bitmap and destroy_fringe_bitmap functions.
5990
5991 2004-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
5992
5993 * macfns.c (Fx_change_window_property): Make doc string and
5994 parameters same as for X version.
5995
5996 * w32fns.c (Fx_change_window_property): Ditto.
5997
5998 2004-02-07 Kim F. Storm <storm@cua.dk>
5999
6000 * xdisp.c (hscroll_window_tree): Position cursor near to right
6001 margin in hscrolled window when jumping to end of line (rather
6002 than centering cursor).
6003
6004 * process.c (wait_reading_process_input): Don't do adaptive read
6005 buffering if waiting for a specific process.
6006
6007 2004-02-05 Luc Teirlinck <teirllm@auburn.edu>
6008
6009 * minibuf.c (Fminibufferp, Fread_from_minibuffer)
6010 (Fread_minibuffer, Feval_minibuffer)
6011 (Fread_string, Fread_no_blanks_input)
6012 (Fcompleting_read): Doc fixes.
6013 (syms_of_minibuf): Doc fixes for minibuffer-completion-table and
6014 completion-regexp-list. Define Qcase_fold_search and staticpro it.
6015 (read_minibuf): Fix initial comment.
6016 (Ftry_completion, Fall_completions, Ftest_completion): Bind
6017 case-fold-search to the value of completion-ignore-case when
6018 checking completion-regexp-list.
6019 (Fdisplay_completion_list): Make it handle arguments that are
6020 symbols. Doc fix.
6021
6022 2004-02-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6023
6024 * xterm.h: Add declaration of free_frame_menubar.
6025
6026 * xfns.c (x_create_bitmap_mask): Removed unused variable depth.
6027 (x_set_menu_bar_lines): Added ! defined USE_GTK for olines.
6028 (Fx_change_window_property): Add declaration of parameters type and
6029 format. Remove unused variable cons.
6030
6031 * xselect.c: Include stdio,h.
6032
6033 2004-02-05 Kenichi Handa <handa@m17n.org>
6034
6035 * fns.c (Fset_char_table_range): Fix previous change.
6036
6037 * buffer.c (Fset_buffer_multibyte): Fix docstring.
6038
6039 2004-02-04 Luc Teirlinck <teirllm@auburn.edu>
6040
6041 * editfns.c (Fchar_after, Fchar_before): Doc fixes.
6042
6043 2004-02-04 Stefan Monnier <monnier@iro.umontreal.ca>
6044
6045 * keymap.c (Vmouse_events): Rename from Vmenu_events.
6046 (syms_of_keymap): Add mouse-[45], header-line, and mode-line to it.
6047
6048 2004-02-04 Kenichi Handa <handa@m17n.org>
6049
6050 * fns.c (Fset_char_table_range): Handle charsets ascii,
6051 eight-bit-control, and eight-bit-graphic correctly.
6052
6053 2004-02-03 Jason Rumney <jasonr@gnu.org>
6054
6055 * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
6056
6057 * w32fns.c (x_to_w32_font): Likewise.
6058
6059 2004-02-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6060
6061 * xterm.h: Add x_handle_dnd_message, x_check_property_data,
6062 x_fill_property_data, x_property_data_to_lisp and check_x_display_info.
6063
6064 * xterm.c (handle_one_xevent): Call x_handle_dnd_message for
6065 ClientMessages.
6066
6067 * xselect.c: Include termhooks.h and X11/Xproto.h
6068 (x_check_property_data, x_fill_property_data)
6069 (x_property_data_to_lisp, mouse_position_for_drop)
6070 (Fx_get_atom_name, x_handle_dnd_message): New functions for DND support.
6071 (Fx_send_client_event): Move here from xfns.c.
6072 (syms_of_xselect): Add Sx_get_atom_name and Sx_send_client_message.
6073
6074 * xfns.c (x-send-client-message): Move to xselect.c
6075 (Fx_change_window_property): Add optional arguments TYPE, FORMAT and
6076 OUTER_P.
6077 (Fx_window_property): Add optional arguments TYPE, SOURCE, DELETE_P,
6078 VECTOR_RET_P. Handle AnyPropertyType. Call x_property_data_to_lisp
6079 if vector_ret_p is true.
6080 (syms_of_xfns): Sx_send_client_message moved to xselect.c.
6081
6082 2004-02-02 Eli Zaretskii <eliz@gnu.org>
6083
6084 * fileio.c (Fcopy_file): If NEWNAME is a directory, expand the
6085 basename of FILE relative to it, not FILE itself.
6086
6087 2004-02-02 Kenichi Handa <handa@m17n.org>
6088
6089 * coding.c (coding_restore_composition): Check invalid
6090 composition data more rigidly.
6091
6092 2004-01-30 Luc Teirlinck <teirllm@auburn.edu>
6093
6094 * fileio.c (Fread_file_name_internal): Correctly handle the case
6095 where insert-default-directory is nil.
6096 (Fread_file_name): Always return an empty string if the user exits
6097 with an empty minibuffer. Adapt the docstring accordingly.
6098 (syms_of_fileio): Adapt the docstring of insert-default-directory
6099 to the change in Fread_file_name.
6100
6101 2004-01-29 Eli Zaretskii <eliz@gnu.org>
6102
6103 * alloca.c [!alloca]: Fix the prototype for xfree.
6104
6105 2004-01-29 Kenichi Handa <handa@m17n.org>
6106
6107 * fns.c (string_char_to_byte): Optimize for ASCII only string.
6108 (string_byte_to_char): Likewise.
6109
6110 2004-01-28 Peter Runestig <peter@runestig.com>
6111
6112 * makefile.w32-in, w32fns.c: Add `default-printer-name' function.
6113
6114 2004-01-27 Steven Tamm <steventamm@mac.com>
6115
6116 * unexmacosx.c (unexec_copy): Do not copy more than was
6117 requested to prevent overwriting during unexec.
6118
6119 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6120
6121 * process.c (sigchld_handler): Add comment about not calling malloc.
6122
6123 * process.h: Add extern to synch_process_termsig.
6124
6125 2004-01-27 Steven Tamm <steventamm@mac.com>
6126
6127 * macterm.c (make_mac_frame, make_mac_terminal_frame):
6128 Move setting of scroll bars from make_mac_frame to
6129 make_mac_terminal_frame to prevent clobbering of scroll-bar-mode.
6130
6131 2004-01-26 Richard M. Stallman <rms@gnu.org>
6132
6133 * search.c (Freplace_match): Handle nonexistent
6134 back-references properly.
6135
6136 2004-01-03 Richard M. Stallman <rms@gnu.org>
6137
6138 * window.c (decode_any_window): New function.
6139 (Fwindow_height, Fwindow_width, Fwindow_edges)
6140 (Fwindow_pixel_edges, Fwindow_inside_edges)
6141 (Fwindow_inside_pixel_edges): Use decode_any_window.
6142
6143 2004-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6144
6145 * process.h: synch_process_termsig new variable.
6146
6147 * callproc.c: Define synch_process_termsig.
6148 (Fcall_process): Initiate synch_process_termsig to zero and
6149 check if non-zero and get signal name after subprocess has ended.
6150
6151 * process.c (sigchld_handler): Set synch_process_termsig
6152 if terminated by a signal. synch_process_death setting removed.
6153
6154 * sysdep.c (mkdir, rmdir): Also check synch_process_termsig.
6155
6156 2004-01-26 Andreas Schwab <schwab@suse.de>
6157
6158 * print.c (print_preprocess): Declare size as EMACS_INT to not
6159 lose bits.
6160 (print_object): Likewise.
6161 * alloc.c (Fpurecopy): Likewise.
6162
6163 2004-01-25 Luc Teirlinck <teirllm@auburn.edu>
6164
6165 * window.c (Fwindow_minibuffer_p): Doc fix.
6166
6167 2004-01-24 Jonathan Yavner <jyavner@member.fsf.org>
6168
6169 * editfns.c (Fformat): Make both passes accept the same set of flags.
6170
6171 2004-01-23 Kenichi Handa <handa@m17n.org>
6172
6173 * fns.c (Fmd5): If OBJECT is a buffer different from the current
6174 one, set buffer to OBJECT temporarily.
6175
6176 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
6177
6178 * keyboard.c (kbd_buffer_gcpro): Remove.
6179 (kbd_buffer_store_event, clear_event, Fdiscard_input)
6180 (stuff_buffered_input, init_keyboard, syms_of_keyboard):
6181 Don't initialize and/or maintain the variable any more. It was made
6182 redundant by my commit of 2003-06-15.
6183
6184 * lisp.h [USE_LSB_TAG && !DECL_ALIGN]: Signal an error.
6185
6186 2004-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6187
6188 * lisp.h: Add undef DECL_ALIGN.
6189
6190 2004-01-21 Stefan Monnier <monnier@iro.umontreal.ca>
6191
6192 * process.c (wait_reading_process_input) [SYNC_INPUT]:
6193 Check interrupt_input_pending explicitly.
6194
6195 * lisp.h (QUIT) [SYNC_INPUT]: Check interrupt_input_pending as well.
6196
6197 * keyboard.c (handle_async_input): New fun,
6198 extracted from input_available_signal.
6199 (input_available_signal, reinvoke_input_signal): Use it.
6200
6201 2004-01-20 Stefan Monnier <monnier@iro.umontreal.ca>
6202
6203 * buffer.c (buffer_defaults, buffer_local_symbols): Use DECL_ALIGN.
6204
6205 * lisp.h [USE_LSB_TAG]: Add definitions for Lisp_Object value
6206 manipulation macros for when tags are in the lower bits.
6207 (struct Lisp_Free) [USE_LSB_TAG]: Add padding.
6208 (DECL_ALIGN): New macro.
6209 (DEFUN): Use it.
6210
6211 * lisp.h [ENABLE_CHECKING]: Don't force union type.
6212
6213 * s/darwin.h (__attribute__): Remove outdated workaround.
6214
6215 * macterm.c (main) [USE_LSB_TAG]: Don't range check the ram.
6216
6217 * alloc.c (lisp_malloc, lisp_align_malloc) [USE_LSB_TAG]:
6218 Don't check range of malloc address.
6219 (pure_alloc) [USE_LSB_TAG]: Enforce alignment.
6220
6221 * process.c (wait_reading_process_input): Lisp_Object/int mixup.
6222
6223 * dired.c (Ffile_attributes): Lisp_Object/int mixup.
6224
6225 2004-01-19 Kenichi Handa <handa@m17n.org>
6226
6227 * fontset.c (fontset_font_pattern): Fix previous change.
6228
6229 2004-01-16 Miles Bader <miles@gnu.ai.mit.edu>
6230
6231 * xdisp.c (Voverflow_newline_into_fringe)
6232 (move_it_in_display_line_to, redisplay_internal)
6233 (update_window_fringes, redisplay_window, display_line, window):
6234 Add `#ifdef HAVE_WINDOW_SYSTEM' around fringe-drawing stuff, so
6235 that it compiles without a window-system.
6236 * dispnew.c (direct_output_for_insert, update_window): Likewise.
6237
6238 2004-01-16 Kim F. Storm <storm@cua.dk>
6239
6240 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
6241
6242 * buffer.c (init_buffer_once): Set buffer_defaults and
6243 buffer_local_flags for indicate_buffer_boundaries.
6244 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
6245 default- variable for it.
6246
6247 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
6248 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
6249 New members exact_window_width_line_p and cursor_in_fringe_p for
6250 overflowing newlines into right fringe.
6251 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
6252 and indicate_bottom_line_p for buffer boundaries and scrolling.
6253 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
6254 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
6255 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
6256 and HOLLOW_SQUARE_BITMAP.
6257 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
6258 Add prototypes.
6259
6260 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
6261 instead of related indicator fields.
6262 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
6263 (direct_output_for_insert): Handle exact width lines like
6264 contined lines. Call update_window_fringes.
6265 (update_window): Call update_window_fringes.
6266 (scrolling_window): Don't skip desired rows with changed bitmaps.
6267 Check if fringe bitmaps changes when assigning scrolled rows.
6268
6269 * xdisp.c (Voverflow_newline_into_fringe): New variable.
6270 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
6271 (move_it_in_display_line_to): Overflow newline into fringe for
6272 rows that are exactly as wide as the window.
6273 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
6274 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
6275 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
6276 (fringe_bitmaps): Add new bitmaps.
6277 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
6278 Select proper bitmap for cursor in fringe when appropriate.
6279 Handle alignment of bitmap to top or bottom of row.
6280 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
6281 done by update_window_fringes.
6282 (update_window_fringes, draw_window_fringes): New functions.
6283 (redisplay_internal): Call update_window_fringes in case only
6284 cursor row is updated.
6285 (redisplay_window): Call update_window_fringes.
6286 Explicitly call draw_window_fringes if redisplay was done using
6287 the current matrix or the overlay arrow is in the window.
6288 (try_window_reusing_current_matrix): Mark scrolled rows for
6289 fringe update (to update buffer-boundaries / scrolling icons).
6290 (find_last_unchanged_at_beg_row): Handle exact width lines line
6291 continued lines.
6292 (display_line): Overflow newline into fringe for rows that are
6293 exactly as wide as the window. Don't append space for newline
6294 in this case.
6295 (notice_overwritten_cursor): Explicitly clear cursor bitmap
6296 in fringe as if it had been overwritten.
6297 (erase_phys_cursor): Erase cursor bitmap in fringe.
6298 (syms_of_xdisp): Mark show-trailing-whitespace and
6299 void-text-area-pointer as user options.
6300 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
6301
6302 * xterm.c (x_update_window_end): Call draw_window_fringes.
6303 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6304 in row instead of actually drawing fringe bitmaps.
6305 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6306 (x_draw_window_cursor): Draw cursor in fringe.
6307
6308 * w32term.c (x_update_window_end): Call draw_window_fringes.
6309 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6310 in row instead of actually drawing fringe bitmaps.
6311 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6312 (w32_draw_window_cursor): Draw cursor in fringe.
6313
6314 * macterm.c (x_update_window_end): Call draw_window_fringes.
6315 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
6316 in row instead of actually drawing fringe bitmaps.
6317 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
6318 (mac_draw_window_cursor): Draw cursor in fringe.
6319
6320 2004-01-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6321
6322 * xterm.c (handle_one_xevent): Don't handle characters that are part
6323 of an old style (XLookupString) compose sequence.
6324
6325 2004-01-15 Kenichi Handa <handa@m17n.org>
6326
6327 * search.c (Freplace_match): Use make_multibyte_string or
6328 make_unibyte_string according to the buffer multibyteness.
6329
6330 2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
6331
6332 * alloc.c (struct interval_block, struct string_block)
6333 (struct symbol_block, struct marker_block, live_string_p)
6334 (live_cons_p, live_symbol_p, live_float_p, live_misc_p):
6335 Better preserve alignment for objects in blocks.
6336 (FLOAT_BLOCK_SIZE): Adjust for possible alignment padding.
6337
6338 * lread.c (defvar_per_buffer): Remove dead declaration.
6339
6340 * macterm.c (do_check_ram_size): Don't hardcode the lisp address
6341 space size.
6342
6343 2004-01-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6344
6345 * xmenu.c (popup_get_selection): Check new parameter down_on_keypress
6346 if a key press should pop down. Only pop down if a key is pressed
6347 outside the menu/dialog.
6348 (create_and_show_popup_menu): Pass 0 for down_on_keypress to
6349 popup_get_selection.
6350 (create_and_show_dialog): Pass 1 for down_on_keypress to
6351 popup_get_selection.
6352
6353 2004-01-11 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6354
6355 * alloc.c (allocate_vectorlike): Surround calls to mallopt with
6356 BLOCK/UNBLOCK_INPUT.
6357
6358 2004-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6359
6360 * xmenu.c (Fx_popup_dialog): Add an Ok button if no buttons are
6361 specified.
6362
6363 2004-01-08 Kenichi Handa <handa@m17n.org>
6364
6365 * editfns.c (Fformat): Fix '&' to '&&'.
6366
6367 2004-01-08 Andreas Schwab <schwab@suse.de>
6368
6369 * print.c (print_preprocess) <case Lisp_Vectorlike>: Only mask
6370 size if PSEUDOVECTOR_FLAG is set.
6371
6372 2004-01-07 Kenichi Handa <handa@m17n.org>
6373
6374 * charset.c (Fdeclare_equiv_charset): Fix docstring.
6375
6376 * fontset.c (fontset_ref_via_base): Fix previous change.
6377
6378 2004-01-07 Kim F. Storm <storm@cua.dk>
6379
6380 * process.c (read_process_output): Only activate adaptive
6381 buffering if we read less than 256 bytes at a time.
6382
6383 2004-01-06 Kim F. Storm <storm@cua.dk>
6384
6385 * dispnew.c (buffer_posn_from_coords): Return both buffer/string
6386 object and image object. Return glyph width and height.
6387 (mode_line_string, marginal_area_string): Ditto.
6388
6389 * dispextern.h (buffer_posn_from_coords, mode_line_string)
6390 (marginal_area_string): Fix prototypes.
6391
6392 * keyboard.h (POSN_POSN, POSN_SET_POSN): Rename macros from
6393 POSN_BUFFER_POSN and POSN_SET_BUFFER_POSN. All uses changed.
6394 (POSN_INBUFFER_P, POSN_BUFFER_POSN): New macros.
6395
6396 * keyboard.c (make_lispy_position): Use modified mode_line_string,
6397 buffer_posn_from_coords, and marginal_area_string functions to
6398 include both string object and image object in the lispy position.
6399 Also add actual glyph width and height to position.
6400 (read_key_sequence): Use real buffer position from mouse
6401 event to find keymap property even when click is in marginal area.
6402
6403 * xdisp.c (note_mode_line_or_margin_highlight): Use modified
6404 mode_line_string and marginal_area_string functions to handle
6405 both string object and image object properties.
6406
6407 2004-01-06 Andreas Schwab <schwab@suse.de>
6408
6409 * syntax.c (skip_chars): Treat '-' at end of string as ordinary
6410 character.
6411
6412 2004-01-02 Andreas Schwab <schwab@suse.de>
6413
6414 * macterm.c (emacs_options, x_initialized, same_x_server):
6415 Remove unused (and duplicated) definitions.
6416
6417 2004-01-02 Kim F. Storm <storm@cua.dk>
6418
6419 * process.h (struct Lisp_Process): New members for adaptive read
6420 buffering: adaptive_read_buffering, read_output_delay, and
6421 read_output_skip.
6422
6423 * process.c (ADAPTIVE_READ_BUFFERING): New conditional.
6424 (READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
6425 (READ_OUTPUT_DELAY_MAX_MAX): New constants.
6426 (process_output_delay_count, process_output_skip): New vars.
6427 (Vprocess_adaptive_read_buffering): New variable.
6428 (make_process): Initialize adaptive read buffering members.
6429 (Fstart_process): Set adaptive_read_buffering member.
6430 (deactivate_process): Cleanup adaptive read buffering.
6431 (wait_reading_process_input): Temporarily omit delayed
6432 subprocesses from the set of file descriptors to read from;
6433 adjust the select timeout if we skipped any subprocesses.
6434 (read_process_output): Increase adaptive read buffering delay if
6435 we read less than a full buffer; reduce delay when we read a
6436 full buffer.
6437 (send_process): Simplify using local Lisp_Process var.
6438 Reset adaptive read buffering delay after write.
6439 (init_process): Initialize process_output_delay_count and
6440 process_output_skip.
6441 (syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
6442
6443 2004-01-01 Jason Rumney <jasonr@gnu.org>
6444
6445 * w32term.c (w32_text_out): Use s->font, for consistency with callers.
6446
6447 2003-12-30 Luc Teirlinck <teirllm@auburn.edu>
6448
6449 * print.c (Ferror_message_string): Add hyperlink in the docstring
6450 to the definition of `signal' in the Elisp manual.
6451 * eval.c (Fsignal): Ditto.
6452
6453 2003-12-29 James Clark <jjc@jclark.com>
6454
6455 * fns.c (internal_equal): Return t for two NaN arguments.
6456
6457 2003-12-29 Richard M. Stallman <rms@gnu.org>
6458
6459 * data.c (store_symval_forwarding): Handle setting
6460 default-fill-column, etc., by changing the value in
6461 buffers that use the default.
6462
6463 * minibuf.c (Fset_minibuffer_window): Doc fix.
6464
6465 * fileio.c (choose_write_coding_system): Ignore auto_saving
6466 if using the visited file for auto saves.
6467 (Fwrite_region): Don't update SAVE_MODIFF
6468 if auto-saving in visited file.
6469
6470 2003-12-29 Kenichi Handa <handa@m17n.org>
6471
6472 * dispextern.h (face_font_available_p): Extern it.
6473
6474 * fontset.c (Voverriding_fontspec_alist): New variable.
6475 (lookup_overriding_fontspec): New function.
6476 (fontset_ref_via_base): Call lookup_overriding_fontspec if necessary.
6477 (fontset_font_pattern): Likewise.
6478 (regulalize_fontname): New function.
6479 (Fset_fontset_font): Call regulalize_fontname.
6480 (Fset_overriding_fontspec_internal): New function.
6481 (syms_of_fontset): Initialize and staticpro Voverriding_fontspec_alist.
6482 Defsubr Sset_overriding_fontspec_internal.
6483
6484 * xfaces.c (face_font_available_p): New function.
6485
6486 2003-12-28 Richard M. Stallman <rms@gnu.org>
6487
6488 * buffer.c (Fother_buffer): Don't crash if BUF is nil
6489 or if its name is nil.
6490
6491 * buffer.c (Fkill_buffer): Don't delete auto-save file
6492 if it's the same as the visited file.
6493
6494 2003-12-28 Luc Teirlinck <teirllm@auburn.edu>
6495
6496 * coding.c (Fcheck_coding_system): Doc fix.
6497
6498 2003-12-28 Kim F. Storm <storm@cua.dk>
6499
6500 * Makefile.in (eval.o): Depend on dispextern.h.
6501
6502 * dispnew.c (buffer_posn_from_coords): Fix calculation of dy for
6503 image glyph using image's ascent.
6504 (mode_line_string): Return image glyph as object clicked on.
6505 Adjust y0 for image glyph using image's ascent.
6506
6507 * dispextern.h (FACE_ID_BITS, MAX_FACE_ID): New defines.
6508 (struct glyph): New members, ascent and descent. Used to save
6509 this glyph's ascent and descent, instead of having.
6510 (struct glyph): Declare member face_id using FACE_ID_BITS.
6511 (find_hot_spot): Add prototype.
6512
6513 * keyboard.c (Qimage): Remove extern (now in lisp.h).
6514 (QCmap): Declare extern.
6515 (make_lispy_position): When position is inside image hot-spot,
6516 use hot-spot element's id as posn element.
6517
6518 * lisp.h (IMAGEP): New macro to test for image object type.
6519 (Qimage): Declare extern.
6520
6521 * macfns.c (Qimage): Remove extern (now in lisp.h).
6522 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6523
6524 * macterm.c (Qface, Qmouse_face): Remove unused externs.
6525
6526 * w32fns.c (Qimage): Remove extern (now in lisp.h).
6527 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6528
6529 * w32menu.c (Qmouse_click, Qevent_kind): Remove unused externs.
6530
6531 * w32term.c (Qface, Qmouse_face): Remove unused externs.
6532
6533 * xdisp.c (Qarrow, Qhand, Qtext, Qpointer): New variables for
6534 pointer types.
6535 (Qrelative_width, Qalign_to): Remove unused variables.
6536 (Vvoid_text_area_pointer): Replace Vshow_text_cursor_in_void.
6537 (QCmap, QCpointer, Qrect, Qcircle, Qpoly): New variables for
6538 image maps.
6539 (x_y_to_hpos_vpos): Return glyph relative coordinates through
6540 new dx and dy args.
6541 Remove buffer_only_p arg (always 0). Simplify code accordingly.
6542 (get_glyph_string_clip_rect): Draw cursor using glyph's rather
6543 than row's ascent and height, to get sensible height on tall rows.
6544 (build_desired_tool_bar_string): Remove Qimage extern.
6545 (get_tool_bar_item): Fix call to x_y_to_hpos_vpos.
6546 (produce_image_glyph): Adjust it.ascent to minimum row ascent if
6547 image glyph is alone on the last line.
6548 (append_glyph, append_composite_glyph, produce_image_glyph)
6549 (append_stretch_glyph): Set glyph's ascent and descent.
6550 (on_hot_spot_p): New function to check if position is inside an
6551 rectangular, circular, or polygon-shaped image hot-spot,
6552 (find_hot_spot): New function to search for image hot-spot.
6553 (Flookup_image_map): New defun to search for image hot-spot.
6554 (define_frame_cursor1): New aux function to determine frame pointer.
6555 (note_mode_line_or_margin_highlight, note_mouse_highlight):
6556 Handle `pointer' text property and :pointer image property to
6557 control frame pointer shape. Detect image hot-spots for pointer
6558 and help_echo properties. Use define_frame_cursor1.
6559 (note_mouse_highlight): Use Vvoid_text_area_pointer.
6560 (syms_of_xdisp): Defsubr new defun. Intern and staticpro new variables.
6561 DEFVAR_LISP Vvoid_text_area_pointer instead of Vshow_text_cursor_in_void.
6562
6563 * xfaces.c (cache_face): Abort if c->size exceeds MAX_FACE_ID.
6564
6565 * xfns.c (x_set_mouse_color): Remove bogus x_check_errors call.
6566 (Qimage): Remove extern (now in lisp.h).
6567 (valid_image_p, parse_image_spec): Use IMAGEP macro.
6568
6569 * xmenu.c (show_help_event): Remove unused code.
6570
6571 * xterm.c (Qface, Qmouse_face): Remove unused externs.
6572 (x_draw_hollow_cursor): Draw cursor using glyph's rather than
6573 row's ascent and descent, to get a sensible height on tall rows.
6574
6575 2003-12-25 Luc Teirlinck <teirllm@auburn.edu>
6576
6577 * minibuf.c (Fcompleting_read): Undo previous change.
6578
6579 2003-12-25 Lars Hansen <larsh@math.ku.dk>
6580
6581 * dired.c (Fdirectory_files, Fdirectory_files_and_attributes):
6582 Arguments GCPRO'ed in call to file name handler.
6583
6584 2003-12-25 Thien-Thi Nguyen <ttn@gnu.org>
6585
6586 * termcap.c (tgetst1): Scan for "%pN"; if all
6587 N are continuous in [1,9], remove all "%pN".
6588
6589 2003-12-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6590
6591 * gtkutil.c (xg_frame_set_char_size): Call x_wm_set_size_hint.
6592
6593 * xfaces.c (lface_fully_specified_p): Take into account that
6594 MAC OS always have unspecified stipple.
6595
6596 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
6597
6598 * tparam.c (tparam1): Add handling for `%pN', which
6599 means use param N for the next substitution.
6600
6601 2003-12-24 Thien-Thi Nguyen <ttn@gnu.org>
6602
6603 * xfaces.c (Fcolor_gray_p): Fix omission bug:
6604 In case `frame' is nil, consult the selected frame.
6605 (Fcolor_supported_p): Likewise.
6606
6607 2003-12-23 Luc Teirlinck <teirllm@auburn.edu>
6608
6609 * fns.c (Frandom, Fstring_make_multibyte, Fset_char_table_range):
6610 Doc fixes.
6611
6612 * minibuf.c (read_minibuf): Allow INITIAL to be a cons of a string
6613 and an integer. Adapt the introductory comment accordingly.
6614 (Fread_from_minibuffer): Delete code moved into read_minibuf.
6615 Doc fix.
6616 (Fread_minibuffer, Fread_no_blanks_input): Adapt to changes in
6617 read_minibuf.
6618 (Fcompleting_read): Delete code moved into read_minibuf.
6619 (Ftest_completion): Make it handle obarrays and hash tables correctly.
6620
6621 2003-12-03 Kenichi Handa <handa@m17n.org>
6622
6623 * coding.c (decode_coding_iso2022): Fix for preserving UTF-8
6624 encoding sequence.
6625
6626 2003-12-01 Kenichi Handa <handa@m17n.org>
6627
6628 * composite.c (syms_of_composite): Don't make the compostion hash
6629 table week.
6630
6631 2003-11-30 Luc Teirlinck <teirllm@auburn.edu>
6632
6633 * intervals.h: Add EXFUN for Fget_char_property_and_overlay.
6634 * textprop.c (Fget_char_property_and_overlay): New function.
6635 (syms_of_textprop): Defsubr it.
6636
6637 2003-11-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6638
6639 * dispnew.c (buffer_posn_from_coords): Add ifdef HAVE_WINDOW_SYSTEM
6640 to compile on terminal configuration.
6641
6642 * fileio.c (Fread_file_name): Check use_file_dialog also before
6643 calling Fx_file_dialog.
6644
6645 * fns.c: use_file_dialog: New variable.
6646 (syms_of_fns): DEFVAR_BOOL use-file-dialog.
6647
6648 2003-11-29 Kim F. Storm <storm@cua.dk>
6649
6650 * msdos.c (Qcursor_type, Qbar, Qhbar): Declare extern.
6651 (syms_of_msdos): Don't intern and staticpro them.
6652
6653 2003-11-27 Kim F. Storm <storm@cua.dk>
6654
6655 * dispnew.c (buffer_posn_from_coords): Calculate and return pixel
6656 coordinates relative to glyph at posn. If glyph is an image,
6657 return that as object at posn. Callers changed.
6658 (mode_line_string, marginal_area_string): Calculate and return
6659 pixel coordinates relative to glyph. Callers changed.
6660
6661 * dispextern.h (buffer_posn_from_coords, mode_line_string)
6662 (marginal_area_string): Fix prototypes.
6663 (window_box_left_offset, window_box_right_offset): Add prototypes.
6664
6665 * frame.h (get_specified_cursor_type, get_window_cursor_type):
6666 Remove prototypes.
6667
6668 * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): Fix defines.
6669
6670 * keyboard.c (make_lispy_position): Add x and y coordinates
6671 relative to the current glyph as 7th element of position.
6672 If glyph is an image, return it in the object element.
6673 (read_key_sequence): Skip checks for keymap property in cases
6674 where POSN_STRING is not a string (e.g. an image).
6675
6676 * xdisp.c (Vdisplay_pixels_per_inch): New variable.
6677 (Vshow_text_cursor_in_void): New variable.
6678 (glyph_to_pixel_coords): Don't use negative hpos.
6679 (x_y_to_hpos_vpos): Fix for partially visible first glyph.
6680 (append_stretch_glyph): Change ascent arg to be actual value
6681 in pixels rather than ratio to height. Callers changed.
6682 (calc_pixel_width_or_height): New aux function, implementing
6683 pixel based artihmetic for glyph widths and heights.
6684 (produce_stretch_glyph): Use calc_pixel_width_or_height for
6685 :width, :height, :align-to, and :ascent, thus allowing these to
6686 be specified in pixels as well as multiples of characters.
6687 Don't produce stretch glyphs with zero width or height.
6688 (get_specified_cursor_type): Declare static.
6689 (get_window_cursor_type): Declare static. Add glyph arg to be
6690 able to know when cursor is on an image; always substitute
6691 hollow-box cursor for filled-box cursor on images, to avoid
6692 negative images and flicker when blinking the cursor.
6693 (display_and_set_cursor): Pass glyph to get_window_cursor_type.
6694 (note_mode_line_or_margin_highlight): Use non-text cursor rather
6695 than vertical scroll-bar cursor in display margins.
6696 (note_mouse_highlight): Use non-text cursor rather than text
6697 cursor in fringes and over images in the text area.
6698 Use non-text cursor when mouse pointer is outside editable text,
6699 i.e. in the void after end-of-line or end-of-buffer; this was
6700 already done for W32, but is now standard for all systems --
6701 user can toggle show-text-cursor-in-void to get old behaviour.
6702 (syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
6703 Vdisplay_pixels_per_inch.
6704
6705 2003-11-25 Andreas Schwab <schwab@suse.de>
6706
6707 * fns.c (internal_equal) <case Lisp_Vectorlike>: Declare size as
6708 EMACS_INT to not lose bits.
6709 (Ffillarray): Don't set bits beyond the size of a bool vector.
6710
6711 2003-11-25 Kim F. Storm <storm@cua.dk>
6712
6713 * print.c (Fredirect_debugging_output) [!GNU_LINUX]: Do not
6714 define this defun on systems that cannot use stderr as lvalue.
6715
6716 2003-11-24 Gerd Moellmann <gerd@gnu.org>
6717
6718 * s/freebsd.h (LD_SWITCH_SYSTEM_TEMACS)
6719 [__FreeBSD_version >= 500042]: Define as -znocombreloc because
6720 ld's default is incompatible with unexec.
6721
6722 2003-11-23 Kim F. Storm <storm@cua.dk>
6723
6724 * window.c (enum window_loop): Add REDISPLAY_BUFFER_WINDOWS.
6725 (window_loop): Handle REDISPLAY_BUFFER_WINDOWS.
6726 (Fforce_window_update): New defun.
6727 (syms_of_window): Defsubr it.
6728 (Fset_window_margins, Fset_window_fringes): Doc fix.
6729
6730 * print.c (Fredirect_debugging_output): New defun.
6731 (syms_of_print): Defsubr it.
6732
6733 2003-11-22 Luc Teirlinck <teirllm@auburn.edu>
6734
6735 * fns.c (Fset_char_table_parent): Doc fix.
6736
6737 2003-11-22 Kim F. Storm <storm@cua.dk>
6738
6739 * dispnew.c (buffer_posn_from_coords): Return actual row/column
6740 for glyph clicked on, rather than (unused) pixel positions.
6741 (mode_line_string, marginal_area_string): Change X and Y args to
6742 pointers for returning actual row/column for glyph clicked on.
6743 Simplify and optimize loops.
6744
6745 * dispextern.h (mode_line_string, marginal_area_string):
6746 Update prototypes.
6747
6748 * keyboard.c (make_lispy_position): New function for generating
6749 mouse click positions from frame and pixel coordinates.
6750 Enhanced to return buffer position and actual row/column for
6751 events outside the text area using updated mode_line_string and
6752 marginal_area_string functions.
6753 Return left-fringe and right-fringe clicks as such, rather than
6754 clicks in text area.
6755 (make_lispy_event) [USE_X_TOOLKIT, USE_GTK]: Don't call
6756 pixel_to_glyph_coords, as we never use the results.
6757 (make_lispy_event): Use make_lispy_position for MOUSE_CLICK_EVENT,
6758 WHEEL_EVENT, and DRAG_N_DROP_EVENT to replace redundant code.
6759 Eliminate unused code in WHEEL_EVENT handling.
6760 (make_lispy_movement): Use make_lispy_position.
6761
6762 * window.c (coordinates_in_window): Remove redundant tests.
6763 Fix returned X pixel value for left-margin.
6764
6765 * xdisp.c (note_mode_line_or_margin_highlight): Adapt to new
6766 mode_line_string and marginal_area_string parameters.
6767
6768 2003-11-22 Lars Hansen <larsh@math.ku.dk>
6769
6770 * w32.c (struct the_group, getgrgid): Add.
6771 * mac.c (struct my_group, getgrgid): Add.
6772
6773 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
6774
6775 * fns.c (Fassq, Fassoc, Frassq, Frassoc): Doc fixes.
6776
6777 2003-11-21 Lars Hansen <larsh@math.ku.dk>
6778
6779 * dired.c (Ffile_attributes): Add parameter ID-FORMAT and
6780 include in call to file name handler. Optionally translate numeric
6781 UID and GID to strings. Update docstring.
6782 (directory_files_internal): Add parameter ID-FORMAT.
6783 (Fdirectory_files_and_attributes): Add parameter ID-FORMAT and
6784 include in call to file name handler and call to
6785 directory_files_internal. Update Docstring.
6786 (Fdirectory_files): Add dummy parameter in call to
6787 directory_files_internal.
6788 * lisp.h (Qinteger): Add.
6789 (Qinteger_or_floatp, Qinteger_or_float_or_marker_p): Remove.
6790 (Ffile_attributes): Add parameter.
6791 * data.c (Qinteger): Export.
6792
6793 2003-11-21 Luc Teirlinck <teirllm@auburn.edu>
6794
6795 * fns.c (Freverse, Fnreverse): Doc fixes.
6796
6797 2003-11-19 Kim F. Storm <storm@cua.dk>
6798
6799 * xdisp.c (init_iterator): Initialize it->start to position
6800 before reseating (in case start position is invisible).
6801 (init_to_row_start): Set it->start to row-start.
6802 (redisplay_window): Accept optional_new_start if start position
6803 is invisible (in which case IT_CHARPOS overshoots PT).
6804 (display_line): Setup row->start from it->start (rather than
6805 it->current which is wrong if first char on line is invisible).
6806 When done, reseat it->start to it->current (= start of next row).
6807 (expose_area): Fix exposure of text area when first char (e.g. TAB)
6808 is only partially visible.
6809
6810 * dispextern.h (struct it): New member start.
6811
6812 2003-11-17 Stefan Monnier <monnier@iro.umontreal.ca>
6813
6814 * alloc.c (make_float, Fcons): Clear the markbit at init time.
6815 (make_float, Fcons, Fmake_symbol, allocate_misc): Move the increment
6816 of block_index outside of the macro call.
6817 (Fgarbage_collect): Remove null code.
6818
6819 * m/amdx86-64.h: Don't redefine XPNTR.
6820
6821 * keyboard.c (parse_modifiers, apply_modifiers): Use INTMASK instead
6822 of VALMASK.
6823
6824 * fns.c (hashfn_eq, hashfn_eql, hashfn_equal, hash_put)
6825 (sxhash_string, sxhash): Use INTMASK instead of VALMASK.
6826 (maybe_resize_hash_table): Use MOST_POSITIVE_FIXNUM.
6827
6828 * lisp.h (VALMASK): Only define for non-union type.
6829 (MARKBIT): Remove.
6830 (ARRAY_MARK_FLAG): Use previous value of MARKBIT.
6831 (XTYPE): Define unconditionally.
6832 (XSETTYPE): Remove one more remnant.
6833 (EQ): Define differently for the union and non-union cases.
6834 (INTMASK): New bit mask.
6835 (struct Lisp_Marker): Move down to prepare for upcoming patch.
6836 (GC_EQ): Delegate to EQ.
6837
6838 * coding.c (coding_restore_composition): Lisp_Object/int mixup.
6839
6840 2003-11-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6841
6842 * xterm.c (x_window_to_scroll_bar): Move check of display to
6843 where window_id is compared.
6844
6845 2003-11-17 Kim F. Storm <storm@cua.dk>
6846
6847 * dispextern.h (struct it): New member first_vpos.
6848
6849 * xdisp.c (start_display): Set it->first_vpos.
6850 (try_window_id): Use first_vpos to start display in first _text_
6851 line if no reusable lines at start of window with header line.
6852
6853 2003-11-16 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6854
6855 * w32fns.c (XPutPixel):
6856 * w32bdf.c (w32_init_bdf_font):
6857 * sunfns.c (sel_read):
6858 * process.c (Fmake_network_process):
6859 * frame.c (store_frame_param):
6860 * fontset.c (Fset_fontset_font):
6861 * emacs.c (shut_down_emacs):
6862 * ccl.c (ccl_driver): Remove period at end of error message.
6863
6864 * config.in: Regenerate.
6865
6866 * xfns.c (x_window_to_frame, x_any_window_to_frame)
6867 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
6868 (x_top_window_to_frame): Add Display* argument to xg_win_to_widget.
6869 (x_create_bitmap_mask, xg_set_icon, create_frame_xic)
6870 (xic_set_statusarea, x_window, gif_load): Formatting adjustments.
6871
6872 * xterm.h (struct x_display_info): New field xg_cursor for GTK.
6873
6874 * xterm.c: Add Display * to x_window_to_scroll_bar declaration.
6875 (XTmouse_position, handle_one_xevent): Pass Display* to
6876 x_window_to_scroll_bar.
6877 (x_window_to_scroll_bar): Take a Display* argument.
6878 Check that display for frame is equal to Display* argument.
6879 (event_handler_gdk): Remove current_dpyinfo. Get dpyinfo from
6880 x_display_info_for_display instead. Use Display in xev instead
6881 of GDK_DISPLAY.
6882 (x_dispatch_event): Call x_display_info_for_display.
6883 (XTread_socket): Move GTK part out of loop. current_dpyinfo removed.
6884 (x_connection_closed): Call xg_display_close for GTK.
6885 (x_term_init): Call xg_display_open for additional displays.
6886 Initiate dpyinfo->xg_cursor with call to xg_create_default_cursor
6887 for GTK.
6888
6889 * xmenu.c (single_menu_item, mouse_position_for_popup)
6890 (x_activate_menubar): Formatting adjustments.
6891
6892 * xdisp.c (update_tool_bar, redisplay_tool_bar): Formatting
6893 adjustments.
6894
6895 * gtkutil.c (xg_get_gdk_display, xg_set_screen, xg_display_open)
6896 (xg_display_close, xg_create_default_cursor)
6897 (xg_get_gdk_pixmap_and_mask): New functions for multiple display
6898 handling.
6899 (xg_left_ptr_cursor): Remove.
6900 (xg_set_cursor): Change cursor to GdkCursor*. Do not create
6901 cursor here.
6902 (xg_win_to_widget): Take Display* argument, call
6903 gdk_xid_table_lookup_for_display.
6904 (xg_create_frame_widgets, xg_get_file_name, create_menus)
6905 (xg_create_widget, xg_modify_menubar_widgets): Call xg_set_screen.
6906 (xg_create_widget, xg_create_scroll_bar): Use xg_cursor
6907 in FRAME_X_DISPLAY_INFO.
6908 (xg_get_scroll_id_for_window): Take Display* argument.
6909 (update_frame_tool_bar): Call xg_get_gdk_pixmap_and_mask.
6910 (xg_initialize): Remove xg_left_ptr_cursor.
6911
6912 * gtkutil.h (xg_get_scroll_id_for_window, xg_win_to_widget): Add
6913 Display* argument.
6914 (xg_display_open, xg_display_close, xg_create_default_cursor): Declare.
6915
6916 2003-11-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6917
6918 * xterm.c (x_detect_focus_change): Do not change focus frame for
6919 Enter/LeaveNotify if the current focus frame has explicit focus.
6920
6921 2003-11-14 Kim F. Storm <storm@cua.dk>
6922
6923 * dispnew.c (update_text_area): Fix redisplay error when hscroll
6924 is active and first glyph is only partially visible.
6925
6926 2003-11-13 Kenichi Handa <handa@m17n.org>
6927
6928 * xdisp.c (select_frame_for_redisplay): New function.
6929 (redisplay_internal): Record also selected_frame for
6930 unwind_redisplay. Call select_frame_for_redisplay before
6931 redrawing each frame.
6932 (unwind_redisplay): Argument changed to a cons.
6933
6934 2003-11-12 Luc Teirlinck <teirllm@auburn.edu>
6935
6936 * fns.c (Fstring_to_multibyte): Doc fix.
6937
6938 2003-11-11 Kenichi Handa <handa@m17n.org>
6939
6940 * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
6941
6942 2003-11-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6943
6944 * xfns.c (x_window): Set XtNx and XtNy in shell widget for
6945 program specified positions.
6946
6947 2003-11-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6948
6949 * xterm.c (XAW_ARROW_SCROLLBARS): Define it for Xaw 1.5E.
6950
6951 2003-11-08 Kenichi Handa <handa@m17n.org>
6952
6953 * Makefile.in (lisp): Add kannada.el.
6954 (shortlisp): Likewise.
6955
6956 2003-11-07 Kenichi Handa <handa@m17n.org>
6957
6958 * coding.c (coding_allocate_composition_data):
6959 Reset coding->composing to COMPOSITION_NO.
6960 (coding_restore_composition): Detect invalid composition data.
6961 Give Fstring and Fvector a Lispy integer, not C int.
6962
6963 2003-11-05 Stefan Monnier <monnier@iro.umontreal.ca>
6964
6965 * floatfns.c (Flogb): Don't use VALMASK.
6966
6967 * m/amdx86-64.h (VALBITS, XINT, XUINT): Remove.
6968 * m/ia64.h (VALBITS, XINT, XUINT): Remove.
6969
6970 * lisp.h (XINT): Move the cast to clarify what is going on.
6971 (GCTYPEMASK, XSETTYPE): Remove.
6972 (XGCTYPE): Make it an alias of XTYPE.
6973
6974 2003-11-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6975
6976 * xterm.c (x_term_init): Fix formatting.
6977
6978 2003-11-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
6979
6980 * gtkutil.h (xg_have_tear_offs): Declare.
6981 (xg_keep_popup, xg_did_tearoff): Remove.
6982
6983 * gtkutil.c: Remove variable xg_did_tearoff.
6984 (xg_have_tear_offs): New function.
6985 (tearoff_remove): Just decrease xg_detached_menus.
6986 (tearoff_activate): Increase xg_detached_menus and call
6987 tearoff_remove when tearoff is removed.
6988 (xg_keep_popup): Remove function.
6989 (create_menus): Give add_tearoff_p as argument to recursive
6990 call to create_menus.
6991 (xg_create_widget): Use variables instead of multiple
6992 strcmp. Tell create_menus to create tear off only for
6993 menu bar menus.
6994 (xg_update_menubar): Change title for a detached menu also.
6995 (xg_modify_menubar_widgets): Always call xg_update_menubar, regardless
6996 of deep_p.
6997 (xg_initialize): Initialize xg_detached_menus, remove
6998 initialization of xg_did_tearoff.
6999
7000 * xmenu.c (set_frame_menubar): For GTK, set deep_p if
7001 xg_have_tear_offs returns non-zero.
7002 (create_and_show_popup_menu): Remove setting of xg_did_tearoff and
7003 call to xg_keep_popup.
7004
7005 2003-11-01 Andrew Choi <akochoi@shaw.ca>
7006
7007 * macterm.c (XTread_socket): Handle menubar selection and grow
7008 window only for mouseDown events.
7009
7010 2003-10-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7011
7012 * xterm.c (x_term_init): For GTK part, increase x_initialized
7013 to check for more than one display. Use error instead of return 0.
7014
7015 2003-10-31 Andrew Choi <akochoi@shaw.ca>
7016
7017 * unexmacosx.c (unrelocate): New function (contributed by Nozomu Ando).
7018 (copy_dysymtab): Call it.
7019
7020 2003-10-31 Luc Teirlinck <teirllm@auburn.edu>
7021
7022 * eval.c (Fdefvaralias): Doc fix.
7023
7024 2003-10-26 Luc Teirlinck <teirllm@auburn.edu>
7025
7026 * data.c (Fsetplist): Doc fix.
7027
7028 2003-10-14 Lute Kamstra <lute@gnu.org>
7029
7030 * window.c (Fset_window_fringes): Clarify docstring.
7031
7032 2003-10-14 Kim F. Storm <storm@cua.dk>
7033
7034 * window.c (Fset_window_margins): Simplify arg checking.
7035
7036 2003-10-13 Richard M. Stallman <rms@gnu.org>
7037
7038 * regex.c (MAX_BUF_SIZE): Reduce to 2**15.
7039 (print_partial_compiled_pattern): Replace assert with a printout.
7040 (skip_noops, mutually_exclusive_p): Change args, values to re_char *.
7041
7042 * alloc.c (lisp_align_malloc): If BASE is 0, call memory_full.
7043
7044 * window.c (Fset_window_margins): Allow only integers as args.
7045 (syms_of_window) <special-display-buffer-names, special-display-regexps>:
7046 Doc fixes.
7047
7048 2003-10-13 Lute Kamstra <lute@gnu.org>
7049
7050 * window.c (Fset_window_fringes): Elaborate docstring.
7051
7052 2003-10-12 Andrew Choi <akochoi@shaw.ca>
7053
7054 * macterm.c (XTread_socket): Call DragWindow only for mouseDown events.
7055
7056 * s/darwin.h (GC_MARK_STACK): Define.
7057
7058 2003-10-12 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7059
7060 * window.c (shrink_windows): New function.
7061 (size_window): Call shrink_windows to calculate window sizes when
7062 shrinking frame with more than one window.
7063
7064 2003-10-12 Kim F. Storm <storm@cua.dk>
7065
7066 * xdisp.c (compute_fringe_widths): Doc fix.
7067
7068 2003-10-08 Kenichi Handa <handa@m17n.org>
7069
7070 * coding.c (Fcoding_system_p): Return t for auto-loading coding system.
7071
7072 2003-10-07 Kenichi Handa <handa@m17n.org>
7073
7074 * coding.c (Qcoding_system_define_form): New variable.
7075 (syms_of_coding): Intern and staticpro it.
7076 (Fcheck_coding_system): Try to autoload the definition of
7077 CODING-SYSTEM.
7078
7079 2003-10-05 Luc Teirlinck <teirllm@auburn.edu>
7080
7081 * fns.c (Frequire): Doc fix.
7082
7083 2003-10-05 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7084
7085 * xfns.c (Fx_send_client_event): New function as a base for
7086 manipulating extended window manager hints.
7087 (Fx_send_client_event): Remove unused variable s.
7088
7089 * w32term.c (w32_read_socket): Remove call to x_check_fullscreen_move,
7090 that function is removed.
7091
7092 * xterm.c (x_set_offset): Use move_offset_left/top instead of
7093 x/y_pixels_outer_diff.
7094 (x_check_expected_move): Calculate move_offset_left/top.
7095
7096 * xterm.h (struct x_output): New members: move_offset_top/left.
7097
7098 * frame.c (x_set_frame_parameters): Remove x_fullscreen_move,
7099 call x_set_offset directly.
7100
7101 * frame.h (enum): FULLSCREEN_MOVE_WAIT removed.
7102
7103 * frame.c (Fdelete_frame): Free decode_mode_spec_buffer.
7104
7105 * xterm.c (x_delete_display): Free font names and font_encoder
7106 in dpyinfo->font_table.
7107
7108 * xfns.c (Fx_close_connection): Only call XFreeFont here.
7109 Move xfree of font names to x_delete_display.
7110
7111 * xterm.h (struct x_display_info): New member, wm_type.
7112 (struct x_output): New members, expected_top/left and
7113 check_expected_move.
7114
7115 * xterm.c (handle_one_xevent): Reset wm_type when ReparentNotify
7116 is received.
7117 (handle_one_xevent): Rename x_check_expected_move from
7118 x_check_fullscreen_move.
7119 (x_set_offset): Only add WM decoration sizes to modified_top/left
7120 for X_WMTYPE_A. Set check_expected_move when WM type is unknown.
7121 (x_check_expected_move): Rename from x_check_fullscreen_move.
7122 Removed fullscreen specific code. Use check_expected_move,
7123 expected_left/top instead. Also, set wm_type.
7124 (x_term_init): Initialize wm_type to unknown.
7125
7126 * frame.c (x_fullscreen_move): Remove addition of WM decoration
7127 sizes to move_x/y.
7128
7129 2003-10-03 Kenichi Handa <handa@m17n.org>
7130
7131 * macterm.c (x_load_font): Clear all members of FONTP before start
7132 filling them.
7133
7134 2003-10-02 Kenichi Handa <handa@m17n.org>
7135
7136 * fontset.c (fs_load_font): Don't set fontp->font_encoder to NULL
7137 before calling find_ccl_program_func. Call find_ccl_program_func
7138 only when fontp->font_encoder is not NULL.
7139
7140 * xterm.c (x_load_font): Clear all members of FONTP before start
7141 filling them.
7142
7143 2003-10-03 John Paul Wallington <jpw@gnu.org>
7144
7145 * keymap.c (map_keymap): Don't abort when binding is a vector.
7146
7147 2003-10-02 Jason Rumney <jasonr@gnu.org>
7148
7149 * makefile.w32-in (emacs.o, coding.o, bytecode.o):
7150 Sync dependencies with Makefile.in.
7151 (alloca.o): Remove.
7152
7153 * w32fns.c (w32_load_system_font): Clear all members of FONTP before
7154 filling them.
7155
7156 * w32bdf.c (w32_load_bdf_font): Likewise.
7157
7158 2003-09-30 Richard M. Stallman <rms@gnu.org>
7159
7160 * term.c (set_tty_color_mode): Calculate current_mode_spec
7161 regardless of value of VAL.
7162
7163 * intervals.c (graft_intervals_into_buffer):
7164 Set BUF_INTERVALS (buffer)->up_obj when appropriate.
7165 Handle over_used when splitting UNDER.
7166
7167 2003-09-30 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
7168
7169 * regex.c (regex_compile): Free the stack when returning from function.
7170
7171 2003-09-28 Kenichi Handa <handa@m17n.org>
7172
7173 * fontset.c (Finternal_char_font): Change return value to
7174 cons (FONT-NAME . GLYPH-CODE).
7175
7176 2003-09-28 Eli Zaretskii <eliz@gnu.org>
7177
7178 * term.c (tty_setup_colors): Treat any negative argument as -1.
7179
7180 2003-09-27 Gaute B Strokkenes <biggaute@uwc.net> (tiny change)
7181
7182 * process.c (send_process): Delete unused temp_buf.
7183
7184 2003-09-26 Dave Love <fx@gnu.org>
7185
7186 * xterm.c (x_bitmap_mask): Declare.
7187
7188 2003-09-25 Dave Love <fx@gnu.org>
7189
7190 * Makefile.in (fns.o): Depend on md5.h.
7191
7192 2003-09-25 Kim F. Storm <storm@cua.dk>
7193
7194 * window.c (set_window_buffer): Fix redisplay problems when
7195 switching between buffers with different display margin widths.
7196
7197 2003-09-23 Kim F. Storm <storm@cua.dk>
7198
7199 * process.c (set_socket_option): Fix :bindtodevice option.
7200 (Fset_network_process_option): Update process contact list when
7201 setting option succeeds.
7202 (Fmake_network_process): Doc fix.
7203
7204 2003-09-23 Dave Love <fx@gnu.org>
7205
7206 * process.c (Fnetwork_interface_info): Use HAVE_STRUCT_IFREQ... macros.
7207
7208 2003-09-22 Eli Zaretskii <eliz@gnu.org>
7209
7210 * term.c (set_tty_color_mode): Use INTEGERP to test whether a
7211 color mode is an integer number (it could be -1).
7212
7213 2003-09-22 Richard M. Stallman <rms@gnu.org>
7214
7215 * intervals.c (graft_intervals_into_buffer): Correct the main loop
7216 in the case where OVER is longer than UNDER.
7217
7218 2003-09-22 Masatake YAMATO <jet@gyve.org>
7219
7220 * window.c (Fset_window_scroll_bars): Validate the value of
7221 `vertical_type'.
7222
7223 2003-09-21 Kim F. Storm <storm@cua.dk>
7224
7225 * frame.c (Vdefault_frame_scroll_bars): New variable.
7226 (x_set_vertical_scroll_bars): Use it instead of hardcoded values.
7227 (syms_of_frame): DEFVAR_LISP it, and initialize according to
7228 window-system default scroll bar position.
7229
7230 * window.c (Fwindow_scroll_bars): Doc fix.
7231
7232 2003-09-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7233
7234 * xterm.c (x_set_offset): Take window manager decorations into account.
7235
7236 2003-09-19 Richard M. Stallman <rms@gnu.org>
7237
7238 * atimer.h: Don't include lisp.h.
7239 (P_): Define it here (as well as elsewhere).
7240
7241 * print.c (Fprin1_to_string): Move the PRINTPREPARE
7242 later, so that PRINTFINISH won't unbind Qinhibit_modification_hooks.
7243
7244 * data.c (Fvariable_binding_locus): New function.
7245 (syms_of_data): defsubr it.
7246 (Flocal_variable_p): Delete duplicate call to indirect_variable.
7247
7248 2003-09-18 Dave Love <fx@gnu.org>
7249
7250 * alloc.c (GC_MALLOC_CHECK): Move conditional undef after lisp.h.
7251
7252 * process.c (Fnetwork_interface_info): Fix type error.
7253 (Fnetwork_interface_list): Doc fix.
7254 (read_process_output, read_process_output): Delete unused var.
7255
7256 2003-09-17 Kim F. Storm <storm@cua.dk>
7257
7258 * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
7259 Require HAVE_NET_IF_H and HAVE_SYS_IOCTL_H to include these fns.
7260 (Fnetwork_interface_info): Check that ifreq struct has required
7261 fields before accessing them; this requires that those fields are
7262 defined as macros, which may be too restrictive on some platforms,
7263 but it is better than failing on other platforms.
7264 (syms_of_process): Only defsubr above fns when included.
7265
7266 2003-09-17 Dave Love <fx@gnu.org>
7267
7268 * unexalpha.c: Don't include varargs.h.
7269
7270 2003-09-17 Kim F. Storm <storm@cua.dk>
7271
7272 * process.c (Fset_process_sentinel): Add sentinel to childp plist
7273 for network process.
7274 (socket_options): Add `:' prefix to option names. Add optbit field.
7275 (set_socket_option): Remove no_error arg and special handling of s < 0.
7276 Return 1<<optbit for known option, 0 for unknown.
7277 Do not interpret 0 as false for boolean option (only nil).
7278 Pass failed option and value to report_file_error.
7279 (Fset_network_process_options): Replace by Fset_network_process_option.
7280 (Fset_network_process_option): New function to set just one option.
7281 (Fmake_network_process): Allow :coding arg to be a cons.
7282 Allow :server arg to be an integer specifying backlog size.
7283 Remove :options arg, and allow options to be specified directly
7284 as :KEY, VALUE pairs. Parse these options before binding socket.
7285 As before, :reuseaddr t is default for a server process, but this
7286 can now be disabled by specifying :reuseaddr nil.
7287 (Fnetwork_interface_info): Rename from Fget_network_interface_info.
7288 (init_process): Availability of network options is now checked with
7289 simpler syntax (featurep 'make-network-process :OPTION); use loop to
7290 setup features.
7291 (syms_of_process): Fix defsubr's for the replaced functions.
7292
7293 2003-09-16 Dave Love <fx@gnu.org>
7294
7295 * Makefile.in: Depend on coding.h.
7296
7297 2003-09-14 Kim F. Storm <storm@cua.dk>
7298
7299 * process.c [HAVE_SOCKETS]: Include sys/ioctl.h and net/if.h.
7300 (Fnetwork_interface_list, Fget_network_interface_info): New defuns.
7301 (syms_of_process): Defsubr them.
7302
7303 * config.in: Regenerate.
7304
7305 2003-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
7306
7307 * m/sr2k.h (XMARKBIT, XUNMARK): Remove.
7308 * m/news-r6.h (XUNMARK): Remove.
7309 * m/mips.h (XUNMARK): Remove.
7310 * m/mips-siemens.h (XUNMARK): Remove.
7311 * m/iris4d.h (XUNMARK): Remove.
7312 * m/hp800.h (XMARKBIT, XUNMARK): Remove.
7313
7314 2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
7315
7316 * lisp.h (VALBITS): Don't remove 1 for the markbit.
7317 (union Lisp_Object): Use unsigned int for types. Remove markbit.
7318 (MARKBIT): Remove 1 from VALBITS so we still use same old val.
7319 (XTYPE): Use unsigned right-shift.
7320 (XMARKBIT, XMARK, XUNMARK): Remove.
7321
7322 * alloc.c (init_intervals, init_symbol, init_marker):
7323 Don't preallocate anything.
7324 (Fgarbage_collect, mark_object): Ignore the markbit.
7325
7326 * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
7327
7328 2003-09-08 Lute Kamstra <lute@gnu.org>
7329
7330 * xdisp.c (pint2hrstr): New function.
7331 (decode_mode_spec): Add `%i' and `%I' specs.
7332 * buffer.c (syms_of_buffer): Document `%i' and `%I' constructs
7333 for `mode-line-format'.
7334
7335 2003-09-07 Andreas Schwab <schwab@suse.de>
7336
7337 * alloc.c: Use long instead of int when casting ABLOCKS_BUSY to
7338 avoid warning.
7339
7340 2003-09-07 Eli Zaretskii <eliz@gnu.org>
7341
7342 * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
7343
7344 2003-09-03 Kim F. Storm <storm@cua.dk>
7345
7346 * xdisp.c (get_window_cursor_type): Partially undo 2002-03-01
7347 change (superseded by 2002-08-30 change); the default blink-off
7348 cursor is now again "no cursor".
7349
7350 2003-09-01 Jason Rumney <jasonr@gnu.org>
7351
7352 * makefile.w32-in (alloca.o): Remove.
7353 (coding.o): Depend on intervals.h
7354 (emacs.o, bytecode.o): Depend on window.h
7355
7356 2003-09-01 Dave Love <fx@gnu.org>
7357
7358 * Makefile.in (alloca.o): Remove commands.
7359 (coding.o): Depend on intervals.h composite.h window.h.
7360 (emacs.o): Depend on window.h keyboard.h keymap.h.
7361 (gtkutil.o): Depend on keyboard.h charset.h coding.h.
7362 (bytecode.o): Depend on window.h.
7363
7364 2003-08-31 Jason Rumney <jasonr@gnu.org>
7365
7366 * w32term.c (w32_per_char_metric): Allow cached metrics to be
7367 returned even when font_type is unknown.
7368
7369 * xdisp.c (init_iterator): Remove old WINDOWSNT conditional.
7370
7371 2003-08-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7372
7373 * xterm.c (x_term_init): Initialize new fields in x_display_info.
7374
7375 * xterm.h (struct x_display_info): Add red/green/blue_bits and
7376 *_offset.
7377
7378 * xfns.c (lookup_rgb_color): Use new fields in x_display_info to
7379 calculate pixel value.
7380
7381 2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
7382
7383 * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
7384 Don't tell redisplay display is accurate when it's actually been
7385 paused for pending input.
7386
7387 2003-08-29 Richard M. Stallman <rms@gnu.org>
7388
7389 * dispnew.c (adjust_glyph_matrix): Call window_box
7390 whenever W is nonzero.
7391
7392 * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
7393 (Fkill_local_variable, Fmake_variable_frame_local)
7394 (Flocal_variable_p, Flocal_variable_if_set_p):
7395 Use indirect_variable to trace thru variable aliases.
7396
7397 * config.in: Updated.
7398
7399 * callint.c (Fcall_interactively): Save and restore
7400 Vthis_command, Vthis_original_command, real_this_command,
7401 and current_kboard->Vlast_command.
7402
7403 * abbrev.c (Fexpand_abbrev): Insert before deleting.
7404
7405 2003-08-29 Gerd Moellmann <gerd@gnu.org>
7406
7407 * xfns.c (lookup_rgb_color): Handle TrueColor visuals specially.
7408
7409 2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
7410
7411 * coding.c (decode_coding_iso2022): Initialize local variable c2.
7412 (decode_coding_sjis_big5): Likewise.
7413
7414 2003-08-27 Jason Rumney <jasonr@gnu.org>
7415
7416 * w32.c (sys_pipe): Protect against file descriptor overflow.
7417
7418 * w32fns.c (syms_of_w32fns): Remove non-existent functions.
7419
7420 * w32term.c (w32_read_socket): Fix WM_MOUSEWHEEL assignment.
7421
7422 2003-08-26 Terje Rosten <terjeros@phys.ntnu.no>
7423
7424 * xfns.c (Vgtk_version_string): New variable.
7425 (syms_of_xfns): DEFVAR_LISP it. Provide gtk.
7426
7427 2003-08-24 Eli Zaretskii <eliz@gnu.org>
7428
7429 * term.c (term_init): Remove `const' from buffer_size's declaration.
7430
7431 * Makefile.in (msdos.o): Depend on intervals.h.
7432
7433 * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
7434
7435 2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7436
7437 * xterm.h (struct x_display_info): New fields: client_leader_window
7438 and Xatom_wm_client_leader.
7439
7440 * xterm.c (x_initialize): Move call to x_session_initialize to ...
7441 (x_term_init): ... here. Initialize client_leader fields in dpyinfo.
7442
7443 * xsmfns.c (create_client_leader_window): New function.
7444 (x_session_initialize): Call create_client_leader_window, take
7445 dpyinfo as argument.
7446
7447 * xfns.c (Fx_create_frame): Set property WM_CLIENT_LEADER.
7448
7449 * Makefile.in (xsmfns.o): Add more depenedencies.
7450
7451 2003-08-21 Dave Love <fx@gnu.org>
7452
7453 * m/iris4d.h: Use _MIPS_SZLONG, not _LP64.
7454
7455 2003-08-21 Kenichi Handa <handa@m17n.org>
7456
7457 * term.c (term_init): Fix previous change; don't rely on the
7458 length of `buffer' if TERMINFO is defined.
7459
7460 2003-08-20 Dave Love <fx@gnu.org>
7461
7462 * atimer.h: Include lisp.h.
7463
7464 * lisp.h (EMACS_LISP_H): New.
7465 (popup_activated_flag): Don't declare.
7466
7467 * alloca.c: Some merging with gnulib. Change logic and doc
7468 concerning (x)malloc/(x)free -- no longer Emacs-specific.
7469 [DO_BLOCK_INPUT]: Don't include lisp.h.
7470 (xmalloc, xfree): Declare.
7471 (malloc): Don't declare.
7472
7473 * Makefile.in (LWLIB_OPTIONS): Remove (unused).
7474 (alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
7475 atimer.h, blockinput.h.
7476
7477 * alloc.c (lisp_align_malloc): Change type of `aligned'.
7478
7479 * alloca.s: Remove.
7480
7481 2003-08-19 Gerd Moellmann <gerd@gnu.org>
7482
7483 * s/freebsd.h [__FreeBSD_version >= 400000]: Define TERMINFO,
7484 use -lncurses.
7485
7486 * term.c (term_init): Use a buffer of size 4096 for tgetent since
7487 FreeBSD returns something longer than 2044. Abort if the end of
7488 the buffer is overwritten.
7489
7490 2003-08-19 Miles Bader <miles@gnu.org>
7491
7492 * xterm.c (x_term_init): Correctly use result of Ffile_readable_p.
7493
7494 2003-08-19 Gerd Moellmann <gerd@gnu.org>
7495
7496 * alloc.c (lisp_align_malloc): Check for memory full when
7497 allocating ablocks, which also avoids freeing a pointer into an
7498 ablocks structure.
7499
7500 * puresize.h (BASE_PURESIZE): Increase to 1100000.
7501
7502 * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
7503
7504 2003-08-16 Richard M. Stallman <rms@gnu.org>
7505
7506 * editfns.c (Fencode_time): Doc fix.
7507
7508 2003-08-16 David Ponce <david@dponce.com>
7509
7510 * fileio.c (Fwrite_region): Fix conditional expression to issue
7511 the right message.
7512
7513 2003-08-16 Juri Linkov <juri@jurta.org>
7514
7515 * syntax.c (Fforward_word): Argument changed to optional.
7516 Set default value to 1.
7517
7518 2003-08-15 Kenichi Handa <handa@m17n.org>
7519
7520 * xfaces.c (better_font_p): Prefer a real scalable font; i.e. not
7521 what autoscaled.
7522 (best_matching_font): Once we find a better scalable font, set
7523 non_scalable_has_exact_height_p to 1.
7524 (try_font_list): Call try_alternative_families to try any family
7525 with the given registry.
7526
7527 2003-08-09 Andreas Schwab <schwab@suse.de>
7528
7529 * alloc.c (mark_object): Handle Lisp_Misc_Save_Value.
7530
7531 * print.c (print_string): Fix printing of multibyte string with
7532 nontrivial printcharfun.
7533
7534 2003-07-31 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7535
7536 * xfns.c (xg_set_icon): Rewrite to compile with GTK 2.0 and 2.2.
7537
7538 * xterm.c (x_bitmap_icon): Return if xg_set_icon succeeds.
7539
7540 2003-07-31 Kenichi Handa <handa@m17n.org>
7541
7542 * process.c (read_process_output): Return the actually read bytes
7543 instead of the result of decoding.
7544
7545 2003-07-31 Kenichi Handa <handa@m17n.org>
7546
7547 * xterm.h (struct x_bitmap_record): New member have_mask.
7548
7549 * xfns.c (x_create_bitmap_from_data): Initialize have_mask member
7550 to 0.
7551 (x_create_bitmap_from_file): Likewise.
7552 (x_destroy_bitmap): Check have_mask member before freeing a mask.
7553 (x_destroy_all_bitmaps): Likewise.
7554 (x_create_bitmap_mask): Set have_mask member to 1.
7555
7556 2003-07-30 Richard M. Stallman <rms@gnu.org>
7557
7558 * Makefile.in (CFLAGS) [!OPTIMIZE]: Undo previous change.
7559
7560 2003-07-29 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7561
7562 * gtkutil.c (xg_mark_data): Update calls to mark_object.
7563
7564 2003-07-29 Richard M. Stallman <rms@gnu.org>
7565
7566 * xterm.c (xim_open_dpy, xim_initialize, xim_close_dpy):
7567 Conditionalize XIM code on HAVE_XIM.
7568
7569 * fns.c (Fclear_string): New function.
7570 (syms_of_fns): defsubr it.
7571
7572 2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
7573
7574 * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
7575
7576 2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
7577
7578 * xfns.c: Don't check HAVE_PNG_H: autoconf doesn't seem to find it.
7579
7580 * buffer.c (delete_all_overlays): New function.
7581 * buffer.h (delete_all_overlays): Declare.
7582 * coding.c (run_pre_post_conversion_on_str):
7583 * print.c (temp_output_buffer_setup):
7584 * fileio.c (Finsert_file_contents):
7585 * minibuf.c (get_minibuffer): Use it.
7586
7587 2003-07-22 Andrew Choi <akochoi@shaw.ca>
7588
7589 * unexmacosx.c (unexec_regions_sort_compare):
7590 (unexec_regions_merge): New functions. Sort and merge unexec
7591 regions before dumping them.
7592
7593 2003-07-22 Dave Love <fx@gnu.org>
7594
7595 * xfns.c [HAVE_PNG]: Consider both png.h and libpng/png.h.
7596
7597 2003-07-21 Stefan Monnier <monnier@cs.yale.edu>
7598
7599 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P)
7600 (GC_STRING_CHARS, string_bytes): Use ARRAY_MARK_FLAG rather than
7601 MARKBIT as the gcmarkbit for strings.
7602
7603 2003-07-21 Richard M. Stallman <rms@gnu.org>
7604
7605 * s/openbsd.h (LD_SWITCH_SYSTEM_TEMACS): Add undef.
7606
7607 * fns.c (Flocale_info): Rename from Flanginfo. Doc fixes.
7608 (syms_of_fns): Corresponding change.
7609
7610 * alloc.c (syms_of_alloc): Doc fixes.
7611
7612 2003-07-20 Han Boetes <han@mijncomputer.nl> (tiny change)
7613
7614 * s/netbsd.h: Use -Wl syntax.
7615
7616 2003-07-17 Richard M. Stallman <rms@gnu.org>
7617
7618 * xterm.c (xim_initialize): Redo 6/24 change.
7619
7620 2003-07-15 Stefan Monnier <monnier@cs.yale.edu>
7621
7622 * buffer.c (copy_overlays): Use EMACS_INT for positions.
7623 (Fswitch_to_buffer): Don't signal an error when switching to the same
7624 buffer in a dedicated window.
7625
7626 * alloc.c: Use bitmaps for cons, as was done for floats.
7627 (init_float, init_cons): Let the normal code allocate the first block.
7628 (CONS_BLOCK_SIZE): Redefine based on BLOCK_BYTES and bitmap size.
7629 (CONS_BLOCK, CONS_INDEX, CONS_MARKED_P, CONS_MARK, CONS_UNMARK):
7630 New macros.
7631 (struct cons_block): Move conses to the beginning. Add gcmarkbits.
7632 (Fcons): Use lisp_align_malloc and CONS_UNMARK.
7633 (live_cons_p): Check the pointer is not past the `conses' array.
7634 (mark_maybe_object, mark_maybe_pointer): Use CONS_MARKED_P.
7635 (mark_object, mark_buffer): Use CONS_MARKED_P and CONS_MARK.
7636 (survives_gc_p): Use CONS_MARKED_P and simplify.
7637 (gc_sweep): Use CONS_MARKED_P, CONS_UNMARK, and lisp_align_free.
7638
7639 2003-07-13 Paul Eggert <eggert@twinsun.com>
7640
7641 GCC 3.3 (sparc) no longer puts "int foo = 0;" into data; it
7642 puts it into BSS instead, at least on Solaris 8 and 9.
7643 This is a valid optimization, and it may occur on other platforms,
7644 so Emacs should not assume that initializing a static variable to
7645 zero puts it into data.
7646 * alloc.c (pure, staticvec):
7647 Initialize these arrays to nonzero, so that they're not
7648 put into BSS by that optimization.
7649
7650 2003-07-13 Stefan Monnier <monnier@cs.yale.edu>
7651
7652 * alloc.c (BLOCK_PADDING): Rename from ABLOCKS_PADDING. Update users.
7653 (lisp_align_malloc): Use posix_memalign is available.
7654 (ABLOCKS_BASE): Use HAVE_POSIX_MEMALIGN as an optimization.
7655 (STRING_BLOCK_SIZE): Rename from STRINGS_IN_STRING_BLOCK
7656 for consistency. Update users.
7657
7658 2003-07-13 Richard M. Stallman <rms@gnu.org>
7659
7660 * s/netbsd.h (START_FILES_1, END_FILES_1): Always define them.
7661
7662 2003-07-13 Terje Rosten <terjeros@phys.ntnu.no>
7663
7664 * xterm.c (x_bitmap_icon,x_wm_set_icon_pixmap): Modify to add mask,
7665 and use the Gtk+ function gtk_window_icon_from_file if available.
7666
7667 * xfns.c (x_bitmap_mask, x_create_bitmap_mask): New functions to
7668 handle mask of bitmaps.
7669 (x_allocate_bitmap_record, x_destroy_bitmap): Modify to handle the
7670 mask property.
7671 (xg_set_icon): New function, wrapper for gtk_window_icon_from_file.
7672
7673 * xterm.h (xg_set_icon): New function.
7674
7675 2003-07-12 Paul Eggert <eggert@twinsun.com>
7676
7677 * unexelf.c (unexec): Consider a section to precede the .bss
7678 section if its addresses overlap that of .bss.
7679
7680 2003-07-12 Richard M. Stallman <rms@gnu.org>
7681
7682 * Makefile.in (CFLAGS) [!OPTIMIZE]: Set CFLAGS to -g.
7683
7684 * config.in (HAVE_CRTIN): Add #undef.
7685 (INLINE): Really inline only if OPTIMIZE is defined.
7686
7687 * s/netbsd.h (START_FILES, LIB_STANDARD): Use START_FILES_1,
7688 END_FILES_1.
7689 (START_FILES_1, END_FILES_1): New macros (conditional).
7690 (LD_SWITCH_SYSTEM_TEMACS): Define.
7691
7692 * s/openbsd.h: Don't include bsd4-3.h.
7693 (TERMINFO): Define.
7694 (LIBS_TERMCAP): Define.
7695 (LD_SWITCH_SYSTEM): Define (two definitions).
7696
7697 * xfns.c: Include libpng/png.h instead of png.h.
7698
7699 2003-07-11 Andreas Schwab <schwab@suse.de>
7700
7701 * buffer.c (modify_overlay): Update prototype.
7702 * lisp.h (adjust_overlays_for_insert, adjust_overlays_for_delete):
7703 Likewise.
7704
7705 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7706
7707 * lisp.h (VALBITS): Define in terms of GCTYPEBITS.
7708 (struct interval): Move to intervals.h.
7709 (struct Lisp_Marker): Use EMACS_INT for position info.
7710 (forward_point): Remove prototype of defunct function.
7711 (Qmodification_hooks, Qrear_nonsticky, Fnext_property_change)
7712 (Fget_text_property, Fset_text_properties, Ftext_propertes_not_all)
7713 (syms_of_textprop, set_text_properties): Remove prototypes that are
7714 already in intervals.h.
7715
7716 * intervals.h (struct interval): Move from lisp.h.
7717 Use EMACS_INT for position and size info.
7718
7719 * coding.c: Include intervals.h for Fset_text_properties.
7720
7721 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
7722 position and length information.
7723
7724 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7725
7726 * buffer.h (struct buffer_text, struct buffer): Use EMACS_INT for
7727 position and length information.
7728
7729 2003-07-09 Stefan Monnier <monnier@cs.yale.edu>
7730
7731 Change overlays_after and overlays_before so the overlays themselves
7732 are linked into lists, rather than using cons cells. After all each
7733 Lisp_Misc already occupies 5 words, so we can add a `next' field to
7734 Lisp_Overlay for free and save up one cons cell per overlay (not
7735 to mention one indirection when traversing the list of overlay).
7736
7737 * lisp.h (struct Lisp_Overlay): New field `next'.
7738
7739 * buffer.h (struct buffer): Change overlays_before and overlays_after
7740 from Lisp lists of overlays to pointers to overlays.
7741
7742 * buffer.c (overlay_strings, recenter_overlay_lists):
7743 Fix typo in eassert in last commit.
7744 (unchain_overlay): New function.
7745 (add_overlay_mod_hooklist): Use AREF.
7746 (copy_overlays, reset_buffer, overlays_at, overlays_in)
7747 (overlay_touches_p, overlay_strings, recenter_overlay_lists)
7748 (fix_overlays_in_range, fix_overlays_before, Fmake_overlay)
7749 (Fmove_overlay, Fdelete_overlay, Foverlay_lists)
7750 (report_overlay_modification, evaporate_overlays, init_buffer_once):
7751 Adjust to new type of overlays_(before|after).
7752
7753 * alloc.c (mark_object): Mark the new `next' field of overlays.
7754 (mark_buffer): Manually mark the overlays_(after|before) fields.
7755
7756 * coding.c (run_pre_post_conversion_on_str):
7757 * editfns.c (overlays_around):
7758 * xdisp.c (load_overlay_strings):
7759 * fileio.c (Finsert_file_contents):
7760 * indent.c (current_column):
7761 * insdel.c (signal_before_change, signal_after_change):
7762 * intervals.c (set_point_both):
7763 * print.c (temp_output_buffer_setup): Use new type for
7764 overlays_(before|after).
7765
7766 2003-07-08 Stefan Monnier <monnier@cs.yale.edu>
7767
7768 * buffer.c (report_overlay_modification): Don't run hooks while
7769 traversing the list of overlays.
7770
7771 * buffer.h (struct buffer): Use an int for overlay_center.
7772 (overlays_at, evaporate_overlays, recenter_overlay_lists)
7773 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
7774
7775 * buffer.c (reset_buffer, recenter_overlay_lists)
7776 (adjust_overlays_for_insert, adjust_overlays_for_delete)
7777 (fix_overlays_in_range, Fmake_overlay, Fmove_overlay)
7778 (evaporate_overlays, init_buffer_once): Update use of overlay_center.
7779 (overlays_at, evaporate_overlays, recenter_overlay_lists)
7780 (overlay_strings, fix_overlays_before): Use EMACS_INT for positions.
7781
7782 * xdisp.c (fast_find_position): Remove unused var.
7783
7784 * cmds.c (Qexpand_abbrev): New sym.
7785 (syms_of_cmds): Initialize it.
7786 (internal_self_insert): Use it to call expand-abbrev.
7787
7788 2003-07-09 Kim F. Storm <storm@cua.dk>
7789
7790 * xterm.c (use_xim) [!USE_XIM]: Default to disable XIM if Emacs
7791 was configured with --without-xim.
7792 (x_term_init) [!USE_XIM]: Use `useXIM' resource to turn on XIM.
7793
7794 2003-07-07 Richard M. Stallman <rms@gnu.org>
7795
7796 * xdisp.c (reseat_1): Set it->area to TEXT_AREA.
7797
7798 * alloc.c (Fgarbage_collect): Doc fix.
7799
7800 2003-07-07 Nozomu Ando <nand@mac.com>
7801
7802 * buffer.c (Fkill_buffer): Clear charpos cache if necessary.
7803
7804 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
7805
7806 * minibuf.c (read_minibuf): UNGCPRO before returning.
7807 (Ftry_completion, Fall_completions): Doc fix.
7808
7809 * alloc.c (live_float_p): Check that p is not past the `floats' array,
7810 now that `floats' is not the last element of the struct any more.
7811
7812 2003-07-06 Jason Rumney <jasonr@gnu.org>
7813
7814 * w32term.h (ClipboardSequence_Proc): New type.
7815
7816 * w32fns.c (clipboard_sequence_fn): New variable.
7817 (globals_of_w32fns): Initialize it.
7818
7819 * w32select.c (last_clipboard_sequence_number): New variable.
7820 (Fw32_set_clipboard_data, Fw32_get_clipboard_data): Use sequence
7821 number if possible.
7822
7823 2003-07-06 Stefan Monnier <monnier@cs.yale.edu>
7824
7825 * m/amdx86-64.h (MARKBIT):
7826 * m/ia64.h (MARKBIT): Remove definition since lisp.h does not compare
7827 MARKBIT and ARRAY_MARK_FLAG any more.
7828
7829 * m/hp800.h (XSETMARKBIT):
7830 * m/sr2k.h (XSETMARKBIT):
7831 * lisp.h (XSETMARKBIT): Remove unused macro.
7832
7833 * lisp.h (mark_object): Change prototype.
7834
7835 * alloc.c (mark_object): Change arg *Lisp_Object -> Lisp_Object.
7836 (last_marked): Change accordingly.
7837 (mark_interval, mark_maybe_object, mark_maybe_pointer)
7838 (Fgarbage_collect, mark_glyph_matrix, mark_face_cache, mark_image)
7839 (mark_buffer): Update calls to mark_object.
7840
7841 * bytecode.c (mark_byte_stack):
7842 * fns.c (sweep_weak_table):
7843 * keyboard.c (mark_kboards): Update calls to mark_object.
7844
7845 2003-07-06 Jason Rumney <jasonr@gnu.org>
7846
7847 * alloc.c (struct ablock): Only include padding when there is some.
7848
7849 2003-07-04 Stefan Monnier <monnier@cs.yale.edu>
7850
7851 * alloc.c (ALIGN): Add casts to simplify usage.
7852 (BLOCK_ALIGN, BLOCK_BYTES, ABLOCKS_PADDING, ABLOCKS_SIZE)
7853 (ABLOCKS_BYTES, ABLOCK_ABASE, ABLOCKS_BUSY, ABLOCKS_BASE): New macros.
7854 (struct ablock, struct ablocks): New types.
7855 (free_ablock): New global var.
7856 (lisp_align_malloc, lisp_align_free): New functions.
7857 (FLOAT_BLOCK_SIZE): Redefine in terms of BLOCK_BYTES.
7858 (struct float_block): Reorder and add gcmarkbits.
7859 (GETMARKBIT, SETMARKBIT, UNSETMARKBIT, FLOAT_BLOCK, FLOAT_INDEX)
7860 (FLOAT_MARKED_P, FLOAT_MARK, FLOAT_UNMARK): New macros.
7861 (init_float, make_float): Use lisp_align_malloc.
7862 (free_float, live_float_p): Don't use `type' any more.
7863 (make_float): Use FLOAT_UNMARK to access to mark bit.
7864 (mark_maybe_object, mark_maybe_pointer, survives_gc_p):
7865 Use FLOAT_MARKED_P to access the mark bit.
7866 (pure_alloc): Simplify use of ALIGN.
7867 (mark_object): Use FLOAT_MARK to access the mark bit.
7868 (gc_sweep): Use new macros to access the float's mark bit.
7869 (init_alloc_once): Init free_ablock.
7870
7871 * lisp.h (struct Lisp_Float): Remove unused field `type'.
7872
7873 2003-06-27 Stefan Monnier <monnier@cs.yale.edu>
7874
7875 * alloc.c (VECTOR_MARK, VECTOR_UNMARK, VECTOR_MARKED_P): New macros.
7876 (GC_STRING_BYTES): Don't mask markbit (it's only used on `size').
7877 (allocate_buffer): Move.
7878 (string_bytes): Don't mask markbit of `size_byte'.
7879 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
7880 (mark_object, mark_buffer, survives_gc_p, gc_sweep):
7881 Use the `size' field of buffers (rather than the `name' field) for
7882 the mark bit, as is done for all other vectorlike objects.
7883 Use the new macros to access the mark bit of vectorlike objects.
7884
7885 2003-06-26 Richard M. Stallman <rms@gnu.org>
7886
7887 * puresize.h (BASE_PURESIZE): Increment base size.
7888
7889 * xdisp.c (fast_find_position): Enable Gerd's new definition.
7890
7891 * xterm.c (xim_initialize): Undo previous change.
7892
7893 2003-06-26 Stefan Monnier <monnier@cs.yale.edu>
7894
7895 * alloc.c (survives_gc_p): Simplify.
7896
7897 * buffer.c (set_buffer_internal_1): Test CONSP for lists.
7898
7899 * window.c (Fset_window_dedicated_p): Simplify.
7900 (display_buffer_1): Don't raise the win from which minibuf was entered.
7901 (temp_output_buffer_show): Don't assume BEG == 1. Simplify.
7902 (Fminibuffer_selected_window): Simplify.
7903
7904 * buffer.h (struct buffer_text): Lisp_Object `markers' => Lisp_Marker.
7905
7906 * lisp.h (unchain_marker): Lisp_Object arg => Lisp_Marker.
7907 (struct Lisp_Marker): Lisp_Object `chain' => Lisp_Marker `next'.
7908
7909 * insdel.c (check_markers, adjust_markers_for_delete)
7910 (adjust_markers_for_insert, adjust_markers_for_replace)
7911 (prepare_to_modify_buffer, RESTORE_VALUE):
7912 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos)
7913 (Fset_marker, set_marker_restricted, set_marker_both, unchain_marker)
7914 (set_marker_restricted_both, Fbuffer_has_markers_at, count_markers):
7915 * alloc.c (Fmake_marker, free_marker, gc_sweep):
7916 * buffer.c (Fget_buffer_create, Fkill_buffer, Fset_buffer_multibyte):
7917 * editfns.c (save_excursion_restore, transpose_markers):
7918 * window.c (delete_window):
7919 * xdisp.c (message_dolog): Update for new types.
7920
7921 2003-06-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
7922
7923 * xfaces.c (set_font_frame_param): Set default_face_done_p to zero.
7924 (realize_default_face): Use default_face_done_p for the force_p
7925 argument to set_lface_from_font_name. Set default_face_done_p to one.
7926
7927 * frame.c (make_frame): Initialize default_face_done_p.
7928
7929 * frame.h (struct frame): Add default_face_done_p.
7930
7931 * config.in: Add XRegisterIMInstantiateCallback_arg6 so it
7932 will be defined.
7933
7934 2003-06-25 Stefan Monnier <monnier@cs.yale.edu>
7935
7936 * alloc.c (make_interval, Fmake_symbol, allocate_misc):
7937 Initialize the new field `gcmarkbit'.
7938 (mark_interval, MARK_INTERVAL_TREE): Use the new `gcmarkbit' field.
7939 (mark_interval_tree): Don't mark the tree separately from the nodes.
7940 (UNMARK_BALANCE_INTERVALS): Don't unmark the tree.
7941 (mark_maybe_object, mark_maybe_pointer, Fgarbage_collect)
7942 (mark_object, survives_gc_p, gc_sweep): Use new `gcmarkbit' fields.
7943
7944 * lisp.h (struct interval, struct Lisp_Symbol, struct Lisp_Free)
7945 (struct Lisp_Marker, struct Lisp_Intfwd, struct Lisp_Boolfwd)
7946 (struct Lisp_Kboard_Objfwd, struct Lisp_Save_Value)
7947 (struct Lisp_Buffer_Local_Value, struct Lisp_Overlay)
7948 (struct Lisp_Objfwd, struct Lisp_Buffer_Objfwd): Add `gcmarkbit' field.
7949
7950 2003-06-24 Dave Love <fx@gnu.org>
7951
7952 * xterm.c (xim_initialize): Use XRegisterIMInstantiateCallback_arg6.
7953
7954 * strftime.c: Test HAVE_SYS__MBSTATE_H, not __hpux. Merge changes
7955 from gnulib.
7956
7957 2003-06-21 Richard M. Stallman <rms@gnu.org>
7958
7959 * fileio.c (Fwrite_region): Alternate messages
7960 for append and partial write.
7961
7962 * keyboard.c (read_key_sequence): When converting upcase fn key to
7963 downcase, update fkey and keytran so `backspace' gets translated.
7964
7965 * keyboard.c (read_avail_input): Don't signal SIGHUP in batch mode.
7966
7967 * process.c (wait_reading_process_input): Don't signal SIGIO
7968 in batch mode.
7969
7970 2003-06-17 Kenichi Handa <handa@m17n.org>
7971
7972 * Makefile.in (xselect.o): Don't depend on charset.h, coding.h,
7973 composite.h.
7974
7975 * xselect.c: Don't include charset.h, coding.h, composite.h.
7976 (Qforeign_selection): New variable.
7977 (syms_of_xselect): Intern and static it.
7978 (selection_data_to_lisp_data): Return a unibyte string made from
7979 data with `foreign-selection' text property.
7980
7981 2003-06-15 Stefan Monnier <monnier@cs.yale.edu>
7982
7983 * termhooks.h (EVENT_INIT): New macro.
7984
7985 * keyboard.c (mark_kboards): Move from alloc.c. Mark kbd_buffer.
7986
7987 * alloc.c (mark_kboards): Move to keyboard.c.
7988
7989 * keyboard.c (record_asynch_buffer_change, read_avail_input):
7990 * xterm.c (x_dispatch_event):
7991 * xmenu.c (find_and_call_menu_selection):
7992 * xdisp.c (handle_tool_bar_click):
7993 * w32menu.c (menubar_selection_callback):
7994 * sysdep.c (kbd_input_ast, read_input_waiting):
7995 * msdos.c (dos_rawgetc):
7996 * macterm.c (mac_check_for_quit_char):
7997 * macmenu.c (menubar_selection_callback):
7998 * gtkutil.c (xg_tool_bar_callback): Don't pass uninitialized
7999 data to kbd_buffer_store_event.
8000
8001 2003-06-15 Kim F. Storm <storm@cua.dk>
8002
8003 * xdisp.c (x_fix_overlapping_area): Always use area relative X
8004 to fix redisplay problem with tall characters (such as \e,AC\e(B).
8005
8006 2003-06-13 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
8007
8008 * fileio.c (Fcopy_file): Doc fix: copies file modes, too.
8009
8010 2003-06-12 Kenichi Handa <handa@m17n.org>
8011
8012 * fileio.c (Fwrite_region): Save and restore restriction.
8013
8014 2003-06-12 Dave Love <fx@gnu.org>
8015
8016 * alloca.c (alloca): Declare arg as size_t.
8017
8018 * sysdep.c: Remove redundant include of unistd.h, stdlib.h.
8019 Use HAVE_DECL_SYS_SIGLIST, not SYS_SIGLIST_DECLARED.
8020
8021 2003-06-11 Dave Love <fx@gnu.org>
8022
8023 * search.c (shrink_regexp_cache): Use xrealloc.
8024 (syms_of_search): Use xmalloc.
8025
8026 2003-06-10 Kim F. Storm <storm@cua.dk>
8027
8028 * xdisp.c (phys_cursor_in_rect_p): Fix 2003-05-24 change.
8029 Adjust phys_cursor.x to be relative to window box, rather than
8030 text area before checking -- to ensure cursor is redrawn when
8031 exposing window.
8032 Note: This also fixes a similar (older) bug if display margins
8033 are present.
8034
8035 2003-06-06 Kenichi Handa <handa@m17n.org>
8036
8037 * coding.c (encoding_buffer_size): If coding->type is
8038 coding_type_ccl, double magnification on CRLF encoding.
8039
8040 2003-06-06 Jason Rumney <jasonr@gnu.org>
8041
8042 * w32reg.c (SYSTEM_DEFAULT_RESOURCES): New constant.
8043 (w32_get_string_resource): Try SYSTEM_DEFAULT_RESOURCES last.
8044
8045 * xfaces.c (Finternal_face_x_get_resource): Do it on Windows and
8046 Mac too.
8047
8048 2003-06-05 Dave Love <fx@gnu.org>
8049
8050 * strftime.c: Merge changes from gnulib.
8051
8052 * mktime.c (__mktime_internal): Merge changes from gnulib
8053 involving year 69 and dst2.
8054
8055 Changes to merge with gnulib version and be consistent with the
8056 autoconf test:
8057
8058 * getloadavg.c: Set NLIST_STRUCT from HAVE_NLIST_H.
8059 Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not NLIST_NAME_UNION.
8060 [HAVE_LOCALE_H]: Include locale.h.
8061 (getloadavg) [HAVE_SETLOCALE]: Run sscanf in C locale.
8062
8063 2003-06-05 Kim F. Storm <storm@cua.dk>
8064
8065 * window.c (coordinates_in_window): Convert X and Y to window
8066 relative coordinates inside mode-line and header-line parts.
8067 Convert X and Y to margin area relative coordinates inside left
8068 and right display margin parts.
8069
8070 2003-06-05 Jason Rumney <jasonr@gnu.org>
8071
8072 * w32fns.c (add_system_logical_colors_to_map): New function.
8073 (Fx_open_connection): Use it.
8074
8075 2003-06-04 Stefan Monnier <monnier@cs.yale.edu>
8076
8077 * process.c (allocate_pty): Revert part of the previous patch.
8078 (Faccept_process_output): Simplify.
8079
8080 2003-06-04 Jason Rumney <jasonr@gnu.org>
8081
8082 * termhooks.h (enum event_kind): Remove MOUSE_WHEEL_EVENT.
8083
8084 * keyboard.c (Qmouse_wheel, mouse_wheel_syms)
8085 (lispy_mouse_wheel_names): Remove.
8086 (syms_of_keyboard): Remove Qmouse_wheel and mouse_wheel_syms.
8087 Always define drag_and_drop_syms.
8088
8089 * macterm.c (XTread_socket): Map mouse wheel events to Emacs
8090 WHEEL_EVENT events.
8091
8092 2003-06-03 Stefan Monnier <monnier@cs.yale.edu>
8093
8094 * xdisp.c (update_tool_bar): Add missing UNGCPRO.
8095
8096 * buffer.c (init_buffer_once): Make kill-buffer-hook permanent-local.
8097
8098 2003-06-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8099
8100 * gtkutil.c (make_menu_item): Make sure we don't crash on a NULL
8101 menu item label.
8102
8103 2003-06-03 Richard M. Stallman <rms@gnu.org>
8104
8105 * window.c (Fwindow_edges): Doc fix.
8106 (Fwindow_pixel_edges, Fwindow_inside_edges)
8107 (Fwindow_inside_pixel_edges): New functions.
8108 (syms_of_window): defsubr them.
8109
8110 * window.h (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
8111 (WINDOW_MODE_LINE_LINES, WINDOW_HEADER_LINE_LINES): New macros.
8112
8113 2003-06-02 Stefan Monnier <monnier@cs.yale.edu>
8114
8115 * dispnew.c (Fsit_for): Don't lie about the number of args.
8116
8117 2003-06-02 Dave Love <fx@gnu.org>
8118
8119 * callproc.c: Use HAVE_FCNTL_H, not USG5.
8120 (syms_of_callproc) <process-environment>: Doc fix.
8121
8122 * doc.c: Use HAVE_FCNTL_H, not USG5.
8123
8124 * xfaces.c (font_rescale_ratio): Fix for K&R.
8125
8126 * termcap.c: Use HAVE_FCNTL_H, not _POSIX_VERSION.
8127
8128 * mem-limits.h: Use HAVE_SYS_RESOURCE_H, HAVE_SYS_VLIMIT_H.
8129
8130 * lread.c [HAVE_FCNTL_H]: Include fcntl.h.
8131
8132 * gtkutil.c: Include keyboard.h, charset.h, coding.h.
8133 (xg_create_frame_widgets): Use ENCODE_UTF_8.
8134
8135 * xterm.c (Qutf_8): Move to coding.c
8136
8137 * xmenu.c (ENCODE_MENU_STRING): New.
8138 (list_of_panes, list_of_items, digest_single_submenu, xmenu_show):
8139 Use it.
8140
8141 * coding.h (ENCODE_UTF_8): New.
8142 (Qutf_8): Declare.
8143
8144 * coding.c (Qutf_8): New.
8145 (syms_of_coding): Intern it.
8146
8147 * fns.c: Doc fixes.
8148
8149 2003-06-02 Kenichi Handa <handa@m17n.org>
8150
8151 * buffer.c (Fset_buffer_multibyte): Fix previous change.
8152
8153 2003-06-01 Stefan Monnier <monnier@cs.yale.edu>
8154
8155 * lread.c (openp): Make sure STR is a string.
8156
8157 2003-06-01 David Ponce <david@dponce.com>
8158
8159 * termhooks.h (enum event_kind): Add new WHEEL_EVENT event.
8160 Declare MOUSE_WHEEL_EVENT only if MAC_OSX defined.
8161
8162 * keyboard.c (Qmouse_wheel): Declare only if MAC_OSX defined.
8163 (mouse_wheel_syms, lispy_mouse_wheel_names): Likewise.
8164 (discard_mouse_events): Discard WHEEL_EVENT events too.
8165 (lispy_wheel_names, wheel_syms): New.
8166 (syms_of_keyboard): Init and staticpro `wheel_syms'. Init and
8167 staticpro `Qmouse_wheel' and `mouse_wheel_syms' only if MAC_OSX defined.
8168 (make_lispy_event): Add WHEEL_EVENT handler.
8169
8170 * w32term.c (construct_mouse_wheel): Construct WHEEL_EVENT.
8171 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
8172 WHEEL_EVENT events.
8173
8174 2003-05-31 John Paul Wallington <jpw@gnu.org>
8175
8176 * Makefile.in (lisp, shortlisp): byte-run, float-sup, map-ynp, and
8177 timer are in lisp/emacs-lisp.
8178
8179 2003-05-31 Kenichi Handa <handa@m17n.org>
8180
8181 * buffer.c (Fset_buffer_multibyte): Correctly recover a narrowed
8182 region when a buffer is changed to unibyte.
8183
8184 * charset.h (VALID_LEADING_CODE_P): New macro.
8185 (UNIBYTE_STR_AS_MULTIBYTE_P): Check more rigidly.
8186
8187 * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): If coding->flags
8188 is nonzero, accept multibyte form of eight-bit-control chars.
8189 (decode_composition_emacs_mule): Likewise.
8190 (decode_coding_emacs_mule): Likewise.
8191 (encode_coding_emacs_mule): If coding->flags is nonzero, produce
8192 multibyte form of eight-bit-control chars.
8193
8194 * fileio.c (Qauto_save_coding, auto_save_coding): New variables.
8195 (Finsert_file_contents): If coding-system-for-read is bound to
8196 Qauto_save_coding, use the coding system emacs-mule with special
8197 setting for recovering a file.
8198 (choose_write_coding_system): On auto saving, use the coding
8199 system emacs-mule with special setting for auto saving.
8200 (syms_of_fileio) <Qauto_save_coding>: Intern and staticpro it.
8201
8202 2003-05-30 Kenichi Handa <handa@m17n.org>
8203
8204 * coding.c (ccl_coding_driver): Set ccl->eight_bit_control
8205 properly before calling ccl_driver.
8206
8207 * ccl.h (struct ccl_program) <eight_bit_control>: Comment fixed.
8208
8209 * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when it is nonzero.
8210 (ccl_driver): Initialize extra_bytes to ccl->eight_bit_control.
8211 (setup_ccl_program): Initialize ccl->eight_bit_control to zero.
8212
8213 2003-05-29 Glenn Morris <gmorris@ast.cam.ac.uk>
8214
8215 * xfaces.c (realize_default_face): Do not abort if lface is
8216 non-existent - reverts change from 2003-05-19.
8217
8218 2003-05-29 Kenichi Handa <handa@m17n.org>
8219
8220 * coding.c (decode_coding_iso2022): Pay attention to the byte
8221 sequence of CTEXT extended segment, and retain those bytes as is.
8222
8223 2003-05-28 Kenichi Handa <handa@m17n.org>
8224
8225 * coding.c (ENCODE_UNSAFE_CHARACTER): Adjust for the name change
8226 of CODING_REPLACEMENT_CHARACTER.
8227 (decode_coding_iso2022): If CODING_FLAG_ISO_SAFE, set
8228 CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in coding->mode, and
8229 check this flag on encoding.
8230 (encode_coding_sjis_big5):
8231 Check CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag of coding->mode.
8232 (Fset_terminal_coding_system_internal):
8233 Set CODING_MODE_INHIBIT_UNENCODABLE_CHAR flag in terminal_coding.mode
8234 instead of setting CODING_FLAG_ISO_SAFE flag in terminal_coding.flags.
8235
8236 * coding.h (CODING_REPLACEMENT_CHARACTER): Rename from
8237 CODING_INHIBIT_CHARACTER_SUBSTITUTION.
8238 (CODING_MODE_INHIBIT_UNENCODABLE_CHAR): New macro.
8239
8240 2003-05-28 Richard M. Stallman <rms@gnu.org>
8241
8242 * print.c (syms_of_print) <print-escape-nonascii>: Doc fix.
8243
8244 * eval.c (unbind_to): Move init of this_binding to separate statement.
8245
8246 2003-05-28 Kim F. Storm <storm@cua.dk>
8247
8248 * xdisp.c (expose_window): Fix error in calculation of
8249 window relative coordinates of area to redisplay.
8250
8251 2003-05-27 Jason Rumney <jasonr@gnu.org>
8252
8253 * w32term.c (GET_WHEEL_DELTA_WPARAM): New macro.
8254
8255 2003-05-27 David Ponce <david@dponce.com>
8256
8257 Handle W32 mouse wheel events as mouse click events, like in X.
8258
8259 * keyboard.c (make_lispy_event) [WINDOWSNT]: Don't handle
8260 MOUSE_WHEEL_EVENT anymore.
8261
8262 * w32term.c (construct_mouse_wheel): Result is a MOUSE_CLICK_EVENT.
8263 Scrolling down/up the mouse wheel is respectively mapped to mouse
8264 button 4 and 5.
8265 (w32_read_socket): Map w32 WM_MOUSEWHEEL events to Emacs
8266 MOUSE_CLICK_EVENT events. Forward w32 MSH_MOUSEWHEEL events as
8267 WM_MOUSEWHEEL events.
8268
8269 2003-05-27 Andreas Schwab <schwab@suse.de>
8270
8271 * buffer.c (syms_of_buffer) <default-direction-reversed>: Doc fix.
8272
8273 * xdisp.c (try_window_id): Avoid aborting if PT is inside a
8274 partially visible line.
8275
8276 * alloc.c (Fgarbage_collect): Fix last change.
8277
8278 2003-05-26 John Paul Wallington <jpw@gnu.org>
8279
8280 * xfns.c (Fx_create_frame): Don't call Qface_set_after_frame_default.
8281
8282 2003-05-25 Stefan Monnier <monnier@cs.yale.edu>
8283
8284 * window.c (Fset_window_buffer): Add type of `keep_margins'.
8285 (Fset_window_fringes, Fset_window_scroll_bars): Declare before use.
8286
8287 * window.h (window_box_text_cols): Declare.
8288
8289 * xdisp.c (window_text_bottom_y, draw_row_fringe_bitmaps)
8290 (x_draw_vertical_border): Remove unused var `f'.
8291
8292 * xfaces.c (build_scalable_font_name): Remove `unused var
8293 pixel_size' warning.
8294
8295 * xfns.c (png_load): Remove `unused vars intent, image_gamma' warning.
8296
8297 * unexelf.c (unexec): Remove `unused var n' warning.
8298
8299 * strftime.c (my_strftime_localtime_r): Remove `defined but
8300 unused' warning.
8301
8302 * process.c (allocate_pty): Remove `unused var stb' and
8303 `cp might be used uninitialized' warnings.
8304
8305 * dispnew.c (mode_line_string): Remove unused var `f'.
8306
8307 * coding.c (find_safe_codings): Remove unused var `i'.
8308
8309 * bytecode.c (Fbyte_code): Remove `unused val' warning.
8310
8311 * buffer.c (Fkill_buffer): Remove unused var `list'.
8312
8313 * alloc.c (Fgarbage_collect): Remove `unused var tail' warning.
8314
8315 2003-05-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
8316
8317 * frame.c (make_frame): Condition want_fullscreen with
8318 HAVE_WINDOW_SYSTEM.
8319
8320 2003-05-25 Juanma Barranquero <lektu@terra.es>
8321
8322 * window.c (Fset_window_scroll_bars): Fix typo in argument name.
8323 (Fwindow_scroll_bars): Fix typo in docstring.
8324
8325 2003-05-24 Kim F. Storm <storm@cua.dk>
8326
8327 The following changes serve several purposes:
8328
8329 1) Swap the position of fringes and display margins in windows, i.e.
8330 the fringes are now displayed between the margins and the text area
8331 (by default).
8332
8333 2) Allow fringe and scroll bar parameters to be set per-buffer and
8334 per-window (like display margins). Such settings are now stored
8335 in window configurations, preserved when frames are resized, and
8336 copied when windows are split vertically or horizontally.
8337 Several bugs related to display margins have been fixed.
8338
8339 3) Consistently use FRAME_FONT and FRAME_FONTSET macros.
8340
8341 4) Use FRAME_COLUMN_WIDTH (f) consistently throughout the code
8342 rather than FRAME_WIDTH (FRAME_FONT (f)).
8343
8344 5) Introduce a consistent naming of variables, members and macros
8345 depending on whether their value is measured in pixels or in
8346 canonical columns/lines. Pixel dimensions are named *_width and
8347 *_height, while canonical columns/lines are named *_cols and
8348 *_lines. Pixel positions are named *_x and *_y, while column/line
8349 positions are named *_col and *_line.
8350
8351 6) Consolidate more of the X, W32, and MAC gui code by moving
8352 common data into struct frame, and generalize it for the non-gui
8353 case by using suitable defaults.
8354
8355 7) Cleanup and consolidate the macros controlling frame and window
8356 layout into frame.h and window.h, and generalize the use of the
8357 various window_box_* functions (enhanced to handle the new fringe
8358 position and the per-window fringe and scroll bar settings).
8359
8360 * frame.h (struct frame): Rename members height to text_lines,
8361 width to text_cols, window_height to total_lines, window_width to
8362 total_cols, new_height to new_text_lines, new_width to
8363 new_text_cols. All uses changed.
8364 (struct frame): New members which consolidate common members of
8365 x_output, w32_output, and mac_output structures: left_pos,
8366 top_pos, pixel_height, pixel_width, x_pixels_diff, y_pixels_diff,
8367 win_gravity, size_hint_flags, border_width, internal_border_width,
8368 line_height, fringe_cols, left_fringe_width, right_fringe_width,
8369 want_fullscreen. All uses changed.
8370 (struct frame): New member column_width contaning the canonical
8371 column width, analogue to line_height. All uses changed.
8372 (struct frame): Rename members scroll_bar_pixel_width to
8373 config_scroll_bar_width, and scroll_bar_cols to
8374 config_scroll_bar_cols. All uses changed.
8375 (struct frame): New member scroll_bar_actual_width which
8376 consolidates and renames the vertical_scroll_bar_extra member of
8377 x_output, w32_output, and mac_output structures. All uses changed.
8378 (FRAME_PIXEL_HEIGHT): Rename from PIXEL_HEIGHT and moved
8379 from x/w32/macterm.h files. All uses changed. Also change code
8380 which referred to f->output_data...->pixel_height.
8381 (FRAME_PIXEL_WIDTH): Rename from PIXEL_WIDTH and moved
8382 from x/w32/macterm.h files. All uses changed. Also change code
8383 which referred to f->output_data...->pixel_width.
8384 (FRAME_LINES): Rename from FRAME_HEIGHT. All uses changed.
8385 Also change code which referred to f->height.
8386 (FRAME_COLS): Rename from FRAME_WIDTH. All uses changed.
8387 Also change code which referred to f->width.
8388 (FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH): Remove macros; change uses
8389 to update new_text_lines and new_text_cols members directly.
8390 (FRAME_CONFIG_SCROLL_BAR_WIDTH): Rename from
8391 FRAME_SCROLL_BAR_PIXEL_WIDTH. All uses changed.
8392 (FRAME_CONFIG_SCROLL_BAR_COLS): Rename from
8393 FRAME_SCROLL_BAR_COLS. All uses changed.
8394 (FRAME_LEFT_SCROLL_BAR_COLS, FRAME_RIGHT_SCROLL_BAR_COLS):
8395 Rename from FRAME_LEFT_SCROLL_BAR_WIDTH and
8396 FRAME_RIGHT_SCROLL_BAR_WIDTH, resp. All uses changed.
8397 (FRAME_SCROLL_BAR_AREA_WIDTH, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
8398 (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH): New macros.
8399 (FRAME_TOTAL_COLS): Rename from FRAME_WINDOW_WIDTH.
8400 (SET_FRAME_COLS): Rename from SET_FRAME_WIDTH.
8401 (FRAME_TOTAL_COLS_ARG): Rename from FRAME_WINDOW_WIDTH_ARG.
8402 (WINDOW_VERTICAL_SCROLL_BAR_COLUMN): Remove unused macro.
8403 (WINDOW_VERTICAL_SCROLL_BAR_HEIGHT): Remove unused macro.
8404 (FRAME_LINE_HEIGHT): Rename from CANON_Y_UNIT.
8405 Unconditionally return line_height member (it now has proper value
8406 also for non-window frames).
8407 (FRAME_COLUMN_WIDTH): Rename from CANON_X_UNIT. Unconditionally
8408 return new column_width member (rather than the default font width).
8409 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
8410 (FRAME_RIGHT_FRINGE_WIDTH): Rename from FRAME_X_... and moved
8411 from x/w32/macterm.h files. Unconditionally return corresponding
8412 member of frame structure (they now have proper values also for
8413 non-window frames).
8414 (FRAME_TOTAL_FRINGE_WIDTH): Rename from FRAME_FRINGE_WIDTH.
8415 Calculate return value from left and right widths.
8416 (FRAME_INTERNAL_BORDER_WIDTH): Unconditionally return
8417 internal_border_width member (has proper value for non-window frame).
8418 (FRAME_PIXEL_X_FROM_CANON_X): Rename from PIXEL_X_FROM_CANON_X.
8419 (FRAME_PIXEL_Y_FROM_CANON_Y): Rename from PIXEL_Y_FROM_CANON_Y.
8420 (FRAME_CANON_X_FROM_PIXEL_X): Rename from CANON_X_FROM_PIXEL_X.
8421 (FRAME_CANON_Y_FROM_PIXEL_Y): Rename from CANON_Y_FROM_PIXEL_Y.
8422 (FRAME_LINE_TO_PIXEL_Y): Rename from CHAR_TO_PIXEL_ROW,
8423 consolidated from xterm.h, macterm.h, and w32term.h.
8424 (FRAME_COL_TO_PIXEL_X): Rename from CHAR_TO_PIXEL_COL,
8425 consolidated from xterm.h, macterm.h, and w32term.h.
8426 (FRAME_TEXT_COLS_TO_PIXEL_WIDTH): Rename from
8427 CHAR_TO_PIXEL_WIDTH consolidated from x/mac/w32term.h.
8428 (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Rename from
8429 CHAR_TO_PIXEL_HEIGHT consolidated from x/mac/w32term.h.
8430 (FRAME_PIXEL_Y_TO_LINE): Rename from PIXEL_TO_CHAR_ROW
8431 consolidated from x/mac/w32term.h.
8432 (FRAME_PIXEL_X_TO_COL): Rename from PIXEL_TO_CHAR_COL
8433 consolidated from x/mac/w32term.h.
8434 (FRAME_PIXEL_WIDTH_TO_TEXT_COLS): Rename from
8435 PIXEL_TO_CHAR_WIDTH consolidated from x/mac/w32term.h.
8436 (FRAME_PIXEL_HEIGHT_TO_TEXT_LINES): Rename from
8437 PIXEL_TO_CHAR_HEIGHT consolidated from x/mac/w32term.h.
8438
8439 * window.h (struct window): Rename members left to left_col,
8440 top to top_line, height to total_lines, width to total_cols,
8441 left_margin_width to left_margin_cols, right_margin_width to
8442 right_margin_cols, orig_height to orig_total_lines, orig_top to
8443 orig_top_line. All uses changed.
8444 (struct window): New members left_fringe_width, right_fringe_width,
8445 fringes_outside_margins, scroll_bar_width, vertical_scroll_bar_type.
8446 (WINDOW_XFRAME, WINDOW_FRAME_COLUMN_WIDTH, WINDOW_FRAME_LINE_HEIGHT):
8447 New macros primarily used to simplify other macros.
8448 (WINDOW_TOTAL_COLS): New macro. Change relevant code that
8449 referred to XINT (w->width).
8450 (WINDOW_TOTAL_LINES): New macro. Change relevant code that
8451 referred to XINT (w->height).
8452 (WINDOW_TOTAL_WIDTH): New macro. Change relevant code that
8453 referred to XINT (w->width) * canon_x_unit.
8454 (WINDOW_TOTAL_HEIGHT): New macro. Change relevant code that
8455 referred to XINT (w->height) * canon_y_unit.
8456 (WINDOW_LEFT_EDGE_COL): New macro. Change relevant code that
8457 referred to XINT (w->left).
8458 (WINDOW_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_EDGE. Change
8459 all uses and code that referred to XINT (w->left) + XINT (w->width).
8460 (WINDOW_TOP_EDGE_LINE): New macro. Change relevant code that
8461 referred to XINT (w->top).
8462 (WINDOW_BOTTOM_EDGE_LINE): New macro. Change relevant code that
8463 referred to XINT (w->top) + XINT (w->height).
8464 (WINDOW_LEFT_EDGE_X): New macro. Change relevant code that
8465 referred to XINT (w->left) * canon_x_unit.
8466 (WINDOW_RIGHT_EDGE_X): New macro. Change relevant code that
8467 referred to (XINT (w->left) + XINT (w->width)) * canon_x_unit.
8468 (WINDOW_TOP_EDGE_Y): New macro. Change relevant code that
8469 referred to XINT (w->top) * canon_y_unit.
8470 (WINDOW_BOTTOM_EDGE_Y): New macro. Change relevant code that
8471 referred to (XINT (w->top) + XINT (w->height)) * canon_y_unit.
8472 (WINDOW_LEFTMOST_P): New macro.
8473 (WINDOW_BOX_LEFT_EDGE_COL): Rename from WINDOW_LEFT_MARGIN.
8474 All uses changed.
8475 (WINDOW_BOX_RIGHT_EDGE_COL): Rename from WINDOW_RIGHT_MARGIN.
8476 All uses changed.
8477 (WINDOW_BOX_LEFT_EDGE_X): Rename from
8478 WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, moved from dispextern.h.
8479 Do not exclude left fringe width.
8480 (WINDOW_BOX_RIGHT_EDGE_X): Rename from
8481 WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X, moved from dispextern.h.
8482 Do not exclude fringe widths.
8483 (WINDOW_LEFT_FRINGE_WIDTH, WINDOW_RIGHT_FRINGE_WIDTH)
8484 (WINDOW_FRINGE_COLS, WINDOW_TOTAL_FRINGE_WIDTH): New macros.
8485 Change relevant code that referred to FRAME_LEFT_FRINGE_WIDTH,
8486 FRAME_RIGHT_FRINGE_WIDTH, FRAME_FRINGE_COLS, and
8487 FRAME_TOTAL_FRINGE_WIDTH to allow per-window fringe settings.
8488 (WINDOW_HAS_FRINGES_OUTSIDE_MARGINS): New macro.
8489 (WINDOW_VERTICAL_SCROLL_BAR_TYPE, WINDOW_HAS_VERTICAL_SCROLL_BAR)
8490 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
8491 (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
8492 (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
8493 New macros. Change code which referenced corresponding
8494 FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS,
8495 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT,
8496 FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT,
8497 FRAME_SCROLL_BAR_PIXEL_WIDTH, and FRAME_SCROLL_BAR_COLS macros to
8498 allow per-window scroll-bar settings.
8499 (WINDOW_LEFT_SCROLL_BAR_COLS, WINDOW_RIGHT_SCROLL_BAR_COLS): New macros.
8500 (WINDOW_LEFT_SCROLL_BAR_AREA_WIDTH): New macro. Change code that
8501 referred to FRAME_LEFT_SCROLL_BAR_WIDTH.
8502 (WINDOW_RIGHT_SCROLL_BAR_AREA_WIDTH): New macro. Change code
8503 that referred to FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT and
8504 FRAME_SCROLL_BAR_WIDTH.
8505 (WINDOW_SCROLL_BAR_COLS, WINDOW_SCROLL_BAR_AREA_WIDTH)
8506 (WINDOW_SCROLL_BAR_AREA_X): New macros.
8507 (WINDOW_HEADER_LINE_HEIGHT): Rename from
8508 WINDOW_DISPLAY_HEADER_LINE_HEIGHT, moved from dispextern.h.
8509 (WINDOW_BOX_HEIGHT_NO_MODE_LINE): Rename from
8510 WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, moved from dispextern.h.
8511 (WINDOW_BOX_TEXT_HEIGHT): Rename from
8512 WINDOW_DISPLAY_PIXEL_WIDTH, moved from dispextern.h.
8513 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
8514 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
8515 (WINDOW_TEXT_TO_FRAME_PIXEL_X): Move here from dispextern.h.
8516 (WINDOW_LEFT_MARGIN_WIDTH): Rename from
8517 WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH, moved from dispextern.h.
8518 (WINDOW_RIGHT_MARGIN_WIDTH): Rename from
8519 WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, moved from dispextern.h.
8520 (window_from_coordinates): Update prototype.
8521 (Fset_window_buffer): Update EXFUN.
8522 (set_window_buffer): Update prototype.
8523
8524 * dispextern.h (struct glyph_matrix): Rename members window_left_x
8525 to window_left_col, window_top_y to window_top_line. All uses
8526 changed.
8527 (FRAME_INTERNAL_BORDER_WIDTH_SAFE): Remove macro; can now safely
8528 use FRAME_INTERNAL_BORDER_WIDTH macro instead as
8529 internal_border_width is now set to 0 for non-window frames.
8530 (WINDOW_DISPLAY_PIXEL_WIDTH, WINDOW_DISPLAY_PIXEL_HEIGHT)
8531 (WINDOW_DISPLAY_MODE_LINE_HEIGHT, WINDOW_DISPLAY_HEADER_LINE_HEIGHT)
8532 (WINDOW_DISPLAY_HEIGHT_NO_MODE_LINE, WINDOW_DISPLAY_TEXT_HEIGHT)
8533 (WINDOW_DISPLAY_LEFT_EDGE_PIXEL_X, WINDOW_DISPLAY_RIGHT_EDGE_PIXEL_X)
8534 (WINDOW_DISPLAY_TOP_EDGE_PIXEL_Y, WINDOW_DISPLAY_BOTTOM_EDGE_PIXEL_Y)
8535 (WINDOW_TO_FRAME_PIXEL_X, WINDOW_TO_FRAME_PIXEL_Y)
8536 (FRAME_TO_WINDOW_PIXEL_X, FRAME_TO_WINDOW_PIXEL_Y)
8537 (WINDOW_DISPLAY_LEFT_AREA_PIXEL_WIDTH)
8538 (WINDOW_DISPLAY_RIGHT_AREA_PIXEL_WIDTH, WINDOW_WANTS_MODELINE_P):
8539 Move to window.h and renamed [see window.h changes].
8540 (WINDOW_AREA_TO_FRAME_PIXEL_X, WINDOW_AREA_PIXEL_WIDTH)
8541 (WINDOW_DISPLAY_TEXT_AREA_PIXEL_WIDTH): Remove macros.
8542 (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
8543 Use WINDOW_TOTAL_LINES.
8544 (frame_update_line_height): Remove prototype.
8545
8546 * buffer.h (struct buffer): Rename members measured in columns:
8547 left_margin_width to left_margin_cols, right_margin_width to
8548 right_margin_cols. All uses changed.
8549 New members left_fringe_width, right_fringe_width,
8550 fringes_outside_margins for per-buffer fringe settings.
8551 New members scroll_bar_width and vertical_scroll_bar_type for
8552 per-buffer scroll bar settings.
8553
8554 * buffer.c (init_buffer_once): Set buffer_defaults and
8555 buffer_local_flags for new buffer-local variables
8556 left_fringe_width, right_fringe_width, fringes_outside_margins,
8557 scroll_bar_width, and vertical_scroll_bar_type.
8558 (syms_of_buffer): Defvar_per_buffer them, and defvar_lisp_nopro
8559 default-* variables for them.
8560
8561 * dispnew.c: Make (many) trivial substitutions for renamed and
8562 new macros in dispextern.h, frame.h and window.h.
8563 (mode_line_string): No need to adjust width for mode lines, as it
8564 is already adjusted by the caller.
8565 (marginal_area_string): Handle fringes inside/outside margins.
8566
8567 * frame.c: Make (many) trivial substitutions for renamed and
8568 new macros in dispextern.h, frame.h and window.h.
8569 (make_frame): Initialize left_fringe_width, right_fringe_width,
8570 fringe_cols, scroll_bar_actual_width, border_width,
8571 internal_border_width, column_width, line_height, x_pixels_diff,
8572 y_pixels_diff, want_fullscreen, size_hint_flags, and win_gravity
8573 members with values suitable for a non-window frames.
8574
8575 * gtkutil.c: Make (many) trivial substitutions for renamed and
8576 new macros in dispextern.h, frame.h and window.h.
8577
8578 * indent.c: Make (few) trivial substitutions for renamed and
8579 new macros in dispextern.h, frame.h and window.h.
8580
8581 * keyboard.c: Make (many) trivial substitutions for renamed and
8582 new macros in dispextern.h, frame.h and window.h.
8583 (make_lispy_event): Use window positions returned from
8584 window_from_coordinates when constructing the lisp event for
8585 MOUSE_CLICK_EVENT and DRAG_N_DROP_EVENT, rather than calculating
8586 (incorrect) values locally.
8587 (make_lispy_movement): Use window positions returned from
8588 window_from_coordinates when constructing the lisp event, rather
8589 than calculating (incorrect) values locally.
8590
8591 * scroll.c: Make (some) trivial substitutions for renamed and
8592 new macros in dispextern.h, frame.h and window.h.
8593
8594 * sunfns.c (Fsun_menu_internal): Adapt to per-window fringes and
8595 scroll-bars.
8596
8597 * sysdep.c: Make (few) trivial substitutions for renamed and
8598 new macros in dispextern.h, frame.h and window.h.
8599
8600 * term.c: Make (some) trivial substitutions for renamed and
8601 new macros in dispextern.h, frame.h and window.h.
8602
8603 * widget.c: Make (few) trivial substitutions for renamed and
8604 new macros in dispextern.h, frame.h and window.h.
8605
8606 * window.c: Make (many) trivial substitutions for renamed and
8607 new macros in dispextern.h, frame.h and window.h.
8608 (make_window): Initialize new members
8609 left_margin_cols, right_margin_cols, left_fringe_width,
8610 right_fringe_width, fringes_outside_margins, scroll_bar_width,
8611 and vertical_scroll_bar_type.
8612 (coordinates_in_window): Adapt to new fringe/margin positions
8613 and per-window fringes and scroll-bars.
8614 Fix bug related to incorrectly adjusting coordinates by
8615 frame's internal_border_width (the effect normally negible since
8616 the internal_border_width is typically 0 or 1 pixel, but very
8617 noticeable for an internal_border_width of e.g. 25 pixels).
8618 Upon successful return (other than ON_NOTHING), the coordinates
8619 are now always properly converted to window relative for the
8620 given display element.
8621 (window_from_coordinates): Add new parameters wx and wy to
8622 return the window relative x and y position in the returned
8623 window and part. A null arg means, don't return the position.
8624 All callers changed.
8625 (adjust_window_margins): New function which may reduce the width
8626 of the display margins if a window's text area is too small after
8627 resizing or splitting windows.
8628 (size_window): Fix bug that did not account for display margin
8629 widths when checking the minimum width of a window; use
8630 adjust_window_margins.
8631 (set_window_buffer): Call Fset_window_fringes and
8632 Fset_window_scroll_bars to setup per-window elements.
8633 Add new arg KEEP_MARGINS_P. Non-nil means to keep window's
8634 existing display margin, fringe widths, and scroll bar settings
8635 (e.g. after splitting a window or resizing the frame).
8636 All callers changed.
8637 (Fset_window_buffer): New arg KEEP_MARGINS. All callers changed.
8638 (Fsplit_window): Duplicate original window's display margin,
8639 fringe, and scroll-bar settings; then call Fset_window_buffer with
8640 KEEP_MARGINS non-nil. This fixes a bug which caused a split
8641 window to only preserve the display margins in one of the windows.
8642 When splitting horizontally, call adjust_window_margins on both
8643 windows to ensure that the text area of the new windows is non too
8644 narrow. This fixes a bug which could cause Emacs to trap if the
8645 width of the split window was less than the width of the display
8646 margins.
8647 (window_box_text_cols): Rename from window_internal_width.
8648 All uses changed. Adapt to per-window fringes and scroll bars.
8649 Fix bug that caused vertical separator to be subtracted also on
8650 window frames. Fix another bug that did not reduce the returned
8651 value by the columns used for display margins.
8652 (window_scroll_line_based): Fix bug related to scrolling too much
8653 when display margins are present (implicitly fixed by the fix to
8654 window_box_text_cols).
8655 (scroll_left, scroll_right): Fix bug related to scrolling too far
8656 by default when display margins are present (implicitly fixed by
8657 the fix to window_box_text_cols).
8658 (struct saved_window): Rename members left to left_col, top to
8659 top_line, width to total_cols, height to total_lines, orig_top to
8660 orig_top_line, orig_height to orig_total_lines. All uses changed.
8661 New members left_margin_cols, right_margin_cols,
8662 left_fringe_width, right_fringe_width, fringes_outside_margins,
8663 scroll_bar_width, and vertical_scroll_bar_type for saving
8664 per-window display elements.
8665 (Fset_window_configuration): Restore display margins, fringes,
8666 and scroll bar settings. This fixes a bug which caused display
8667 margins to be discarded when saving and restoring a window
8668 configuration.
8669 (save_window_save): Save display margins, fringes, and scroll bar
8670 settings. This fixes a bug which caused display margins to be
8671 discarded when saving and restoring a window configuration.
8672 (Fset_window_margins): Do nothing if display margins are not
8673 really changed. Otherwise, call adjust_window_margins to ensure
8674 the text area doesn't get too narrow. This fixes a bug which
8675 could cause Emacs to trap if setting display margins wider than
8676 the width of the window.
8677 (Fset_window_fringes): New defun to allow user to specifically set
8678 this window's fringe widths and position vs. display margins.
8679 (Fwindow_fringes): New defun to return window's actual fringe settings.
8680 (Fset_window_scroll_bars): New defun to allow user to specifically
8681 set this window's scroll bar width and position.
8682 (Fwindow_scroll_bars): New defun to return window's actual scroll
8683 bar settings.
8684 (compare_window_configurations): Also compare display margins,
8685 fringes, and scroll bar settings.
8686 (syms_of_window): Defsubr new defuns for fringe and scroll bars.
8687
8688 * xdisp.c: Make (many) trivial substitutions for renamed and
8689 new macros in dispextern.h, frame.h and window.h.
8690 (window_box_width): Adapt to per-window fringes and scroll bars,
8691 and new fringe vs. display margin position. Note that returned
8692 value is no longer guaranteed to be a whole multiple of the frame
8693 column width, since per-window fringes may now be any width.
8694 (window_box_left_offset): New function like window_box_left, but
8695 value is relative to left border of window (rather than frame).
8696 (window_box_right_offset): New function like window_box_right,
8697 but value is relative to left border of window.
8698 (window_box_left): Adapt to per-window fringes and scroll bars,
8699 and new fringe vs. display margin position. Simplify by using
8700 WINDOW_LEFT_EDGE_X and window_box_left_offset.
8701 (window_box): Allow null args for unnecessary return values;
8702 change/simplify relevant callers.
8703 (x_y_to_hpos_vpos): Adapt to per-window fringes and scroll bars,
8704 and new fringe vs. display margin position.
8705 Use window_box_left_offset and window_box_right_offset
8706 (get_glyph_string_clip_rect): Adapt to per-window fringes and
8707 scroll bars, and new fringe vs. display margin position.
8708 Use WINDOW_LEFT_EDGE_X and WINDOW_TOTAL_WIDTH.
8709 (draw_fringe_bitmap): Rework to handle per-window fringes and new
8710 fringe vs. display margin position.
8711 (hscroll_window_tree): Use window_box_width instead of window_box.
8712 (redisplay_window): Adapt to per-window scroll bars.
8713 (draw_glyphs): Rework to handle per-window fringes and scroll
8714 bars, and new fringe vs. display margin position.
8715 Use WINDOW_LEFT_EDGE_X, WINDOW_TOTAL_WIDTH, and window_box_left.
8716 (x_clear_end_of_line): Adapt to per-window fringes and scroll
8717 bars, and new fringe vs. display margin position. Fix bug which
8718 increased total width of full_width rows by width of scroll bars
8719 although window's total width already includes that.
8720 (x_fix_overlapping_area): Simplify using window_box_left_offset.
8721 (expose_area): Simplify using window_box_left_offset.
8722 (x_draw_vertical_border): Handle per-window scroll bar settings,
8723 mixing windows with left, right and no scroll bars.
8724
8725 * xfaces.c [WINDOWSNT]: Move redefinition of FONT_WIDTH macro to
8726 where it's used in x_list_fonts (for clarity).
8727 (frame_update_line_height): Remove unused function; functionality
8728 is now done directly when setting the default font in x_set_font.
8729
8730 * xfns.c: Make (many) trivial substitutions for renamed and
8731 new macros in dispextern.h, frame.h and window.h.
8732
8733 * xmenu.c: Make (some) trivial substitutions for renamed and
8734 new macros in dispextern.h, frame.h and window.h.
8735
8736 * xterm.h (struct x_output): Move members left_pos, top_pos,
8737 border_width, pixel_height, pixel_width, line_height,
8738 internal_border_width, vertical_scroll_bar_extra,
8739 left_fringe_width, right_fringe_width, fringe_cols,
8740 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8741 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
8742 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8743 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8744 (PIXEL_WIDTH, PIXEL_HEIGHT)
8745 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8746 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8747 frame.h and renamed [see frame.h changes].
8748 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8749 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8750 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8751 and renamed [see frame.h changes].
8752
8753 * xterm.c: Make (several) trivial substitutions for renamed and
8754 new macros in dispextern.h, frame.h and window.h.
8755 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
8756 (scroll_run): Adapt to new fringe position.
8757 (glyph_rect): Use window coordinates returned from
8758 window_from_coordinates rather than frame_to_window_pixel_xy.
8759 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
8760 scroll-bars.
8761 (handle_one_xevent): Simplify a USE_GTK conditional.
8762 (x_clip_to_row): Remove superfluous whole_line_p arg and code
8763 (fringes are now inside margins, i.e. always in the clipping area).
8764 All callers changed.
8765 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
8766 directly, then call compute_fringe_widths. Don't call
8767 frame_update_line_height.
8768
8769 * w32term.h (struct w32_output): Move members left_pos, top_pos,
8770 border_width, pixel_height, pixel_width, line_height,
8771 internal_border_width, vertical_scroll_bar_extra,
8772 left_fringe_width, right_fringe_width, fringe_cols,
8773 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8774 x_pixels_diff, and y_pixels_diff to struct frame (frame.h).
8775 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8776 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8777 (PIXEL_WIDTH, PIXEL_HEIGHT)
8778 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8779 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8780 frame.h and renamed [see frame.h changes].
8781 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8782 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8783 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8784 and renamed [see frame.h changes].
8785
8786 * w32term.c: Make (several) trivial substitutions for renamed and
8787 new macros in dispextern.h, frame.h and window.h.
8788 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
8789 (glyph_rect): Use window coordinates returned from
8790 window_from_coordinates rather than frame_to_window_pixel_xy.
8791 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
8792 scroll-bars.
8793 (w32_clip_to_row): Remove superfluous whole_line_p arg and code
8794 (fringes are now inside margins, i.e. always in the clipping area).
8795 All callers changed.
8796 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
8797 directly, then call compute_fringe_widths. Don't call
8798 frame_update_line_height.
8799
8800 * w32console.c: Make (few) trivial substitutions for renamed and
8801 new macros in dispextern.h, frame.h and window.h.
8802
8803 * w32fns.c: Make (many) trivial substitutions for renamed and
8804 new macros in dispextern.h, frame.h and window.h.
8805
8806 * w32menu.c: Make (few) trivial substitutions for renamed and
8807 new macros in dispextern.h, frame.h and window.h.
8808
8809 * macterm.h (struct mac_output): Move members left_pos, top_pos,
8810 border_width, pixel_height, pixel_width, line_height,
8811 internal_border_width, vertical_scroll_bar_extra,
8812 left_fringe_width, right_fringe_width, fringe_cols,
8813 fringes_extra, win_gravity, size_hint_flags, want_fullscreen,
8814 x_pixels_diff, y_pixels_diff to struct frame (frame.h).
8815 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): Move to frame.h.
8816 (FRAME_DEFAULT_FONT_WIDTH): Remove macro.
8817 (PIXEL_WIDTH, PIXEL_HEIGHT)
8818 (FRAME_X_FRINGE_COLS, FRAME_X_FRINGE_WIDTH)
8819 (FRAME_X_LEFT_FRINGE_WIDTH, FRAME_X_RIGHT_FRINGE_WIDTH): Move to
8820 frame.h and renamed [see frame.h changes].
8821 (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, CHAR_TO_PIXEL_WIDTH)
8822 (CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW, PIXEL_TO_CHAR_COL)
8823 (PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Move to frame.h
8824 and renamed [see frame.h changes].
8825
8826 * macterm.c: Make (several) trivial substitutions for renamed and
8827 new macros in dispextern.h, frame.h and window.h.
8828 (x_draw_glyph_string_box): Adapt to per-window fringes and scroll-bars.
8829 (glyph_rect): Use window coordinates returned from
8830 window_from_coordinates rather than frame_to_window_pixel_xy.
8831 (XTset_vertical_scroll_bar): Adapt to per-window fringes and
8832 scroll-bars.
8833 (x_clip_to_row): Remove superfluous whole_line_p arg and code
8834 (fringes are now inside margins, i.e. always in the clipping area).
8835 All callers changed.
8836 (x_new_font): Set FRAME_COLUMN_WIDTH and FRAME_LINE_HEIGHT
8837 directly, then call compute_fringe_widths. Don't call
8838 frame_update_line_height.
8839
8840 * macfns.c: Make (several) trivial substitutions for renamed and
8841 new macros in dispextern.h, frame.h and window.h.
8842 (x_real_positions): Set f->x_pixels_diff and f->y_pixels_diff to 0.
8843
8844 * macmenu.c: Make (few) trivial substitutions for renamed and
8845 new macros in dispextern.h, frame.h and window.h.
8846
8847 * msdos.h (struct x_output): Remove members left_pos, top_pos,
8848 and line_height, and use corresponding new members in struct
8849 frame. All uses changed.
8850 (FRAME_LINE_HEIGHT, FRAME_INTERNAL_BORDER_WIDTH): Remove macros;
8851 superseeded by corresponding macros in frame.h.
8852
8853 * msdos.c: Make (several) trivial substitutions for renamed and
8854 new macros in dispextern.h, frame.h and window.h.
8855 (IT_note_mouse_highlight): Use updated window coordinates returned
8856 by window_from_coordinates, rather than adjusting them locally.
8857 (internal_terminal_init): No need to initialize line_height here;
8858 it now defaults to 1.
8859
8860 2003-05-24 Stefan Monnier <monnier@cs.yale.edu>
8861
8862 * keyboard.c (read_key_sequence): Adjust fkey and keytran when
8863 dropping `down' events.
8864
8865 2003-05-24 Andreas Schwab <schwab@suse.de>
8866
8867 * coding.c (find_safe_codings): Fix last change.
8868
8869 2003-05-24 Istvan Marko <mi@imarko.dhs.org> (tiny change)
8870
8871 * xfns.c (x_window): Fix typo from 2003-05-21 change.
8872
8873 2003-05-23 Stefan Monnier <monnier@cs.yale.edu>
8874
8875 * xdisp.c (display_mode_element): Increase max depth.
8876 Simplify the error handling code. Use a different error string
8877 for the case where we hit the depth limit.
8878
8879 * lisp.h (Vfundamental_mode_abbrev_table): Don't declare.
8880
8881 * buffer.c (reset_buffer_local_variables): Remove redundant setting.
8882
8883 2003-05-21 Stefan Monnier <monnier@cs.yale.edu>
8884
8885 * intervals.c (get_local_map): Don't get char-property of previous
8886 point any more: get_pos_property already does it and better.
8887
8888 2003-05-21 Dave Love <fx@gnu.org>
8889
8890 [Merged from unicode branch.]
8891
8892 * xfns.c (x_window, x_window): Use use_xim.
8893
8894 * xterm.c (use_xim): Initialize.
8895 (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
8896 (x_term_init): Maybe set use_xim.
8897
8898 * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
8899
8900 2003-05-21 Jason Rumney <jasonr@gnu.org>
8901
8902 * unexw32.c (_start): Remove _fmode initialization.
8903
8904 * emacs.c (main) [WINDOWSNT]: Move it here.
8905
8906 2003-05-20 Dave Love <fx@gnu.org>
8907
8908 * s/gnu-linux.h (MAIL_USE_FLOCK): Make it conditional.
8909
8910 2003-05-19 Richard M. Stallman <rms@gnu.org>
8911
8912 * xfaces.c (Finternal_set_lisp_face_attribute): Handle Qunspecified
8913 as value for QCfont attribute.
8914 (realize_default_face): lface should already exist; crash if not.
8915 Specify 0 for FORCE_P when calling set_lface_from_font_name.
8916
8917 * frame.c (Fignore_event): Doc fix.
8918
8919 2003-05-19 Kenichi Handa <handa@m17n.org>
8920
8921 * coding.c (decode_coding_string): Handle post-read-conversion
8922 even if the coding doesn't require decoding.
8923
8924 2003-05-18 Richard M. Stallman <rms@gnu.org>
8925
8926 * callproc.c (Fcall_process_region): Doc fix.
8927
8928 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
8929
8930 * lread.c (Fload): Print a message if package is obsolete.
8931
8932 * window.c (Fselect_window): Add optional `norecord' arg.
8933 (select_window_1): Fold into Fselect_window.
8934 (select_window_norecord): New function.
8935 (temp_output_buffer_show): Use it. Preserve current buffer.
8936
8937 * window.h (Fselect_window): Update declaration.
8938
8939 * window.c (delete_window, Fother_window, Fset_window_configuration):
8940 * minibuf.c (read_minibuf):
8941 * macterm.c (x_new_focus_frame):
8942 * frame.c (do_switch_frame, Fset_frame_selected_window, Fdelete_frame):
8943 * callint.c (Fcall_interactively):
8944 * xterm.c (x_new_focus_frame): Pass nil as new arg to Fselect_window.
8945
8946 * buffer.c (Fpop_to_buffer): Pass norecord to Fselect_window.
8947
8948 2003-05-17 David Kastrup <dak@gnu.org>
8949
8950 * process.c (read_process_output): Back out change from 2003-03-09.
8951
8952 2003-05-17 Stefan Monnier <monnier@cs.yale.edu>
8953
8954 * editfns.c (get_pos_property): Don't assume that `object' = nil.
8955
8956 * textprop.c (text_property_stickiness): New arg `buffer'.
8957
8958 * intervals.h (text_property_stickiness): New arg `buffer'.
8959 (get_pos_property): Declare.
8960
8961 * intervals.c (get_local_map): Use get_pos_property, to obey
8962 stickiness and empty overlays.
8963 (create_root_interval, graft_intervals_into_buffer): Use BEG.
8964 (merge_properties, intervals_equal, merge_properties_sticky):
8965 Use XCAR, XCDR.
8966 (adjust_for_invis_intang): Pass new arg to text_property_stickiness.
8967
8968 2003-05-17 Richard M. Stallman <rms@gnu.org>
8969
8970 * minibuf.c (read_minibuf): If buffer is empty, record the default
8971 in the history.
8972 (Fminibuffer_complete_word): When deleting the overlap, take account
8973 of its real position.
8974
8975 * fns.c (map_char_table): Fix previous change.
8976
8977 * syntax.c (find_defun_start):
8978 When open_paren_in_column_0_is_defun_start,
8979 return beginning of buffer.
8980
8981 * lisp.h (map_char_table): Declare added arg.
8982
8983 * fns.c (map_char_table): New arg TABLE gets the master table.
8984 All calls changed.
8985 Process default and inheritance, resorting to Faref if necessary.
8986
8987 * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
8988 (Faccessible_keymaps): Pass new arg to map_char_table.
8989
8990 * fontset.c (Ffontset_info): Pass new arg to map_char_table.
8991
8992 * casetab.c (set_case_table): Pass new arg to map_char_table.
8993
8994 * data.c (let_shadows_buffer_binding_p): Make target of p volatile.
8995
8996 * lisp.h (specbinding_func): New typedef.
8997 (struct specbinding): Use specbinding_func, to put the `volatile'
8998 in the right place.
8999
9000 * alloc.c (Fgarbage_collect): Cast pointers into specpdl
9001 to avoid GCC warning.
9002
9003 2003-05-16 Ralph Schleicher <rs@nunatak.allgaeu.org>
9004
9005 * fileio.c (Fdelete_file): Handle symlinks pointing to directories.
9006
9007 2003-05-15 Stefan Monnier <monnier@cs.yale.edu>
9008
9009 * keyboard.c (apply_modifiers): Don't fill the other cache.
9010
9011 2003-05-14 Stefan Monnier <monnier@cs.yale.edu>
9012
9013 * .gdbinit-union: New file, for USE_LISP_UNION_TYPE users.
9014
9015 * window.h (Qwindowp, Qwindow_live_p, Vwindow_list)
9016 (Fwindow_end, Fselected_window, Fdelete_window, Fwindow_buffer)
9017 (Fget_buffer_window, Fsave_window_excursion, Fsplit_window)
9018 (Fset_window_configuration, Fcurrent_window_configuration)
9019 (compare_window_configurations, Fcoordinates_in_window_p, Fwindow_at)
9020 (Fpos_visible_in_window_p, mark_window_cursors_off)
9021 (window_internal_height, window_internal_width, Frecenter)
9022 (Fscroll_other_window, Fset_window_start, temp_output_buffer_show)
9023 (replace_buffer_in_all_windows, init_window_once, init_window)
9024 (syms_of_window, keys_of_window): Move from lisp.h.
9025 * lisp.h: Move window.c declarations to window.h.
9026
9027 * bytecode.c: Include window.h.
9028 * emacs.c: Include window.h.
9029
9030 * keyboard.c (make_lispy_event): Apply modifiers to multibyte-char key.
9031 (keyremap): Add `parent' field.
9032 (keyremap_step): Use it. Remove `parent' argument.
9033 (read_key_sequence): Setup and use the new `parent' field.
9034
9035 2003-05-11 Stefan Monnier <monnier@cs.yale.edu>
9036
9037 * keyboard.c (adjust_point_for_property): Ensure termination.
9038
9039 2003-05-10 Stefan Monnier <monnier@cs.yale.edu>
9040
9041 * keyboard.c (follow_key): Remove dead variable `did_meta'.
9042 (access_keymap_keyremap, keyremap_step): New funs, extracted from the
9043 duplicated handling of function-key-map and key-translation-map
9044 in read_key_sequence.
9045 (read_key_sequence): Use them.
9046
9047 * keyboard.c (adjust_point_for_property): Try harder to move point
9048 to the non-sticky end of an invisible property.
9049
9050 * xdisp.c (single_display_prop_intangible_p): Make `space' display
9051 property intangible as well.
9052
9053 2003-05-10 Andreas Schwab <schwab@suse.de>
9054
9055 * xmenu.c (single_menu_item): Change last parameter to void* to
9056 avoid warning.
9057
9058 2003-05-09 Richard M. Stallman <rms@gnu.org>
9059
9060 * print.c (Fprin1_to_string): Instead of gcpro, set abort_on_gc.
9061 Bind Qinhibit_modification_hooks to t so there will be no GC.
9062 Rename local `tem' to `save_deactivate_mark'.
9063
9064 * eval.c (specpdl_ptr): Declare volatile.
9065 (unbind_to): Copy the whole binding and decrement specpdl_ptr
9066 before doing the work of unbinding it.
9067
9068 * lisp.h (struct specbinding): Declare elements volatile.
9069 (specpdl_ptr): Declare volatile.
9070
9071 * Makefile.in (alloca.o): Specify -DDO_BLOCK_INPUT in compiling.
9072
9073 * alloca.c: Test DO_BLOCK_INPUT rather than `emacs'
9074 for use of BLOCK_INPUT and inclusion of lisp.h and blockinput.h.
9075
9076 2003-05-08 Dave Love <fx@gnu.org>
9077
9078 * coding.c (Vlast_coding_system_used): Doc fix.
9079
9080 2003-05-07 Jason Rumney <jasonr@gnu.org>
9081
9082 * fileio.c (Ffile_symlink_p): Let handlers handle symlinks even
9083 when system does not support them.
9084
9085 2003-05-05 Stefan Monnier <monnier@cs.yale.edu>
9086
9087 * fileio.c (Qwrite_region_annotate_functions): New var.
9088 (build_annotations): Use it to process the global part of the hook.
9089 (syms_of_fileio): Init and staticpro it.
9090
9091 * keyboard.c (safe_run_hooks_error): Display a message instead of
9092 silently ignoring the error.
9093
9094 2003-05-03 Stefan Monnier <monnier@cs.yale.edu>
9095
9096 * keyboard.c (input_available_signal): Mark static.
9097 (menu_bar_items): Use map_keymap.
9098 (menu_bar_one_keymap): Remove.
9099 (menu_bar_item): Adjust arglist (for use in map_keymap).
9100 Properly hide a second binding when not both are keymaps.
9101
9102 * xmenu.c (struct skp): New struct, to pass args through map_keymap.
9103 (single_keymap_panes): Use it and map_keymap.
9104 (single_menu_item): Use skp as well.
9105
9106 * keymap.h (map_keymap_function_t): New type.
9107 (map_keymap): Declare.
9108
9109 * keymap.c (map_keymap_item, map_keymap_char_table_item, map_keymap)
9110 (map_keymap_call, Fmap_keymap): New functions.
9111 (syms_of_keymap): Defsubr map-keymap.
9112
9113 2003-05-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9114
9115 * gtkutil.c (create_dialog, make_widget_for_menu_item)
9116 (make_menu_item, create_menus, xg_update_menu_item): Don't call
9117 ..._with_mnemonic functions for menu items.
9118
9119 2003-05-01 Kenichi Handa <handa@m17n.org>
9120
9121 * coding.c (coding_system_accept_latin_extra_p): Delete this
9122 function.
9123 (find_safe_codings): Pay attention to
9124 the property tranlsation-table-for-encode of each codings.
9125 (syms_of_coding): Give Qtranslation_table the extra slot number 2.
9126
9127 2003-05-01 Stefan Monnier <monnier@cs.yale.edu>
9128
9129 * eval.c (Funwind_protect): Use func=Fprogn rather than symbol=Qnil.
9130
9131 2003-04-30 Stefan Monnier <monnier@cs.yale.edu>
9132
9133 * eval.c (unbind_to): Don't handle symbol = Qnil any more.
9134
9135 * lisp.h (CHECK): Wrap args in parenthesis.
9136 (specbind): Fix doc: symbol = Qnil is not supported any more.
9137
9138 * bytecode.c (Fbyte_code) <unwind-protect>:
9139 Use Fprogn rather than 0 and Qnil.
9140
9141 * keyboard.c (parse_modifiers_uncached): Parse `down', `drag',
9142 `double', and `triple' modifiers as well.
9143
9144 2003-04-30 Richard M. Stallman <rms@gnu.org>
9145
9146 * keyboard.c (echo_char): Don't clear out a dash that follows a space.
9147
9148 * alloc.c (abort_on_gc): New variable.
9149 (Fgarbage_collect): Abort if abort_on_gc is set.
9150
9151 * lisp.h (abort_on_gc): Add decl.
9152
9153 * eval.c (Fsignal): Clear abort_on_gc.
9154
9155 * editfns.c (Fformat): Set abort_on_gc during first scan of format.
9156 Reinit FORMAT_START and END before second scan.
9157
9158 * xdisp.c (move_it_vertically_backward): Do the final big else
9159 even if nlines is 0.
9160
9161 * xdisp.c (redisplay_internal): Finish the per-frame loop
9162 even if redisplay is suspended by input.
9163
9164 2003-04-24 Andrew Choi <akochoi@shaw.ca>
9165
9166 * macterm.c (x_list_fonts): Return all fonts that match if
9167 maxnames = -1.
9168
9169 2003-04-25 Kenichi Handa <handa@m17n.org>
9170
9171 * syntax.c (skip_chars): Fix previous change.
9172
9173 2003-04-24 Kenichi Handa <handa@m17n.org>
9174
9175 * syntax.c (skip_chars): Make the code faster by using the common
9176 technique of *p, *stop, and *endp.
9177
9178 2003-04-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9179
9180 * xdisp.c (update_tool_bar): BLOCK_INPUT before calling
9181 tool_bar_items so GTK tool bar expose callback does not access items
9182 being updated.
9183
9184 2003-04-19 Stefan Monnier <monnier@cs.yale.edu>
9185
9186 * eval.c (Fapply): Undo last change and add a comment about why.
9187
9188 2003-04-18 Miles Bader <miles@gnu.org>
9189
9190 * data.c (Faset): Calculate nbytes earlier, to satisfy the now
9191 pickier PARSE_MULTIBYTE_SEQ.
9192
9193 2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
9194
9195 * eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
9196 Use XCDR, XCAR, CONSP.
9197 (Fdefmacro): Fix docstring. Use XCAR, XCDR.
9198 (Fapply): Remove unnecessary GCPRO.
9199
9200 * doc.c (Fsubstitute_command_keys): Remove spurious casts.
9201
9202 * charset.h (PARSE_MULTIBYTE_SEQ): Pretend `length' is used.
9203
9204 * buffer.h: Don't hardcode BEG==1.
9205
9206 * abbrev.c (Fdefine_abbrev_table): Use XCAR, XCDR.
9207
9208 2003-04-16 Richard M. Stallman <rms@gnu.org>
9209
9210 * xdisp.c (try_window, try_window_reusing_current_matrix):
9211 When at end of window, set window_end_pos to Z-ZV.
9212
9213 * buffer.c (Foverlay_recenter): Doc fix.
9214
9215 2003-04-14 Stefan Monnier <monnier@cs.yale.edu>
9216
9217 * dispnew.c (Fsit_For): Support XEmacs-style arg list.
9218
9219 2003-04-14 Andrew Choi <akochoi@shaw.ca>
9220
9221 * macterm.c (mac_check_for_quit_char): Don't check more often than
9222 once a second.
9223
9224 2003-04-11 Stefan Monnier <monnier@cs.yale.edu>
9225
9226 * keyboard.c (kbd_buffer_get_event): Don't handle SELECT_WINDOW_EVENT
9227 specially, so that they can't hide an implicit switch-frame event.
9228 (make_lispy_event): Handle SELECT_WINDOW_EVENT.
9229 (head_table): Use switch-frame as event_kind for select-window.
9230 (keys_of_keyboard): Don't bind [select-window] in special-event-map.
9231
9232 * editfns.c (Fformat): Lisp_Object/int mixup.
9233 (format2): Remove unused var numargs.
9234
9235 2003-04-11 Kenichi Handa <handa@m17n.org>
9236
9237 * fileio.c (Vafter_insert_file_adjust_coding_function): Delete.
9238 (Qafter_insert_file_set_coding): New variable.
9239 (syms_of_fileio): Initialize and staticpro it. Delete declaration
9240 for after-insert-file-adjust-coding-function.
9241 (Finsert_file_contents): Call Qafter_insert_file_set_coding
9242 instead of Vafter_insert_file_adjust_coding_function.
9243
9244 2003-04-11 Kenichi Handa <handa@m17n.org>
9245
9246 * lisp.h (temp_echo_area_glyphs): Adjust prototype.
9247
9248 * minibuf.c (temp_echo_area_glyphs): Change the arg to Lisp
9249 string. Callers changed.
9250
9251 2003-04-10 Kenichi Handa <handa@m17n.org>
9252
9253 * fileio.c (Vafter_insert_file_adjust_coding_function): New variable.
9254 (syms_of_fileio): Declare it as a lisp variable.
9255 (Finsert_file_contents):
9256 Call Vafter_insert_file_adjust_coding_function before calling
9257 decode-format.
9258
9259 2003-04-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9260
9261 * xterm.c (xg_scroll_callback): Call gtk_range_get_adjustment to
9262 get GtkAdjustment as widget now is a GtkRange.
9263
9264 * gtkutil.c (xg_create_scroll_bar): Connect to value-changed on
9265 GtkRange to avoid memory leak.
9266
9267 2003-04-09 Kenichi Handa <handa@m17n.org>
9268
9269 * xfaces.c (Vface_font_rescale_alist): New variable.
9270 (struct font_name): New member rescale_ratio.
9271 (font_rescale_ratio): New function.
9272 (split_font_name): If NUMERIC_P is nonzero, set font->rescale_ratio.
9273 (better_font_p): On comparing point sized, pay attention to
9274 recale_ratio member of fonts.
9275 (build_scalable_font_name): Reflect font->rescale_ratio in the
9276 font name.
9277 (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
9278
9279 * lread.c (read1): Before calling index, check if the 2nd
9280 arguemnt is in ASCII range.
9281
9282 2003-04-08 Richard M. Stallman <rms@gnu.org>
9283
9284 * fileio.c (Ffile_symlink_p): Doc fix.
9285
9286 * editfns.c (Fformat): Translate positions of text properties
9287 in the format string to apply them to the result.
9288
9289 * fileio.c (Finsert_file_contents): Doc fix.
9290 (syms_of_fileio) <after-insert-file-functions>: Doc fix.
9291
9292 2003-04-08 Ivan Zakharyaschev <imz@altlinux.org> (tiny change)
9293
9294 * lread.c (openp): Get the Qfile_exists_p handler for STRING, not FN.
9295
9296 2003-04-08 Steven Tamm <steventamm@mac.com>
9297
9298 * mac.c (init_mac_osx_environment): Switch libexec and bin so
9299 that self-contained application finds libexec files.
9300
9301 2003-04-08 Kenichi Handa <handa@m17n.org>
9302
9303 * coding.c (code_convert_region_unwind):
9304 Set Vlast_coding_system_used to the argument.
9305 (code_convert_region): If post-read-conversion function changed
9306 the value of last-coding-sytem, keep the new value in
9307 coding->symbol so that it won't be overridden.
9308 (run_pre_post_conversion_on_str): Likewise.
9309 (coding_system_accept_latin_extra_p): New function.
9310 (find_safe_codings): Pay attention to characters registered in
9311 latin-extra-code-table.
9312
9313 2003-04-07 Thien-Thi Nguyen <ttn@gnu.org>
9314
9315 * Makefile.in (md5.o): Add missing dependency info.
9316
9317 2003-04-06 Richard M. Stallman <rms@gnu.org>
9318
9319 * xselect.c (x_handle_selection_request): Move UNGCPRO to very end.
9320
9321 * marker.c (verify_bytepos): New function.
9322
9323 * intervals.c (set_intervals_multibyte_1): When becoming
9324 multibyte, adjust right and left child sizes to a whole set of
9325 characters. If an interval gets zero total-length, delete it.
9326 If an interval consists of just its children, delete one of them.
9327
9328 * intervals.h (CHECK_TOTAL_LENGTH): New macro.
9329 * intervals.c: Add many calls to CHECK_TOTAL_LENGTH.
9330
9331 * alloc.c: (VALIDATE_LISP_STORAGE): Macro deleted.
9332 All calls deleted.
9333 (lisp_malloc): Do the work here directly.
9334
9335 2003-04-06 Gareth Jones <emacs@referential.org.uk> (tiny change)
9336
9337 * fns.c (Flength): Return SUB_CHAR_TABLE_ORDINARY_SLOTS for sub
9338 char tables.
9339
9340 2003-04-04 Kenichi Handa <handa@m17n.org>
9341
9342 * editfns.c (Fformat): Use a copy of FORMAT string so that we can
9343 destructively change "%S" to "%s".
9344
9345 2003-04-03 Miles Bader <miles@gnu.org>
9346
9347 * xfaces.c (choose_face_font): Make sure *NEEDS_OVERSTRIKE is
9348 always set.
9349
9350 2003-04-01 Dave Love <fx@gnu.org>
9351
9352 * xfns.c (xpm_lookup_color): Grok "opaque".
9353
9354 2003-03-31 Andrew Choi <akochoi@shaw.ca>
9355
9356 * frame.c (x_report_frame_params) [HAVE_CARBON]: Do not report
9357 parent window ID.
9358
9359 * macfns.c (syms_of_macfns): Remove call to init_x_parm_symbols.
9360
9361 * macterm.h (struct mac_output): Define x_pixels_diff and
9362 y_pixels_diff.
9363
9364 2003-03-31 Juanma Barranquero <lektu@terra.es>
9365
9366 * makefile.w32-in ($(BLD)/frame.$(O)): Add dependency on
9367 blockinput.h and files included from it.
9368
9369 2003-03-31 Kim F. Storm <storm@cua.dk>
9370
9371 The following changes consolidates the common code related to
9372 frame-parameter handling from the xfns.c, w32fns.c, and macfns.c
9373 files into frame.c.
9374
9375 * frame.c: Include blockinput.h.
9376 (Vx_resource_name, Vx_resource_class, Qx_frame_parameter)
9377 (Qx_resource_name, Qface_set_after_frame_default): Define vars here.
9378 (Qauto_raise, Qauto_lower, ...): Define all frame parameter
9379 related vars here.
9380 (struct frame_parm_table, frame_parms): New table for describing
9381 frame parameters and their associated Q-variable.
9382 The order of the parameters corresponds to the sequence of the
9383 frame_parm_handlers table in redisplay_interface.
9384 (x_fullscreen_move, x_set_frame_parameters)
9385 (x_report_frame_params, x_set_fullscreen, x_set_line_spacing)
9386 (x_set_screen_gamma, x_set_font, x_set_fringe_width)
9387 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9388 (x_set_autoraise, x_set_autolower, x_set_unsplittable)
9389 (x_set_vertical_scroll_bars, x_set_scroll_bar_width, x_icon_type):
9390 Generic functions for processing of frame parameters.
9391 (validate_x_resource_name, xrdb_get_resource, Fx_get_resource)
9392 (display_x_get_resource, x_get_resource_string): Functions for
9393 generic access to X resources.
9394 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
9395 (x_default_parameter, Fx_parse_geometry): Functions for generic
9396 access to frame parameters.
9397 (x_figure_window_size): Generic calculation of frame size.
9398 Fixed to add space needed for tool bar. Also setup size_hint_flags.
9399 (syms_of_frame): Intern and staticpro frame parameter variables.
9400 Defvar_lisp Vx_resource_class and Vx_resource_name here.
9401 Defsubr Sx_get_resource and Sx_parse_geometry.
9402
9403 * frame.h (Qauto_raise, Qauto_lower, ...): Declare extern all frame
9404 parameter related vars defined in frame.c.
9405 (EMACS_CLASS): Define here.
9406 (enum FULLSCREEN_*): Define here.
9407 (x_set_scroll_bar_default_width, x_wm_set_icon_position)
9408 (x_set_offset, x_new_font, x_new_fontset): Add prototypes.
9409 (x_fullscreen_adjust, x_set_frame_parameters, x_report_frame_params)
9410 (x_set_fullscreen, x_set_line_spacing, x_set_screen_gamma, x_set_font)
9411 (x_set_fringe_width, x_set_border_width, x_set_internal_border_width)
9412 (x_set_visibility, x_set_autoraise, x_set_autolower)
9413 (x_set_unsplittable, x_set_vertical_scroll_bars)
9414 (x_set_scroll_bar_width, x_icon_type, validate_x_resource_name)
9415 (x_figure_window_size): Add prototypes.
9416
9417 * dispextern.h (frame_parm_handler): New typedef.
9418 (struct redisplay_interface): New member frame_parm_handlers.
9419 (enum resource_types): Move declaration here.
9420 (x_get_arg, x_frame_get_arg, x_frame_get_and_record_arg)
9421 (x_default_parameter): Add prototypes.
9422
9423 * window.c: Remove extern decl for frame parameter vars.
9424 (change_window_heights): New generic function;
9425 replaces x_change_window_heights. All users changed.
9426
9427 * window.h (change_window_heights): Add prototype.
9428
9429 * xfaces.c: Remove extern decl for frame parameter vars.
9430
9431 * xterm.h (EMACS_CLASS): Remove. Use generic define.
9432 (struct w32_display_info): Fix type of xrdb member.
9433 (enum FULLSCREEN_*): Remove.
9434 Remove prototypes for generic functions (in frame.h).
9435
9436 * xfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9437 parameters now defined in frame.h and frame.c.
9438 (Vx_resource_name): Remove. Use generic var.
9439 (enum x_frame_parms): Remove (bogus, unused enum).
9440 (check_x_display_info): Make non-static (for frame.c).
9441 (struct x_frame_parm_table, x_frame_parms): Remove.
9442 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9443 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9444 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9445 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9446 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9447 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9448 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9449 Remove. Use generic functions instead.
9450 (enum resource_types): Remove.
9451 (x_set_scroll_bar_default_width): New global function (for frame.c).
9452 (Fx_create_frame): Depend on x_figure_window_size to add space for
9453 toolbar and setup size_hint_flags.
9454 (x_frame_parm_handlers): New table for redisplay_interface.
9455 (syms_of_xfns): Don't intern/staticpro removed vars.
9456
9457 * xterm.c: Remove unnecessary extern declarations.
9458 (x_fullscreen_adjust): Remove. Use generic instead.
9459 (x_redisplay_interface): Add x_frame_parm_handlers member.
9460
9461 * w32gui.h (XrmDatabase): New (dummy) typedef.
9462
9463 * w32term.h (EMACS_CLASS): Remove. Use generic define.
9464 (struct w32_display_info): Fix type of xrdb member.
9465 (enum FULLSCREEN_*): Remove.
9466 (x_fullscreen_adjust): Remove prototype.
9467
9468 * w32fns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9469 parameters now defined in frame.h and frame.c.
9470 (Vx_resource_name): Remove. Use generic var.
9471 (enum x_frame_parms): Remove (bogus, unused enum).
9472 (check_x_display_info): Make non-static (for frame.c).
9473 (struct x_frame_parm_table, x_frame_parms): Remove.
9474 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9475 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9476 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9477 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9478 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9479 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9480 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9481 Remove. Use generic functions instead.
9482 (enum resource_types): Remove.
9483 (x_set_scroll_bar_default_width): New global function (for frame.c).
9484 (Fx_create_frame): Depend on x_figure_window_size to add space for
9485 toolbar and setup size_hint_flags.
9486 (w32_frame_parm_handlers): New table for redisplay_interface.
9487 (syms_of_w32fns): Don't intern/staticpro removed vars.
9488
9489 * w32term.c: Remove unnecessary extern declarations.
9490 (x_fullscreen_adjust): Remove. Use generic instead.
9491 (x_redisplay_interface): Add w32_frame_parm_handlers member.
9492
9493 * w32reg.c (x_get_string_resource): Use XrmDatabase.
9494
9495 * macgui.h (XrmDatabase): New (dummy) typedef.
9496
9497 * macterm.h (EMACS_CLASS): Remove.
9498 (struct mac_display_info): Add xrdb member.
9499 (struct mac_output): Add want_fullscreen member.
9500
9501 * macfns.c (Qauto_raise, Qauto_lower, ...): Remove vars for frame
9502 parameters now defined in frame.h and frame.c.
9503 (Vx_resource_name): Remove. Use generic var.
9504 (check_x_display_info): Make non-static (for frame.c).
9505 (struct x_frame_parm_table, x_frame_parms): Remove.
9506 (init_x_parm_symbols, x_set_frame_parameters, x_report_frame_params)
9507 (x_set_line_spacing, x_set_screen_gamma, x_icon_type, x_set_font)
9508 (x_set_border_width, x_set_internal_border_width, x_set_visibility)
9509 (x_change_window_heights, x_set_autoraise, x_set_autolower)
9510 (x_set_vertical_scroll_bars, x_set_scroll_bar_width)
9511 (validate_x_resource_name, Fx_get_resource, x_get_resource_string)
9512 (x_default_parameter, Fx_parse_geometry, x_figure_window_size):
9513 Remove. Use generic functions instead.
9514 (enum resource_types): Remove.
9515 (x_set_scroll_bar_default_width): New global function (for frame.c).
9516 (mac_frame_parm_handlers): New table for redisplay_interface.
9517 (syms_of_macfns): Don't intern/staticpro removed vars.
9518
9519 * macterm.c: Remove unnecessary extern declarations.
9520 (x_redisplay_interface): Add mac_frame_parm_handlers member.
9521
9522 * Makefile.in (frame.o): Add dependency on blockinput.h and files
9523 included from it (atimer.h and systime.h).
9524
9525 2003-03-30 Andreas Schwab <schwab@suse.de>
9526
9527 * xdisp.c (x_insert_glyphs): Fix swapped width and height
9528 parameters for shift_glyphs_for_insert.
9529
9530 * macterm.c (x_redisplay_interface): Add missing entry for
9531 draw_vertical_window_border.
9532
9533 2003-03-29 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@gmx.net>
9534
9535 * fileio.c (Fexpand_file_name): In the no-handler case, after
9536 expanding, look again for a handler and invoke it. This is needed
9537 for filenames like "/foo/../user@host:/bar/../baz" -- the first
9538 expansion produces "/user@host:/bar/../baz" which needs to be
9539 expanded again for the finame result "/user@host:/baz".
9540
9541 2003-03-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9542
9543 * gtkutil.c (xg_tool_bar_item_expose_callback): Reduce size
9544 of area to be redrawn for better performance.
9545
9546 2003-03-28 Stefan Monnier <monnier@cs.yale.edu>
9547
9548 * xterm.c (take_vertical_position_into_account): Remove.
9549 (xt_action_hook): Call set_vertical_scroll_bar if needed.
9550 (XM_SB_MIN, XM_SB_RANGE): Remove (min is now set to 0).
9551 (xm_scroll_callback, x_create_toolkit_scroll_bar)
9552 (x_set_toolkit_scroll_bar_thumb): Simplify.
9553 (x_scroll_bar_expose): Only compile if !USE_TOOLKIT_SCROLL_BARS.
9554 (XTread_socket): Remove unused var.
9555 (x_make_frame_invisible): Replace goto with else.
9556
9557 * xdisp.c (set_vertical_scroll_bar): New fun.
9558 (redisplay_window): Use it.
9559
9560 2003-03-26 Richard M. Stallman <rms@gnu.org>
9561
9562 * xdisp.c (update_tool_bar): Recompute tool bar if
9563 update_mode_lines is set. Set w->update_mode_line
9564 only if the tool bar contents actually change.
9565 (update_menu_bar): Undo previous change.
9566
9567 2003-03-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9568
9569 * gtkutil.c (xg_resize_widgets): Don't call xg_frame_cleared.
9570 (xg_frame_set_char_size): Calculate scroll bar width before frame
9571 width. Call SET_FRAME_GARBAGED and cancel_mouse_face.
9572 (xg_separator_p): Check for all documented separator types.
9573 (xg_update_scrollbar_pos): Variable gheight not needed, use height.
9574 (update_frame_tool_bar): Don't call gdk_window_process_all_updates.
9575
9576 * xdisp.c (update_menu_bar): Set w->update_mode_line to Qt
9577 so tool bar gets updated.
9578
9579 2003-03-26 Stefan Monnier <monnier@cs.yale.edu>
9580
9581 * data.c (store_symval_forwarding): Re-instate part of the code
9582 that was deleted with too much enthusiasm.
9583
9584 2003-03-25 Stefan Monnier <monnier@cs.yale.edu>
9585
9586 * data.c (store_symval_forwarding): Delete special read-only
9587 hack for type == -1, since we now use ->constant instead.
9588 (Fkill_local_variable): Don't use XBUFFER if it can be nil.
9589
9590 * buffer.c (overlays_in): Declare static.
9591 (syms_of_buffer) <enable-multibyte-characters>: Use the symbol's
9592 `constant' field rather than the variable's `type' field.
9593
9594 2003-03-24 Andrew Choi <akochoi@shaw.ca>
9595
9596 * config.in [MAC_OSX]: Do not redefine bcopy, bzero, and bcmp.
9597
9598 * dispextern.h [HAVE_CARBON]: Include Carbon.h.
9599
9600 * fns.c [MAC_OSX]: Do not redefine vector.
9601
9602 * keyboard.c [MAC_OSX]: Handle SIGINT with interrupt_signal.
9603
9604 * macgui.h: Remove definition of No_Cursor.
9605
9606 * macterm.h: Include Carbon.h. Replace (struct Cursor *) by Cursor.
9607
9608 * xdisp.c: Define No_Cursor.
9609 (x_write_glyphs, notice_overwritten_cursor)
9610 (draw_phys_cursor_glyph, note_mode_line_or_margin_highlight)
9611 (note_mouse_highlight): Remove Mac-specific code.
9612 (note_mouse_highlight): Use bcmp instead of == to compare Cursors.
9613
9614 2003-03-24 John Paul Wallington <jpw@gnu.org>
9615
9616 * xdisp.c (redisplay_window): If mini window's buffer is not
9617 empty, then redisplay it like other windows.
9618
9619 2003-03-23 Kim F. Storm <storm@cua.dk>
9620
9621 * w32term.c (w32_draw_window_cursor): Fix last change.
9622
9623 2003-03-23 Kenichi Handa <handa@m17n.org>
9624
9625 * alloc.c (make_string_from_bytes, make_specified_string):
9626 Add `const' for the arg CONTENTS.
9627
9628 * lisp.h (make_string_from_bytes, make_specified_string):
9629 Prototypes adjusted.
9630
9631 2003-03-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9632
9633 * xdisp.c (get_glyph_string_clip_rect): Remove ; at end of #endif
9634
9635 * gtkutil.h: Take two more arguments to xg_update_scrollbar_pos.
9636 (XG_SB_RANGE): New define.
9637
9638 * gtkutil.c (xg_fixed_handle_expose): New function.
9639 (xg_create_frame_widgets): Call xg_fixed_handle_expose for
9640 expose events.
9641 (xg_update_scrollbar_pos): Take two more arguments, left and width
9642 of scroll bar including borders.
9643 Clear left and right part outside scroll bar separately as some
9644 themes have bars that are not an even number of pixels.
9645 Don't set reallocate_redraws, don't call
9646 gdk_window_process_all_updates.
9647 (xg_set_toolkit_scroll_bar_thumb): Upper value is fixed,
9648 so no need to change it. Calculate size and value with XG_SB_RANGE.
9649
9650 * xterm.c (x_scroll_bar_create, XTset_vertical_scroll_bar):
9651 Pass left and width of scroll bar including borders to
9652 xg_update_scrollbar_pos.
9653
9654 2003-03-22 Thien-Thi Nguyen <ttn@gnu.org>
9655
9656 * Makefile.in: Make sure space precedes end-of-line backslashes.
9657
9658 2003-03-22 Kim F. Storm <storm@cua.dk>
9659
9660 * xdisp.c (pixel_to_glyph_coords, glyph_to_pixel_coords):
9661 Add generic versions here. Remove system specific versions
9662 defined elsewhere.
9663
9664 * dispextern.h (pixel_to_glyph_coords, glyph_to_pixel_coords):
9665 Add prototypes.
9666
9667 * xterm.h (STORE_NATIVE_RECT): New macro.
9668
9669 2003-03-21 Kim F. Storm <storm@cua.dk>
9670
9671 * xdisp.c (get_glyph_string_clip_rect):
9672 Use FRAME_INTERNAL_BORDER_WIDTH.
9673
9674 * dispextern.h (struct redisplay_interface): Add active_p
9675 argument to draw_window_cursor member. All uses changed.
9676
9677 2003-03-21 Kim F. Storm <storm@cua.dk>
9678
9679 The following changes consolidate code related to writing and
9680 inserting glyphs, exposing frame, the tool bar, the mouse face,
9681 the output cursor, and help echo from xterm.c, w32term.c and
9682 macterm.c into xdisp.c. It also generalizes the use of the
9683 window_part enum instead of using numeric values throughout.
9684
9685 * xdisp.c: Consolidate gui-independent code here.
9686 Include keymap.h.
9687 (Qhelp_echo): Import.
9688 (mouse_autoselect_window, x_stretch_cursor_p): Declare here.
9689 (help_echo_string, help_echo_window, help_echo_object)
9690 (previous_help_echo_string, help_echo_pos): Declare here.
9691 (output_cursor, last_mouse_frame, last_tool_bar_item): Declare here.
9692 (estimate_mode_line_height): Define here. Handle windowing
9693 systems directly (without using estimate_mode_line_height_hook).
9694 (x_y_to_hpos_vpos, get_tool_bar_item, note_tool_bar_highlight):
9695 (update_window_cursor, update_cursor_in_window_tree)
9696 (fast_find_position, fast_find_string_pos)
9697 (note_mode_line_highlight, note_mode_line_or_margin_highlight)
9698 (expose_area, expose_line, expose_overlaps, expose_window)
9699 (expose_window_tree, phys_cursor_in_rect_p): New generic versions;
9700 declared static as they are only used locally in xdisp.c.
9701 (draw_glyphs): Rename from x_draw_glyphs and make static.
9702 (tool_bar_item_info, notice_overwritten_cursor): Make static.
9703 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
9704 (set_output_cursor, x_cursor_to, handle_tool_bar_click)
9705 (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
9706 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
9707 (display_and_set_cursor, x_update_cursor, x_clear_cursor)
9708 (show_mouse_face, clear_mouse_face, cursor_in_mouse_face_p)
9709 (note_mouse_highlight, x_clear_window_mouse_face)
9710 (cancel_mouse_face, x_draw_vertical_border, expose_frame)
9711 (x_intersect_rectangles): New generic functions for use by xdisp.c
9712 and GUI front-ends.
9713 (syms_of_xdisp): Initialize and staticpro help_echo* variables.
9714 Defvar_bool "x-streach-cursor" and "mouse-autoselect-window" here.
9715
9716 * dispextern.h (Display_Info): Generic typedef for *_display_info.
9717 (NativeRectangle): Generic typedef for rectangle type.
9718 (enum window_part): Move here from window.c.
9719 (struct redisplay_interface): New members flush_display_optional,
9720 define_frame_cursor, clear_frame_area, draw_window_cursor,
9721 draw_vertical_window_border, shift_glyphs_for_insert.
9722 Rename member clear_mouse_face to clear_window_mouse_face.
9723 (estimate_mode_line_height_hook): Remove hook.
9724 (auto_raise_tool_bar_buttons_p): Don't declare extern.
9725 (tool_bar_item_info): Remove prototype.
9726 (help_echo_string, help_echo_window, help_echo_object)
9727 (previous_help_echo_string, help_echo_pos)
9728 (last_mouse_frame, last_tool_bar_item, mouse_autoselect_window):
9729 (x_stretch_cursor_p, output_cursor): Declare extern.
9730 (x_draw_glyphs, notice_overwritten_cursor): Remove prototypes.
9731 (x_write_glyphs), x_insert_glyphs, x_clear_end_of_line)
9732 (x_fix_overlapping_area, draw_phys_cursor_glyph, erase_phys_cursor)
9733 (display_and_set_cursor, set_output_cursor, x_cursor_to)
9734 (x_update_cursor, x_clear_cursor, x_draw_vertical_border)
9735 (frame_to_window_pixel_xy, get_glyph_string_clip_rect)
9736 (note_mouse_highlight, x_clear_window_mouse_face, cancel_mouse_face)
9737 (handle_tool_bar_click, clear_mouse_face, show_mouse_face)
9738 (cursor_in_mouse_face_p, expose_frame, x_intersect_rectangles):
9739 Add prototypes.
9740 (mode_line_string, marginal_area_string): Fix prototypes.
9741
9742 * window.c (enum window_part): Move to dispextern.h.
9743 (coordinates_in_window): Use enum window_part member names
9744 instead of numbers to describe return value.
9745 (struct check_window_data): Change part member to window_part.
9746 (check_window_containing): Return window_part unaltered.
9747 (window_from_coordinates): Change part arg from int to enum
9748 window_part. Allow part arg to be null. All users changed.
9749
9750 * window.h (window_from_coordinates): Fix prototype.
9751
9752 * term.c (estimate_mode_line_height): Move to xdisp.c.
9753
9754 * keyboard.c (make_lispy_event): Use enum window_part.
9755
9756 * dispnew.c (mode_line_string, marginal_area_string): Use enum
9757 window_part instead of int in arg list. Users changed.
9758
9759 * xterm.h (No_Cursor): Declare as None for X.
9760 (struct mac_output): Replace member cross_cursor by hand_cursor.
9761
9762 * xterm.c: Remove consolidated defines and code.
9763 (BETWEEN): Remove unused macro.
9764 (x_draw_vertical_window_border, x_shift_glyphs_for_insert)
9765 (x_define_frame_cursor, x_clear_frame_area)
9766 (x_draw_window_cursor): New X-specific functions for RIF.
9767 (x_redisplay_interface): Add new members.
9768
9769 * xfns.c: Setup and use hand_cursor instead of cross_cursor.
9770
9771 * w32term.h (struct w32_output): Remove cross_cursor member.
9772
9773 * w32term.c: Remove consolidated defines and code.
9774 (BETWEEN): Remove unused macro.
9775 (w32_draw_vertical_window_border, w32_shift_glyphs_for_insert)
9776 (w32_define_frame_cursor, w32_clear_frame_area)
9777 (w32_draw_window_cursor): New W32-specific functions for RIF.
9778 (w32_redisplay_interface): Add new members.
9779
9780 * w32gui.h (No_Cursor): Define as 0 for W32.
9781 (XRectangle): Add X compatible rectangle type.
9782 (NativeRectangle): Declare as RECT for W32.
9783 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
9784
9785 * w32fns.c: Remove setup of cross_cursor (already has hand_cursor).
9786
9787 * w32console.c: Remove consolidated defines and code.
9788
9789 * msdos.h (Display_Info): Add generic typedef.
9790
9791 * msdos.c: Remove consolidated defines and code.
9792 (IT_note_mouse_highlight, dos_rawgetc): Use enum window_part.
9793
9794 * macterm.h (struct mac_output): Replace member cross_cursor by
9795 hand_cursor.
9796 (activate_scroll_bars, deactivate_scroll_bars): Add prototypes.
9797
9798 * macterm.c: Remove consolidated defines and code.
9799 (BETWEEN): Remove unused macro.
9800 (mac_draw_vertical_window_border, mac_shift_glyphs_for_insert)
9801 (mac_define_frame_cursor, mac_clear_frame_area)
9802 (mac_draw_window_cursor): New Mac-specific functions for RIF.
9803 (x_redisplay_interface): Add new members.
9804
9805 * macgui.h (No_Cursor): Define as 0 for Mac.
9806 (XRectangle): Add X compatible rectangle type.
9807 (NativeRectangle): Declare as Rect for Mac.
9808 (CONVERT_TO_XRECT, CONVERT_FROM_XRECT, STORE_NATIVE_RECT): New macros.
9809
9810 * macfns.c (x_set_mouse_color): Setup hand_cursor.
9811 (x_set_cursor_color): Use x_display_and_set_cursor.
9812
9813 * Makefile.in (xdisp.o): Add dependency on blockinput.h and files
9814 included from it. Add dependency on keymap.h.
9815
9816 * makefile.w32-in (xdisp.o): Add dependency on keymap.h.
9817
9818 2003-03-21 Kenichi Handa <handa@m17n.org>
9819
9820 * fileio.c (Fexpand_file_name): Fix previous change.
9821
9822 2003-03-19 Kenichi Handa <handa@m17n.org>
9823
9824 * fileio.c (Ffile_name_directory): Reconstruct file name by
9825 make_specified_string.
9826 (Ffile_name_nondirectory, Ffile_name_as_directory)
9827 (Fdirectory_file_name, Fexpand_file_name)
9828 (Fsubstitute_in_file_name): Likewise.
9829 (Fread_file_name): Compare decoded homedir with DIR and
9830 DEFAULT_FILENAME.
9831
9832 * alloc.c (make_specified_string): If NCHARS is negative, count
9833 the number of characters.
9834
9835 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9836
9837 * gtkutil.c (xg_frame_cleared): Call gtk_widget_queue_draw for
9838 all widgets.
9839
9840 * gtkutil.h: Removed xg_ignore_next_thumb.
9841
9842 2003-03-18 Kenichi Handa <handa@m17n.org>
9843
9844 * coding.c (Vchar_coding_system_table): Remove this variable.
9845 (Vcoding_system_safe_chars): New variable.
9846 (intersection): Remove this function.
9847 (find_safe_codings): Don't use Vchar_coding_system_table, but try
9848 all codings in SAFE_CODINGS.
9849 (Ffind_coding_systems_region_internal): Adjust for the change of
9850 find_safe_codings. Get generic coding systems from
9851 Vcoding_system_safe_chars.
9852 (Fdefine_coding_system_internal): New function.
9853 (syms_of_coding): Defsubr Sdefine_coding_system_internal.
9854 Initialize and staticpro Vcoding_system_safe_chars.
9855
9856 2003-03-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9857
9858 * gtkutil.c (xg_set_toolkit_scroll_bar_thumb): Check if new values
9859 equal old values before updating.
9860
9861 * xterm.c (xg_scroll_callback): Remove xg_ignore_next_thumb.
9862
9863 * gtkutil.c (xg_initialize): Remove xg_ignore_next_thumb.
9864
9865 2003-03-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
9866
9867 * gtkutil.c: Removed handle_fixed_child, struct xg_last_sb_pos.
9868 (xg_resize_widgets): Don't call foreach(handle_fixed_child).
9869 (xg_gtk_scroll_destroy): Remove free of struct xg_last_sb_pos.
9870 (scroll_bar_button_cb): Set bar->dragging to NIL on button release.
9871 (xg_create_scroll_bar): Pass bar to button event callback.
9872 (xg_find_top_left_in_fixed): New function.
9873 (xg_update_scrollbar_pos): Don't call gdk_window_clear on
9874 whole scroll bar area. Get old position with
9875 xg_find_top_left_in_fixed, calculate and only clear needed areas.
9876 (xg_set_toolkit_scroll_bar_thumb): Do not adjust scroll bar if
9877 dragging is in progress. Calculate whole as for Motif.
9878 Remove code that saved last values. Call gtk_range functions to
9879 set scroll bar sizes.
9880
9881 * gtkutil.h: Removed xg_ignore_next_thumb.
9882
9883 2003-03-17 Juanma Barranquero <lektu@terra.es>
9884
9885 * makefile.w32-in ($(BLD)/xdisp.$(O)): Add dependency on blockinput.h
9886 and files included from it.
9887
9888 2003-03-18 Stefan Monnier <monnier@cs.yale.edu>
9889
9890 * keymap.c (accessible_keymaps_1): Break cycles but without preventing
9891 multiple occurrences of the same keymap under different prefixes.
9892 (Faccessible_keymaps): Remove code redundant since 1994-08-03T07:39:00Z!rms@gnu.org.
9893
9894 2003-03-16 Jason Rumney <jasonr@gnu.org>
9895
9896 * w32gui.h: Use HDC for Display.
9897
9898 * w32term.c (w32_encode_char): Prevent double-byte chars from
9899 crashing Emacs.
9900
9901 * w32fns.c (jpeg_load, png_load, slurp_file): Read image files
9902 as binary.
9903
9904 2003-03-16 Juanma Barranquero <lektu@terra.es>
9905
9906 * xdisp.c (x_produce_glyphs): Use FRAME_BASELINE_OFFSET.
9907
9908 2003-03-16 Kim F. Storm <storm@cua.dk>
9909
9910 The following changes consolidate some of the gui-independent
9911 parts of the processing and drawing of "glyph strings" from
9912 xterm.c, w32term.c, and macterm.c into xdisp.c.
9913
9914 * dispextern.h (struct glyph): Reduce face_id member from 22 to
9915 21 bits (this reduces number of faces from 4M to 2M).
9916 Replace W32 specific w32_font_type member (2 bits) by generic
9917 font_type member (3 bits) for portability.
9918 (FONT_TYPE_UNKNOWN): New define, default for font_type member.
9919 (enum draw_glyphs_face): Define here.
9920 (struct glyph_string): Define here. Merge W32 and X versions.
9921 (struct redisplay_interface): New members per_char_metric,
9922 encode_char, compute_glyph_string_overhangs, draw_glyph_string.
9923 (VCENTER_BASELINE_OFFSET): Define here.
9924 (dump_glyph_string, x_get_glyph_overhangs, x_produce_glyphs)
9925 (x_draw_glyphs, notice_overwritten_cursor): Declare prototypes here.
9926
9927 * xdisp.c: Consolidate gui-independent "glyph string" code here.
9928 (dump_glyph_string): Moved here.
9929 (init_glyph_string, append_glyph_string_lists, append_glyph_string)
9930 (prepend_glyph_string_lists, get_glyph_face_and_encoding)
9931 (fill_composite_glyph_string, fill_glyph_string)
9932 (fill_image_glyph_string, fill_stretch_glyph_string)
9933 (left_overwritten, left_overwriting, right_overwritten)
9934 (right_overwriting, get_char_face_and_encoding)
9935 (set_glyph_string_background_width, compute_overhangs_and_x)
9936 (append_glyph, append_composite_glyph, produce_image_glyph)
9937 (take_vertical_position_into_account, append_stretch_glyph)
9938 (produce_stretch_glyph): New generic functions (based on X version).
9939 Call platform specific functions through rif.
9940 (INIT_GLYPH_STRING): New macro, hides W32 details.
9941 (BUILD_STRETCH_GLYPH_STRING, BUILD_IMAGE_GLYPH_STRING)
9942 (BUILD_CHAR_GLYPH_STRINGS, BUILD_COMPOSITE_GLYPH_STRING)
9943 (BUILD_GLYPH_STRINGS): Generic macros (based on X version).
9944 (x_draw_glyphs, x_get_glyph_overhangs, x_produce_glyphs)
9945 (notice_overwritten_cursor):
9946 Generic functions exported to platform modules. Users changed.
9947
9948 * xterm.h (FONT_DESCENT, FRAME_X_OUTPUT, FRAME_BASELINE_OFFSET)
9949 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE)
9950 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
9951 New macros for consolidated code.
9952
9953 * xterm.c: Remove consolidated defines and code.
9954 (x_per_char_metric, x_encode_char)
9955 (x_compute_glyph_string_overhangs): Adapt to RIF requirements.
9956 (x_redisplay_interface): Add new members.
9957
9958 * w32gui.h (Display): Add dummy typedef for consolidation.
9959 (XChar2b): Define alias for wchar_t for consolidation.
9960 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
9961
9962 * w32term.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY)
9963 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE):
9964 New macros for consolidation.
9965
9966 * w32term.c: Remove consolidated defines and code.
9967 (BUILD_WCHAR_T, BYTE1, BYTE2): Macros removed; callers changed
9968 to use STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2 instead.
9969 (w32_per_char_metric): Change font_type arg to int for RIF.
9970 (w32_encode_char): Return int according to RIF requirements.
9971 (w32_compute_glyph_string_overhangs): Adapt to RIF.
9972 (w32_get_glyph_overhangs): New function for RIF. Uses generic
9973 x_get_glyph_overhangs.
9974 (w32_redisplay_interface): Add new members.
9975
9976 * macgui.h (XChar2b): Move typedef here for consolidation.
9977 (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): New macros.
9978
9979 * macterm.h (FRAME_X_OUTPUT, FRAME_X_WINDOW, FRAME_X_DISPLAY):
9980 (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): New macros for
9981 consolidation.
9982
9983 * macterm.c: Remove consolidated defines and code.
9984 (mac_per_char_metric): New function for RIF.
9985 (mac_encode_char): Adapt to new RIF requirements.
9986 (mac_compute_glyph_string_overhangs): Adapt for RIF.
9987 (x_redisplay_interface): Add new members.
9988
9989 2003-03-15 Stefan Monnier <monnier@cs.yale.edu>
9990
9991 * keymap.c (Vmenu_events): New var.
9992 (syms_of_keymap): Initialize it.
9993 (where_is_internal): Check more carefully what is a menu event.
9994
9995 2003-03-14 Richard M. Stallman <rms@gnu.org>
9996
9997 * lread.c (read1): After #!, exit loop on eof.
9998
9999 2003-03-14 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10000
10001 * gtkutil.h: Add declaration for xg_frame_cleared.
10002
10003 * xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
10004
10005 * gtkutil.c (struct xg_last_sb_pos): New structure.
10006 (handle_fixed_child): New function.
10007 (xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
10008 and force a redraw on them.
10009 (xg_gtk_scroll_destroy): Free struct xg_last_sb_pos also.
10010 (xg_create_scroll_bar): Add struct xg_last_sb_pos to scroll bar
10011 so we can avoid unneeded redraws.
10012 (xg_update_scrollbar_pos): Invalidate data in xg_last_sb_pos
10013 and force a redraw on the scroll bar.
10014 (xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
10015 if xg_last_sb_pos shows the positions are up to date.
10016 (xg_frame_cleared): New function.
10017
10018 2003-03-13 Kenichi Handa <handa@m17n.org>
10019
10020 * coding.c (Fdetect_coding_region): Fix docstring.
10021 (Fdetect_coding_string): Fix docstring.
10022
10023 2003-03-13 Andreas Schwab <schwab@suse.de>
10024
10025 * gtkutil.c: Add prototype for create_menus.
10026
10027 * data.c (long_to_cons): Fix type of top.
10028
10029 * xselect.c (selection_data_to_lisp_data): Use int instead of
10030 long for an integer of size 4.
10031
10032 * gtkutil.c (xg_update_frame_menubar): Add missing return value.
10033 (xg_tool_bar_help_callback): Likewise.
10034
10035 2003-03-12 Andreas Schwab <schwab@suse.de>
10036
10037 * xterm.c (x_term_init) [USE_GTK]: Fix typo.
10038
10039 2003-03-12 Kim F. Storm <storm@cua.dk>
10040
10041 The following changes consolidate the fringe handling from
10042 xterm.c, w32term.c, and macterm.c into xdisp.c.
10043
10044 * xdisp.c: Consolidate fringe handling code here.
10045 (left_bits, right_bits, continued_bits, continuation_bits)
10046 (ov_bits, zv_bits): Define fringe bitmaps.
10047 (fringe_bitmaps): New array holding fringe bitmaps.
10048 (draw_fringe_bitmap): Draw a specific bitmap; call display
10049 specific drawing routine via rif->draw_fringe_bitmap.
10050 (draw_row_fringe_bitmaps): Generic replacement for
10051 x_draw_row_fringe_bitmaps; all callers changed.
10052 (compute_fringe_widths): Generic replacement for
10053 x_compute_fringe_widths; all callers changed.
10054
10055 * dispextern.h (enum fringe_bitmap_type): Define here.
10056 (struct fringe_bitmap, struct draw_fringe_bitmap_params): New.
10057 (fringe_bitmaps): Declare extern.
10058 (struct redisplay_interface): New member draw_fringe_bitmap.
10059 (draw_row_fringe_bitmaps, compute_fringe_widths): Declare extern.
10060
10061 * xterm.c: Remove generic fringe code.
10062 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
10063 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
10064
10065 * w32term.c: Remove generic fringe code.
10066 (w32_draw_fringe_bitmap): Only perform actual fringe drawing.
10067 (w32_redisplay_interface): Add w32_draw_fringe_bitmap member.
10068
10069 * macterm.c: Remove generic fringe code.
10070 (x_draw_fringe_bitmap): Only perform actual fringe drawing.
10071 (x_redisplay_interface): Add x_draw_fringe_bitmap member.
10072
10073 2003-03-11 Stefan Monnier <monnier@cs.yale.edu>
10074
10075 * print.c (Fprin1_to_string): Return unibyte string if possible.
10076
10077 2003-03-09 David Kastrup <dak@gnu.org>
10078
10079 * process.c (read_process_output): We have allocated enough space
10080 for readmax and carryover, so actually use the alloted space.
10081
10082 2003-03-09 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10083
10084 * keyboard.c (make_lispy_event): Extend mouse_syms if needed for
10085 toolkit scrollbar click.
10086
10087 * xterm.c (x_window_to_scroll_bar): Call xg_get_scroll_id_for_window
10088 for USE_GTK.
10089 (x_scroll_bar_handle_click): Use this function for toolkit scrollbars
10090 also.
10091 (handle_one_xevent): ButtonPress/Release: If event is for a toolkit
10092 scrollbar and control is pressed, call x_scroll_bar_handle_click.
10093
10094 * gtkutil.h (xg_get_scroll_id_for_window): Declare.
10095
10096 * gtkutil.c (xg_get_scroll_id_for_window): New function.
10097 (xg_tool_bar_item_expose_callback): New function.
10098 (xg_tool_bar_expose_callback): Call update_frame_tool_bar.
10099 (xg_create_tool_bar): Connect xg_tool_bar_expose_callback to expose
10100 on the tool bar widget.
10101 (update_frame_tool_bar): Connect xg_tool_bar_item_expose_callback
10102 to expose on the tool bar item widgets.
10103
10104 2003-03-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10105
10106 * gtkutil.c (update_frame_tool_bar): Compare pixmap ID instead of
10107 struct image* when deciding to update (struct image* may have been
10108 deleted from the image cache).
10109
10110 * xterm.c (handle_one_xevent): Pass ReparentNotify to Xt even if
10111 the event isn't for a frame (i.e. for dialogs).
10112
10113 2003-03-07 Kenichi Handa <handa@m17n.org>
10114
10115 * coding.c (CODING_ADD_COMPOSITION_COMPONENT): If the number of
10116 composition components reaches the limit, terminate composing.
10117 (COMPOSITION_OK): New macro.
10118 (detect_coding_iso2022): Use it if an escape sequence for
10119 composition is found.
10120 (coding_restore_composition): Adjust the number of composition
10121 components if it is not sane.
10122
10123 2003-03-06 Juanma Barranquero <lektu@terra.es>
10124
10125 * w32term.h (struct w32_display_info): Add xrdb member to support
10126 passing resources via -xrm on Windows.
10127
10128 * w32term.c (w32_make_rdb): New function.
10129 (w32_term_init): Use it to initialize xrdb member of w32_display_info
10130 struct. Delete leftover code.
10131
10132 * w32fns.c (Fx_get_resource, x_get_resource_string): Pass xrdb to check
10133 for resources passed on the command line.
10134
10135 * w32reg.c (w32_get_rdb_resource): New function.
10136 (x_get_string_resource): Use it, so resources passed with -xrm
10137 supercede the ones in the registry.
10138
10139 2003-03-04 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10140
10141 * xterm.c (x_detect_focus_change): Call x_any_window_to_frame
10142 instead of x_top_window_to_frame.
10143
10144 2003-03-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10145
10146 * xsmfns.c (smc_save_yourself_CB): Add --no-splash to options
10147 when restarting Emacs.
10148
10149 2003-03-03 Richard M. Stallman <rms@gnu.org>
10150
10151 * buffer.c (Fkill_buffer): Use Frun_hook_with_args_until_failure
10152 to run kill-buffer-query-functions.
10153 (Qkill_buffer_query_functions): New var.
10154 (syms_of_buffer): Init and staticpro it.
10155
10156 2003-03-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10157
10158 * xterm.h (XSync): Define as gdk_window_process_all_updates for GTK.
10159
10160 2003-02-25 Kim F. Storm <storm@cua.dk>
10161
10162 * xdisp.c (redisplay_window): Fix infinite loop in redisplay.
10163 If centering point failed to make whole line visible and vscroll
10164 is non-zero, disable vscroll and try centering point again.
10165
10166 * lread.c (read1): Accept `single space' syntax like (? x).
10167
10168 2003-02-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10169
10170 * keyboard.c (cancel_hourglass_unwind): Surround with
10171 #ifdef HAVE_X_WINDOWS
10172
10173 2003-02-25 Kenichi Handa <handa@m17n.org>
10174
10175 * buffer.c (Fset_buffer_multibyte): Pay attention to the buffer
10176 process only when "subprocesses" is defined.
10177
10178 2003-02-24 Stefan Monnier <monnier@cs.yale.edu>
10179
10180 * syntax.c (back_comment): Only check nestedness of 2nd char if needed.
10181
10182 2003-02-24 Juanma Barranquero <lektu@terra.es>
10183
10184 * callint.c (fix_command): Declare as static void and move before
10185 Fcall_interactively.
10186
10187 * xdisp.c (Qwhen): Declare external; it's now defined in callint.c.
10188 (syms_of_xdisp): Don't initialize Qwhen.
10189
10190 2003-02-23 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10191
10192 * keyboard.c (cancel_hourglass_unwind): New function.
10193 (command_loop_1): Cancel hourglass with unwind-protect.
10194
10195 2003-02-23 Richard M. Stallman <rms@gnu.org>
10196
10197 * callint.c (fix_command): New subroutine, from Fcall_interactively.
10198 Detect (when ... (region-beginning)) etc.
10199 (Fcall_interactively): Call fix_command.
10200 (Qif, Qwhen): New variables.
10201 (syms_of_callint): Init and staticpro them.
10202
10203 * regex.c (print_partial_compiled_pattern): Output to stderr.
10204
10205 2003-02-23 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
10206
10207 * dired.c (directory_files_internal): Don't expand directory.
10208 (Fdirectory_files, Fdirectory_files_and_attributes): Do it here
10209 instead. From Lars Hansen <larsh@math.ku.dk>.
10210
10211 2003-02-22 Stefan Monnier <monnier@cs.yale.edu>
10212
10213 * fns.c (string_to_multibyte): Remove unused var i.
10214 (Flanginfo): Fix int/Lisp_Object mixup.
10215 (void_call2): New fun.
10216 (Fmap_char_table): Use it in place of call2.
10217
10218 * xfaces.c (x_face_list_fonts): Fix int/Lisp_Object mixup.
10219
10220 * macros.c (Fstart_kbd_macro): Remove redundant assignment.
10221
10222 * keymap.c (copy_keymap_1): Make it static.
10223
10224 * alloc.c (Fgarbage_collect): Don't use XSETFLOAT.
10225
10226 2003-02-22 David Ponce <david@dponce.com>
10227
10228 * lread.c (Fload): Don't check STRING_MULTIBYTE.
10229
10230 2003-02-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10231
10232 * process.h: Removed subtty field from struct Lisp_Process.
10233
10234 * process.c (create_process): Remove setting of subtty.
10235 (emacs_get_tty_pgrp): New function.
10236 (Fprocess_running_child_p, process_send_signal):
10237 Call emacs_get_tty_pgrp instead of ioctl.
10238 (process_send_signal): Call EMACS_KILLPG if ioctl TIOCSIGSEND fails.
10239
10240 2003-02-21 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
10241
10242 * keymap.c (Fdefine_key): Doc fix.
10243
10244 2003-02-21 Juanma Barranquero <lektu@terra.es>
10245
10246 Port of patch for RC by Klaus Zeitler <kzeitler@lucent.com>.
10247
10248 * s/hpux10.h: Define POLL_INTERRUPTED_SYS_CALL, not
10249 POLLING_PROBLEM_IN_SELECT.
10250
10251 * s/hpux11.h: Include hpux10-20.h instead of hpux10.h.
10252 Delete #undef of POLLING_PROBLEM_IN_SELECT.
10253
10254 * s/hpux10-20.h: New file.
10255
10256 * process.c (wait_reading_process_input):
10257 Use POLL_INTERRUPTED_SYS_CALL, not POLLING_PROBLEM_IN_SELECT.
10258
10259 2003-02-20 Kenichi Handa <handa@m17n.org>
10260
10261 * fontset.c (check_fontset_name): If NAME is nil, return the
10262 default fontset.
10263 (override_font_info): New function.
10264 (Fset_fontset_font): Document that NAME nil means the default fontset.
10265 (Ffontset_info): If FONTSET is not the default fontset, merge
10266 FONTSET onto the copy of the default fontset, and work on that
10267 copy. Document that NAME nil means the default fontset.
10268 (Ffontset_font): Document that NAME nil means the default fontset.
10269
10270 * process.c (setup_process_coding_systems): If the process's
10271 in/out descriptor is -1, do nothing.
10272
10273 2003-02-19 Andreas Schwab <schwab@suse.de>
10274
10275 * lisp.h (Fcancel_kbd_macro_events, Fstring_to_multibyte):
10276 Add prototypes.
10277
10278 2003-02-19 Kenichi Handa <handa@m17n.org>
10279
10280 * xfaces.c (try_alternative_families): Try all scalable fonts if
10281 Vscalable_fonts_allowed is not Qt.
10282
10283 2003-02-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10284
10285 * xfaces.c (x_face_list_fonts): Set *pfonts to 0 if no fonts found.
10286
10287 2003-02-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10288
10289 * xterm.c (x_list_fonts): If maxnames is less than 0, get all font
10290 names.
10291
10292 * xfaces.c (x_face_list_fonts): Allocate struct font_name here.
10293 (sorted_font_list): Move allocation of struct font_name to
10294 x_face_list_fonts.
10295 (Fx_font_family_list): Set font-list-limit to -1 to get all font names.
10296 (Fx_list_fonts): Set maxnames to -1 to get all font names.
10297
10298 2003-02-18 Kim F. Storm <storm@cua.dk>
10299
10300 * lread.c (read1): Fix last change.
10301 "`" is not always special. Allow "?" after a character constant.
10302
10303 2003-02-18 Andrew Choi <akochoi@shaw.ca>
10304
10305 * unexmacosx.c (copy_data_segment): Also copy __cfstring section.
10306
10307 2003-02-18 Andreas Schwab <schwab@suse.de>
10308
10309 * window.c (window_scroll_pixel_based): Move outside a
10310 multi-glyph character before setting new window start.
10311
10312 * xdisp.c (in_display_vector_p): New function.
10313 * dispextern.h (in_display_vector_p): Declare.
10314
10315 2003-02-18 Kim F. Storm <storm@cua.dk>
10316
10317 * lread.c (read1): Fix and relax read syntax.
10318 Recognize "[", ";", "#", and "?" after a dotted-pair dot.
10319 Only recognize "," after dotted-pair dot if inside backquote.
10320 Never include "`" or "," (inside backquote) in a symbol.
10321 Allow dotted-pair dot after a character constant.
10322 Allow "`" and "," (inside backquote) after a character constant.
10323
10324 2003-02-17 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10325
10326 * gtkutil.c (xg_tool_bar_expose_callback): New function.
10327 (xg_create_tool_bar): Force style of tool bar to be horizontal with
10328 icons. Set name of tool bar to emacs-toolbar.
10329 (update_frame_tool_bar): Connect expose event to
10330 xg_tool_bar_expose_callback.
10331
10332 2003-02-17 Richard M. Stallman <rms@gnu.org>
10333
10334 * keyboard.c (this_command_key_count_reset): New variable.
10335 Initiatize to 0 where this_command_key_count is set.
10336 (read_char): Save and restore this_command_key_count_reset
10337 around input method code.
10338 (read_char): If this_command_key_count_reset, echo reread commands.
10339 (Freset_this_command_lengths): Set this_command_key_count_reset to 1.
10340
10341 2003-02-17 Kenichi Handa <handa@m17n.org>
10342
10343 * fns.c (string_to_multibyte): Always return a multibyte string.
10344
10345 2003-02-16 Jason Rumney <jasonr@gnu.org>
10346
10347 * w32fns.c (w32_list_bdf_fonts, w32_list_fonts):
10348 Negative max_fonts parameter means list all.
10349
10350 2003-02-14 Dave Love <fx@gnu.org>
10351
10352 * fns.c (Flanginfo): Doc fix.
10353
10354 2003-02-13 Kim F. Storm <storm@cua.dk>
10355
10356 * lread.c (read_escape): Interpret \s as a SPACE character, except
10357 for \s-X in a character constant which still is the super modifier.
10358 (read1): Signal an `invalid read syntax' error if a character
10359 constant is immediately followed by a digit or symbol character.
10360
10361 * search.c (Fmatch_data): Doc fix. Explicitly state that
10362 match-data is undefined if last search failed.
10363
10364 * keymap.c (Fcommand_remapping): Rename from Fremap_command.
10365 All uses changed.
10366
10367 2003-02-12 Juanma Barranquero <lektu@terra.es>
10368
10369 * eval.c (Fdefmacro): Fix typo.
10370
10371 2003-02-12 Kim F. Storm <storm@cua.dk>
10372
10373 * macros.c (Fstart_kbd_macro): If appending, and last keyboard
10374 macro is a string, convert meta modifiers in string when copying
10375 the string into a vector.
10376
10377 2003-02-11 Kim F. Storm <storm@cua.dk>
10378
10379 * keymap.c (Fremap_command): Return nil if arg is not a symbol.
10380
10381 2003-02-11 Kenichi Handa <handa@m17n.org>
10382
10383 * Makefile.in (lisp, shortlisp): Add malayalam.el and tamil.el.
10384
10385 2003-02-10 Kim F. Storm <storm@cua.dk>
10386
10387 * process.c: Doc fixes.
10388 (syms_of_process): Add `:' prefix to QCfilter_multibyte.
10389
10390 2003-02-10 Kenichi Handa <handa@m17n.org>
10391
10392 * fns.c (Fstring_to_multibyte): Fix typo in the docstring.
10393
10394 * process.c (QCfilter_multibyte): New variable.
10395 (setup_process_coding_systems): New function.
10396 (Fset_process_buffer, Fset_process_filter):
10397 Call setup_process_coding_systems.
10398 (Fstart_process): Initialize the member `filter_multibyte' of
10399 struct Lisp_Process.
10400 (create_process): Call setup_process_coding_systems.
10401 (Fmake_network_process): New keyward `:filter-multibyte'.
10402 Initialize the member `filter_multibyte' of struct Lisp_Process.
10403 Call setup_process_coding_systems.
10404 (server_accept_connection): Call setup_process_coding_systems.
10405 (read_process_output): If the process has a filter, decide the
10406 multibyteness of a string to given to the filter by
10407 `filter_multibyte' member of the process. If the process doesn't
10408 have a filter and the result of conversion is unibyte, use
10409 Fstring_to_multibyte (not Fstring_make_multibyte) to get the
10410 multibyte form.
10411 (Fset_process_coding_system): Call setup_process_coding_systems.
10412 (Fset_process_filter_multibyte): New function.
10413 (Fprocess_filter_multibyte_p): New function.
10414 (syms_of_process): Intern and staticpro QCfilter_multibyte.
10415 Defsubr Sset_process_filter_multibyte and
10416 Sprocess_filter_multibyte_p.
10417
10418 * process.h (struct Lisp_Process): New member filter_multibyte.
10419
10420 * lisp.h (setup_process_coding_systems): Add prototype.
10421
10422 * buffer.c (Fset_buffer_multibyte): If the current buffer has a
10423 process, update coding systems for the process.
10424
10425 2003-02-09 Kenichi Handa <handa@m17n.org>
10426
10427 * fns.c (string_to_multibyte): New function.
10428 (Fstring_to_multibyte): New function.
10429 (syms_of_fns): Defsubr it.
10430
10431 2003-02-08 Andreas Schwab <schwab@suse.de>
10432
10433 * Makefile.in (EXEEXT): Define to @EXEEXT@ and use this variable
10434 instead of the substitution.
10435
10436 2003-02-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10437
10438 * xterm.c (x_make_frame_visible): Call gtk_window_deiconify.
10439
10440 * xmenu.c (menu_position_func): Adjust menu popup position so that
10441 the menu is fully visible.
10442
10443 2003-02-07 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10444
10445 * xterm.c (x_text_icon, x_raise_frame, x_lower_frame)
10446 (x_make_frame_invisible, x_wm_set_icon_position):
10447 Use FRAME_OUTER_WINDOW instead of ifdef X_TOOLKIT/else/endif.
10448
10449 * xfns.c (x_set_name, x_set_title): Ditto.
10450
10451 2003-02-04 Richard M. Stallman <rms@gnu.org>
10452
10453 * keyboard.c (echo_now): Update before_command_echo_length.
10454 (Freset_this_command_lengths): Reset this_command_key_count etc.
10455 immediately rather than arranging to do it later.
10456 (before_command_key_count_1, before_command_echo_length_1)
10457 (before_command_restore_flag): Vars deleted.
10458 (add_command_key): Don't handle before_command_restore_flag.
10459 (read_char, record_menu_key): Don't update before_command_key_count or
10460 before_command_echo_length.
10461 (read_char): Don't handle before_command_restore_flag.
10462
10463 * keyboard.c (command_loop_1): Don't call adjust_point_for_property
10464 in direct-output clauses if it wouldn't be called in the ordinary case.
10465
10466 2003-02-04 Kim F. Storm <storm@cua.dk>
10467
10468 * keyboard.c (syms_of_keyboard) <this-original-command>: Doc fix.
10469
10470 2003-02-02 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10471
10472 * gtkutil.c (remove_from_container): Copying list is not needed.
10473 (xg_update_menubar, xg_update_menu_item, xg_update_submenu)
10474 (xg_modify_menubar_widgets, update_frame_tool_bar): Call g_list_free
10475 on list returned from gtk_container_get_children to avoid memory leak.
10476
10477 2003-02-01 Jason Rumney <jasonr@gnu.org>
10478
10479 * w32fns.c (w32_create_pixmap_from_bitmap_data): Use alloca for
10480 local malloc.
10481 [HAVE_XPM]: Avoid clashes with XColor, XImage and Pixel
10482 definitions in xpm.h.
10483 (init_xpm_functions): New function.
10484 (xpm_load): Sync with xfns.c. Adapt for Windows version of libXpm.
10485 (init_external_image_libraries): Try to load libXpm.dll.
10486
10487 * fileio.c (Fcopy_file) [WINDOWSNT]: Reverse logic for setting
10488 timestamp.
10489
10490 2003-01-31 Dave Love <fx@gnu.org>
10491
10492 * syntax.c (Fskip_chars_forward)
10493 (open-paren-in-column-0-is-defun-start): Doc fix.
10494
10495 2003-01-31 Joe Buehler <jhpb@draco.hekimian.com>
10496
10497 * fileio.c: Support // at start of name for Cygwin (just added proper
10498 preprocessor tests).
10499
10500 * keyboard.c: Port to Cygwin (just added proper preprocessor tests).
10501
10502 * Makefile.in: Use @EXEEXT@ for Cygwin.
10503
10504 * mem-limits.h: Added ifdef to define BSD4_2 for Cygwin.
10505
10506 * s/cygwin.h: Added for Cygwin port.
10507
10508 2003-01-31 Juanma Barranquero <lektu@terra.es>
10509
10510 * w32fns.c (DrawText): Kludge to avoid a redefinition on Windows
10511 when including gif_lib.h.
10512 (init_gif_functions, init_tiff_functions): New functions.
10513 (gif_load, tiff_load): Sync with xfns.c version. Adjust colors for
10514 Windows. Disable color table lookups. Call library functions
10515 through pointers determined at runtime.
10516 (init_external_image_libraries): Try to load libungif.dll and
10517 libtiff.dll.
10518
10519 2003-01-31 Kenichi Handa <handa@m17n.org>
10520
10521 * xdisp.c (SKIP_GLYPHS): New macro.
10522 (set_cursor_from_row): Skip all glyphs that comes from overlay string.
10523
10524 2003-01-30 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10525
10526 * gtkutil.c (free_frame_tool_bar): Remove debug printf.
10527
10528 2003-01-30 Dave Love <fx@gnu.org>
10529
10530 * alloc.c (Vgc_elapsed, gcs_done): New variables.
10531 (Fgarbage_collect): Use them.
10532 (init_alloc, syms_of_alloc): Set them up.
10533
10534 2003-01-30 Juanma Barranquero <lektu@terra.es>
10535
10536 * w32fns.c (init_external_image_libraries): Add missing operator.
10537
10538 2003-01-29 Jason Rumney <jasonr@gnu.org>
10539
10540 * w32fns.c (init_external_image_libraries): Allow jpeg-62.dll as
10541 an alternative name for jpeg.dll.
10542
10543 2003-01-29 Kenichi Handa <handa@m17n.org>
10544
10545 * xdisp.c (set_cursor_from_row): Pay attention to string display
10546 properties.
10547
10548 2003-01-28 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
10549
10550 * macterm.c (keycode_to_xkeysym_table): Add <tab>, <backspace>,
10551 <escape>.
10552 (keycode_to_xkeysym_table): Reformat and add more comments.
10553 (XTread_socket): Drop special case for backspace.
10554
10555 2003-01-28 Andrew Choi <akochoi@shaw.ca>
10556
10557 * macfns.c (x_to_mac_color): Correct the order for parsing the RGB
10558 values in old-style RGB specs.
10559
10560 2003-01-27 Juanma Barranquero <lektu@terra.es>
10561
10562 * w32fns.c (init_external_image_libraries): Try alternate names for the
10563 jpeg dll.
10564
10565 2003-01-27 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10566
10567 * gtkutil.c (create_dialog, xg_separator_p)
10568 (xg_item_label_same_p, xg_update_menu_item): Check for NULL string
10569 before calling strcmp or strlen.
10570
10571 2003-01-26 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10572
10573 * gtkutil.c (update_frame_tool_bar): Call prepare_image_for_display
10574 and handle image load failure.
10575
10576 2003-01-26 Jason Rumney <jasonr@gnu.org>
10577
10578 * w32fns.c (init_jpeg_functions, jpeg_resync_to_restart_wrapper):
10579 New functions.
10580 (jpeg_load): Sync with xfns.c version. Adjust colors for Windows.
10581 Disable color table lookups. Call jpeg library functions
10582 through pointers determined at runtime.
10583 (init_external_image_libraries): Try to load jpeg.dll.
10584
10585 2003-01-25 Richard M. Stallman <rms@gnu.org>
10586
10587 * lisp.h: Declare format2 instead of format1.
10588
10589 * fileio.c (barf_or_query_if_file_exists):
10590 Call format2 instead of format1.
10591
10592 * editfns.c (format2): New function, replaces format1
10593 but takes exactly two Lisp Objects as format args.
10594
10595 * buffer.c (Fkill_buffer): Call format2 instead of format1.
10596
10597 2003-01-25 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10598
10599 * xterm.h: Change to return value of x_dispatch_event to int.
10600
10601 * xterm.c (x_filter_event): New function.
10602 (event_handler_gdk, XTread_socket): Call x_filter_event.
10603 (x_dispatch_event): Change to return value of finish.
10604 (event_handler_gdk): Use return value from x_dispatch_event.
10605
10606 * xfns.c (x_window): Call create_frame_xic for GTK version to
10607 initialize input methods.
10608
10609 * gtkutil.h: Add (void) prototypes.
10610
10611 * gtkutil.c (create_menus): Remove code that puts the help menu to
10612 the right.
10613
10614 2003-01-25 Jason Rumney <jasonr@gnu.org>
10615
10616 * w32fns.c (XPutPixel): Handle monochrome images; used for masks.
10617 [HAVE_PNG]: Sync with xfns.c version.
10618 (png_load): Adjust colors for Windows. Use Windows
10619 bitmaps. Disable color table lookups.
10620 (DEF_IMGLIB_FN, LOAD_IMGLIB_FN): New macros.
10621 (init_png_functions): New function.
10622 (png_read_from_memory, png_load): Call png library functions
10623 through pointers determined at runtime.
10624 (QCloader, QCbounding_box, QCpt_width, QCpt_height): Declare.
10625 (init_external_image_libraries): New function.
10626 (init_xfns): Call it.
10627
10628 2003-01-24 Andreas Schwab <schwab@suse.de>
10629
10630 * minibuf.c (Fminibuffer_message): Verify type of parameter.
10631
10632 2003-01-24 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10633
10634 * gtkutil.c (xg_initialize): Initialize id_to_widget here instead
10635 of static initializer.
10636
10637 2003-01-24 Dave Love <fx@gnu.org>
10638
10639 * s/gnu-linux.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define for more
10640 architectures.
10641
10642 * alloc.c (mark_stack) [!GC_LISP_OBJECT_ALIGNMENT && __GNUC__]:
10643 Use __alignof__.
10644
10645 2003-01-24 Kenichi Handa <handa@m17n.org>
10646
10647 * keyboard.c (adjust_point_for_property): New second arg MODIFIED.
10648 It it is nonzero, don't pretend that an invisible area doesn't exist.
10649 (command_loop_1): Call adjust_point_for_property with proper
10650 second arg.
10651
10652 2003-01-22 Jason Rumney <jasonr@gnu.org>
10653
10654 Sync changes with xterm.c and xfns.c.
10655
10656 * w32term.c (x_draw_glyph_string_foreground)
10657 (x_draw_composite_glyph_string_foreground): Implement overstriking.
10658
10659 * w32term.c (x_write_glyphs): Clear phys_cursor_on_p if current
10660 phys_cursor's hpos is overwritten. This is still not completely
10661 correct, as it doesn't really make sense to use hpos at all to
10662 get the cursor glyph (as that is relative to the width of the
10663 characters on the line, which may have changed during the update).
10664
10665 * w32term.c (notice_overwritten_cursor): Handle the special case
10666 of the cursor being in the first blank non-text line at the
10667 end of a window.
10668
10669 * w32term.c (x_draw_hollow_cursor, x_draw_bar_cursor)
10670 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
10671 Compute from the x position returned by x_draw_glyphs.
10672
10673 (x_display_and_set_cursor): Don't set phys_cursor_width here,
10674 except for NO_CURSOR and system caret, to make phys_cursor_width
10675 contain what its name suggests.
10676 (notice_overwritten_cursor): Consider the cursor image erased if
10677 the output area intersects the cursor image in y-direction.
10678
10679 * w32term.c (note_mode_line_or_margin_highlight): Rename from
10680 note_mode_line_highlight and extend.
10681
10682 * w32term.c (last_window): New variable.
10683 (w32_read_socket) <WM_MOUSEMOVE>: Generate SELECT_WINDOW_EVENTs.
10684 (note_mouse_movement): Remove reimplemented code in #if 0.
10685
10686 * w32fns.c (x_set_cursor_type): Set cursor_type_changed,
10687 not update_mode_lines, and always set it to 1.
10688
10689 2003-01-21 Jason Rumney <jasonr@gnu.org>
10690
10691 * w32fns.c (IDC_HAND): Define it if system headers don't.
10692
10693 2003-01-21 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp>
10694
10695 * w32term.h (struct w32_output): New member hand_cursor.
10696 (WM_EMACS_SETCURSOR): New message definition.
10697
10698 * w32term.c (note_mode_line_highlight): Delete #if 0 to enable
10699 function w32_define_cursor.
10700 (note_mouse_highlight): Initialize, setup cursor accoding to mouse
10701 position, change member name output_data.x to output_data.w32 and
10702 add function w32_define_cursor.
10703 (show_mouse_face): Delete #if 0 to enable function w32_define_cursor
10704 and change member name output_data.x to output_data.w32.
10705 (w32_initialize_display_info):
10706 Setup dpyinfo->vertical_scroll_bar_cursor.
10707
10708 * w32fns.c (Vx_hand_shape): New variable.
10709 (w32_wnd_proc): Add message entries for WM_SETCURSOR and
10710 WM_EMACS_SETCURSOR.
10711 (x-create-frame): Setup Cursor types.
10712
10713 2003-01-21 David Ponce <david@dponce.com>
10714
10715 * w32term.c (w32_encode_char): For DIM=1 charset, set
10716 ccl->reg[2] to -1 before calling ccl_driver. (Sync. with xterm.c
10717 x_encode_char change by Kenichi Handa <handa@m17n.org> on
10718 2002-09-30.)
10719 (w32_draw_relief_rect): Declare all args.
10720 (w32_define_cursor): New.
10721
10722 * w32fns.c (w32_load_cursor): New function.
10723 (w32_init_class): Use it.
10724 (x_put_x_image): Declare all args.
10725
10726 2003-01-21 Richard Dawe <rich@phekda.freeserve.co.uk>
10727
10728 * Makefile.in (ALL_CFLAGS): Include MYCPPFLAGS, not MYCPPFLAG.
10729
10730 2003-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10731
10732 * gtkutil.c: Must include stdio.h before termhooks.h
10733
10734 2003-01-21 Dave Love <fx@gnu.org>
10735
10736 * alloc.c (Fgc_status): Print zombie list.
10737 (mark_maybe_object) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
10738 Fix assignment of zombies.
10739 (Fgarbage_collect) [GC_MARK_STACK==GC_USE_GCPROS_CHECK_ZOMBIES]:
10740 Don't take car of non-cons.
10741
10742 * s/sol2-5.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10743
10744 * s/sunos4-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
10745
10746 2003-01-20 David Ponce <david@dponce.com>
10747
10748 * w32menu.c (digest_single_submenu): Declare all args.
10749
10750 Sync with 2002-12-23 Richard M. Stallman <rms@gnu.org>
10751 changes in xmenu.c:
10752
10753 (parse_single_submenu): Use individual keymap's prompt
10754 string as pane name, if there is one.
10755 (set_frame_menubar): Save menu_items_n_panes from each call to
10756 parse_single_submenu and use it when calling digest_single_submenu.
10757
10758 2003-01-20 Steven Tamm <steventamm@mac.com>
10759
10760 * macterm.c (XTread_socket): Checks for valid, visible window
10761 before sending a scroll-wheel event.
10762
10763 2003-01-20 Richard M. Stallman <rms@gnu.org>
10764
10765 * xdisp.c (redisplay_window): If mini window's buffer is not
10766 a minibuffer, then redisplay it like other windows.
10767
10768 2003-01-20 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10769
10770 * gtkutil.c (xg_create_frame_widgets): Check if there is an
10771 external tool bar before setting tool bar height.
10772
10773 2003-01-19 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10774
10775 * xterm.c (handle_one_xevent): Surround popup_activated
10776 with #ifdef:s for non-toolkit version.
10777
10778 * Makefile.in (XOBJ): Add gtkutil.o if USE_GTK
10779 (gtkutil.o): New file.
10780 (TOOLKIT_DEFINES): Set to -DUSE_GTK if HAVE_GTK.
10781 (LIBW): Set to @GTK_LIBS@ if USE_GTK.
10782
10783 * gtkutil.c: New file for GTK version.
10784
10785 * gtkutil.h: New file for GTK version.
10786
10787 * xterm.h: Add xt_or_gtk_widget.
10788 Include gtk files for USE_GTK.
10789 (struct x_output): Add toolbar_height.
10790 (struct x_output): Add GTK widgets and Gdk size_hints.
10791 (GTK_WIDGET_TO_X_WIN, FRAME_GTK_OUTER_WIDGET, FRAME_GTK_WIDGET)
10792 (FRAME_OUTER_WINDOW): New macros for USE_GTK.
10793 (FRAME_OUTER_TO_INNER_DIFF_Y): Add FRAME_TOOLBAR_HEIGHT to calculation.
10794
10795 * xterm.c: Include gtkutil.h for USE_GTK.
10796 (free_frame_menubar): Declare extern void for USE_GTK.
10797 (note_mouse_highlight): Check popup_activated for USE_GTK.
10798 (xt_action_hook): Don't compile if USE_GTK.
10799 (x_scroll_bar_to_input_event): Use CurrentTime for USE_GTK.
10800 (xg_scroll_callback): New function.
10801 (x_create_toolkit_scroll_bar): Call xg_create_scroll_bar for USE_GTK.
10802 (x_set_toolkit_scroll_bar_thumb): Call xg_set_toolkit_scroll_bar_thumb
10803 for USE_GTK.
10804 (x_scroll_bar_create): Call xg_update_scrollbar_pos and
10805 xg_show_scroll_bar for USE_GTK.
10806 (x_scroll_bar_remove): Call xg_remove_scroll_bar for USE_GTK.
10807 (XTset_vertical_scroll_bar): Call xg_update_scrollbar_pos for USE_GTK.
10808 (event_handler_gdk): New function for USE_GTK.
10809 (handle_one_xevent): Call xg_resize_widgets for USE_GTK.
10810 (handle_one_xevent): Make sure widget is mapped before
10811 calling x_real_positions for USE_GTK.
10812 (XTread_socket): Add GTK event loop for USE_GTK.
10813 (x_set_window_size): Call xg_frame_set_char_size for USE_GTK.
10814 (x_make_frame_visible): Call gtk_widget_show_all for USE_GTK.
10815 (x_make_frame_invisible): Call gtk_widget_hide for USE_GTK.
10816 (x_iconify_frame): Add code for USE_GTK.
10817 (x_free_frame_resources): Call gtk_widget_destroy for USE_GTK.
10818 (x_wm_set_size_hint): Only compile if not USE_GTK. GTK version
10819 is in gtkutil.c.
10820 (x_term_init): Add initialization for GTK.
10821 (syms_of_xterm): Set Vx_toolkit_scroll_bars for USE_GTK.
10822
10823 * xmenu.c: Include gtkutil.h for USE_GTK.
10824 (Fx_popup_menu): Use current position if x and y is NIL.
10825 (single_menu_item, single_menu_item, Fx_popup_dialog):
10826 Check for USE_GTK.
10827 (popup_widget_loop): New function for USE_GTK.
10828 (x_activate_menubar): Add code for USE_GTK.
10829 (popup_activate_callback, popup_deactivate_callback)
10830 (menu_highlight_callback, menubar_selection_callback):
10831 Add USE_GTK versions.
10832 (update_frame_menubar): Call xg_update_frame_menubar for USE_GTK.
10833 (set_frame_menubar): Call xg_modify_menubar_widgets for USE_GTK.
10834 (free_frame_menubar): Only compile if not USE_GTK. GTK version
10835 is in gtkutil.c.
10836 (popup_selection_callback): New version for USE_GTK.
10837 (create_and_show_popup_menu): New fuction, one USE_GTK version and
10838 one USE_X_TOOLKIT version.
10839 (xmenu_show): Call create_and_show_popup_menu.
10840 (dialog_selection_callback): New version for USE_GTK.
10841 (create_and_show_dialog): New fuction, one USE_GTK version and
10842 one USE_X_TOOLKIT version.
10843 (xdialog_show): Call create_and_show_dialog.
10844
10845 * xfns.c: Include gtkutil for USE_GTK.
10846 (x_window_to_frame, x_any_window_to_frame)
10847 (x_non_menubar_window_to_frame, x_menubar_window_to_frame)
10848 (x_top_window_to_frame): Add code for USE_GTK.
10849 (x_set_background_color): Call xg_set_background_color for GTK.
10850 (x_set_menu_bar_lines): Check for USE_GTK.
10851 (x_set_tool_bar_lines): Call update_frame_tool_bar for USE_GTK.
10852 (x_set_name, x_set_title): Call gtk_window_set_title for USE_GTK.
10853 (x_window): Call xg_create_frame_widgets for USE_GTK.
10854 (Fx_create_frame): Check for USE_GTK
10855 (Fx_file_dialog): New implementation for USE_GTK.
10856
10857 * xdisp.c: Add check for USE_GTK for extern void set_frame_menubar.
10858 (update_menu_bar): Add check for USE_GTK.
10859 (update_tool_bar): Add check for USE_GTK and external tool bar.
10860 (redisplay_tool_bar): Add check for USE_GTK and external tool bar.
10861 (redisplay_internal): Add check for USE_GTK and popup_activated.
10862 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_MENU_BAR.
10863 (redisplay_window): Add check for USE_GTK and FRAME_EXTERNAL_TOOL_BAR.
10864 (display_menu_bar): Add check for USE_GTK
10865
10866 * lisp.h (Vx_resource_name): Declare extern.
10867
10868 * keyboard.c (kbd_buffer_get_event): Check MENU_BAR_ACTIVATE_EVENT
10869 for USE_GTK.
10870 (make_lispy_event): Check MENU_BAR_EVENT for USE_GTK.
10871
10872 * frame.h (struct frame): Add external_tool_bar. Check for USE_GTK.
10873 (FRAME_EXTERNAL_TOOL_BAR): New macro.
10874 (FRAME_EXTERNAL_MENU_BAR): Check for USE_GTK.
10875
10876 * fileio.c (Fread_file_name): Add check for USE_GTK.
10877
10878 * dispnew.c (adjust_frame_glyphs_for_window_redisplay):
10879 Add check for USE_GTK.
10880
10881 * config.in: Added HAVE_GTK
10882
10883 * alloc.c (Fgarbage_collect): Call xg_mark_data for GTK.
10884
10885 2003-01-18 Stefan Monnier <monnier@cs.yale.edu>
10886
10887 * charset.h (Funibyte_char_to_multibyte): Export.
10888
10889 2003-01-18 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
10890
10891 * xmenu.c (mouse_position_for_popup): New function.
10892 (Fx_popup_menu): Call mouse_position_for_popup for X and
10893 mouse_position_hook for others.
10894
10895 2003-01-17 Kim F. Storm <storm@cua.dk>
10896
10897 * editfns.c (Finsert): Mention `string-make-multibyte' and
10898 `string-as-multibyte' in doc string.
10899
10900 2003-01-17 Kenichi Handa <handa@m17n.org>
10901
10902 * fontset.c (syms_of_fontset): Setup Vfont_encoding_alist here.
10903
10904 * editfns.c (Fformat): Convert an unibyte char argument that is
10905 formatted by "%c" to multibyte if the total result must be a
10906 multibyte string.
10907
10908 2003-01-16 Kim F. Storm <storm@cua.dk>
10909
10910 * process.c (set-process-filter): Document unibyte/multibyte-ness
10911 of string argument.
10912
10913 2003-01-16 Kenichi Handa <handa@m17n.org>
10914
10915 * charset.h (NEXT_CHAR_BOUNDARY, PREV_CHAR_BOUNDARY): New macros.
10916
10917 * regex.c (GET_CHAR_BEFORE_2): Use PREV_CHAR_BOUNDARY.
10918 (re_search_2): Likewise.
10919
10920 2003-01-15 Kenichi Handa <handa@m17n.org>
10921
10922 * xdisp.c (message_dolog): Fix bug of the case that *Message*
10923 buffer is unibyte.
10924
10925 2003-01-15 Francesco Potort\e,Al\e(B <pot@gnu.org>
10926
10927 * fns.c (Fsubstring): Clarify doc string.
10928
10929 * textprop.c (Ftext_properties_at, Fnext_char_property_change)
10930 (Fprevious_char_property_change)
10931 (Fnext_single_char_property_change)
10932 (Fprevious_single_char_property_change, Fnext_property_change)
10933 (Fnext_single_property_change, Fprevious_property_change)
10934 (Fprevious_single_property_change, Fadd_text_properties)
10935 (Fput_text_property, Fset_text_properties)
10936 (Fremove_text_properties, Fremove_list_of_text_properties)
10937 (Ftext_property_any, Ftext_property_not_all): Clarify doc strings.
10938
10939 2003-01-14 Kim F. Storm <storm@cua.dk>
10940
10941 * process.h (struct Lisp_Process): New member plist replaces old
10942 member private_vars. All uses changed.
10943
10944 * process.c: Reworked 2003-01-12 change -- call a plist a plist!
10945 (QCplist): Rename from QCvars. Change all uses.
10946 (Fprocess_plist): Replaces Fprocess_variable. Simplified.
10947 (Fset_process_plist): Replaces Fset_process_variable. Simplify.
10948 (syms_of_process): Intern, staticpro, defsubr these.
10949 (Fmake_network_process): Describe :plist arg. Remove :vars arg.
10950
10951 2003-01-14 Francesco Potort\e,Al\e(B <pot@gnu.org>
10952
10953 * m/delta.h: Remove (obsolete).
10954
10955 2003-01-13 Francesco Potort\e,Al\e(B <pot@gnu.org>
10956
10957 * fileio.c (Fdelete_directory, Fdelete_file): Document the
10958 behaviour in front of symlinks.
10959 (Fdelete_file): Raise an error on directories.
10960
10961 2003-01-13 Dave Love <fx@gnu.org>
10962
10963 * fns.c (Freverse): Use QUIT.
10964
10965 2003-01-13 Richard M. Stallman <rms@gnu.org>
10966
10967 * minibuf.c (minibuffer_completion_contents):
10968 Error if point is inside prompt.
10969
10970 * keyboard.c (command_loop_1): Don't redisplay directly
10971 if there's a post-command-hook.
10972
10973 * fileio.c (syms_of_fileio) <directory-sep-char>: Doc fix.
10974 (Fdo_auto_save): Add gcpros around Ffile_name_directory.
10975
10976 2003-01-12 Kim F. Storm <storm@cua.dk>
10977
10978 * process.h (struct Lisp_Process): New member private_vars.
10979
10980 * process.c (QCvars): New variable.
10981 (syms_of_process): Intern and staticpro it.
10982 (Fset_process_contact): Removed function.
10983 (Fprocess_variable, Fset_process_variable): New functions.
10984 (syms_of_process): Defsubr them.
10985 (Fstart_process): Initialize private_vars plist to nil.
10986 (Fmake_network_process): New arg :vars to setup the private
10987 variables for new network process.
10988 (server_accept_connection): Copy server's private variables to
10989 client process.
10990
10991 * alloc.c (pure_alloc): Fixed 2003-01-10 changed (caused spurious
10992 crashes). Code rewritten and simplified. Now directly aligns the
10993 pointer and recalculates pure_bytes_used, rather than aligning the
10994 size and adjusting the pointer.
10995
10996 2003-01-11 Kim F. Storm <storm@cua.dk>
10997
10998 * process.c (Fset_process_contact): New function.
10999 (syms_of_process): defsubr it.
11000 (make-network-process): Update doc.
11001
11002 2003-01-10 Andreas Schwab <schwab@suse.de>
11003
11004 * alloc.c (pure_alloc): Correct alignment for Lisp_Floats.
11005 Reported by Berthold Gunreben <b.gunreben@web.de>.
11006
11007 2003-01-10 Dave Love <fx@gnu.org>
11008
11009 * composite.c (syms_of_composite): Make composition_hash_table weak.
11010
11011 2003-01-09 Kim F. Storm <storm@cua.dk>
11012
11013 * process.c (Fmake_network_process): Convert new port number
11014 to host byte order for `:service t' case. From Mario Lang.
11015
11016 2003-01-08 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
11017
11018 * xfns.c (Fx_file_dialog): Call XtAppNextEvent and x_dispatch_event
11019 instead of XtAppProcessEvent.
11020
11021 * xterm.c (handle_one_xevent): New function.
11022 (x_dispatch_event): New function.
11023 (XTread_socket): Call handle_one_xevent.
11024
11025 * xterm.h (FRAME_OUTER_TO_INNER_DIFF_X/Y): New.
11026
11027 * xmenu.c (Fx_popup_menu): If popping up at mouse position,
11028 call XQueryPointer to get coordinates.
11029 (popup_get_selection): Do not set popup_activated_flag to zero,
11030 let popup_deactivate_callback do that. Needed for Motif.
11031 Call x_dispatch_event instead of XtDispatchEvent.
11032 (xmenu_show): Calculate root coordinate from frame top/left position.
11033
11034 2003-01-08 Kim F. Storm <storm@cua.dk>
11035
11036 * process.c (server_accept_connection): Fix recording of new
11037 connection's local address in :local property of contact info.
11038 (Fmake_network_process): Record local network address for new
11039 client processes in :local property of contact info.
11040 (format-network-address): Add arg OMIT-PORT. Change callers.
11041
11042 2003-01-07 Dave Love <fx@gnu.org>
11043
11044 * Makefile.in (fns.o): Depend on coding.h.
11045
11046 2003-01-07 Markus Rost <rost@math.ohio-state.edu>
11047
11048 * minibuf.c (Fread_variable): Doc fix.
11049
11050 * eval.c (Fuser_variable_p): Doc change. For custom variables,
11051 use the same test as for custom-variable-p.
11052
11053 2003-01-05 Richard M. Stallman <rms@gnu.org>
11054
11055 * xdisp.c (try_scrolling): New arg LAST_LINE_MISFIT.
11056 Count LAST_LINE_MISFIT in scroll margin for end of window.
11057 Move label too_near_end before setting SCROLL_MARGIN_POS.
11058 Set LAST_LINE_MISFIT before jumping there.
11059
11060 * xdisp.c (try_scrolling): Calculate amount_to_scroll better in
11061 scroll_conservatively case. If scrolling that much doesn't change
11062 STARTP, move it down one line.
11063
11064 * xdisp.c (redisplay_window): Pass last_line_misfit arg to
11065 try_scrolling. Make it 1 after make_cursor_line_fully_visible fails.
11066
11067 * xdisp.c (setup_echo_area_for_printing): Kill Emacs if no
11068 selected frame.
11069
11070 * keymap.c (apropos_predicate, apropos_accumulate): Make them static.
11071 (syms_of_keymap): Staticpro them.
11072 (Fapropos_internal): Initialize them and clear them out.
11073 Don't GCPRO them.
11074
11075 * buffer.c (syms_of_buffer) <scroll-up-aggressively, scroll-down-aggressively>:
11076 Doc fixes.
11077
11078 * lisp.h: New misc type Lisp_Save_Value.
11079 (enum Lisp_Misc_Type): Add Lisp_Misc_Save_Value.
11080 (XSAVE_VALUE): New macro.
11081 (struct Lisp_Save_Value): New data type.
11082 (union Lisp_Misc): Add u_save_value alternative.
11083 (make_save_value): Declare.
11084
11085 * alloc.c (make_save_value): New function.
11086
11087 * xterm.c (x_catch_errors): Save dpy using make_save_value.
11088 (x_catch_errors_unwind): Call XSync.
11089
11090 2003-01-01 Richard M. Stallman <rms@gnu.org>
11091
11092 * window.c (window_scroll_pixel_based): Partially undo last change.
11093
11094 * keyboard.c (command_loop_1): Call adjust_point_for_property
11095 in direct action cases for Qforward_char and Qbackward_char.
11096 Set already_adjusted so it won't be done twice.
11097
11098 2002-12-30 Richard Dawe <rich@phekda.freeserve.co.uk>
11099
11100 * src/config.in (!HAVE_SIZE_T): Fix order of arguments in
11101 type definition of size_t.
11102
11103 2003-01-02 Steven Tamm <steventamm@mac.com>
11104
11105 * macterm.c (syms_of_macterm): Provide the feature "mac-carbon" to
11106 distinguish Carbon GUI builds from X11 builds on darwin.
11107
11108 2002-12-30 Steven Tamm <steventamm@mac.com>
11109
11110 * macterm.c (syms_of_macterm): Set mac-wheel-button-is-mouse-2
11111 to default to t.
11112
11113 2002-12-29 Francesco Potort\e,Al\e(B <pot@gnu.org>
11114
11115 * data.c (Fstring_to_number, Fminus): Better English in doc strings.
11116
11117 2002-12-28 Steven Tamm <steventamm@mac.com>
11118
11119 * Makefile.in (macosx-bundle): Fixes to Mac OS X/Carbon port to
11120 allow building in a different directory than source. Uses some
11121 GNU Make extensions, but there is no other make on Mac OS X.
11122
11123 2002-12-26 Francesco Potort\e,Al\e(B <pot@gnu.org>
11124
11125 * data.c (Fmakunbound, Ffmakunbound, Fmake_variable_buffer_local)
11126 (Fsetq_default, Fmake_local_variable, Fkill_local_variable)
11127 (Fmake_variable_frame_local, Faset, Fnumber_to_string, Fminus)
11128 (Fstring_to_number): Mention the returned value in the doc strings.
11129
11130 2002-12-23 Richard M. Stallman <rms@gnu.org>
11131
11132 * buffer.c (syms_of_buffer) <scroll-up-aggressively>
11133 <scroll-down-aggressively>: Doc fix.
11134
11135 * xmenu.c (parse_single_submenu): Use individual keymap's prompt
11136 string as pane name, if there is one.
11137 (set_frame_menubar): Save menu_items_n_panes from each call to
11138 parse_single_submenu and use it when calling digest_single_submenu.
11139
11140 * window.c (window_scroll_pixel_based): Fix check for reaching BEGV.
11141 Don't try to make last line fully visible if it is past end of window.
11142
11143 2002-12-22 Steven Tamm <steventamm@mac.com>
11144
11145 * macmenu.c (MIN_POPUP_SUBMENU_ID): Add.
11146 (mac_menu_show): Add support for hierarchical popup menus.
11147 (add_menu_item): Remove indentation support.
11148 (fill_submenu, fill_menu): Create hierarchical menus
11149 instead of using indentation.
11150
11151 2002-12-22 Richard M. Stallman <rms@gnu.org>
11152
11153 * xdisp.c (try_cursor_movement): Don't call try_window here.
11154 (redisplay_window): Never redisplay minibuffer when inactive.
11155
11156 * window.c (select_window_1): Undo 9/21 change.
11157
11158 2002-12-22 Steven Tamm <steventamm@mac.com>
11159
11160 * macterm.c (XTread_socket): Call KeyTranslate for control and
11161 meta to deal correctly shifted non-alpha characters, like C-S-5
11162 being treated like C-%. Does not look for shift key to deal
11163 with masking off control-key with mac-reverse-ctrl-meta.
11164
11165 2002-12-21 Richard M. Stallman <rms@gnu.org>
11166
11167 * xmenu.c (popup_get_selection): Now static. New arg DO_TIMERS.
11168 If it is non-nil, run timers. Use an unwind-protect to requeue
11169 the events that were read ahead.
11170 (popup_get_selection_unwind): New subroutine.
11171 (popup_get_selection_queue): File-scope variable now holds that queue.
11172 (xmenu_show): Pass 0 for DO_TIMERS to popup_get_selection.
11173 (xdialog_show): Pass 1 for DO_TIMERS to popup_get_selection.
11174 Use an unwind-protect to pop down the dialog box.
11175 (xdialog_show_unwind): New subroutine implements that.
11176
11177 * xdisp.c (row_containing_pos): Change exit test using last_y.
11178 (try_window_id): Abort if row_containing_pos returns null.
11179
11180 * lread.c (load_error_handler): New function.
11181 (Fload): Handle errors in Fsubstitute_in_file_name.
11182 Don't expect Fsignal to return.
11183
11184 * eval.c: Errors and throws work right with interrupt blocking.
11185 (struct catchtag): New elt interrupt_input_blocked.
11186 (unwind_to_catch): Restore interrupt_input_blocked from saved value.
11187 (internal_catch, Fcondition_case, internal_condition_case)
11188 (internal_condition_case_1, internal_condition_case_2): Save it.
11189 (Fsignal): Don't do TOTALLY_UNBLOCK_INPUT.
11190
11191 * editfns.c (Fformat): Add parens.
11192
11193 * dired.c (file_name_completion): Fix that change.
11194 Delete special quit-handling code; just use QUIT.
11195
11196 2002-12-21 Tak Ota <Takaaki.Ota@am.sony.com>
11197
11198 * dired.c (file_name_completion): Close directory on error
11199 just as in directory_files_internal.
11200
11201 2002-12-19 David Kastrup <David.Kastrup@t-online.de>
11202
11203 * window.c (Fset_window_configuration): Set old_point to correct
11204 value when new_current_buffer == current_buffer.
11205
11206 2002-12-17 Ben Key <bkey1@tampabay.rr.com>
11207
11208 Revisited my earlier fix for the following entry in etc/PROBLEMS:
11209 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
11210 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
11211
11212 These changes were in part based upon suggestions made by Peter
11213 'Luna' Runestig [peter@runestig.com].
11214
11215 * w32.c (g_b_init_is_windows_9x, g_b_init_open_process_token)
11216 (g_b_init_get_token_information, g_b_init_lookup_account_sid)
11217 (g_b_init_get_sid_identifier_authority ): Add several static
11218 global variables.
11219
11220 * w32.c (globals_of_w32): New function. Used to initialize those
11221 global variables that must always be initialized on startup even
11222 when the global variable initialized is non zero. Its primary
11223 purpose at this time is to set the global variables
11224 g_b_init_is_windows_9x, g_b_init_open_process_token,
11225 g_b_init_get_token_information, g_b_init_lookup_account_sid, and
11226 g_b_init_get_sid_identifier_authority to 0 on startup.
11227 Called from main.
11228
11229 * w32.c (is_windows_9x): Perform initialization only if
11230 g_b_init_is_windows_9x is equal to 0. On initialization set
11231 g_b_init_is_windows_9x equal to 1.
11232
11233 * w32.c (open_process_token): Perform initialization only if
11234 g_b_init_open_process_token is equal to 0. On initialization set
11235 g_b_init_open_process_token equal to 1.
11236
11237 * w32.c (get_token_information): Perform initialization only if
11238 g_b_init_get_token_information is equal to 0. On initialization
11239 set g_b_init_get_token_information equal to 1.
11240
11241 * w32.c (lookup_account_sid): Perform initialization only if
11242 g_b_init_lookup_account_sid is equal to 0. On initialization
11243 set g_b_init_lookup_account_sid equal to 1.
11244
11245 * w32.c (get_sid_identifier_authority): Perform initialization
11246 only if g_b_init_get_sid_identifier_authority is equal to 0.
11247 On initialization set g_b_init_get_sid_identifier_authority equal to 1.
11248
11249 * w32fns.c (globals_of_w32fns): New function. Used to initialize
11250 those global variables that must always be initialized on startup
11251 even when the global variable initialized is non zero.
11252 Its primary purpose at this time is to initialize the global variable
11253 track_mouse_event_fn.
11254
11255 * w32fns.c (w32_wnd_proc): Remove initialization of
11256 track_mouse_event_fn from the handler for the WM_SETFOCUS message.
11257
11258 * w32fns.c (syms_of_w32fns): Call globals_of_w32fns.
11259
11260 * w32menu.c (globals_of_w32menu): New function. Used to
11261 initialize those global variables that must always be initialized
11262 on startup even when the global variable initialized is non zero.
11263 Its primary purpose at this time is to initialize the global
11264 variables get_menu_item_info and set_menu_item_info.
11265
11266 * w32menu.c (initialize_frame_menubar): Remove initialization of
11267 get_menu_item_info and set_menu_item_info.
11268
11269 * w32menu.c (syms_of_w32menu): Call globals_of_w32menu.
11270
11271 * w32.h (globals_of_w32, globals_of_w32fns, globals_of_w32menu):
11272 Declare them.
11273
11274 * emacs.c (main): Call globals_of_w32 prior to calling
11275 init_environment if WINDOWSNT is defined. Call globals_of_w32fns
11276 and globals_of_w32menu if initialized is non zero and HAVE_NTGUI
11277 is defined.
11278
11279 * w32term.c (x_update_window_begin): Fix Windows API error
11280 detected by BoundsChecker. Test to determine if
11281 w32_system_caret_hwnd is NULL prior to attempting to use
11282 SendMessage to send the WM_EMACS_HIDE_CARET message to it.
11283
11284 * w32term.c (x_update_window_end): Fix Windows API error
11285 detected by BoundsChecker. Test to determine if
11286 w32_system_caret_hwnd is NULL prior to attempting to use
11287 SendMessage to send the WM_EMACS_SHOW_CARET message to it.
11288
11289 2002-12-17 Kenichi Handa <handa@m17n.org>
11290
11291 * coding.c (coding_system_require_warning): New variable.
11292 (syms_of_coding): DEFVAR it.
11293
11294 * coding.h (coding_system_require_warning): Extern it.
11295
11296 * fileio.c (choose_write_coding_system): Even if
11297 Vcoding_system_for_write is non-nil, if
11298 coding_system_require_warning is nonzero, call
11299 Vselect_safe_coding_system_function.
11300
11301 2002-12-17 Markus Rost <rost@math.ohio-state.edu>
11302
11303 * Makefile.in (lisp, shortlisp): Add cus-face and timer.
11304 (lisp): Add font-core.
11305
11306 2002-12-13 Stefan Monnier <monnier@cs.yale.edu>
11307
11308 * textprop.c (text_read_only): New arg `propval'.
11309 (get_char_property_and_overlay): Remove unused var `next_overlay'.
11310 (verify_interval_modification): Use text_read_only's new arg.
11311
11312 2002-12-13 Kenichi Handa <handa@m17n.org>
11313
11314 * coding.c (Funencodable_char_position): Set pend correctly.
11315
11316 2002-12-12 Jason Rumney <jasonr@gnu.org>
11317
11318 * w32term.c (last_mousemove_x, last_mousemove_y): New variables.
11319 (w32_read_socket) <WM_MOUSEMOVE>: Use them to detect non-movement.
11320 Be more careful about when help_events are generated.
11321
11322 2002-12-12 Steven Tamm <steventamm@mac.com>
11323
11324 * macterm.c (mac_check_for_quit_char): Correctly set the
11325 modifiers of the event to 0.
11326 * mac.c (sys_select): Duplicate rfds before calling select to
11327 ensure that rfds survive the while loop.
11328
11329 2002-12-11 Kim F. Storm <storm@cua.dk>
11330
11331 * xdisp.c (try_window_id): Don't call set_cursor_from_row if
11332 row_containing_pos returned NULL.
11333
11334 2002-12-10 Steven Tamm <steventamm@mac.com>
11335
11336 * mac.c (sys_read): Fix sys_read to not call select if IO is
11337 non-blocking.
11338 (sys_select): Fix sys_select to not use a timeout larger than
11339 the one given.
11340
11341 2002-12-10 Juanma Barranquero <lektu@terra.es>
11342
11343 * editfns.c (Fformat): Use alloca, not _alloca.
11344
11345 2002-12-09 Richard M. Stallman <rms@gnu.org>
11346
11347 * buffer.c (Fget_buffer_create): Call Qucs_set_table_for_input
11348 as the last thing.
11349
11350 2002-12-09 Dave Love <fx@gnu.org>
11351
11352 * s/sol2-8.h: Removed. (Not necessary.)
11353
11354 2002-12-09 Matthew Swift <swift@alum.mit.edu>
11355
11356 * editfns.c (Fformat): Handle precision in string conversion
11357 specifiers like libc functions do (ie, print at most that many
11358 characters).
11359
11360 2002-12-08 Richard M. Stallman <rms@gnu.org>
11361
11362 * xdisp.c (row_containing_pos): Check more carefully
11363 whether charpos is really in the row before returning it.
11364
11365 2002-12-07 Steven Tamm <steventamm@mac.com>
11366
11367 * sysdep.c (emacs_read) [HAVE_CARBON]: Have emacs_read use sys_read.
11368
11369 * eval.c (Feval) [HAVE_CARBON]: Calls mac_check_for_quit_char at
11370 each stack frame. This may change as it could be time consuming.
11371
11372 * macterm.c (mac_check_for_quit_char, quit_char_comp)
11373 (init_quit_char_handler, mac_determine_quit_char_modifiers)
11374 (mac_initialize): Add code to check for pressing of quit_char
11375 in the OS event queue.
11376
11377 * mac.c (sys_select): Call mac_check_for_quit_char every second
11378 while blocking on select.
11379
11380 * mac.c (sys_read): Use sys_select to test for input first
11381 before calling read, to allow C-g to break.
11382
11383 2002-12-07 Richard M. Stallman <rms@gnu.org>
11384
11385 * minibuf.c (Fcompleting_read): Doc fix.
11386
11387 * lread.c (syms_of_lread) <load-history>: Doc fix.
11388
11389 * fileio.c (Fcopy_file): Set immediate_quit around emacs_open call.
11390
11391 * eval.c (Fdefun, Fdefmacro): Record in load-history redefining an
11392 autoload.
11393
11394 * data.c (Fdefalias): Record in load-history redefining an autoload.
11395
11396 * alloca.c: Undo ifdef change accidentally made on 12-04.
11397
11398 2002-12-06 Francesco Potorti` <pot@gnu.org>
11399
11400 * xfns.c (png_load): Avoid double gamma correction for PNG images.
11401
11402 2002-12-04 Richard M. Stallman <rms@gnu.org>
11403
11404 * sysdep.c (fcntl.h): Test only HAVE_FCNTL_H.
11405
11406 * fileio.c (fcntl.h): Test only HAVE_FCNTL_H.
11407
11408 * alloca.c: Don't use #error.
11409
11410 2002-12-03 Dave Love <fx@gnu.org>
11411
11412 * buffer.c (Qucs_set_table_for_input): New.
11413 (Fget_buffer_create): Use it.
11414 (Qset_buffer_major_mode_hook): Deleted.
11415 (Fset_buffer_major_mode): Revert previous change.
11416 (init_buffer_once): Intern ucs-set-table-for-input.
11417 (syms_of_buffer): Delete Qset_buffer_major_mode_hook.
11418 Add &Qucs_set_table_for_input.
11419
11420 2002-12-03 Andreas Schwab <schwab@suse.de>
11421
11422 * callint.c (Fcall_interactively): Use next_event only if less
11423 than key_count.
11424
11425 2002-12-02 Andrew Choi <akochoi@shaw.ca>
11426
11427 * macmenu.c (add_menu_item, fill_menubar): Truncate menu item
11428 names to 255 characters.
11429
11430 * macterm.c (XTread_socket): If all frames have been collapsed,
11431 expand the first one before handling drag-and-drop events.
11432
11433 * s/darwin.h (GETPGRP_NO_ARG): Delete. Replaced by GETPGRP_VOID,
11434 which is detected by autoconf.
11435
11436 2002-12-01 Steven Tamm <steventamm@mac.com>
11437
11438 * unexmacosx.c (copy_twolevelhints, dump_it): Now corrects the
11439 offset in two hints table to allow prebinding to be redone and
11440 allow the executable to be stripped.
11441
11442 2002-11-29 Dave Love <fx@gnu.org>
11443
11444 * fns.c (Frequire): Don't call LOADHIST_ATTACH if feature was
11445 already provided.
11446
11447 2002-11-29 Richard M. Stallman <rms@gnu.org>
11448
11449 * xdisp.c (start_display): Check more intelligently for
11450 whether the line is continued.
11451 (move_it_vertically_backward): Clear it->continuation_lines_width.
11452
11453 2002-11-28 Dave Love <fx@gnu.org>
11454
11455 * s/amdahl.h, s/unipl5-0.h, m/sgi3000.h, s/3700.h, s/alliant-2800.h:
11456 * s/alliant.h, s/altos.h: Deleted. (Unused/empty.)
11457
11458 2002-11-27 Steven Tamm <steventamm@mac.com>
11459
11460 * fns.c (Frequire): Change nesting allowance from 2 to 3 to cause
11461 more descriptive error output from lread.c:Fload upon most require
11462 cycles during boostrapping.
11463
11464 2002-11-27 Jason Rumney <jasonr@gnu.org>
11465
11466 * fileio.c (Finsert_file_contents): Give a more appropriate error
11467 for files bigger than 2Gb when off_t is 32 bit.
11468
11469 * dired.c (Ffile_attributes): Don't return negative file sizes for
11470 files bigger than 2Gb when off_t is 32 bit.
11471
11472 2002-11-27 Dave Love <fx@gnu.org>
11473
11474 * s/irix6-0.h (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11475
11476 * systty.h: Don't conditionally define GETPGRP_NO_ARG.
11477 Test GETPGRP_VOID instead.
11478 [BSD_TERMIOS]: Remove definitions (never used).
11479
11480 * s/osf5-0.h (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist):
11481 Don't define.
11482 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
11483
11484 * m/mips.h (WORDS_BIG_ENDIAN): Define conditionally.
11485
11486 2002-11-25 Jason Rumney <jasonr@gnu.org>
11487
11488 * w32.c (sys_write): Avoid non-blocking mode, which is not fully
11489 supported.
11490
11491 2002-11-25 Dave Love <fx@gnu.org>
11492
11493 * unexalpha.c (update_dynamic_symbols): Cast arg of fatal_unexec.
11494
11495 * Makefile.in (TEMACS_LDFLAGS): Update last change.
11496
11497 2002-11-25 Andreas Schwab <schwab@suse.de>
11498
11499 * m/ia64.h: Restore `#ifndef NOT_C_CODE' deleted by last change.
11500
11501 2002-11-24 Steven Tamm <steventamm@mac.com>
11502
11503 * unexmacosx.c (unexec_realloc): Use malloc_default_zone to
11504 determine the size of pointers alloced in unexed space instead
11505 of using possibly invalid emacs_zone pointers. This fixes the
11506 binary incompatibility problems caused by updates to libSystem.B.
11507
11508 2002-11-24 Richard M. Stallman <rms@gnu.org>
11509
11510 * search.c (Fstring_match): Doc fix.
11511
11512 * callint.c (Fcall_interactively): If a command fails because
11513 `*' detects a read-only buffer, but RECORD_FLAG is set,
11514 record it anyway if the args don't actually do tty input.
11515
11516 2002-11-22 Dave Love <fx@gnu.org>
11517
11518 * sysdep.c (stuff_char) [PROTOTYPES]: Provide ISO C arglist.
11519
11520 * keyboard.c (interrupt_signal): Provide forward declaration.
11521 (kbd_buffer_store_event): Don't declare interrupt_signal.
11522
11523 * xdisp.c (store_frame_title_char) [PROTOTYPES]: Provide ISO C arglist.
11524
11525 2002-11-21 Richard M. Stallman <rms@gnu.org>
11526
11527 * eval.c (interactive_p): Skip any number of bytecode
11528 and special form frames, in any order.
11529
11530 2002-11-20 Jason Rumney <jasonr@gnu.org>
11531
11532 * w32fns.c (convert_mono_to_color_image): New function.
11533 (xbm_load, xbm_load_image): Use it when foreground or background
11534 is explicitly set.
11535
11536 2002-11-19 Dave Love <fx@gnu.org>
11537
11538 * s/usg5-4.h, sco4.h (bcopy, bzero, bcmp): Don't define.
11539
11540 2002-11-18 Jason Rumney <jasonr@gnu.org>
11541
11542 * w32fns.c (x_build_heuristic_mask): Filter palette info from color.
11543 (XPutPixel): Swap blue and red.
11544 (xpm_format, pbm_format, png_format, jpeg_format, tiff_format)
11545 (gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11546 (xpm_image_p, pbm_image_p, png_image_p, jpeg_image_p)
11547 (tiff_image_p, gif_image_p, gs_image_p): Don't check ascent.
11548
11549 2002-11-18 Dave Love <fx@gnu.org>
11550
11551 * m/orion105.h (HAVE_ALLOCA): Don't define.
11552
11553 * m/m68k.h, m/arm.h, mtekxd88.h, m/tower32v3.h: Don't define alloca.
11554
11555 * m/intel386.h: Don't include alloca.h or define alloca.
11556
11557 * m/ia64.h: Don't include alloca.h, stdlib.h. Don't declare
11558 malloc, realloc, calloc.
11559
11560 * m/hp800.h, m/sr2k.h, m/ns16000.h, m/wicat.h (bcopy, bzero)
11561 (bcmp): Don't define.
11562
11563 * m/delta.h (bcopy, bzero, bcmp, alloca): Don't define.
11564
11565 * m/amdahl.h: Don't define LIB_STANDARD.
11566
11567 * m/alpha.h: Move OSF1 stuff from here to s/osf1.h.
11568
11569 * s/osf1.h: Move OSF1 stuff from m/alpha.h to here.
11570
11571 * s/irix4-0.h, s/irix5-0.h, m/powerpcle.h, m/sparc.h:
11572 Don't include alloca.h.
11573
11574 * s/aix3-2.h (HAVE_FSYNC): Don't define.
11575
11576 * regex.c (_GNU_SOURCE): Don't define.
11577
11578 * process.c (_GNU_SOURCE): Don't define.
11579
11580 * fileio.c (_GNU_SOURCE, HAVE_FSYNC): Don't define.
11581
11582 2002-11-18 Markus Rost <rost@math.ohio-state.edu>
11583
11584 * s/sol2-8.h: Include sol2-6.h.
11585
11586 2002-11-18 Miles Bader <miles@gnu.org>
11587
11588 * dispextern.h (struct face): Add `overstrike' field.
11589 * xterm.c (x_draw_glyph_string_foreground)
11590 (x_draw_composite_glyph_string_foreground): Implement overstriking.
11591 * xfaces.c (load_face_font): Set `face->overstrike' based on
11592 result from choose_face_font.
11593 (best_matching_font, choose_face_font): Add `needs_overstrike'
11594 argument, and use it to return whether overstriking is desirable
11595 for this face/font combo.
11596 (set_font_frame_param: Pass new argument to choose_face_font.
11597
11598 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
11599
11600 This change is my fix for the following entry in etc/PROBLEMS:
11601 "Emacs built on Windows 9x/ME crashes at startup on Windows XP,
11602 or Emacs builtpart of on XP crashes at startup on Windows 9x/ME."
11603
11604 * w32.c: Added wrapper functions around the win32 API functions
11605 OpenProcessToken, GetTokenInformation, LookupAccountSid, and
11606 GetSidIdentifierAuthority. These wrapper functions serve two
11607 purposes:
11608 1. They ensure that the wrapped function can never be called
11609 when Emacs is running on an operating system on which they are
11610 not supported (Microsoft Windows 95 / 98 / ME).
11611 2. They call the wrapped functions via function pointers rather
11612 than calling them directly. This avoids taking advantage of the
11613 undocumented fact that although these functions are not supported
11614 in the 9x branch of Microsoft Windows, the functions do exist in
11615 the version of advapi32.dll that is found in the 9x branch of
11616 Microsoft Windows.
11617
11618 * w32.c (init_user_info): Replace the calls to the win32 API
11619 functions OpenProcessToken, GetTokenInformation, LookupAccountSid,
11620 and GetSidIdentifierAuthority with calls to the newly added
11621 wrapper functions.
11622
11623 * w32.h: Added extern declarations for the following functions:
11624 syms_of_w32term, syms_of_w32fns, syms_of_w32select,
11625 syms_of_w32menu, and void syms_of_fontset.
11626
11627 * w32fns.c (w32_wnd_proc): Add code to reinitialize the
11628 function pointer track_mouse_event_fn in the handler for the
11629 WM_SETFOCUS message.
11630
11631 * w32menu.c (initialize_frame_menubar): Add code to
11632 reinitialize the function pointers set_menu_item_info and
11633 get_menu_item_info.
11634
11635 2002-11-17 Ben Key <BKey1@tampabay.rr.com>
11636
11637 * sound.c: Added a partial implementation of play-sound-internal
11638 for Microsoft Windows. Added various #ifdef / #else / #endif
11639 code blocks to separate the code that will compile under
11640 Microsoft Windows from the code that is specific to Gnu/Linux.
11641 Moved several blocks of code around to make this separation of code
11642 into Windows compatible and Gnu/Linux compatible code blocks easier.
11643
11644 * makefile.w32-in: Include sound.c and link with WinMM.lib.
11645
11646 * s/ms-w32.h: Defined the symbol HAVE_SOUND so that the newly
11647 added support for play-sound-internal under Windows would be
11648 included in the build of Emacs.
11649
11650 2002-11-16 Jason Rumney <jasonr@gnu.org>
11651
11652 * w32fns.c (w32_load_system_font): Don't disable Cleartype.
11653
11654 * w32term.c (w32_get_glyph_string_clip_rect): Clip cursor tightly.
11655
11656 2002-11-15 Stefan Monnier <monnier@cs.yale.edu>
11657
11658 * keyboard.c (command_loop_1): Fix int/Lisp_Object mixup.
11659 (adjust_point_for_property): Move out of display and invisible even if
11660 we were already inside before (in case a property was added while
11661 we weren't looking). Be more careful when handling invisible props.
11662 Skip invisible text as if it really wasn't there at all.
11663
11664 2002-11-15 Jason Rumney <jasonr@gnu.org>
11665
11666 * w32term.c (x_draw_image_foreground)
11667 (w32_draw_image_foreground_1): Use standard copy and invert
11668 operations to draw images.
11669
11670 * w32fns.c (x_create_x_image_and_pixmap): Fill in palette for
11671 depth of 1.
11672 (xbm_read_bitmap_data): Invert bits as xbm is read in.
11673 (XPutPixel): Don't invert bits here.
11674
11675 2002-11-15 Jason Rumney <jasonr@gnu.org>
11676
11677 * w32term.c (x_draw_image_foreground, x_draw_image_glyph_string)
11678 (w32_draw_image_foreground_1): Handle image masks.
11679 (x_draw_image_glyph_string): Don't BitBlt transparently.
11680
11681 * w32fns.c (w32_defined_color): Adjust RGB values for Emacs.
11682 (x_from_xcolors): Adjust RGB values for W32.
11683 (image_background, image_background_transparent)
11684 (postprocess_image, x_to_xcolors, x_disable_image)
11685 (x_build_heuristic_mask): Adapt for W32 and enable.
11686 (x_create_x_image_and_pixmap): Mark images with palettes as such.
11687 (xbm_load): Remove unused variable.
11688
11689 2002-11-14 Richard M. Stallman <rms@gnu.org>
11690
11691 * buffer.c (syms_of_buffer): Doc fix.
11692
11693 2002-11-14 Dave Love <fx@gnu.org>
11694
11695 * alloc.c (SETJMP_WILL_NOT_WORK): Add note.
11696
11697 * xterm.c (x_draw_relief_rect, x_draw_box_rect, x_update_cursor):
11698 * xmenu.c (unuse_menu_items, digest_single_submenu):
11699 * xfns.c (x_put_x_image):
11700 * xdisp.c (message2_nolog, set_message):
11701 * undo.c (record_point):
11702 * terminfo.c (tparam):
11703 * syntax.c (scan_sexps_forward):
11704 * scroll.c (calculate_scrolling, calculate_direct_scrolling):
11705 * composite.c (update_compositions):
11706 * cm.c (calccost, cmgoto):
11707 * charset.c (c_string_width): Declare all args (per C99).
11708
11709 * frame.h (get_specified_cursor_type, get_window_cursor_type): Declare.
11710
11711 * lisp.h (get_specified_cursor_type, get_window_cursor_type):
11712 Don't declare.
11713
11714 * emacs.c (main) [!VMS]: Avoid third arg.
11715
11716 * fns.c (Fcopy_sequence): Doc fix.
11717 (Fmap_char_table): Cast `call2'.
11718
11719 2002-11-14 Francesco Potorti` <pot@gnu.org>
11720
11721 * s/sol2-8.h: New file.
11722
11723 2002-11-14 Kim F. Storm <storm@cua.dk>
11724
11725 * buffer.c (syms_of_buffer) <mode-line-format>: Document symbol
11726 dependency on `risky-local-variable' and the :propertize form.
11727
11728 2002-11-12 Stefan Monnier <monnier@cs.yale.edu>
11729
11730 * fns.c (Fmap_char_table): Don't use map_char_table's function arg.
11731
11732 * syntax.c (scan_sexps_forward): Undo last patch.
11733 Use a more obvious fix: check eob before updating the syntax table.
11734
11735 2002-11-09 Stefan Monnier <monnier@cs.yale.edu>
11736
11737 * syntax.c (scan_sexps_forward): Update syntax table before reading
11738 a char rather than after so we don't update the table past eob.
11739
11740 2002-11-09 Dave Love <fx@gnu.org>
11741
11742 * buffer.c (Fset_buffer_major_mode): Fix last change.
11743
11744 * regex.c (regexec): Fix pmatch declaration.
11745
11746 * cmds.c (Fself_insert_command): Apply Vtranslation_table_for_input.
11747
11748 * keyboard.c (command_loop_1): Apply Vtranslation_table_for_input
11749 to self-inserting characters.
11750 (syms_of_keyboard) <keyboard-translate-table>: Doc fix.
11751
11752 * coding.c (Vtranslation_table_for_input): New.
11753 (syms_of_coding): DEFVAR it.
11754
11755 2002-11-08 Juanma Barranquero <lektu@terra.es>
11756
11757 * w32term.c (w32_draw_fringe_bitmap): Remove unused local variable
11758 window.
11759
11760 2002-11-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
11761
11762 * process.c (Fformat_network_address): Remove unused locals p,
11763 cp, and i.
11764
11765 2002-11-06 Dave Love <fx@gnu.org>
11766
11767 * buffer.c (Qset_buffer_major_mode_hook): New.
11768 (Fset_buffer_major_mode): Use it.
11769
11770 2002-11-06 Richard M. Stallman <rms@gnu.org>
11771
11772 * xterm.c (x_term_init): Use turn_on_atimers, not start_polling
11773 and stop_polling.
11774
11775 * process.c (wait_reading_process_input):
11776 Test POLLING_PROBLEM_IN_SELECT, not hpux.
11777 Avoid initialization for auto Lisp_Object var.
11778
11779 * s/hpux11.h (POLLING_PROBLEM_IN_SELECT): Add #undef.
11780
11781 * s/hpux10.h (POLLING_PROBLEM_IN_SELECT): Defined.
11782
11783 2002-11-05 Richard M. Stallman <rms@gnu.org>
11784
11785 * s/sol2-5.h (BROKEN_SIGIO): Turn off the #undef.
11786
11787 * callint.c (Fcall_interactively): New local filter_specs.
11788 (Fcall_interactively): Check for progn as well as let.
11789 Add a gcpro.
11790 (Qprogn): New variable.
11791 (syms_of_callint): Staticpro and init Qprogn.
11792
11793 2002-11-04 John Paul Wallington <jpw@shootybangbang.com>
11794
11795 * lread.c (Feval_buffer): Doc fix.
11796
11797 2002-11-04 Dave Love <fx@gnu.org>
11798
11799 * keyboard.c (read_char): Always translate iff
11800 Vkeyboard_translate_table is a char table and c is valid.
11801
11802 * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
11803 and fix C types.
11804
11805 2002-11-03 Stefan Monnier <monnier@cs.yale.edu>
11806
11807 * xdisp.c (single_display_prop_intangible_p): Strings are intangible.
11808
11809 * editfns.c (get_pos_property): Don't hardcode Qfield.
11810
11811 * keyboard.c (adjust_point_for_property): Handle `display' prop on
11812 overlays. Also handle `invisible' prop.
11813
11814 2002-11-02 Stefan Monnier <monnier@cs.yale.edu>
11815
11816 * coding.c (decode_coding_emacs_mule, decode_coding_iso2022)
11817 (decode_coding_sjis_big5, decode_eol): Allow lone \r in DOS EOL.
11818
11819 2002-11-01 Andreas Schwab <schwab@suse.de>
11820
11821 * editfns.c (Fmessage): Revert last change to properly handle %%.
11822
11823 2002-11-01 Stefan Monnier <monnier@cs.yale.edu>
11824
11825 * xmenu.c (unuse_menu_items): New fun.
11826 (menu_items_inuse): New var.
11827 (syms_of_xmenu): Initialize it.
11828 (init_menu_items): Use it to detect re-entrance.
11829 (Fx_popup_menu, Fx_popup_dialog, set_frame_menubar): Reset when done.
11830 (Fx_popup_menu): Remove spurious XSETFRAME.
11831
11832 * editfns.c (find_field): Make an exception for nil fields.
11833
11834 2002-11-01 Dave Love <fx@gnu.org>
11835
11836 * m/gec63.h: Deleted.
11837
11838 2002-10-31 Dave Love <fx@gnu.org>
11839
11840 * xterm.c (XTread_socket): Fix last change.
11841 (xaw_scroll_callback): Cast call_data to long to avoid warning.
11842
11843 2002-10-31 Stefan Monnier <monnier@cs.yale.edu>
11844
11845 * process.c (Fformat_network_address): Fix int/Lisp_Object mixup.
11846
11847 2002-10-30 Stefan Monnier <monnier@cs.yale.edu>
11848
11849 * editfns.c (overlays_around, get_pos_property): New funs.
11850 (find_field): Use them.
11851 Also be careful not to modify POS before its last use.
11852 (Fmessage): Don't Fformat if there's nothing to format.
11853
11854 2002-10-30 Dave Love <fx@gnu.org>
11855
11856 * process.c [HAVE_SYS_WAIT]: Include sys/wait.h.
11857 [HAVE_PTY_H]; Include pty.h.
11858
11859 * lread.c (Fload) <!load_dangerous_libraries>: Close fd.
11860
11861 * xterm.c (Qeql): Declare.
11862 (Vx_keysym_table): New.
11863 (syms_of_xterm): Initialize it.
11864 (XTread_socket): Use it. Deal with ASCII keysyms.
11865 (XSetIMValues) [HAVE_X11R6]: Prototype.
11866
11867 * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extended.
11868 (lispy_kana_keys): Comment out.
11869 (make_lispy_event) [XK_kana_A]: Comment out.
11870 (modify_event_symbol) <sizeof (long) == sizeof (EMACS_INT)>:
11871 Fix sprintf call.
11872
11873 * s/osf5-0.h (C_SWITCH_SYSTEM): Revert last change (fixed by
11874 regexp.h change).
11875 (TERMINFO, LIBS_TERMCAP): Define.
11876
11877 * s/usg5-4.h (bcopy, bzero): Define conditional on HAVE_BCOPY.
11878 (bcmp): Define conditional on HAVE_BCMP.
11879 (NO_SIOCTL_H): Don't define.
11880 (TIOCSIGSEND): Don't make conditional on IRIX6.
11881
11882 * s/sol2-5.h: Don't include strings.h.
11883 (bcopy, bzero, bcmp) [HAVE_BCOPY]: Don't undef.
11884
11885 * s/irix6-0.h (IRIX6): Don't define.
11886 (bcopy, bcmp, bzero): Don't undef.
11887
11888 * s/irix6-5.h: Don't include strings.h.
11889 (IRIX6): Don't define.
11890 (bcopy, bcmp, bzero): Don't undef.
11891
11892 * syntax.c (Fforward_comment): Doc fix.
11893
11894 2002-10-29 Kim F. Storm <storm@cua.dk>
11895
11896 * process.c (Fsignal_process): Allow PROCESS to be specified by
11897 name in addition to pid (as integer or string).
11898
11899 2002-10-28 Harald Maier <Harald.Maier.BW@t-online.de> (tiny change)
11900
11901 * w32heap.c: Don't redefine _heap_init and _heap_term on MSVC 7 build
11902 environments.
11903
11904 2002-10-27 Kim F. Storm <storm@cua.dk>
11905
11906 * xterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
11907
11908 * w32term.c (note_mouse_highlight): Don't use mouse-face if hidden.
11909
11910 * msdos.c (IT_note_mouse_highlight): Don't use mouse-face if hidden.
11911
11912 * macterm.c (note_mouse_highlight): Don't use mouse-face if hidden.
11913
11914 2002-10-26 Richard M. Stallman <rms@gnu.org>
11915
11916 * editfns.c (Fformat): Detect invalid format letters for floats.
11917
11918 2002-10-25 Kenichi Handa <handa@m17n.org>
11919
11920 * xfns.c (x_set_name): Encode by Qcompound_text unconditionally.
11921 (x_set_title): Likewise.
11922
11923 2002-10-25 Juanma Barranquero <lektu@terra.es>
11924
11925 * macgui.h:
11926 * w32gui.h: Remove definition of XColor.
11927
11928 * dispextern.h [!HAVE_X_WINDOWS]: Define XColor.
11929
11930 2002-10-24 Kim F. Storm <storm@cua.dk>
11931
11932 * xdisp.c (get_window_cursor_type): New arg ACTIVE_CURSOR.
11933 Callers changed (supply dummy arg).
11934
11935 * lisp.h (get_window_cursor_type): Update prototype.
11936
11937 * w32term.c (x_display_and_set_cursor): Get active_cursor from
11938 get_window_cursor_type to track system caret.
11939
11940 2002-10-24 Kim F. Storm <storm@cua.dk>
11941
11942 * process.c (Fformat_network_address): New function.
11943 (syms_of_process): Defsubr it.
11944 (list_processes_1): Use it to format :local/:remote address if
11945 service/host is not set; before Emacs would crash in that case.
11946 (Fmake_network_process): Don't use Ffind_operation_coding_system
11947 to setup coding system if host or service is not set.
11948
11949 2002-10-23 Juanma Barranquero <lektu@terra.es>
11950
11951 Patch suggested by Jay Finger <jay_finger@hotmail.com>.
11952
11953 * w32term.c (w32_term_init): Pass XColor to w32_define_color, not
11954 COLORREF.
11955
11956 * macgui.h:
11957 * w32gui.h: Add definition of XColor.
11958
11959 * macfns.c:
11960 * w32fns.c:
11961 * xfaces.c: Remove definition of XColor.
11962
11963 2002-10-22 Stefan Monnier <monnier@cs.yale.edu>
11964
11965 * xfns.c (x_set_name, x_set_title): `icon.value' has unsigned char.
11966
11967 * window.c (window_loop): For GET_LRU_WINDOW and GET_LARGEST_WINDOW>,
11968 Only ignore truly dedicated windows. For UNSHOW_BUFFER, delete the
11969 window if it is dedicated.
11970 (Fshrink_window): Add preserve_before as was done for enlarge_window.
11971 (Vspecial_display_function): Update docstring.
11972
11973 * buffer.c (assoc_ignore_text_properties, Fother_buffer, Fkill_buffer)
11974 (call_overlay_mod_hooks): Use CONSP and XCAR/XCDR.
11975 (Fget_buffer_create, advance_to_char_boundary): Use BEG and BEG_BYTE;
11976
11977 2002-10-21 Stefan Monnier <monnier@cs.yale.edu>
11978
11979 * casefiddle.c (casify_region): Don't treat a prefix char as part
11980 of a word when at the beginning.
11981
11982 2002-10-17 Juanma Barranquero <lektu@terra.es>
11983
11984 * lread.c (syms_of_lread): Fix typos.
11985
11986 2002-10-17 Dave Love <fx@gnu.org>
11987
11988 * Makefile.in (TEMACS_LDFLAGS): Add trailing comment.
11989
11990 2002-10-16 Richard M. Stallman <rms@gnu.org>
11991
11992 * fileio.c (Fcopy_file): Fix backward test of KEEP_TIME.
11993
11994 2002-10-14 Juanma Barranquero <lektu@terra.es>
11995
11996 * w16select.c (syms_of_win16select): Fix docstring for
11997 `selection-coding-system'.
11998
11999 * w32select.c (syms_of_w32select): Likewise.
12000
12001 2002-10-14 Stefan Monnier <monnier@cs.yale.edu>
12002
12003 * syntax.c (scan_lists): Don't get fooled by a symbol ending with
12004 a backslash-quoted char.
12005 (scan_lists, scan_sexps_forward): Pacify the compiler.
12006
12007 2002-10-13 Richard M. Stallman <rms@gnu.org>
12008
12009 * window.c (window_scroll): Set immediate_quit.
12010
12011 * print.c (print): When backquote form is the car of a list,
12012 output in old style. Use old_backquote_output to output all
12013 comma forms inside it in old style too.
12014
12015 * buffer.h (struct buffer): Move `undo_list' down below `name'.
12016
12017 2002-10-11 Markus Rost <rost@math.ohio-state.edu>
12018
12019 * emacs.c (syms_of_emacs) <kill-emacs-hook>: Doc fix (not run in
12020 batch mode).
12021
12022 * lread.c (Fload): Doc fix (load-suffixes).
12023
12024 2002-10-10 Steven Tamm <steventamm@mac.com>
12025
12026 * macterm.c (syms_of_macterm, mac_get_mouse_btn):
12027 Reverse functionality of mac-wheel-button-is-mouse-2 to be correct.
12028 Also switch the default to Qnil from Qt.
12029
12030 2002-10-08 Kenichi Handa <handa@m17n.org>
12031
12032 * coding.c (code_convert_region): When we need more GAP for
12033 conversion, pay attention to the case that coding->produced is not
12034 greater than coding->consumed.
12035
12036 2002-10-07 Richard M. Stallman <rms@gnu.org>
12037
12038 * unexelf.c (unexec): Redo 9/16 change, but only if IRIX6_5.
12039
12040 2002-10-06 Andrew Choi <akochoi@shaw.ca>
12041
12042 * macmenu.c (mac_menu_show): Add j to count menu items; match
12043 menu_item_selection to it to find selected item.
12044
12045 2002-10-06 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12046
12047 * xterm.c (XTread_socket): Fix from 2002-10-03 didn't cover all
12048 cases. The correct fix is to pass ReparentNotify to Xt.
12049 The shell widget interprets ConfigureNotify differently depending
12050 on if it has been reparented or not.
12051
12052 2002-10-05 Markus Rost <rost@math.ohio-state.edu>
12053
12054 * editfns.c (Fformat_time_string): Doc fix.
12055
12056 2002-10-05 John Paul Wallington <jpw@shootybangbang.com>
12057
12058 * fns.c (Flength): Doc fix.
12059
12060 2002-10-04 Stefan Monnier <monnier@cs.yale.edu>
12061
12062 * keyboard.c (keyremap): New struct.
12063 (read_key_sequence): Use it: globally replace keytran_foo with
12064 keytran.foo and fkey_foo with fkey.foo. Rename temp vars
12065 keytran_next and fkey_next to just `next'.
12066
12067 2002-10-04 Steven Tamm <steventamm@mac.com>
12068
12069 * macterm.c (keycode_to_xkeysym_table): Change return to be
12070 treated like an X keysym.
12071
12072 2002-10-03 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
12073
12074 * xterm.c (XTread_socket): For ConfigureNotify, with x and y == 0,
12075 and USE_MOTIF, call XTranslateCoordinates to get the real x and y.
12076 This is to also handle x/y changes that occur because of a resize.
12077
12078 2002-10-02 John Paul Wallington <jpw@shootybangbang.com>
12079
12080 * frame.c (Vdelete_frame_functions): New variable.
12081 (syms_of_frame): Initialize and defvar it.
12082 (Fdelete_frame): Use it instead of delete-frame-hook. Don't run
12083 it when frame's `tooltip' parameter is non-nil.
12084
12085 * xfns.c (x_create_tip_frame): Set `tooltip' frame parameter to t.
12086
12087 * w32fns.c (x_create_tip_frame): Likewise.
12088
12089 * macfns.c (x_create_tip_frame): Likewise.
12090
12091 2002-09-30 Kenichi Handa <handa@m17n.org>
12092
12093 * xterm.c (x_encode_char): For DIM=1 charset, set ccl->reg[2] to
12094 -1 before calling ccl_driver.
12095
12096 * coding.c (decode_coding_emacs_mule): Check coding->cmp_data.
12097 Only when it is non-nil, handle composition sequence.
12098 (setup_coding_system) <0>: Don't force composition handling.
12099
12100 * Makefile.in (lisp, shortlisp): Add utf-16.elc
12101
12102 2002-09-29 Richard M. Stallman <rms@gnu.org>
12103
12104 * search.c (Freplace_match): Adjust match data for the substitution
12105 just made in the buffer.
12106
12107 * xdisp.c (STOP_POLLING, RESUME_POLLING): New macros.
12108 (redisplay_internal): Use them. Do RESUME_POLLING at end of function.
12109
12110 2002-09-27 Richard M. Stallman <rms@gnu.org>
12111
12112 * keyboard.c (STOP_POLLING, RESUME_POLLING): New macros.
12113 (read_char): Use them. Do all exits thru the end of the function.
12114
12115 2002-09-27 Kenichi Handa <handa@etl.go.jp>
12116
12117 * xfaces.c (try_font_list): Pay attention to the case that FAMILY
12118 is nil.
12119
12120 2002-09-26 Richard M. Stallman <rms@gnu.org>
12121
12122 * regex.h (__restrict_arr): Don't define if already defined.
12123
12124 * coding.c (run_pre_post_conversion_on_str):
12125 Save and restore Vdeactivate_mark.
12126
12127 2002-09-26 John Paul Wallington <jpw@shootybangbang.com>
12128
12129 * minibuf.c (Fminibufferp): Add an optional `buffer' argument.
12130
12131 2002-09-26 Kenichi Handa <handa@etl.go.jp>
12132
12133 * xfaces.c (try_font_list): New arg PREFER_FACE_FAMILY. If it is
12134 nonzero, try face's family at first. Otherwise try FAMILY at first.
12135 (choose_face_font): If C is a single byte char or latin-1, call
12136 try_font_list with PREFER_FACE_FAMILY 1.
12137
12138 2002-09-21 Richard M. Stallman <rms@gnu.org>
12139
12140 * window.c (select_window_1): Don't select frame.
12141 Set frame's selected window only when frame itself is selected.
12142 (Fselect_window): Doc fix.
12143
12144 2002-09-18 Kim F. Storm <storm@cua.dk>
12145
12146 * process.c (make-network-process): Doc fix (there is no
12147 network-server-log-function hook).
12148
12149 2002-09-18 Richard M. Stallman <rms@gnu.org>
12150
12151 * print.c (print): Clear out the unused parts of Vprint_number_table.
12152 (syms_of_print): Doc fix for `print-number-table'.
12153
12154 * unexelf.c (unexec): Undo previous change.
12155
12156 2002-09-17 Andreas Schwab <schwab@suse.de>
12157
12158 * m/alpha.h [LINUX]: Don't define DATA_START.
12159
12160 2002-09-16 Dave Love <fx@gnu.org>
12161
12162 * unexelf.c (unexec): Deal with .got, reinstating change from
12163 25-08-1999.
12164
12165 2002-09-13 Richard M. Stallman <rms@gnu.org>
12166
12167 * s/sol2-6.h (UNEXEC): Comment out definition.
12168
12169 * unexsol.c (unexec): Don't downcase first letter of error msg.
12170
12171 * xfaces.c (Fcolor_supported_p): Just one arg is required.
12172
12173 2002-09-12 Markus Rost <rost@math.ohio-state.edu>
12174
12175 * unexsol.c: Include buffer.h, charset.h, coding.h.
12176
12177 2002-09-11 Richard M. Stallman <rms@gnu.org>
12178
12179 * unexsol.c: Don't use report_file_error; do it by hand
12180 using dlerror.
12181
12182 * process.c (wait_reading_process_input, both versions):
12183 Before calling turn_on_atimers, call stop_polling.
12184
12185 * emacs.c (syms_of_emacs) <command-line-args>: Doc fix.
12186
12187 * xdisp.c (try_scrolling): If after make_cursor_line_fully_visible
12188 we go to too_near_end, call clear_glyph_matrix.
12189 (redisplay_window): After make_cursor_line_fully_visible,
12190 call clear_glyph_matrix and bypass `goto done'.
12191
12192 * xfns.c (x_report_frame_params): If FRAME_SCROLL_BAR_PIXEL_WIDTH is 0
12193 and we have non-toolkit scroll bars, return nil for scroll-bar-width.
12194
12195 2002-09-10 Richard M. Stallman <rms@gnu.org>
12196
12197 * fileio.c (Fdo_auto_save): Catch error making directory.
12198 Only call push_message if we need to.
12199 At the same time, make an unwind-protect to pop it.
12200 Rename local message_p to old_message_p.
12201 (do_auto_save_make_dir, do_auto_save_eh): New functions.
12202 (do_auto_save_unwind): Don't call pop_message.
12203
12204 * lisp.h (pop_message_unwind): Renamed from push_message_unwind.
12205
12206 * keyboard.c (Fexecute_extended_command): Use pop_message_unwind.
12207
12208 * alloc.c (Fgarbage_collect): Use pop_message_unwind.
12209
12210 * xdisp.c (pop_message_unwind): Renamed from push_message_unwind.
12211
12212 2002-09-10 Stefan Monnier <monnier@cs.yale.edu>
12213
12214 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): Delete.
12215 (CHECK_INFINITE_LOOP): Don't pop anything: just set `cycle' to 1.
12216 (re_match_2_internal): Be more careful with infinite loops.
12217
12218 2002-09-10 Kim F. Storm <storm@cua.dk>
12219
12220 * macros.c (end_kbd_macro): New function.
12221 (Fend_kbd_macro): Use it.
12222
12223 * macros.h (end_kbd_macro): Declare extern.
12224
12225 * keyboard.c (Fdiscard_input): If defining keyboard macro,
12226 end and save it instead of discarding it.
12227
12228 2002-09-09 Markus Rost <rost@math.ohio-state.edu>
12229
12230 * s/sol2-6.h: Fix typo. Add comment.
12231
12232 2002-09-09 Richard M. Stallman <rms@gnu.org>
12233
12234 * regex.c (regnum_t): Use signed int, not unsigned int.
12235
12236 * s/sol2-6.h: New file.
12237
12238 * s/sol2-5.h (UNEXEC): Definition deleted.
12239
12240 2002-09-08 Kim F. Storm <storm@cua.dk>
12241
12242 * macros.c (executing_macro_index): Change type to EMACS_INT.
12243 (syms_of_macros): DEFVAR_INT it (needed by kmacro).
12244
12245 * macros.h (executing_macro_index): Change type to EMACS_INT.
12246
12247 2002-09-06 Richard M. Stallman <rms@gnu.org>
12248
12249 * casetab.c (set_case_table): Make canon table point to eqv table.
12250
12251 2002-09-06 Juanma Barranquero <lektu@terra.es>
12252
12253 * coding.c (syms_of_coding): Fix spacing.
12254
12255 * composite.c (Fcompose_region_internal)
12256 (Fcompose_string_internal): Likewise.
12257
12258 * data.c (Flsh): Likewise.
12259
12260 * fontset.c (Fset_fontset_font): Likewise.
12261
12262 * macfns.c (Fx_server_max_request_size): Likewise.
12263
12264 * w16select.c (syms_of_win16select): Likewise.
12265
12266 * w32select.c (syms_of_w32select): Likewise.
12267
12268 * xselect.c (syms_of_xselect): Likewise.
12269
12270 2002-09-05 Richard M. Stallman <rms@gnu.org>
12271
12272 * regex.c (set_image_of_range_1): In no-TRANSLATE case,
12273 call EXTEND_RANGE_TABLE and return a proper value.
12274 (set_image_of_range): Don't call set_image_of_range_1
12275 if no TRANSLATE or if range includes all of Latin-1.
12276 Only call it for the Latin-1 part of the range.
12277 For other cases, make two separate ranges,
12278 one for the original specified characters and one for
12279 their case-conversions.
12280
12281 2002-09-04 Richard M. Stallman <rms@gnu.org>
12282
12283 * s/sol2-5.h (UNEXEC): Use unexsol.o.
12284
12285 * window.c (displayed_window_lines): Correct for one-off bug
12286 in HEIGHT on non-window displays.
12287
12288 * regex.c (set_image_of_range_1): New function.
12289 (set_image_of_range): Use set_image_of_range_1 for Latin-1.
12290 Return a value to indicate running out of memory.
12291 (SET_RANGE_TABLE_WORK_AREA): Check value from set_image_of_range.
12292 (extend_range_table_work_area): New subroutine.
12293 (EXTEND_RANGE_TABLE): Replaces EXTEND_RANGE_TABLE_WORK_AREA.
12294 Different calling conventions, and used from set_image_of_range{,_1}.
12295 (IMMEDIATE_QUIT_CHECK): Definitions moved.
12296
12297 2002-09-04 Juanma Barranquero <lektu@terra.es>
12298
12299 * makefile.w32-in: All dependencies updated.
12300
12301 2002-09-01 Richard M. Stallman <rms@gnu.org>
12302
12303 * unexsol.c: New file.
12304
12305 * xfns.c (Qbox): Declare external, don't define.
12306
12307 * xdisp.c (redisplay_window) <force-start case>:
12308 If point is on semi-visible last line, reposition
12309 it at previous line.
12310
12311 * alloc.c (display_malloc_warning): Use display-warning.
12312 (malloc_warning_1): Function deleted.
12313
12314 * alloc.c [ALLOC_DEBUG]: #undef INLINE.
12315
12316 * lread.c (read1): Handle #! by skipping the line.
12317
12318 2002-08-31 Richard M. Stallman <rms@gnu.org>
12319
12320 * Makefile.in (TEMACS_LDFLAGS): Renamed from ALL_LDFLAGS.
12321 Don't include LDFLAGS.
12322 (temacs): Pass LDFLAGS separately, and not via YMF_PASS_LDFLAGS.
12323
12324 2002-08-31 Eli Zaretskii <eliz@is.elta.co.il>
12325
12326 * xdisp.c (get_window_cursor_type): Don't use x_highlight_frame
12327 member of x_display_info unless we compile for some window system.
12328
12329 2002-08-31 Kim F. Storm <storm@cua.dk>
12330
12331 * xdisp.c (Valternate_cursor_type, Qalternate_cursor_type): Removed.
12332 (get_window_cursor_type): Don't use them.
12333 (syms_of_xdisp): Remove intern, staticpro, and defvar for them.
12334
12335 2002-08-30 Kenichi Handa <handa@etl.go.jp>
12336
12337 * xdisp.c (get_next_display_element): Fix previous change.
12338
12339 2002-08-30 Andrew Choi <akochoi@shaw.ca>
12340
12341 * macterm.c (expose_overlaps): New function (merge code from xterm.c).
12342 (expose_window): Use it to fix the display of overlapping
12343 rows (merge code from xterm.c).
12344
12345 * macfns.c (Qbox): Add extern declaration.
12346
12347 2002-08-30 Juanma Barranquero <lektu@terra.es>
12348
12349 * w32fns.c (Qbox): Make extern.
12350 (syms_of_w32fns): Remove initialization of Qbox.
12351
12352 2002-08-30 Rune Kleveland <runekl@viewpoint.no> (tiny change)
12353
12354 * xfns.c (Fx_open_connection): Fix error message.
12355
12356 2002-08-30 Kim F. Storm <storm@cua.dk>
12357
12358 The following changes consolidates the handling of the cursor
12359 type in xdisp.c, moving duplicate code and functionality from
12360 xfns.c, xterm.c, w32fns.c, w32term.c, macfns.c, and macterm.c.
12361
12362 * frame.h (enum text_cursor_kinds): Consolidated here.
12363 Added DEFAULT_CURSOR value.
12364 (struct frame) <desired_cursor, cursor_width>
12365 <blink_off_cursor, blink_off_cursor_width>: New fields.
12366 Consolidated from output_x, output_w32 and output_mac structs.
12367 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12368 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros consolidated here.
12369
12370 * xdisp.c (Qbar, Qhbar, Qbox, Qhollow, Vblink_cursor_alist):
12371 Variables consolidated here.
12372 (Valternate_cursor_type, Qalternate_cursor_type): New variables.
12373 (Vcursor_in_non_selected_windows): Renamed from
12374 cursor_in_non_selected_windows and changed to Lisp_Object.
12375 (syms_of_xdisp): Define and staticpro new and moved variables.
12376 (get_specified_cursor_type): Renamed from x_specified_cursor_type;
12377 consolidated here. Recognize Qhollow setting.
12378 (set_frame_cursor_types): New function to set frame cursor types
12379 based on the frame parameters.
12380 (get_window_cursor_type): New function to calculate new cursor
12381 type and width for the specified window. Based on duplicated
12382 code consolidated here.
12383 Enhancements: cursor-in-non-selected-windows may be a cursor type,
12384 check buffer-local alternate-cursor-type and blink-cursor-alist
12385 before using built-in blink off methods.
12386
12387 * dispextern.h (cursor_in_non_selected_windows): Extern removed.
12388
12389 * lisp.h (Qcursor_in_non_selected_windows): Extern removed.
12390 (get_specified_cursor_type, get_window_cursor_type)
12391 (set_frame_cursor_types): Added prototypes.
12392
12393 * macfns.c (x_specified_cursor_type): Removed.
12394 (x_set_cursor_type): Use set_frame_cursor_types.
12395 (Qbar, Qbox): Removed.
12396 (syms_of_macfns): Don't intern or staticpro them.
12397
12398 * macterm.c (x_specified_cursor_type): Remove prototype.
12399 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12400 (x_display_and_set_cursor): Use get_window_cursor_type.
12401 Remove unused local variables cursor_non_selected, active_cursor.
12402 Redraw cursor if hbar cursor width changes.
12403 (make_mac_frame): Set FRAME_DESIRED_CURSOR.
12404
12405 * macterm.h (enum text_cursor_kinds): Removed.
12406 (struct output_mac) <current_cursor, desired_cursor, cursor_width>
12407 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12408 (FRAME_DESIRED_CURSOR): Macro removed.
12409
12410 * w32fns.c (Vblink_cursor_alist): Removed.
12411 (Qbar, Qhbar, Qbox, Qhollow): Removed.
12412 (syms_of_w32fns): Don't intern, staticpro, or define them.
12413 (x_specified_cursor_type): Removed.
12414 (x_set_cursor_type): Use set_frame_cursor_types.
12415
12416 * w32term.c (x_specified_cursor_type): Remove prototype.
12417 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12418 (x_display_and_set_cursor): Use get_window_cursor_type.
12419 Remove unused local variables cursor_off_state.
12420 Redraw cursor if hbar cursor width changes.
12421 Changed all occurrences of w32_highlight_frame to x_highlight_frame.
12422
12423 * w32term.h (enum text_cursor_kinds): Removed.
12424 (struct output_w32) <current_cursor, desired_cursor, cursor_width>
12425 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12426 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12427 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
12428 (struct w32_display_info) <x_highlight_frame>: Renamed member from
12429 w32_highlight_frame.
12430
12431 * xfns.c (Vblink_cursor_alist): Removed.
12432 (Qbar, Qhbar, Qbox, Qhollow): Removed.
12433 (syms_of_xfns): Don't intern, staticpro, or define them.
12434 (x_specified_cursor_type): Removed.
12435 (x_set_cursor_type): Use set_frame_cursor_types.
12436
12437 * xterm.c (x_specified_cursor_type): Remove prototype.
12438 (x_draw_bar_cursor): Use FRAME_CURSOR_WIDTH.
12439 (x_display_and_set_cursor): Use get_window_cursor_type.
12440 Remove unused local variables cursor_off_state.
12441 Redraw cursor if hbar cursor width changes.
12442
12443 * xterm.h (enum text_cursor_kinds): Removed.
12444 (struct output_x) <current_cursor, desired_cursor, cursor_width>
12445 <blink_off_cursor, blink_off_cursor_width>: Members removed.
12446 (FRAME_DESIRED_CURSOR, FRAME_CURSOR_WIDTH, FRAME_BLINK_OFF_CURSOR)
12447 (FRAME_BLINK_OFF_CURSOR_WIDTH): Macros removed.
12448 (x_specified_cursor_type): Remove prototype.
12449
12450 2002-08-28 Richard M. Stallman <rms@gnu.org>
12451
12452 * w32fns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
12453 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
12454 (Vblink_cursor_alist): New variable.
12455 (syms_of_w32fns): Initialize and defvar it.
12456 (x_specified_cursor_type): Recognize Qbox for filled box.
12457 Exceptions are hollow boxes.
12458 (Qbox, Qhollow): New variables.
12459 (syms_of_w32fns): Initialize and staticpro them.
12460
12461 * w32term.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
12462 New macros.
12463 (struct w32_output): New fields blink_off_cursor,
12464 blink_off_cursor_width.
12465 (FRAME_CURSOR_WIDTH): New macro.
12466
12467 * w32term.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
12468 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
12469
12470 * w32term.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
12471 for bar cursor.
12472
12473 * w32term.c (expose_overlaps): New function.
12474 (expose_window): Use it to fix the display of overlapping rows.
12475
12476 2002-08-28 Simon Josefsson <jas@extundo.com>
12477
12478 * xfns.c (Fx_open_connection): Improve help when X connection
12479 fails, xhost is insecure and xauth is better.
12480
12481 2002-08-28 Juanma Barranquero <lektu@terra.es>
12482
12483 * makefile.w32-in: Add missing dependencies on w32term.h and
12484 composite.h.
12485
12486 * emacs.c (USAGE1): Add missing newline.
12487
12488 2002-08-27 Andrew Choi <akochoi@shaw.ca>
12489
12490 * s/darwin.h [HAVE_LIBNCURSES]: Define HAVE_TERMINFO.
12491
12492 2002-08-27 Richard M. Stallman <rms@gnu.org>
12493
12494 * xfns.c (x_set_cursor_type): Set FRAME_BLINK_OFF_CURSOR and
12495 FRAME_BLINK_OFF_CURSOR_WIDTH using defaults and Vblink_cursor_alist.
12496 (Vblink_cursor_alist): New variable.
12497 (syms_of_xfns): Initialize and defvar it.
12498 (x_specified_cursor_type): Recognize Qbox for filled box.
12499 Exceptions are hollow boxes.
12500 (Qbox, Qhollow): New variables.
12501 (syms_of_xfns): Initialize and staticpro them.
12502
12503 * xterm.h (FRAME_BLINK_OFF_CURSOR, FRAME_BLINK_OFF_CURSOR_WIDTH):
12504 New macros.
12505 (struct x_output): New fields blink_off_cursor, blink_off_cursor_width.
12506
12507 * xterm.c (x_display_and_set_cursor): Use FRAME_BLINK_OFF_CURSOR
12508 and FRAME_BLINK_OFF_CURSOR_WIDTH for blinking cursor off.
12509
12510 * emacs.c (main): Handle --script.
12511 (USAGE1): Mention --script.
12512 (standard_args): Define sort order for --script.
12513
12514 2002-08-27 Gerd Moellmann <gerd.moellmann@t-online.de>
12515
12516 * xdisp.c (redisplay_updating_p): Variable removed.
12517 (inhibit_free_realized_faces, Qinhibit_free_realized_faces):
12518 New variables.
12519 (init_iterator): Don't free realized faces if
12520 inhibit_free_realized_faces is set.
12521 (redisplay_internal): Bind Qinhibit_free_realized_faces to nil.
12522 (syms_of_xdisp): DEFVAR_BOOL inhibit-free-realized-faces,
12523 initialize Qinhibit_free_realized_faces.
12524
12525 * dispextern.h (PRODUCE_GLYPHS): Set inhibit_free_realized_faces
12526 when iterator is adding glyphs to a glyph matrix.
12527
12528 2002-08-27 Kenichi Handa <handa@etl.go.jp>
12529
12530 * xdisp.c (get_next_display_element): In unibyte case, don't use
12531 octal form for such eight-bit characters that can be converted to
12532 multibyte char.
12533
12534 2002-08-26 Kim F. Storm <storm@cua.dk>
12535
12536 * frame.c (make_terminal_frame) [CANNOT_DUMP]: Initialize
12537 foreground and background colors. From Joe Buehler.
12538
12539 2002-08-26 Miles Bader <miles@gnu.org>
12540
12541 * bytecode.c (Fbyte_code): Fsub1 can GC, so protect it.
12542
12543 2002-08-25 Andrew Choi <akochoi@shaw.ca>
12544
12545 * emacs.c (main): Call init_mac_osx_environment if HAVE_CARBON is
12546 defined instead of MAC_OSX.
12547
12548 * s/darwin.h (select): Define select to sys_select only if
12549 HAVE_CARBON is defined.
12550 (HAVE_WORKING_VFORK): #undef it. Define vfork to fork.
12551 (DONT_REOPEN_PTY): #def it.
12552
12553 * macterm.c (XTread_socket): Remove code to call
12554 SendEventToEventTarget for keys with command modifiers when
12555 mac_command_key_is_meta is nil.
12556
12557 2002-08-24 Andreas Schwab <schwab@suse.de>
12558
12559 * eval.c (Fdefvar): Fix last change.
12560
12561 2002-08-23 Richard M. Stallman <rms@gnu.org>
12562
12563 * eval.c (Fdefvar, Fdefconst, Fdefvaralias):
12564 Record variables in load history as (defvar . VAR).
12565 (Fdefvar): Don't record in load history if no initial value.
12566 (Qdefvar): New variable.
12567 (syms_of_eval): Init and staticpro it.
12568
12569 * lread.c (syms_of_lread): Doc fix.
12570 (build_load_history): Use Fmember to see if a definition
12571 is already in the Vload_history element.
12572
12573 * process.c (Fstart_process): Remove /: from program name.
12574
12575 * emacs.c (decode_env_path): Don't add /: if file name handler
12576 has a `safe-magic' property.
12577
12578 * callproc.c (Fcall_process): Remove /: from program name.
12579
12580 2002-08-23 Stefan Monnier <monnier@cs.yale.edu>
12581
12582 * regex.c (PATFETCH): Remove the translating fetch.
12583 (PATFETCH_RAW): Rename to PATFETCH.
12584 (set_image_of_range): New fun.
12585 (SET_RANGE_TABLE_WORK_AREA): Use it.
12586 (regex_compile): Don't translate the pattern chars so eagerly.
12587 Only do it when inserting an `exactn' bytecode or when handling
12588 a char-range.
12589 (mutually_exclusive_p): Avoid empty statement.
12590
12591 2002-08-22 Kim F. Storm <storm@cua.dk>
12592
12593 * xdisp.c (redisplay_window): Do not `goto try_to_scroll' when we
12594 end up on a partially visible line; this reverts a specific part
12595 of the 2002-07-07 change by Richard M. Stallman to "fix" a nasty
12596 display error which has been reported several times now.
12597 However it introduces the problem that changes was supposed to fix.
12598 See my comments in the source if you want to debug this further.
12599
12600 2002-08-20 Kenichi Handa <handa@etl.go.jp>
12601
12602 * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
12603
12604 2002-08-19 Eli Zaretskii <eliz@is.elta.co.il>
12605
12606 * msdos.c (croak): Add `void' to definition.
12607
12608 * sysdep.c (request_sigio, unrequest_sigio) [MSDOS]:
12609 Don't define them, they are defined in msdos.c.
12610
12611 * mem-limits.h [MSDOS]: Declare etext.
12612
12613 * fileio.c (Ffile_name_directory) [DOS_NT]: Don't declare `beg'
12614 `const' since CORRECT_DIR_SEPS modifies its target.
12615
12616 2002-08-19 Kim F. Storm <storm@cua.dk>
12617
12618 * keyboard.c (Fclear_this_command_keys): Add optional arg
12619 KEEP-RECORD to avoid clearing lossage when we just want to clear
12620 the current key sequence (kmacro needs this).
12621
12622 2002-08-19 Kenichi Handa <handa@localhost>
12623
12624 * composite.c (run_composition_function): Call FUNC if it is fboundp.
12625
12626 * composite.h (COMPOSITION_MODIFICATION_FUNC): If PROP is not a
12627 cons, return Qnil.
12628
12629 2002-08-17 Richard M. Stallman <rms@gnu.org>
12630
12631 * s/sol2-5.h (BROKEN_SIGIO): Add #undef.
12632
12633 * sysdep.c [!VMS]: Include sys/files.h.
12634
12635 * editfns.c (save_restriction_restore): Defend from unchained marker.
12636
12637 * buffer.c (overlays_at): Handle extending vec uniformly.
12638 (overlays_in): Handle extending vec from length 0 as in overlays_at.
12639
12640 2002-08-15 Andrew Choi <akochoi@shaw.ca>
12641
12642 * mac.c (init_mac_osx_environment): New function.
12643
12644 * emacs.c (main) [MAC_OSX]: Call init_mac_osx_environment.
12645
12646 2002-08-14 Kim F. Storm <storm@cua.dk>
12647
12648 * macros.c (Fstart_kbd_macro): Added NO-EXEC argument to inhibit
12649 executing macro before appending to it (when used from Lisp).
12650 (Fexecute_kbd_macro): Added LOOPFUNC argument to supply function
12651 which is called prior to each iteration of macro (for kmacro.el).
12652 (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
12653
12654 * lisp.h (Fexecute_kbd_macro): Update prototype.
12655
12656 * keyboard.c (Fcommand_execute): Update call to Fexecute_kbd_macro.
12657
12658 2002-08-14 Kenichi Handa <handa@etl.go.jp>
12659
12660 * xselect.c (QUTF8_STRING): New variable.
12661 (symbol_to_x_atom): Pay attention to QUTF8_STRING.
12662 (x_atom_to_symbol): Likewise.
12663 (x_get_local_selection): New argument local_request. If it is
12664 nonzero, call handler_fn with the second arg nil.
12665 (x_handle_selection_request): Call x_get_local_selection with
12666 local_request 0.
12667 (lisp_data_to_selection_data): Don't encode the string here.
12668 (Fx_get_selection_internal): Call x_get_local_selection with
12669 local_request 1.
12670 (syms_of_xselect): Intern and staticpro QUTF8_STRING.
12671
12672 * xterm.c (x_term_init): Initialize dpyinfo->Xatom_UTF8_STRING.
12673
12674 * xterm.h (struct x_display_info): New member Xatom_UTF8_STRING.
12675
12676 2002-08-13 Richard M. Stallman <rms@gnu.org>
12677
12678 * minibuf.c (Fminibufferp): New function.
12679 (syms_of_minibuf): Defsubr it.
12680 (Fminibuffer_prompt_end): Handle non-minibuffers specially.
12681
12682 2002-08-13 Gerd Moellmann <gerd.moellmann@t-online.de>
12683
12684 * coding.c (Funencodable_char_position): Lisp_Object/int mixup.
12685
12686 2002-08-12 Richard M. Stallman <rms@gnu.org>
12687
12688 * syswait.h: Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
12689 [!VMS] (WCOREDUMP, WEXITSTATUS, WIFEXITED, WIFSTOPPED, WIFSIGNALED)
12690 (WSTOPSIG, WTERMSIG): Define each one independently if not defined
12691 already.
12692
12693 * buffer.c (syms_of_buffer) <fill-column>: Doc fix.
12694
12695 2002-08-11 Andrew Choi <akochoi@shaw.ca>
12696
12697 * macterm.c (XTmouse_position): Check wp with is_emacs_window.
12698 (Vmac_pass_command_to_system): New variable.
12699 (Vmac_pass_control_to_system): New variable.
12700 (do_mouse_moved): Check wp with is_emacs_window.
12701 (XTread_socket): Check window_ptr with is_emacs_window.
12702 Call FrontNonFloatingWindow instead of FrontWindow. Send keydown
12703 events back to Mac Toolbox for processing, depending on values of
12704 Vmac_pass_command_to_system and Vmac_pass_control_to_system.
12705 (syms_of_macterm): DEFVAR_LISP Vmac_pass_command_to_system and
12706 Vmac_pass_control_to_system.
12707
12708 2002-08-10 Kenichi Handa <handa@etl.go.jp>
12709
12710 * coding.c (unencodable_char_position): New function.
12711 (Funencodable_char_position): New function.
12712 (syms_of_coding): Defsubr Funencodable_char_position.
12713
12714 2002-08-10 Andrew Choi <akochoi@shaw.ca>
12715
12716 * mac.c (sys_select) [MAC_OSX]: New function.
12717
12718 * macterm.c (MakeMeTheFrontProcess): New function.
12719 (mac_initialize): Call MakeMeTheFrontProcess.
12720
12721 * s/darwin.h: Define select to sys_select.
12722
12723 2002-08-09 Richard M. Stallman <rms@gnu.org>
12724
12725 * keyboard.c (make_lispy_event): Test WINDOWSNT, not WINDOWS_NT.
12726
12727 2002-08-09 Gerd Moellmann <gerd.moellmann@t-online.de>
12728
12729 * xdisp.c (forward_to_next_line_start): Return 0 when reaching the
12730 end of the buffer.
12731
12732 2002-08-08 Ken Raeburn <raeburn@mit.edu>
12733
12734 * coding.c (Ffind_operation_coding_system): Fix Lisp_Object/int mixup.
12735
12736 * puresize.h (BASE_PURESIZE): Increase to 910000.
12737
12738 2002-08-08 Kenichi Handa <handa@etl.go.jp>
12739
12740 * coding.c (Ffind_operation_coding_system): For write-region, if
12741 VISIT is a filename, make it the target.
12742
12743 2002-08-07 Richard M. Stallman <rms@gnu.org>
12744
12745 * alloc.c (mark_object): Detect long lists for debugging.
12746 (mark_object_loop_halt): New variable.
12747
12748 * s/hpux10.h (C_SWITCH_SYSTEM): #undef it.
12749
12750 * data.c (Fmake_variable_frame_local): Doc fix.
12751
12752 2002-08-01 David Ponce <david@dponce.com>
12753
12754 * w32menu.c (local_heap, local_alloc, local_free): New macros.
12755 (malloc_widget_value, free_widget_value)
12756 (w32_free_submenu_strings): Use them.
12757
12758 (push_submenu_start, push_submenu_end, push_left_right_boundary)
12759 (push_menu_pane, push_menu_item, single_keymap_panes)
12760 (single_menu_item, Fx_popup_menu, menubar_selection_callback)
12761 (single_submenu, set_frame_menubar)
12762 (w32_menu_show, w32_dialog_show): Use AREF, ASET, ASIZE.
12763
12764 (Fx_popup_menu): Don't show pop up menu until preceding one is
12765 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
12766
12767 * w32menu.c: Changes adapted from xmenu.c
12768 (set_frame_menubar): First parse all submenus,
12769 then make widget_value trees from them.
12770 Don't allocate any widget_value objects
12771 until we are done with the parsing.
12772 (parse_single_submenu): New function.
12773 (digest_single_submenu): New function.
12774 (single_submenu): Function deleted, replaced by those two.
12775
12776 2002-08-04 Andrew Choi <akochoi@shaw.ca>
12777
12778 * macterm.c (XTread_socket): Check that FrontNonFloatingWindow
12779 returns a valid window pointer before proceeding for keyDown and
12780 autoKey events.
12781
12782 2002-08-03 Andrew Choi <akochoi@shaw.ca>
12783
12784 * macterm.c (USE_CARBON_EVENTS): New macro.
12785 (macCtrlKey, macShiftKey, macMetaKey, macAltKey): New macros.
12786 (x_iconify_frame): Call CollapseWindow.
12787 (Vmac_reverse_ctrl_meta): New variable.
12788 (Vmac_wheel_button_is_mouse_2): New variable.
12789 (init_mac_drag_n_drop): New function.
12790 (mac_do_receive_drag): New function.
12791 (mac_handle_service_event): New function.
12792 (init_service_handler): New function.
12793 (mac_to_emacs_modifiers): New function.
12794 (mac_event_to_emacs_modifiers): New function.
12795 (mac_get_mouse_btn): New function.
12796 (mac_convert_event_ref): New function.
12797 (XTread_socket) [USE_CARBON_EVENTS]: Call ReceiveNextEvent,
12798 SendEventToEventTarget, mac_event_to_emacs_modifiers, and
12799 mac_get_mouse_btn.
12800 (mac_initialize): Call init_mac_drag_n_drop and init_service_handler.
12801
12802 * keyboard.c: Define Qmouse_wheel, mouse_wheel_syms, and
12803 lispy_mouse_wheel_names for MAC_OSX as well as for WINDOWS_NT.
12804 (kbd_buffer_get_event): Set used_mouse_menu for MENU_BAR_EVENT and
12805 TOOL_BAR_EVENT for MAC_OS as well.
12806 (make_lispy_event): Handle MOUSE_WHEEL_EVENT for MAC_OSX as well
12807 as for WINDOWS_NT.
12808 (syms_of_keyboard): Initialize Qmouse_wheel for MAC_OSX.
12809
12810 * termhooks.h (event_kind): Define MOUSE_WHEEL_EVENT also for MAC_OSX.
12811
12812 2002-08-03 Gerd Moellmann <gerd.moellmann@t-online.de>
12813
12814 * xdisp.c (forward_to_next_line_start): Fix a condition that
12815 lead to a newline being skipped.
12816
12817 2002-08-02 Andrew Choi <akochoi@shaw.ca>
12818
12819 * mac.c (syms_of_mac): Defsubr Sx_selection_exists_p.
12820
12821 2002-08-01 Richard M. Stallman <rms@gnu.org>
12822
12823 * Makefile.in (SOME_MACHINE_OBJECTS): Add fontset.o.
12824
12825 2002-07-31 Andrew Choi <akochoi@shaw.ca>
12826
12827 * macfns.c: #undef init_process before #define-ing it.
12828
12829 * s/darwin.h: Define MAC_OS, SYMS_SYSTEM, and OTHER_FILES only if
12830 HAVE_CARBON is defined.
12831
12832 2002-07-31 Richard M. Stallman <rms@gnu.org>
12833
12834 * xmenu.c (set_frame_menubar): First parse all submenus,
12835 then make widget_value trees from them.
12836 Don't allocate any widget_value objects
12837 until we are done with the parsing.
12838 (parse_single_submenu): New function.
12839 (digest_single_submenu): New function.
12840 (single_submenu): Function deleted, replaced by those two.
12841
12842 2002-07-30 Juanma Barranquero <lektu@terra.es>
12843
12844 * w32proc.c (syms_of_ntproc): Fix docstring of
12845 `w32-get-true-file-attributes'.
12846
12847 2002-07-28 Richard M. Stallman <rms@gnu.org>
12848
12849 * s/hpux8.h (HPUX8): Define this before including hpux.h.
12850 (HAVE_SYS_WAIT_H): #define deleted; we let Autoconf decide.
12851
12852 * s/hpux.h (HAVE_SYS_WAIT_H): The #undef is conditional on HPUX8.
12853
12854 * keyboard.c (make_lispy_event):
12855 Use #ifdef to test USE_TOOLKIT_SCROLL_BARS.
12856 Explicitly clear up_modifier in event->modifiers.
12857
12858 2002-07-27 Richard M. Stallman <rms@gnu.org>
12859
12860 * xterm.h (FRAME_CURSOR_WIDTH): New macro.
12861
12862 * xterm.c (x_display_and_set_cursor): Check FRAME_CURSOR_WIDTH
12863 for bar cursor.
12864
12865 2002-07-26 Kenichi Handa <handa@etl.go.jp>
12866
12867 * coding.c (detect_coding_iso2022): While checking a byte sequence
12868 for CODING_CATEGORY_MASK_ISO_8_2, if we read one extra byte, check
12869 it in the normal loop.
12870
12871 2002-07-24 Gerd Moellmann <gerd.moellmann@t-online.de>
12872
12873 * xterm.c (expose_overlaps): New function.
12874 (expose_window): Use it to fix the display of overlapping rows.
12875
12876 * xdisp.c (unwind_redisplay): Clear redisplay_updating_p.
12877
12878 2002-07-23 Ken Raeburn <raeburn@gnu.org>
12879
12880 * lisp.h (XPNTR): Use NO_UNION_TYPE version for union as well,
12881 since it only depends on XUINT.
12882
12883 * m/alpha.h (BITS_PER_LONG, BITS_PER_EMACS_INT, EMACS_INT,
12884 EMACS_UINT, SPECIAL_EMACS_INT, DATA_SEG_BITS,
12885 PNTR_COMPARISON_TYPE, VALBITS, MARKBIT, XINT, XUINT, XPNTR):
12886 Macros deleted.
12887
12888 * mem-limits.h (start_of_data): If DATA_START is defined, prefer
12889 its value over other approaches.
12890 * sysdep.c (start_of_data): Don't define the function if a macro
12891 form has been defined.
12892
12893 2002-07-23 Gerd Moellmann <gerd.moellmann@t-online.de>
12894
12895 * xdisp.c (redisplay_updating_p): New variable.
12896 (init_iterator): Don't free realized faces when
12897 redisplay_updating_p is set.
12898 (redisplay_internal): Set redisplay_updating_p while updating
12899 the display.
12900
12901 2002-07-23 Richard M. Stallman <rms@gnu.org>
12902
12903 * editfns.c (Fmessage): Treat "" like nil.
12904
12905 2002-07-23 Kenichi Handa <handa@etl.go.jp>
12906
12907 * xdisp.c (face_before_or_after_it_pos):
12908 Call FETCH_MULTIBYTE_CHAR with byte postion, not char position.
12909
12910 2002-07-22 Juanma Barranquero <lektu@terra.es>
12911
12912 * callproc.c (init_callproc) [DOS_NT]:
12913 Initialize Vshared_game_score_directory to nil.
12914 (syms_of_callproc) [DOS_NT]: Likewise.
12915
12916 2002-07-22 Gerd Moellmann <gerd.moellmann@t-online.de>
12917
12918 * xdisp.c (display_line): Replace an abort with xassert.
12919
12920 2002-07-21 Richard M. Stallman <rms@gnu.org>
12921
12922 * xdisp.c (redisplay_window): Don't test BEG_UNCHANGED
12923 and END_UNCHANGED when setting buffer_unchanged_p.
12924 Use current_matrix_up_to_date_p to decide whether to use
12925 try_cursor_movement.
12926
12927 * config.in (HAVE_SHARED_GAME_DIR): Undef deleted.
12928
12929 * epaths.in (PATH_GAME): New macro, edited by ../Makefile.in.
12930
12931 * callproc.c (init_callproc): Set up Vshared_game_score_directory.
12932 Set to nil if dir does not exist.
12933 (syms_of_callproc): Init unconditionally and simply.
12934
12935 * buffer.c (Fbuffer_list): Doc fix.
12936
12937 2002-07-21 Ken Raeburn <raeburn@gnu.org>
12938
12939 * sysdep.c (end_of_text, end_of_data): Unused functions deleted.
12940
12941 * buffer.c (mmap_realloc): When shrinking, make sure number of
12942 pages to unmap is rounded towards zero.
12943
12944 * m/mips-siemens.h (XSETUINT, XSETPNTR): Unused macros deleted.
12945 (XSETINT): Deleted.
12946
12947 * m/att3b.h (XINT): Don't define.
12948 (VALBITS, VALMASK, XTYPE): Deleted.
12949 (DATA_SEG_BITS): Define.
12950 * m/gec63.h (VALBITS, VALAMASK, XTYPE, XSETTYPE, XPNTR, XSET,
12951 ARRAY_MARK_FLAG): Deleted.
12952 (DATA_SEG_BITS): Define.
12953 * m/pfa50.h (VALBITS, VALMASK, XTYPE): Deleted.
12954 (DATA_SEG_BITS): Define.
12955
12956 2002-07-20 Richard M. Stallman <rms@gnu.org>
12957
12958 * print.c (print_error_message): New args CONTEXT and CALLER.
12959 Calls changed.
12960
12961 * lisp.h (print_error_message): Declare new args.
12962
12963 * keyboard.c (cmd_error_internal): Pass Vsignaling_function
12964 and CONTEXT to print_error_message, don't print them here.
12965 For a Quit, don't use Vsignaling_function.
12966 Call message_log_maybe_newline.
12967
12968 * Makefile.in (xsmfns.o): Don't depend on lisp.h.
12969
12970 2002-07-20 Kim F. Storm <storm@cua.dk>
12971
12972 * xdisp.c (redisplay_window): Test MODIFF to set buffer_unchanged_p.
12973
12974 2002-07-19 Ken Raeburn <raeburn@gnu.org>
12975
12976 * bytecode.c (struct byte_stack): Pointers into byte string now
12977 point to const.
12978 * callproc.c (Fcall_process): Make NEW_ARGV array hold pointer to
12979 const.
12980 * charset.h (BCOPY_SHORT): Source pointer now points to const.
12981 * coding.c (encode_eol, detect_coding, detect_eol):
12982 (decode_coding, encode_coding, detect_coding_system):
12983 Source strings now treated as const.
12984 (decode_coding_string, encode_coding_string): Use STRING_COPYIN to
12985 modify Lisp string contents.
12986 * coding.h (decode_coding, encode_coding, detect_coding,
12987 detect_eol): Declarations updated.
12988 * composite.c (compose_chars_in_text): Treat Lisp string contents
12989 as const.
12990 * dispnew.c (safe_bcopy): Source pointer now points to const.
12991 * lisp.h (STRING_COPYIN): New macro.
12992 (detect_coding_system, safe_bcopy, temp_output_buffer_setup):
12993 (internal_with_output_to_temp_buffer): Declarations updated.
12994 * print.c (temp_output_buffer_setup):
12995 (internal_with_output_to_temp_buffer): Buffer name argument is now
12996 pointer to const.
12997 * sound.c (struct sound_device): Function pointer field "write"
12998 buffer argument now points to const.
12999 (vox_write): Buffer argument points to const.
13000 * syntax.c (Fstring_to_syntax, skip_chars): Treat Lisp string
13001 contents as const.
13002 * sysdep.c (emacs_write): Buffer pointer now const.
13003 * term.c (encode_terminal_code): Buffer pointer now const.
13004 * xfaces.c (may_use_scalable_font_p): Argument now points to const.
13005 (x_face_list_fonts, x_update_menu_appearance):
13006 (hash_string_case_insensitive): Treat Lisp string contents as const.
13007
13008 2002-07-19 Juanma Barranquero <lektu@terra.es>
13009
13010 * xdisp.c (syms_of_xdisp): Remove redundant deprecation info.
13011
13012 * fileio.c (syms_of_fileio): Likewise.
13013 (Ffile_name_as_directory): Fix argument name in docstring.
13014 (file_name_as_directory): Use literal '/' instead of DIRECTORY_SEP.
13015
13016 2002-07-18 Richard M. Stallman <rms@gnu.org>
13017
13018 * data.c (Fdefalias): Doc fix.
13019
13020 2002-07-17 Dave Love <fx@gnu.org>
13021
13022 * intervals.h (text_property_stickiness): Use P_.
13023
13024 * ccl.c: Remove `emacs' conditionals.
13025 (ccl_backtrace_table): Fix size spec.
13026 (ccl_driver): Fix type errors.
13027
13028 2002-07-16 Ken Raeburn <raeburn@gnu.org>
13029
13030 * alloc.c (xstrdup, make_string, make_unibyte_string)
13031 (make_multibyte_string, build_string): String pointer args now
13032 point to const.
13033 * charset.c (find_charset_in_text, c_string_width):
13034 (chars_in_text, multibyte_chars_in_text, parse_str_as_multibyte):
13035 * fileio.c (report_file_error):
13036 * insdel.c (copy_text, count_size_as_multibyte, insert_1):
13037 (count_combining_before, count_combining_after, insert_1_both):
13038 (insert, insert_and_inherit, insert_string):
13039 (insert_before_markers, insert_before_markers_and_inherit):
13040 * lread.c (intern, oblookup, hash_string):
13041 * minibuf.c (temp_echo_area_glyphs):
13042 * search.c (fast_c_string_match_ignore_case):
13043 * sysdep.c (emacs_open, set_file_times):
13044 * xfaces.c (xstricmp):
13045 * xdisp.c (store_frame_title, string_char_and_length):
13046 (message_dolog, message2, message2_nolog, set_message): Likewise.
13047 (set_message_1): Cast message string argument to const pointer.
13048 * editfns.c (general_insert_function): Insertion function now
13049 takes pointer to const for input data.
13050 * charset.h (find_charset_in_text, c_string_width):
13051 (parse_str_as_multibyte): Declarations updated.
13052 * dispextern.h (xstricmp): Declaration updated.
13053 * lisp.h (chars_in_text, multibyte_chars_in_text, copy_text):
13054 (count_size_as_multibyte, count_combining_before):
13055 (count_combining_after, insert_1, insert_1_both, message_dolog):
13056 (insert, insert_and_inherit, insert_before_markers)
13057 (insert_before_markers_and_inherit, set_message, message2):
13058 (message2_dolog, build_string, make_string, make_unibyte_string):
13059 (make_multibyte_string, intern, oblookup, report_file_error):
13060 (fast_c_string_match_ignore_case, temp_echo_area_glyphs):
13061 (emacs_open, xstrdup): Declarations updated.
13062 * systime.h (set_file_times): Declaration updated.
13063
13064 * charset.c (find_charset_in_text, lisp_string_width): Use const
13065 for pointer to lisp string data.
13066 * charset.h (FETCH_STRING_CHAR_ADVANCE):
13067 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK):
13068 * coding.c (Ffind_coding_systems_region_interval):
13069 * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
13070 (Fmake_directory_internal, Fdelete_directory):
13071 (Ffile_name_absolute_p, Fwrite_region, double_dollars):
13072 * fontset.c (font_family_registry, fs_query_fontset):
13073 (list_fontsets):
13074 * frame.c (Fframe_parameter):
13075 * keyboard.c (cmd_error_internal):
13076 * keymap.c (Fdescribe_buffer_bindings):
13077 * lread.c (complete_filename_p, openp):
13078 * minibuf.c (Fminibuffer_complete_word):
13079 * xdisp.c (string_pos_nchars_ahead, init_from_display_pos):
13080 (face_before_or_after_it_pos, next_element_from_string):
13081 (get_overlay_arrow_glyph_row, display_mode_element):
13082 (decode_mode_spec_coding):
13083 * xterm.c (same_x_server): Likewise.
13084
13085 * buffer.c (reset_buffer_local_variables): Delete "#if 0"
13086 settings of non-existent fields.
13087
13088 * editfns.c (Fstring_to_char): Don't use XSTRING/XSETSTRING to
13089 copy a lisp value.
13090
13091 * lread.c (Fintern_soft): Use string macros instead of
13092 Lisp_String fields.
13093 * keyboard.c (echo_char, parse_modifiers_uncached):
13094 (parse_solitary_modifier, Fexecute_extended_command): Likewise.
13095 * textprop.c (validate_interval_range, interval_of): Likewise.
13096
13097 * fontset.c (Fset_fontset_font): Use SDATA instead of XSTRING()->data.
13098
13099 * charset.h (FETCH_STRING_CHAR_ADVANCE)
13100 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SBYTES instead of
13101 XSTRING()->size_byte.
13102
13103 * lisp.h (SDATA, SREF): Produce rvalue.
13104 (SSET): New macro.
13105 * alloc.c (make_event_array): Use SSET for storing into a string.
13106 * buffer.c (Fother_buffer): Use SREF when retrieving a byte from
13107 a string.
13108 * casefiddle.c (casify_object): Use SSET.
13109 * charset.h (FETCH_STRING_CHAR_ADVANCE)
13110 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA when getting
13111 address of string contents.
13112 * data.c (Faref): Use SDATA.
13113 (Faset): Use SDATA, SSET.
13114 * dired.c (directory_files_internal): Use SSET.
13115 * fileio.c (Fmake_symbolic_link, Fexpand_file_name): Use SSET.
13116 (Fread_file_name): Use SREF, SSET.
13117 * fns.c (concat): Use SSET.
13118 (concat, Fdelete): Use SDATA.
13119 * insdel.c (insert_from_string_1): Use SDATA.
13120 * keyboard.c (Fevent_convert_list): Use SREF.
13121 * lread.c (Fload): Use SDATA, SSET.
13122 * macfns.c (validate_x_resource_name): Use SSET.
13123 * process.c (status_message): Use SSET.
13124 * search.c (wordify): Use SDATA.
13125 (Freplace_match): Use SREF.
13126 * w32fns.c (validate_x_resource_name): Use SSET.
13127 * xfns.c (validate_x_resource_name): Use SSET.
13128 * xterm.c (x_catch_errors, x_clear_errors): Use SSET.
13129
13130 2002-07-16 Richard M. Stallman <rms@gnu.org>
13131
13132 * s/hpux11.h (USG_SUBTTY_WORKS): Defined.
13133
13134 * xdisp.c (reconsider_clip_changes):
13135 Don't test prevent_redisplay_optimizations_p.
13136 (redisplay_internal): Test prevent_redisplay_optimizations_p
13137 along with clip_changed in some cases.
13138 (try_window_id): Likewise.
13139 (redisplay_window): New local var buffer_unchanged_p.
13140
13141 * keyboard.c (cmd_error) [HAVE_X_WINDOWS]: Maybe call cancel_houglass.
13142
13143 * process.c (create_process): Test USG_SUBTTY_WORKS.
13144 (process_send_signal): Clean up handling of GID.
13145 Detect errors in ioctls meant to set GID.
13146
13147 * window.c (temp_output_buffer_show):
13148 Don't set prevent_redisplay_optimizations_p.
13149
13150 2002-07-15 Juanma Barranquero <lektu@terra.es>
13151
13152 * eval.c (Fdefvaralias): Add docstring argument.
13153
13154 2002-07-15 Ken Raeburn <raeburn@gnu.org>
13155
13156 * lisp.h (STRING_INTERVALS): Produce rvalue.
13157 (STRING_SET_INTERVALS): New macro.
13158 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use it.
13159 * fns.c (Fstring_as_multibyte): Likewise.
13160 * intervals.c (balance_possible_root_interval, delete_interval)
13161 (create_root_interval, copy_intervals_to_string): Likewise.
13162 * textprop.c (set_text_properties): Likewise. Use NULL_INTERVAL
13163 instead of 0.
13164
13165 2002-07-14 Ken Raeburn <raeburn@gnu.org>
13166
13167 * lisp.h (STRING_SET_CHARS): New macro.
13168 (SCHARS, SBYTES): Produce rvalues.
13169 * dired.c (directory_files_internal): Use STRING_SET_CHARS.
13170 * fns.c (concat): Likewise.
13171 * lread.c (read_vector): Likewise.
13172
13173 * lisp.h (SMBP): Delete. All uses changed to STRING_MULTIBYTE.
13174 (STRING_SET_UNIBYTE): New macro.
13175 (SET_STRING_BYTES): Delete. Callers (all of which supplied a
13176 length of -1) changed to use STRING_SET_UNIBYTE.
13177 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
13178 casefiddle.c, category.c, ccl.c, charset.c, charset.h, coding.c,
13179 composite.c, data.c, dired.c, dispnew.c, disptab.h, doc.c,
13180 dosfns.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fn.c,
13181 fontset.c, frame.c, indent.c, insdel.c, intervals.c, keyboard.c,
13182 keymap.c, lread.c, mac.c, macfns.c, macmenu.c, macterm.c,
13183 minibuf.c, msdos.c, print.c, process.c, search.c, sound.c,
13184 sunfns.c, syntax.c, syntax.h, sysdep.c, textprop.c, undo.c,
13185 w16select.c, w32.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
13186 w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c,
13187 xselect.c, xsmfns.c, xterm.c: Most uses of XSTRING combined with
13188 STRING_BYTES or indirection changed to SCHARS, SBYTES,
13189 STRING_INTERVALS, SREF, SDATA; explicit size_byte references left
13190 unchanged for now.
13191
13192 2002-07-13 Kim F. Storm <storm@cua.dk>
13193
13194 * keyboard.c (command_loop_1): Invert check on Vmemory_full.
13195
13196 2002-07-12 Richard M. Stallman <rms@gnu.org>
13197
13198 * fileio.c (Fwrite_region): Doc fix.
13199
13200 * print.c (print_error_message): Don't handle Vsignaling_function here.
13201
13202 * keyboard.c (cmd_error_internal): Handle Vsignaling_function here.
13203 (command_loop_1): Avoid certain actions after memory-full error.
13204
13205 * eval.c (Fsignal): Don't call cancel_hourglass.
13206 For a memory-full error, don't call Vsignal_hook_function
13207 and don't set Vsignaling_function.
13208
13209 * process.c (process_send_signal): Add abort call.
13210
13211 2002-07-11 Markus Rost <rost@math.ohio-state.edu>
13212
13213 * keymap.c (Fkey_binding): Fix typo.
13214
13215 2002-07-11 Richard M. Stallman <rms@gnu.org>
13216
13217 * alloc.c (Vmemory_full): New variable.
13218 (Vmemory_signal_data): Rename from memory_signal_data.
13219 Uses changed.
13220 (syms_of_alloc): Defvar them.
13221 (memory_full, buffer_memory_full): Set Vmemory_full.
13222
13223 * lisp.h (Vmemory_full): Add declaration.
13224 (current_column, indented_beyond_p): Change declaration.
13225
13226 * indent.c (last_known_column): Declare as double, not float.
13227 (current_column, current_column_1, string_display_width)
13228 (position_indentation): Return `double'.
13229 (indented_beyond_p): Arg `column' is `double'. Callers changed.
13230
13231 * xdisp.c (message_dolog): Do nothing if Vmemory_full is non-nil.
13232 (back_to_previous_visible_line_start)
13233 (reseat_at_next_visible_line_start, next_element_from_buffer):
13234 Use `double', not `float', when calling indented_beyond_p.
13235
13236 * s/hpux11.h (BROKEN_SA_RESTART): Define.
13237
13238 * sysdep.c (sys_signal): Test BROKEN_SA_RESTART.
13239
13240 2002-07-11 Juanma Barranquero <lektu@terra.es>
13241
13242 * alloc.c, buffer.c, bytecode.c, callint.c, callproc.c, coding.c,
13243 * composite.c, dired.c, dispnew.c, editfns.c, emacs.c, eval.c,
13244 * fileio.c, fns.c, insdel.c, keyboard.c, keymap.c, lread.c, macfns.c,
13245 * macmenu.c, macros.c, minibuf.c, print.c, process.c, sound.c,
13246 * textprop.c, w32fns.c, w32menu.c, window.c, xfaces.c, xfns.c,
13247 * xmenu.c, xselect.c, xterm.c: Use SPECPDL_INDEX wherever makes sense.
13248
13249 2002-07-10 Juanma Barranquero <lektu@terra.es>
13250
13251 * lisp.h (SPECPDL_INDEX): Rename from BINDING_STACK_SIZE.
13252 All callers changed.
13253
13254 2002-07-09 Stefan Monnier <monnier@cs.yale.edu>
13255
13256 * data.c (Fdefalias): Add an optional `docstring' argument.
13257 (set_internal, Fsetq_default): Use XCAR/XCDR.
13258
13259 * composite.c (HASH_VALUE, HASH_KEY):
13260 * ccl.c (HASH_VALUE): Remove (it's in lisp.h now).
13261
13262 2002-07-09 Kenichi Handa <handa@etl.go.jp>
13263
13264 * callproc.c (Fcall_process): Fix previous change.
13265
13266 2002-07-07 Stefan Monnier <monnier@cs.yale.edu>
13267
13268 * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
13269 Add support for hash-tables.
13270 (Ftry_completion): Return t even if the string appears multiple times.
13271
13272 * fns.c (Fnconc): Use XCDR.
13273 (Fprovide): Use CONSP and XCDR.
13274 (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
13275 (HASH_TABLE_SIZE): Delete: moved to lisp.h.
13276 (Fmake_hash_table): Accept `:size nil'.
13277 (Fmakehash): Delete: moved to subr.el.
13278 (syms_of_fns): Don't defsubr makehash.
13279
13280 * lisp.h (HASH_KEY, HASH_VALUE, HASH_NEXT, HASH_HASH, HASH_INDEX)
13281 (HASH_TABLE_SIZE): Move from fns.c.
13282
13283 2002-07-07 Richard M. Stallman <rms@gnu.org>
13284
13285 * xdisp.c (make_cursor_line_fully_visible): Don't try short scrolls.
13286 Instead just return 0 when there is something to be done.
13287 (try_scrolling): If make_cursor_line_fully_visible returns 0,
13288 retry scrolling as if cursor were off the bottom.
13289 (try_cursor_movement): If make_cursor_line_fully_visible returns 0,
13290 return CURSOR_MOVEMENT_MUST_SCROLL.
13291 (redisplay_window): If make_cursor_line_fully_visible returns 0,
13292 go to try_to_scroll.
13293
13294 * buffer.c (Fbuffer_local_value): Store current value into its binding
13295 so we get the up-to-date value for the binding that is loaded.
13296
13297 * eval.c (Fdefmacro): Doc fix.
13298
13299 2002-07-05 Dave Love <fx@gnu.org>
13300
13301 * keyboard.c (read_key_sequence): Set initial_idleness_start_time
13302 correctly.
13303
13304 * ccl.c (Vtranslation_hash_table_vector, GET_HASH_TABLE)
13305 (HASH_VALUE, CCL_LookupIntConstTbl, CCL_LookupCharConstTbl): New.
13306 (ccl_driver): Add cases for CCL_LookupIntConstTbl,
13307 CCL_LookupCharConstTbl.
13308 (syms_of_ccl): Defvar translation-hash-table-vector.
13309
13310 2002-07-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13311
13312 * xdisp.c: Remove unused variable `face'.
13313
13314 2002-07-04 Juanma Barranquero <lektu@terra.es>
13315
13316 * keyboard.c (post_command_idle_hook): Remove redundant (and inexact)
13317 obsolescence information.
13318
13319 2002-07-03 Andrew Choi <akochoi@shaw.ca>
13320
13321 * macterm.c (x_list_fonts): Fix comment. Cache fonts matching
13322 pattern. Search cache first.
13323 (init_font_name_table): Also add entry for jisx0201.1976-0 coding
13324 for Japanese font.
13325 (XLoadQueryFont): Use it.
13326
13327 2002-07-02 Richard M. Stallman <rms@gnu.org>
13328
13329 * keymap.c (Fdefine_key): Doc fix.
13330
13331 * xterm.c (x_term_init): Turn off polling around XtOpenDisplay.
13332
13333 2002-07-02 Juanma Barranquero <lektu@terra.es>
13334
13335 * keymap.c (syms_of_keymap): Fix typo.
13336
13337 2002-07-01 Andrew Choi <akochoi@shaw.ca>
13338
13339 * s/darwin.h: Define POSIX_SIGNALS.
13340
13341 * macterm.c (do_ae_open_documents) [MAC_OSX]: Call FSpMakeFSRef
13342 and FSRefMakePath to convert FSSpec returned with Apple Event to
13343 Posix pathname.
13344 (mac_initialize) [TARGET_API_MAC_CARBON]:
13345 Call init_required_apple_events and disable the `Quit' menu item
13346 provided automatically by the Carbon Toolbox.
13347
13348 2002-07-01 Dave Love <fx@gnu.org>
13349
13350 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
13351 for K&R.
13352
13353 * xterm.c: Fix prototype for K&R.
13354
13355 * term.c (costs_set): Declare static, non-initialized for pcc.
13356
13357 2002-07-01 Richard M. Stallman <rms@gnu.org>
13358
13359 * keyboard.c (timer_last_idleness_start_time): New variable.
13360 (timer_start_idle): Set that.
13361 (read_key_sequence): Use that to reset timer_idleness_start_time
13362 to previous value.
13363
13364 * window.c (Frecenter): With arg, set optional_new_start.
13365
13366 * xdisp.c (redisplay_internal): Make optional_new_start really work.
13367
13368 * minibuf.c (Fminibuffer_complete_and_exit): Move to end of
13369 buffer for completion.
13370
13371 2002-06-29 Ken Raeburn <raeburn@gnu.org>
13372
13373 * xdisp.c (store_mode_line_string): Lisp_Object/int mixup.
13374
13375 2002-06-28 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
13376
13377 * keyboard.c (readable_filtered_events): New function that filters
13378 FOCUS_IN_EVENT depending on parameter.
13379 (readable_events): Calls readable_filtered_events, not filtering
13380 FOCUS_IN_EVENT.
13381 (get_filtered_input_pending): New function, filtering parameter passed
13382 to readable_filtered_events.
13383 (get_input_pending): Calls get_filtered_input_pending, not filtering
13384 FOCUS_IN_EVENT.
13385 (Finput_pending_p): Calls get_filtered_input_pending, DO filter
13386 FOCUS_IN_EVENT.
13387
13388 * xterm.h (struct x_output): Add focus_state.
13389
13390 * xterm.c (x_focus_changed): New function.
13391 (x_detect_focus_change): New function.
13392 (XTread_socket): Call x_detect_focus_change for FocusIn/FocusOut
13393 EnterNotify and LeaveNotify to track X focus changes.
13394
13395 2002-06-28 Andreas Schwab <schwab@suse.de>
13396
13397 * lisp.h: Remove duplicate declaration of code_convert_string_norecord.
13398
13399 2002-06-27 Kim F. Storm <storm@cua.dk>
13400
13401 * xdisp.c: (mode_line_string_list, mode_line_string_face)
13402 (mode_line_string_face_prop): New variables.
13403 (store_mode_line_string): New function.
13404 (display_mode_element): Use store_mode_line_string to
13405 add mode-line string elements to mode_line_string_list
13406 when mode_line_string_list is non-nil.
13407 (Fformat_mode_line): Now returns propertized string by
13408 default. New arg NO-PROPS to ignore properties.
13409 (decode_mode_spec): Only add two dashes for %- in propertized
13410 mode-line string.
13411 (syms_of_xdisp): Init and staticpro mode_line_string_list.
13412
13413 2002-06-27 Stefan Monnier <monnier@cs.yale.edu>
13414
13415 * minibuf.c (minibuffer_completion_contents): Add return type.
13416
13417 2002-06-27 Juanma Barranquero <lektu@terra.es>
13418
13419 * charset.c (Fchar_bytes): Remove obsolescence info from docstring.
13420
13421 2002-06-26 Juanma Barranquero <lektu@terra.es>
13422
13423 * fileio.c (read_file_name_cleanup): Add missing return.
13424
13425 2002-06-26 Richard M. Stallman <rms@gnu.org>
13426
13427 * window.c (Frecenter): Don't set force_start flag.
13428
13429 * minibuf.c (do_completion, Fminibuffer_complete_word)
13430 (Fminibuffer_completion_help): Complete just the text before point.
13431 (minibuffer_completion_contents): New function.
13432
13433 * buffer.c (Fbury_buffer): Use frames_discard_buffer.
13434
13435 * frame.c (frames_bury_buffer): Function deleted.
13436
13437 2002-06-25 Miles Bader <miles@gnu.org>
13438
13439 * callint.c (Fcall_interactively): When checking to see if doprnt hit
13440 the end of callint_message, allow for a terminating '\0'.
13441
13442 2002-06-24 Juanma Barranquero <lektu@terra.es>
13443
13444 * w32select.c: Include composite.h
13445
13446 * w16select.c: Likewise.
13447
13448 2002-06-24 Kenichi Handa <handa@etl.go.jp>
13449
13450 * callproc.c (Fcall_process): If code detection is necessary,
13451 call detect_coding directly here.
13452
13453 * coding.c (detect_eol): Preserve coding->cmp_data.
13454
13455 * w16select.c (Fw16_get_clipboard_data):
13456 * w32fns.c (w32_to_x_font):
13457 * w32select.c (Fw32_get_clipboard_data):
13458 * xselect.c (selection_data_to_lisp_data):
13459 * xterm.c (XTread_socket): Disable composition handling.
13460
13461 2002-06-24 Stefan Monnier <monnier@cs.yale.edu>
13462
13463 * print.c (temp_output_buffer_setup): Kill all local variables.
13464
13465 2002-06-22 Stefan Monnier <monnier@cs.yale.edu>
13466
13467 * lread.c (Fread): Remove redundant and imprecise declaration.
13468
13469 * xfns.c (check_x_display_info): Use check_x_frame.
13470
13471 * .gdbinit (xprintsym): Use the new `xname' field.
13472 (xsymbol): Use it.
13473
13474 2002-06-22 Jason Rumney <jasonr@gnu.org>
13475
13476 * w32fns.c (file_dialog_callback): New function.
13477 (Fx_file_dialog): Allow selecting directories as well as files.
13478
13479 2002-06-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13480
13481 * m/pmax.h (START_FILES): Define START_FILES for NetBSD and
13482 OpenBSD. Add support for mipseb-*-netbsd* machines.
13483
13484 2002-06-17 Andrew Choi <akochoi@shaw.ca>
13485
13486 * macterm.c (mac_scroll_area): Set foreground and backcolor to
13487 black and white before scrolling. Restore frame background and
13488 foreground color after scrolling.
13489 (do_window_update): Call XClearWindow before calling expose_frame.
13490 (make_mac_frame): Don't set FRAME_BACKGROUND_PIXEL and
13491 FRAME_FOREGROUND_PIXEL of frame.
13492
13493 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
13494 test Mac command key as <ALT> key.
13495
13496 2002-06-17 Stefan Monnier <monnier@cs.yale.edu>
13497
13498 * window.c (Fset_window_configuration): Lisp_Object/int mixup.
13499
13500 * keyboard.c (read_key_sequence): Be more careful with first_unbound.
13501 Lookup keys in function-key-map immediately so that key-translation-map
13502 can be applied earlier.
13503 Remove function_key_possible and key_translation_possible, replaced
13504 by checking `keytran_start < t'.
13505
13506 * .gdbinit (xsymbol): Use the new `xname' field.
13507
13508 2002-06-17 Andrew Choi <akochoi@shaw.ca>
13509
13510 * macterm.c (XTread_socket): If Vmac_command_key_is_meta is nil,
13511 test Mac command key as <ALT> key.
13512
13513 * mac.c (do_applescript): Call initialize_applescript if necessary
13514 when first called. Dispose of result_desc only when there is no error.
13515 (Fdo_applescript): Use %d format specifier instead of %ld.
13516
13517 2002-06-16 Andrew Choi <akochoi@shaw.ca>
13518
13519 * macterm.c (XTread_socket): Call FrontNonFloatingWindow instead
13520 of FrontWindow for cases keyDown and autoKey.
13521
13522 * fontset.c (syms_of_fontset) [MAC_OS]: Set ASCII font of
13523 Vdefault_fontset to Monaco with mac-roman coding.
13524
13525 * mac.c, macfns.c, macmenu.c, macterm.c: Undefine and redefine
13526 init_process before and after inclusion of Carbon/Carbon.h, resp.
13527
13528 * macterm.c (x_new_font): Set font for normal_gc, reverse_gc, and
13529 cursor_gc.
13530 (add_font_name_table_entry): New function.
13531 (init_font_name_table): Use add_font_name_table_entry; add italic,
13532 bold, and bold-italic entries for truetype fonts.
13533
13534 * xfaces.c (init_frame_faces) [MAC_OS]: Call realize_basic_faces
13535 for Mac too.
13536 (try_font_list) [MAC_OS]: If no font matches given registry, try
13537 fonts with any registry matching face_family.
13538 (realize_x_face) [MAC_OS]: Remove old ad-hoc fix to load font here.
13539
13540 * s/darwin.h: If autoconf detects the Ncurses library, define
13541 LIBS_TERMCAP to -lncurses to use it.
13542
13543 2002-06-16 Eli Zaretskii <eliz@is.elta.co.il>
13544
13545 * strftime.c [__hpux]: Include sys/_mbstate_t.h.
13546
13547 2002-06-15 Richard M. Stallman <rms@gnu.org>
13548
13549 * window.c (Fset_window_configuration): Explicitly preserve
13550 the point value that new_current_buffer had at the start.
13551
13552 2002-06-14 Juanma Barranquero <lektu@terra.es>
13553
13554 * composite.c (Fcompose_region_internal, Fcompose_string_internal):
13555 Fix typos.
13556
13557 2002-06-14 Kim F. Storm <storm@cua.dk>
13558
13559 * insdel.c (insert_1_both, insert_from_string_1)
13560 (insert_from_buffer_1): Recalculate END_UNCHANGED in case the
13561 insert happened in the end_unchanged region. Otherwise, the
13562 redisplay may be confused and duplicate the last line in the
13563 buffer [seen after save-buffer when require-final-newline==t].
13564
13565 2002-06-13 Jason Rumney <jasonr@gnu.org>
13566
13567 * w32.c (init_environment): Remove EMACSLOCKDIR.
13568 (stat): Swap _S_IFDIR and _S_IFREG.
13569
13570 2002-06-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13571
13572 * keyboard.c, macterm.c, macmenu.c, msdos.c, sysdep.c
13573 * termhooks.h, xmenu.c, xsmfns.c, xterm.h, xterm.c, w32term.c,
13574 * w32menu.c, w32inevt.c: Rename enum event_kind as follows:
13575 ascii_keystroke to ASCII_KEYSTROKE_EVENT, multibyte_char_keystroke
13576 to MULTIBYTE_CHAR_KEYSTROKE_EVENT, non_ascii_keystroke to
13577 NON_ASCII_KEYSTROKE_EVENT, timer_event to TIMER_EVENT, mouse_click
13578 to MOUSE_CLICK_EVENT, mouse_wheel to MOUSE_WHEEL_EVENT,
13579 language_change_event to LANGUAGE_CHANGE_EVENT, scroll_bar_click
13580 to SCROLL_BAR_CLICK_EVENT, w32_scroll_bar_click to
13581 W32_SCROLL_BAR_CLICK_EVENT, selection_request_event to
13582 SELECTION_REQUEST_EVENT, selection_clear_event to
13583 SELECTION_CLEAR_EVENT, buffer_switch_event to BUFFER_SWITCH_EVENT,
13584 delete_window_event to DELETE_WINDOW_EVENT, iconify_event to
13585 ICONIFY_EVENT, deiconify_event to DEICONIFY_EVENT,
13586 menu_bar_activate_event to MENU_BAR_ACTIVATE_EVENT, drag_n_drop to
13587 DRAG_N_DROP_EVENT, save_session_event to SAVE_SESSION_EVENT and
13588 no_event to NO_EVENT.
13589
13590 2002-06-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13591
13592 * macmenu.c: Remove declaration of Qmouse_click and Qevent_kind.
13593
13594 2002-06-12 Stefan Monnier <monnier@cs.yale.edu>
13595
13596 * intervals.c (textget): Don't forget to `return'.
13597 (lookup_char_property): Use XCAR/XCDR.
13598
13599 2002-06-12 Juanma Barranquero <lektu@terra.es>
13600
13601 * xdisp.c (Fformat_mode_line): Fix typo.
13602
13603 2002-06-12 Kim F. Storm <storm@cua.dk>
13604
13605 * xdisp.c (Fformat_mode_line): New function.
13606 (frame_title_buf, frame_title_buf_end, frame_title_ptr)
13607 (store_frame_title_char, store_frame_title): Use unconditionally.
13608 (init_xdisp): Defsubr Fformat_mode_line.
13609 Initialize frame_title_buf etc. unconditionally.
13610
13611 2002-06-11 Stefan Monnier <monnier@cs.yale.edu>
13612
13613 * keyboard.c (read_key_sequence):
13614 Remove prev_(fkey|keytran}_(map|start|end) since we don't want to pass
13615 things through those maps after downcasing events.
13616 Enforce that keytran_end <= fkey_start, i.e. that key-translation-map
13617 applies after function-key-map.
13618 Make sure that keytran can be done in the middle in the sequence.
13619 Be careful not to throw away events past the one we downcase.
13620
13621 * lread.c (read_integer): Remove unused var `tem'.
13622 (read1): Fix int/Lisp_Object mixup.
13623
13624 * xfaces.c (tty_lookup_color): Type bool/Lisp_Object mismatch fixed.
13625
13626 2002-06-11 Richard M. Stallman <rms@gnu.org>
13627
13628 * keyboard.c (readable_events): Ignore any number of
13629 FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
13630
13631 2002-06-09 Miles Bader <miles@gnu.org>
13632
13633 * xfaces.c (Ftty_supports_face_attributes_p): New function.
13634 (parse_rgb_list, tty_lookup_color): New functions.
13635 (tty_defined_color): Use `tty_lookup_color' to do all the work.
13636 (color_distance, Fcolor_distance): New functions.
13637 (TTY_SAME_COLOR_THRESHOLD): New macro.
13638 (Qtty_color_standard_values): New variable.
13639 (syms_of_xfaces): Initialize new vars & functions.
13640
13641 2002-06-08 Colin Walters <walters@verbum.org>
13642
13643 * textprop.c (Vchar_property_alias_alist): New variable.
13644 (syms_of_textprop) <Vchar_property_alias_alist>: DEFVAR_LISP.
13645
13646 * intervals.c (lookup_char_property): New function for looking up
13647 overlay and text properties, created from textget.
13648 (textget): Use it.
13649
13650 * intervals.h (lookup_char_property): Declare.
13651 (Vchar_property_alias_alist): Declare.
13652
13653 * buffer.c (Foverlay_get): Use lookup_char_property.
13654
13655 2002-06-07 Sam Steingold <sds@gnu.org>
13656
13657 * xselect.c (lisp_data_to_selection_data): Fix last change:
13658 *data_ret is not a Lisp string, while unibyte_string is.
13659
13660 2002-06-07 Eli Zaretskii <eliz@is.elta.co.il>
13661
13662 * xselect.c (lisp_data_to_selection_data): Fix last change:
13663 set size_ret.
13664
13665 2002-06-07 Andreas Schwab <schwab@suse.de>
13666
13667 * m/amdx86-64.h: New file.
13668
13669 2002-06-05 Eli Zaretskii <eliz@is.elta.co.il>
13670
13671 * fns.c (Fstring_make_unibyte): Doc fix.
13672
13673 * xselect.c (lisp_data_to_selection_data): If the requested type
13674 is STRING, call string_make_unibyte to encode the selected text
13675 as a string.
13676
13677 * window.c (Fset_window_hscroll): Doc fix.
13678
13679 2002-06-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
13680
13681 * fileio.c (choose_write_coding_system):
13682 Call select-safe-coding-system properly.
13683
13684 2002-06-03 Richard M. Stallman <rms@gnu.org>
13685
13686 * xdisp.c (message_with_string): Error if STRING is not a string.
13687
13688 * fns.c (md5): Pass FILE arg to Vselect_safe_coding_system_function.
13689
13690 * fileio.c (choose_write_coding_system): Pass FILE arg to
13691 Vselect_safe_coding_system_function.
13692
13693 2002-06-03 Ken Raeburn <raeburn@gnu.org>
13694
13695 * buffer.c (fix_overlays_before): Fix list-walking bug in 05-19 change.
13696
13697 2002-06-02 Thien-Thi Nguyen <ttn@gnu.org>
13698
13699 * bytecode.c (Fbyte_code): Cast `current_column' return value to int.
13700 * cmds.c (Fdelete_backward_char, internal_self_insert): Likewise.
13701 * keymap.c (describe_command): Likewise.
13702 * minibuf.c (read_minibuf): Likewise.
13703
13704 * xdisp.c (redisplay_internal, redisplay_window, decode_mode_spec):
13705 Cast `current_column' return value to int.
13706 (back_to_previous_visible_line_start)
13707 (reseat_at_next_visible_line_start, next_element_from_buffer):
13708 Cast `indented_beyond_p' 3rd arg to float.
13709
13710 * indent.c (last_known_column): Now a float.
13711 (current_column_1, position_indentation, current_column)
13712 (string_display_width): Return float.
13713 (Fcurrent_column): Cast `current_column' return value to int.
13714 (Fcurrent_indentation): Cast `position_indentation' retval to int.
13715 (indented_beyond_p): Third arg now a float.
13716 (compute_motion, vmotion): Cast `indented_beyond_p' 3rd arg to float.
13717
13718 * lisp.h (current_column): Now returns float.
13719 (indented_beyond_p): 3rd arg now a float.
13720
13721 2002-05-31 Eli Zaretskii <eliz@is.elta.co.il>
13722
13723 * xfns.c (x_encode_text): Return stringp non-NULL if coding_system
13724 is Qcompound_text_with_extensions.
13725
13726 * xselect.c (lisp_data_to_selection_data): Always set selection
13727 type as string if x_encode_text returns streingp non-NULL.
13728
13729 * s/netbsd.h: Include /usr/pkg in the run time shared library path.
13730
13731 2002-05-30 Richard M. Stallman <rms@gnu.org>
13732
13733 * window.c (Fset_window_configuration): Correct the handling
13734 of point in current buffer, to work with multiple windows.
13735
13736 2002-05-29 Colin Walters <walters@verbum.org>
13737
13738 * lread.c (Fread_from_string): Don't depend on order of evaluation
13739 for C function parameters.
13740
13741 2002-05-28 Richard M. Stallman <rms@gnu.org>
13742
13743 * xterm.c (x_display_and_set_cursor): Change the cursor in the same
13744 way for blinked-off state and for a nonselected window.
13745
13746 * window.c (window_scroll_pixel_based): Don't call Fbolp;
13747 instead, see if the new start pos is at beginning of line.
13748
13749 * fileio.c (Fwrite_region): If START is a string, don't
13750 make any annotations.
13751
13752 * eval.c (syms_of_eval): Doc fix.
13753
13754 2002-05-28 Colin Walters <walters@debian.org>
13755
13756 * emacs.c (USAGE1): Add --no-splash.
13757 (standard_args): Ditto.
13758
13759 2002-05-28 Colin Walters <walters@gnu.org>
13760
13761 * lread.c (readchar_count): New variable.
13762 (readchar): Increment it.
13763 (unreadchar): Decrement it.
13764 (read_multibyte): Decrement it.
13765 (Vread_with_symbol_positions): New variable.
13766 (Vread_symbol_positions_list): New variable.
13767 (read_internal_start): New function, created from Fread and
13768 Fread_from_string. Handle Vread_symbol_positions_list and
13769 Vread_with_symbol_positions.
13770 (readevalloop, Fread, Fread_from_string): Use it.
13771 (read1): Use readchar_count to add symbol positions to
13772 Vread_symbol_positions_list if Vread_with_symbol_positions is non-nil.
13773 (syms_of_lread): DEFVAR_LISP and initialize them.
13774
13775 * lread.c (read0, read1, read_list, read_vector, read_multibyte)
13776 (substitute_object_recurse, substitute_object_in_subtree)
13777 (substitute_in_interval): Prototype.
13778 (read_multibyte): Return c if it's less than zero.
13779
13780 2002-05-28 Kim F. Storm <storm@cua.dk>
13781
13782 * fileio.c (Fread_file_name_internal): Added brute-force
13783 speed up for using predicate file-directory-p.
13784
13785 2002-05-28 Kim F. Storm <storm@cua.dk>
13786
13787 * fileio.c (Vread_file_name_function, Vread_file_name_predicate):
13788 New variables.
13789 (syms_of_fileio): DEFVAR_LISP them.
13790 (read_file_name_cleanup): New unwind function.
13791 (Fread_file_name_internal): Only return completions satifying
13792 Vread_file_name_predicate. Temporarily unwind protect and rebind
13793 default-directory while checking completions against the predicate.
13794 (Fread_file_name): Added PREDICATE argument. Specbind it to
13795 Vread_file_name_predicate during completion.
13796 Call Vread_file_name_function to read the file name if non-nil.
13797
13798 * lisp.h (Fread_file_name): Now has 6 args.
13799
13800 * callint.c (Fcall_interactively) <"D">: Supply Qfile_directory_p
13801 predicate for Fread_file_name when reading directory name.
13802 Supply Qnil for predicate in other calls to Fread_file_name.
13803
13804 2002-05-26 Miles Bader <miles@gnu.org>
13805
13806 * term.c (tty_capable_p): New function.
13807 * dispextern.h (tty_capable_p): New function declaration.
13808 (TTY_CAP_INVERSE, TTY_CAP_UNDERLINE, TTY_CAP_BOLD, TTY_CAP_DIM)
13809 (TTY_CAP_BLINK, TTY_CAP_ALT_CHARSET): New macros.
13810
13811 2002-05-23 Stefan Monnier <monnier@cs.yale.edu>
13812
13813 * fileio.c (read_non_regular, Finsert_file_contents): Use BEG_BYTE.
13814 (Finsert_file_contents, build_annotations): Use XCAR, XCDR.
13815 (Vwrite_region_annotate_functions): Docstring fix.
13816
13817 2002-05-23 Kim F. Storm <storm@cua.dk>
13818
13819 * xterm.c (x_write_glyphs): Clear phys_cursor_on_p if current
13820 phys_cursor's hpos is overwritten. This is still not completely
13821 correct, as it doesn't really make sense to use hpos at all to
13822 get the cursor glyph (as that is relative to the width of the
13823 characters on the line, which may have changed during the update).
13824
13825 2002-05-22 Jason Rumney <jasonr@gnu.org>
13826
13827 * w32fns.c (enumfont_t): Remove tail, make pattern a normal
13828 Lisp_Object.
13829 (enum_font_cb2, enum_font_maybe_add_to_list, w32_list_fonts):
13830 Use modified enumfont_t struct.
13831
13832 * w32term.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
13833
13834 * w32term.c (x_draw_bar_cursor): New argument KIND; callers changed.
13835 Handle the `hbar' cursor type.
13836 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
13837
13838 * w32fns.c (Qhbar): New variable.
13839 (x_specified_cursor_type): Use it.
13840
13841 2002-05-21 Ken Raeburn <raeburn@gnu.org>
13842
13843 * w32fns.c (enum_font_maybe_add_to_list): Use XCDR_AS_LVALUE for
13844 now, when the address is needed.
13845
13846 2002-05-21 Colin Walters <walters@gnu.org>
13847
13848 * Makefile.in (shortlisp): Add font-core.el.
13849
13850 2002-05-20 Richard M. Stallman <rms@gnu.org>
13851
13852 * buffer.c (syms_of_buffer) <cursor-type>: Doc fix.
13853
13854 * keyboard.c (read_char_minibuf_menu_prompt): Don't list
13855 equivalent key bindings here.
13856
13857 2002-05-20 Ken Raeburn <raeburn@gnu.org>
13858
13859 Change symbol structure to contain a lisp object for the symbol
13860 name:
13861 * lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
13862 object field named "xname".
13863 (SYMBOL_NAME): New macro.
13864 * abbrev.c (write_abbrev): Use SYMBOL_NAME instead of XSYMBOL and
13865 name field.
13866 * alloc.c (Fmake_symbol): Set symbol xname field instead of name.
13867 (mark_object, gc_sweep): Use symbol xname field and XSTRING
13868 instead of name field.
13869 * buffer.c (buffer_slot_type_mismatch): Use XSTRING and
13870 SYMBOL_NAME instead of XSYMBOL and name field.
13871 * callint.c (Fcall_interactively): Use XSTRING and SYMBOL_NAME
13872 instead of XSYMBOL and name field.
13873 * charset.c (Fdefine_charset, Fdeclare_equiv_charset): Use XSTRING
13874 and SYMBOL_NAME instead of XSYMBOL and name field.
13875 * coding.c (Fread_coding_system, code_convert_region1)
13876 (code_convert_string1, code_convert_string_norecord)
13877 (Ffind_operation_coding_system): Use SYMBOL_NAME instead of
13878 XSYMBOL and name field.
13879 * data.c (Fkeywordp, Fsymbol_name, store_symval_forwarding)
13880 (Fmake_variable_buffer_local, Fmake_local_variable)
13881 (Fmake_variable_frame_local): Use SYMBOL_NAME and XSTRING instead
13882 of XSYMBOL and name field.
13883 * editfns.c (Fformat): Use SYMBOL_NAME and XSTRING instead of
13884 XSYMBOL and name field.
13885 * emacs.c (shut_down_emacs) [#if 0]: Use SYMBOL_NAME and XSTRING
13886 instead of XSYMBOL and name field.
13887 * eval.c (do_autoload): Use SYMBOL_NAME and XSTRING instead of
13888 XSYMBOL and name field.
13889 * fns.c (Fstring_equal, Fstring_lessp, Frequire, sxhash):
13890 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
13891 * fontset.c (Fset_fontset_font): Use SYMBOL_NAME and XSTRING
13892 instead of XSYMBOL and name field.
13893 * keyboard.c (echo_char, record_char, parse_modifiers_uncached)
13894 (parse_modifiers, apply_modifiers, Fevent_convert_list)
13895 (parse_solitary_modifier, Fexecute_extended_command):
13896 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
13897 * keymap.c (silly_event_symbol_error, Fsingle_key_description)
13898 (Fdescribe_buffer_bindings): Use SYMBOL_NAME and XSTRING instead
13899 of XSYMBOL and name field.
13900 (describe_command, describe_translation): Use SYMBOL_NAME and
13901 assignment instead of XSYMBOL and name field and XSETSTRING.
13902 * lread.c (Fintern_soft, oblookup): Use SYMBOL_NAME and XSTRING
13903 instead of XSYMBOL and name field.
13904 (Funintern): Use SYMBOL_NAME and assignment instead of XSYMBOL and
13905 name field and XSETSTRING.
13906 * macfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
13907 of XSYMBOL and name field.
13908 * minibuf.c (Fread_command, Fread_variable): Use SYMBOL_NAME and
13909 assignment instead of XSYMBOL and name field and XSETSTRING.
13910 * print.c (print_error_message, print_object): Use SYMBOL_NAME and
13911 XSTRING instead of XSYMBOL and name field.
13912 * process.c (set_socket_options, Fsignal_process): Use SYMBOL_NAME
13913 and XSTRING instead of XSYMBOL and name field.
13914 * w32fns.c (parse_image_spec, w32_parse_hot_key): Use SYMBOL_NAME
13915 and XSTRING instead of XSYMBOL and name field.
13916 * xfaces.c (merge_face_vector_with_property): Use SYMBOL_NAME and
13917 XSTRING instead of XSYMBOL and name field.
13918 * xfns.c (parse_image_spec): Use SYMBOL_NAME and XSTRING instead
13919 of XSYMBOL and name field.
13920 * xselect.c (symbol_to_x_atom, x_get_foreign_selection):
13921 Use SYMBOL_NAME and XSTRING instead of XSYMBOL and name field.
13922
13923 2002-05-19 Ken Raeburn <raeburn@gnu.org>
13924
13925 * lisp.h (LISP_MAKE_RVALUE): Delete disabled version, making XCAR
13926 and XCDR real rvalues in most configurations.
13927
13928 * buffer.c (fix_overlays_in_range, fix_overlays_before):
13929 Don't take the address of the cdr part of a cons cell; instead, track
13930 the parent cell and call XSETCDR, or set the variable for the head
13931 of the list if we haven't started down the list yet.
13932
13933 2002-05-19 Richard M. Stallman <rms@gnu.org>
13934
13935 * doc.c (reread_doc_file): Don't ask for confirmation.
13936
13937 2002-05-18 Jason Rumney <jasonr@gnu.org>
13938
13939 * w32fns.c (w32_create_pixmap_from_bitmap_data): New function.
13940 (xbm_load_image): Use it.
13941 (xbm_load): Ditto.
13942 (xbm_read_bitmap_data): Reverted to xfns.c version.
13943 From David Ponce <david@dponce.com>.
13944
13945 2002-05-17 Eli Zaretskii <eliz@is.elta.co.il>
13946
13947 * msdos.c (sig_suspender, sigprocmask): Don't define for DJGPP
13948 2.02 and later.
13949
13950 2002-05-16 Juanma Barranquero <lektu@terra.es>
13951
13952 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector): Fix typo.
13953
13954 2002-05-15 Stefan Monnier <monnier@cs.yale.edu>
13955
13956 * keyboard.c (read_char_x_menu_prompt): Use an equivalent but more
13957 meaningful test.
13958 (read_char_minibuf_menu_prompt): Fix typo.
13959
13960 2002-05-15 Eli Zaretskii <eliz@is.elta.co.il>
13961
13962 * eval.c (Fcommandp): Doc fix.
13963
13964 2002-05-13 Stefan Monnier <monnier@cs.yale.edu>
13965
13966 * keymap.c (keymap_parent): New fun, extracted from Fkeymap_parent.
13967 (Fkeymap_parent, keymap_memberp, fix_submap_inheritance): Use it.
13968 (Fset_keymap_parent): Gcpro a bit more.
13969 (access_keymap): Gcpro around meta_map call and around the main loop.
13970 (get_keyelt): Gcpro when following indirect references.
13971 (copy_keymap_item): New fun, extracted from Fcopy_keymap.
13972 (copy_keymap_1, Fcopy_keymap): Use it. Don't copy the parent map.
13973 (Fdefine_key, Flookup_key): Gcpro before calling get_keymap.
13974 Remove useless ad-hoc remap code.
13975
13976 2002-05-13 Richard M. Stallman <rms@gnu.org>
13977
13978 * search.c (search_buffer): Give up boyer moore search if inverse
13979 translation change charset_base.
13980
13981 2002-05-12 Eli Zaretskii <eliz@is.elta.co.il>
13982
13983 * coding.c (decode_coding) <coding_type_ccl>: If a lone CR
13984 characters is carried over from the previous block of text, adjust
13985 coding->produced to account for the extra character.
13986
13987 2002-05-11 Andreas Schwab <schwab@suse.de>
13988
13989 * coding.c (intersection): Keep the elements of the returned list
13990 in the same order as in the first list.
13991
13992 2002-05-11 Kim F. Storm <storm@cua.dk>
13993
13994 * keymap.c (current_minor_maps): Fix resizing of cmm_maps;
13995 only update cmm_size if realloc actually succeeds.
13996 Testing with initial size of 2 elements revealed that using
13997 realloc on GNU/Linux would cause a random trap in xmalloc
13998 later on, so I rewrote the code to use malloc/bcopy/free instead
13999 of realloc.
14000
14001 2002-05-10 Jason Rumney <jasonr@gnu.org>
14002
14003 * w32fns.c (enum_font_cb2): Avoid DBCS raster fonts.
14004
14005 2002-05-10 Eli Zaretskii <eliz@is.elta.co.il>
14006
14007 * coding.c (encode_coding_sjis_big5): Enclose bitwise AND in
14008 parens, to ensure correct evaluation order.
14009
14010 2002-05-10 Kim F. Storm <storm@cua.dk>
14011
14012 * keymap.c (Vemulation_mode_map_alists): New variable.
14013 (syms_of_keymap): DEFVAR_LISP it.
14014 (current_minor_maps): Process keymap alists in that list before
14015 minor-mode-overriding-map-alist and minor-mode-map-alist.
14016
14017 2002-05-09 Richard M. Stallman <rms@gnu.org>
14018
14019 * search.c (Freplace_match): Doc fix.
14020
14021 2002-05-09 Kim F. Storm <storm@cua.dk>
14022
14023 * macterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
14024 Enlarge cursor rectangle drawn around image with non-zero relief.
14025
14026 * w32term.c (x_draw_image_foreground, w32_draw_image_foreground_1):
14027 Enlarge cursor rectangle drawn around image with non-zero relief.
14028
14029 * xterm.c (x_draw_image_foreground, x_draw_image_foreground_1):
14030 Enlarge cursor rectangle drawn around image with non-zero relief.
14031
14032 2002-05-07 Eli Zaretskii <eliz@is.elta.co.il>
14033
14034 * xselect.c (lisp_data_to_selection_data): Don't set selection
14035 type if comes from the Lisp object's car. If the selection
14036 contains a pure ASCII text, always return QSTRING as its type.
14037
14038 2002-05-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14039
14040 * mac.c (mac-cut-function): Doc fix.
14041
14042 2002-05-05 Richard M. Stallman <rms@gnu.org>
14043
14044 * s/gnu.h [DOUG_LEA_MALLOC] (REL_ALLOC): Undefine it.
14045
14046 2002-05-04 Jason Rumney <jasonr@gnu.org>
14047
14048 * keyboard.c (make_lispy_event) <mouse-wheel>: Set count to 1
14049 for event-click-count.
14050
14051 * process.c (init_process): Only add server subfeature if we can
14052 use non-blocking I/O.
14053
14054 2002-05-04 Andrew Choi <akochoi@shaw.ca>
14055
14056 * macterm.c (XTread_socket): Call WaitNextEvent once instead of
14057 repeatedly.
14058
14059 2002-05-03 Jason Rumney <jasonr@gnu.org>
14060
14061 * process.c (Fmake_network_process): Only support server sockets
14062 when we can make them non-blocking.
14063
14064 * s/ms-w32.h (HAVE_SELECT): Define.
14065
14066 * w32.h (FILE_NDELAY): New flag.
14067
14068 * w32.c (sys_getpeername, fcntl): New functions.
14069 (_sys_read_ahead): Temporarily block on non-blocking sockets.
14070
14071 * w32proc.c: include sys/file.h.
14072
14073 2002-05-03 Colin Walters <walters@verbum.org>
14074
14075 * callproc.c (Vgame_score_directory): Renamed to
14076 Vshared_game_score_directory.
14077
14078 2002-04-30 Richard M. Stallman <rms@gnu.org>
14079
14080 * s/gnu.h [emacs]: Include stdio.h.
14081 (GNU_LIBRARY_PENDING_OUTPUT_COUNT): New definition, conditional.
14082
14083 * eval.c (do_autoload): Error if called while preparing to dump.
14084
14085 * fns.c (Frequire): Error if need to load while preparing to dump.
14086
14087 2002-04-28 Colin Walters <walters@verbum.org>
14088
14089 * callproc.c (Vgame_score_directory) [!HAVE_SHARED_GAME_DIR]:
14090 Default to "~/.emacs.d/games".
14091
14092 2002-04-29 Stefan Monnier <monnier@cs.yale.edu>
14093
14094 * lread.c (openp): Change arg exec_only to predicate.
14095 (build_load_history): Use XCAR/XCDR.
14096 (Flocate_file_internal): New fun.
14097 (syms_of_lread): Defsubr it.
14098 (Fload): Update call to openp.
14099
14100 * lisp.h (openp): Update prototype.
14101
14102 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
14103 * w32proc.c (sys_spawnve):
14104 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
14105 * w32.c (check_windows_init_file):
14106 * sound.c (Fplay_sound_internal):
14107 * process.c (Fstart_process):
14108 * macfns.c (x_create_bitmap_from_file, x_find_image_file):
14109 * mac.c (run_mac_command):
14110 * emacs.c (init_cmdargs):
14111 * callproc.c (Fcall_process): Update call to openp.
14112
14113 * textprop.c (remove_properties): Don't use XCAR without CONSP.
14114
14115 * xterm.c (XTread_socket): Disable the Xutf8LookupString code.
14116
14117 2002-04-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14118
14119 * dispextern.h (DEFAULT_TOOL_BAR_BUTTON_MARGIN)
14120 (DEFAULT_TOOL_BAR_BUTTON_RELIEF): Change default values.
14121
14122 2002-04-28 Richard M. Stallman <rms@gnu.org>
14123
14124 * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
14125
14126 * eval.c (Fcommandp): New arg for_call_interactively.
14127 * lisp.h (Fcommandp): Declare new arg.
14128
14129 2002-04-28 Jason Rumney <jasonr@gnu.org>
14130
14131 * w32proc.c (syms_of_w32proc): Get true file attributes by default.
14132
14133 * w32.c (stat, fstat): Use file index information to generate
14134 inodes for directories where available.
14135
14136 2002-04-26 Andrew Choi <akochoi@shaw.ca>
14137
14138 * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
14139 [HAVE_CARBON]: Include Mac object files.
14140
14141 * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
14142 fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
14143 termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
14144 MAC_OSX, and MAC_OS instead of macintosh.
14145
14146 * editfns.c [MAC_OS8]: Include stdio.h.
14147
14148 * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
14149
14150 * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
14151 Apple Monaco.
14152
14153 * process.c (QCfamily, QCfilte): Declare extern.
14154 (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
14155 calling select.
14156
14157 * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and tgetent.
14158
14159 * tparam.c [MAC_OSX]: Don't define BC and UP.
14160
14161 * config.in [HAVE_CARBON]: Add.
14162
14163 * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h:
14164 Move here from mac/src and mac/inc.
14165
14166 * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
14167
14168 2002-04-26 Gerd Moellmann <gerd@gnu.org>
14169
14170 * xterm.c (x_draw_phys_cursor_glyph): Undo last change.
14171 Compute phys_cursor_width from the x position returned
14172 by x_draw_glyhs, which is cheaper.
14173 (x_display_and_set_cursor): Compute the buffer-local value
14174 of `cursor-in-non-selected-windows' only when needed.
14175
14176 2002-04-25 Gerd Moellmann <gerd@gnu.org>
14177
14178 * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
14179 cursor on a stretch glyph has a width that depends on
14180 x_stretch_cursor_p.
14181
14182 2002-04-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14183
14184 * abbrev.c (abbrev-start-location): Doc fix.
14185
14186 * indent.c (Fvertical_motion): Fix last change.
14187
14188 2002-04-25 Gerd Moellmann <gerd@gnu.org>
14189
14190 * indent.c (Fvertical_motion): Move to the start of the line
14191 containing PT before moving up or down.
14192
14193 2002-04-24 Gerd Moellmann <gerd@gnu.org>
14194
14195 * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
14196 case of writing a whole row, more or less analogous to the case of
14197 writing only parts of a row.
14198
14199 * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
14200 0 for NO_CURSOR.
14201
14202 * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
14203
14204 2002-04-23 Colin Walters <walters@verbum.org>
14205
14206 * buffer.c (syms_of_buffer): Doc fix.
14207
14208 2002-04-23 Gerd Moellmann <gerd@gnu.org>
14209
14210 * xterm.c (notice_overwritten_cursor): Handle the special case
14211 of the cursor being in the first blank non-text line at the
14212 end of a window.
14213
14214 * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
14215 (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
14216 (x_display_and_set_cursor): Don't set phys_cursor_width here, for
14217 bar cursors only, to make phys_cursor_width contain what its name
14218 suggests.
14219 (notice_overwritten_cursor): Consider the cursor image erased if
14220 the output area intersects the cursor image in y-direction.
14221
14222 2002-04-23 Simon Marshall <simon@gnu.org>
14223
14224 * xfns.c (x_set_mouse_color): Change default for cross_cursor
14225 to XC_hand2.
14226
14227 2002-04-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14228
14229 * xdisp.c: Remove unused global variable `minibuf_prompt_pixel_width'.
14230
14231 2002-04-22 Kim F. Storm <storm@cua.dk>
14232
14233 * textprop.c (remove_properties): Fixed trap for malformed plist.
14234
14235 2002-04-22 Richard M. Stallman <rms@gnu.org>
14236
14237 * cmds.c (Fend_of_line): Handle intangible text in mid line.
14238
14239 * window.c (make_window): Initialize height_fixed_p,
14240 last_cursor_off_p, and p->cursor_off_p slots.
14241
14242 2002-04-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14243
14244 * fns.c (use-dialog-box): Doc fix.
14245
14246 2002-04-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14247
14248 * xterm.c (note_mode_line_or_margin_highlight): Remove unused
14249 variables `row', `i' and `area'.
14250 (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
14251 toolkit library.
14252
14253 2002-04-19 Stefan Monnier <monnier@cs.yale.edu>
14254
14255 * xfaces.c (clear_font_table): Don't free the default font of
14256 a frame even if it's on another display.
14257 (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
14258 that could be Qt.
14259
14260 2002-04-19 Juanma Barranquero <lektu@terra.es>
14261
14262 * indent.c (Fmove_to_column): Remove unused local variable
14263 `next_boundary_byte'.
14264 (current_column_1): Likewise.
14265
14266 2002-04-19 Eli Zaretskii <eliz@is.elta.co.il>
14267
14268 * msdos.c (Qhbar): New variable.
14269 (syms_of_msdos): Intern and staticpro it.
14270 (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
14271 cursor type.
14272
14273 2002-04-19 Dave Lambert <dlambert@acm.org>
14274
14275 Theses change implement an underscore-like (`hbar') cursor.
14276
14277 * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
14278
14279 * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
14280 Handle the `hbar' cursor type.
14281 (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
14282
14283 * xfns.c (Qhbar): New variable.
14284 (syms_of_xfns): Intern and staticpro it.
14285 (x_specified_cursor_type): Handle `hbar' cursor.
14286
14287 * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
14288 not defined.
14289
14290 2002-04-18 Richard M. Stallman <rms@gnu.org>
14291
14292 * textprop.c (remove_properties): New arg LIST allows scanning
14293 either a list or a plist.
14294 (interval_has_some_properties_list): New function, like
14295 interval_has_some_properties using list instead of plist.
14296 All callers changed.
14297 (Fremove_list_of_text_properties): New function.
14298 (syms_of_textprop): Defsubr it.
14299
14300 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
14301
14302 * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
14303
14304 2002-04-17 Juanma Barranquero <lektu@terra.es>
14305
14306 * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
14307
14308 2002-04-17 Eli Zaretskii <eliz@is.elta.co.il>
14309
14310 * window.c (coordinates_in_window): Don't report on margin area
14311 if its width is zero.
14312
14313 2002-04-16 Jason Rumney <jasonr@gnu.org>
14314
14315 * w32fns.c (Fx_file_dialog): Decode file name before using.
14316
14317 * w32term.c (construct_drag_n_drop): Likewise.
14318
14319 2002-04-16 Eli Zaretskii <eliz@is.elta.co.il>
14320
14321 * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
14322 store load-history in pure space.
14323
14324 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
14325
14326 2002-04-16 Stefan Monnier <monnier@cs.yale.edu>
14327
14328 * xterm.c (Qlatin_1, Qutf_8): New vars.
14329 (syms_of_xterm): Initialize them.
14330 (XTread_socket): Eliminate incorrect optimization that tried to avoid
14331 decoding the output of X*LookupString.
14332 Always use latin-1 to decode the output of XLookupString.
14333 Try Xutf8LookupString if XmbLookupString failed.
14334
14335 * region-cache.c (new_region_cache): Use BEG.
14336
14337 2002-04-16 Gerd Moellmann <gerd@gnu.org>
14338
14339 * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
14340 configuration files.
14341 (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
14342 returns 0.
14343
14344 2002-04-15 Andreas Schwab <schwab@suse.de>
14345
14346 * config.in: Regenerated using autoheader.
14347
14348 * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
14349 m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
14350 m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
14351 m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
14352 m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
14353 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
14354 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
14355 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
14356 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
14357 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
14358 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
14359 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
14360 m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
14361 m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
14362 m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
14363 s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
14364 STACK_DIRECTION, now set by autoconf.
14365
14366 2002-04-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14367
14368 * dispnew.c (marginal_area_string): Sort arguments.
14369
14370 * dispextern.h (marginal_area_string): Add prototype.
14371
14372 2002-04-13 Richard M. Stallman <rms@gnu.org>
14373
14374 * fileio.c (Finsert_file_contents):
14375 Don't call temp_output_buffer_setup--do just part, by hand.
14376
14377 * coding.c (run_pre_post_conversion_on_str):
14378 Don't call temp_output_buffer_setup--do just part, by hand.
14379
14380 * keyboard.c (command_loop_1): Don't call start_hourglass
14381 or cancel_hourglass when executing a macro.
14382
14383 * marker.c (count_markers): New function.
14384
14385 * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
14386 grow without limit. Move recently used elements to the front.
14387
14388 2002-04-13 Eli Zaretskii <eliz@is.elta.co.il>
14389
14390 * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
14391
14392 2002-04-12 Gerd Moellmann <gerd@gnu.org>
14393
14394 * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
14395 rows marginal areas.
14396 (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
14397 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14398
14399 * dispnew.c (marginal_area_string): Check that glyph row is enabled.
14400
14401 2002-04-12 Dave Love <fx@gnu.org>
14402
14403 * dispnew.c (marginal_area_string): New.
14404
14405 * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
14406 (Qleft_margin, Qright_margin): Declare.
14407 (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
14408
14409 * xterm.c (note_mode_line_or_margin_highlight): Renamed from
14410 note_mode_line_highlight and extended.
14411
14412 * keyboard.c (Qleft_margin, Qright_margin): Declare.
14413 (make_lispy_event): Deal with mouse events in margins.
14414
14415 2002-04-12 Stefan Monnier <monnier@cs.yale.edu>
14416
14417 * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
14418
14419 * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
14420 than deactivating the mark if tmm is set to `lambda'.
14421 (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
14422 Use a single event for HELP_EVENT.
14423 (Fexecute_extended_command): Save last_point_position.
14424
14425 2002-04-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14426
14427 * lisp.h (Fpropertize): Add prototype.
14428
14429 * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
14430
14431 2002-04-10 Colin Walters <walters@verbum.org>
14432
14433 * config.in: Add HAVE_SHARED_GAME_DIR.
14434
14435 * callproc.c: (Vgame_score_directory): New variable.
14436 (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
14437
14438 2002-04-10 Richard M. Stallman <rms@gnu.org>
14439
14440 * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
14441
14442 2002-04-09 Stefan Monnier <monnier@cs.yale.edu>
14443
14444 * minibuf.c (read_minibuf): Use empty_string.
14445 (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
14446 Short-circuit the search as soon as it "failed".
14447 (Fall_completions): Allow lambda forms and lists of strings for alist.
14448 (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
14449 when require_match is nil.
14450 (Ftest_completion): Rename from `test_completion' and export to elisp.
14451 Call the predicate also when alist is a list.
14452 Obey Vcompletion_regexp_list.
14453 (do_completion, Fminibuffer_complete_and_exit): Use it.
14454 (Fassoc_string): Rename from `assoc_for_completion'.
14455 Allow list of strings as well and export to elisp.
14456
14457 2002-04-08 Stefan Monnier <monnier@cs.yale.edu>
14458
14459 * puresize.h (BASE_PURESIZE): Increase to 900KB.
14460
14461 2002-04-08 Juanma Barranquero <lektu@terra.es>
14462
14463 * w32.c (sys_accept): Don't hide variable `s'.
14464
14465 2002-04-05 Gerd Moellmann <gerd@gnu.org>
14466
14467 * callint.c (Fcall_interactively): Use INTEGERP instead of
14468 NUMBERP for checking Vhistory_length.
14469
14470 2002-04-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14471
14472 * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
14473 Doc fix to reflect it.
14474
14475 2002-04-04 Richard M. Stallman <rms@gnu.org>
14476
14477 * xdisp.c (display_mode_element): New arg RISKY.
14478 Disregard text props found or specified within a variable
14479 that isn't marked risky-local-variable.
14480 (Qrisky_local_variable): New variable.
14481 (syms_of_xdisp): Init and staticpro it.
14482
14483 2002-04-04 Stefan Monnier <monnier@cs.yale.edu>
14484
14485 * undo.c (record_point): New fun.
14486 (record_delete, record_insert): Use it.
14487
14488 2002-04-03 Juanma Barranquero <lektu@terra.es>
14489
14490 * doc.c (Fdocumentation): Add missing parentheses.
14491 (Fdocumentation_property): Likewise.
14492
14493 2002-04-03 Stefan Monnier <monnier@cs.yale.edu>
14494
14495 * doc.c (Fdocumentation, Fdocumentation_property): When the doc
14496 data is 0, just return nil.
14497
14498 2002-04-03 Eli Zaretskii <eliz@is.elta.co.il>
14499
14500 * msdos.c (syms_of_msdos): Fix last change with
14501 mouse_autoselect_window.
14502
14503 2002-04-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14504
14505 * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
14506 mouse_autoselect_window.
14507
14508 2002-04-02 Stefan Monnier <monnier@cs.yale.edu>
14509
14510 * keyboard.c (make_lispy_event): Handle unknown keysyms together
14511 with system-specific keysyms. Use it also for unknown function keys.
14512
14513 * doc.c (reread_doc_file): Return whether reload was attempted.
14514 (Fdocumentation, Fdocumentation_property): Don't try to reload
14515 if the doc is 0 and only ask once.
14516
14517 * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
14518
14519 2002-04-02 Eli Zaretskii <eliz@is.elta.co.il>
14520
14521 * keyboard.c (read_char): If the event was Qselect_window,
14522 restore timer_idleness_start_time to its previous value.
14523
14524 * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
14525
14526 2002-04-01 Stefan Monnier <monnier@cs.yale.edu>
14527
14528 * region-cache.c (new_region_cache): Use BEG.
14529
14530 * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
14531 Use BEG and BEG_BYTE.
14532
14533 * doc.c (get_doc_string): Return nil if the location is wrong.
14534 (reread_doc_file): New fun.
14535 (Fdocumentation, Fdocumentation_property):
14536 Call it if get_doc_string fails.
14537 (Fsnarf_documentation): Make it work for a dumped Emacs.
14538
14539 * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
14540 Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
14541
14542 * charset.c (Fstring): Allow 0 arguments.
14543
14544 * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
14545
14546 * process.c (DATAGRAM_CONN_P, list_processes_1)
14547 (Fprocess_datagram_address, Fset_process_datagram_address)
14548 (Fset_network_process_options, server_accept_connection):
14549 Fix some int/Lisp_Object confusions (thank you union types).
14550
14551 2002-04-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14552
14553 * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
14554
14555 * w32term.c: Likewise.
14556 (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
14557
14558 * keyboard.c (Qselect_window): New symbol.
14559 (head_table): Use it.
14560 (keys_of_keyboard): Bound select-window event to handle-select-window.
14561 (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
14562
14563 * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
14564 (last_window): New variable.
14565 (XTread_socket): Generate SELECT_WINDOW_EVENTs.
14566 (note_mouse_movement): Remove reimplemented code in #if 0.
14567 (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
14568 Emacs windows.
14569
14570 * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
14571
14572 2002-03-31 Gerd Moellmann <gerd@gnu.org>
14573
14574 * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
14575 Callers changed.
14576
14577 2002-03-30 Richard M. Stallman <rms@gnu.org>
14578
14579 * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
14580 loop whenever it stops making progress.
14581
14582 * widget.c (set_frame_size): Don't call change_frame_size.
14583
14584 2002-03-30 Gerd Moellmann <gerd@gnu.org>
14585
14586 * dispnew.c (direct_output_for_insert):
14587 Call mark_window_display_accurate.
14588
14589 2002-03-29 Jason Rumney <jasonr@gnu.org>
14590
14591 * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
14592
14593 2002-03-29 Eli Zaretskii <eliz@is.elta.co.il>
14594
14595 * Makefile.in (lread.o): Depend on coding.h.
14596
14597 * lread.c (openp, Fload): Encode the file name before passing it
14598 to `stat', `access', and `emacs_open'.
14599 (openp): GCPRO the encoded file name. Don't recompute Lisp
14600 strings unnecessarily.
14601
14602 2002-03-29 Kim F. Storm <storm@cua.dk>
14603
14604 * fns.c (Flax_plist_put): Doc fix.
14605
14606 2002-03-28 Miles Bader <miles@gnu.org>
14607
14608 * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
14609
14610 2002-03-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14611
14612 * process.c (set-network-process-options): Add usage.
14613 (make-network-process): Doc fix.
14614
14615 2002-03-26 Eli Zaretskii <eliz@is.elta.co.il>
14616
14617 * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
14618
14619 2002-03-26 Richard M. Stallman <rms@gnu.org>
14620
14621 * fns.c (Fsubstring_no_properties): New function.
14622 (Flax_plist_get, Flax_plist_put): New functions.
14623 (syms_of_fns): defsubr them.
14624
14625 * xdisp.c (update_menu_bar): Test only update_mode_lines;
14626 don't test or alter w->update_mode_line.
14627
14628 * window.c (Fdisplay_buffer): Doc fix.
14629
14630 2002-03-24 Richard M. Stallman <rms@gnu.org>
14631
14632 * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
14633
14634 2002-03-24 Gerd Moellmann <gerd@gnu.org>
14635
14636 * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
14637 (Fdefmacro): Handle `(declare ...)'.
14638 (syms_of_eval) <Qdeclare>: Initialize and staticpro.
14639 (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
14640
14641 2002-03-24 Jason Rumney <jasonr@gnu.org>
14642
14643 * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
14644 (xbm_file_p): Add prototypes.
14645 (xbm_format, xbm_image_p): Sync with xfns.c.
14646 (reflect_byte): New function.
14647 (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
14648 (xbm_load_image): Create bitmaps with a depth of 1.
14649 (init_xfns): Enable XBM images.
14650
14651 2002-03-23 Jason Rumney <jasonr@gnu.org>
14652
14653 * w32term.c (w32_handle_tool_bar_click): Detect up and down events
14654 correctly. Do not pass up_modifier to keyboard buffer.
14655
14656 * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
14657
14658 2002-03-22 Stefan Monnier <monnier@cs.yale.edu>
14659
14660 * Makefile.in (bootstrapclean): New target.
14661 (bootstrap-temacs, bootstrap-doc): Remove.
14662 (bootstrap-emacs): Use a bog-standard `temacs'.
14663 Don't bother to build a DOC file.
14664
14665 * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
14666
14667 * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
14668 in temacs even if !CANNOT_DUMP.
14669 (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
14670
14671 * alloc.c (check_pure_size): Only output a warning.
14672
14673 2002-03-22 Jason Rumney <jasonr@gnu.org>
14674
14675 * w32fns.c (Fx_create_frame): Enable tool-bar when images are
14676 supported.
14677
14678 * w32term.c (zv_bits): Declare as short, for word alignment.
14679 (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
14680 (syms_of_w32term): Define x-use-underline-position-properties.
14681
14682 * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
14683 (clear_image_cache): Block input, fix logic, clear matrices in
14684 all frames that share this cache.
14685
14686 2002-03-22 Eli Zaretskii <eliz@is.elta.co.il>
14687
14688 * emacs.c (main): Update the Copyright year in the blurb printed
14689 by "emacs --version".
14690
14691 * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
14692
14693 * xterm.c (XTread_socket): If XK_ISO_Lock and
14694 XK_ISO_Last_Group_Lock are defined, handle keysyms between
14695 XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
14696
14697 2002-03-21 Kim F. Storm <storm@cua.dk>
14698
14699 * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
14700 menu-bar bindings in keymap and local-map properties _are_ used.
14701 But try keymap property first in accordance with 2002-01-03 patch.
14702 Added comment describing why this is not always reliable.
14703 (tool_bar_items): Ditto for tool-bar.
14704
14705 2002-03-21 Jason Rumney <jasonr@gnu.org>
14706
14707 * w32fns.c (x_clear_image_1): Disable color table code.
14708
14709 2002-03-21 Kim F. Storm <storm@cua.dk>
14710
14711 * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
14712 removed the wrong version of the DEFUN macro; fixed it.
14713
14714 * fns.c (Ffeaturep): Allow subfeature to be a list (test using
14715 Fmember rather than Fmemq).
14716 (Fprovide): Check that subfeatures is a list.
14717
14718 * process.c (QCfeature, QCdatagram): Removed variables.
14719 (QCtype, Qdatagram): New variables.
14720 (network_process_featurep): Removed function.
14721 (Fmake_network_process): Removed :feature check.
14722 Use :type 'datagram instead of :datagram t to create a datagram
14723 socket. This allows us to add other connection types (e.g. raw
14724 sockets) later in a consistent manner.
14725 (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
14726 supported subfeatures for feature make-network-process.
14727 (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
14728 Intern and staticpro QCtype and Qdatagram.
14729 (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
14730
14731 * xfns.c: (QCtype): Remove duplicate declaration and
14732 initialization (is now declared in process.c).
14733
14734 * w32fns.c: (QCtype): Remove duplicate declaration and
14735 initialization (is now declared in process.c).
14736
14737 2002-03-21 Richard M. Stallman <rms@gnu.org>
14738
14739 * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
14740 (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
14741 when jumping to `fail' to avoid undoing reg changes in the
14742 last iteration of the loop.
14743 (GET_UNSIGNED_NUMBER): Skip spaces around the number.
14744
14745 * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
14746 Depend on process.h.
14747
14748 2002-03-20 Jason Rumney <jasonr@gnu.org>
14749
14750 Most of the following changes are still conditional on HAVE_IMAGES
14751 which is not set by default on Windows.
14752
14753 * emacs.c (main) [WINDOWSNT]: Call init_xfns.
14754
14755 * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
14756 (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
14757 (four_corners_best, x_clear_image_1, x_clear_image)
14758 (x_alloc_image_color, postprocess_image)
14759 (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image)
14760 (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
14761 (init_xfns, syms_of_w32fns): Initialize image functions and constants.
14762
14763 * w32gui.h (struct XImage): Define.
14764
14765 * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
14766 extract mouse co-ordinates.
14767
14768 2002-03-20 Jason Rumney <jasonr@gnu.org>
14769
14770 * w32.c (init_winsock): Dynamically load new server and UDP
14771 socket functions.
14772 (socket_to_fd): New function.
14773 (sys_socket): Use it.
14774 (sys_setsockopt, sys_listen, sys_getsockname, sys_accept)
14775 (sys_recvfrom, sys_sendto): New wrapper functions.
14776
14777 * process.c (QCfamily, QCfilter): Remove duplicate declaration
14778 and initialization.
14779
14780 * makefile.w32-in (LIBS): Remove $(WSOCK32).
14781
14782 2002-03-20 Eli Zaretskii <eliz@is.elta.co.il>
14783
14784 * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr):
14785 Don't use "sun" as a variable, it's a predefined constant on Sun
14786 machines.
14787
14788 2002-03-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14789
14790 * bytecode.c (Fbyte_code): Revert last change.
14791
14792 2002-03-19 Kim F. Storm <storm@cua.dk>
14793
14794 * makefile.w32-in (LIBS): Add $(WSOCK32).
14795 From David Ponce <dponce@voila.fr>.
14796
14797 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14798
14799 * process.c (wait_reading_process_input): Move variables `pname'
14800 and `pnamelen' down where they are used.
14801
14802 * bytecode.c (Fbyte_code): Discard unused computed value to
14803 prevent gcc warning.
14804
14805 * lisp.h (Fplist_member): Add prototype.
14806
14807 2002-03-18 Kim F. Storm <storm@cua.dk>
14808
14809 * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
14810 HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and HAVE_SYS_UN_H.
14811
14812 * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
14813 Remove explicit GNU_LINUX settings for datagram support.
14814
14815 2002-03-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14816
14817 * process.c (Fmake_network_process): Remove unused variable `sa'.
14818 Doc fix. Add usage:.
14819 (set_socket_options): Remove unused variables `optnum' and `opttype'.
14820
14821 2002-03-17 Richard M. Stallman <rms@gnu.org>
14822
14823 * xdisp.c (cursor_type_changed): New variable.
14824 (redisplay_internal): Redisplay all windows if cursor_type_changed.
14825 Clear it when clearing windows_or_buffers_changed.
14826 (try_cursor_movement, redisplay_window, try_window_id)
14827 (try_window_reusing_current_matrix): Test cursor_type_changed
14828 along with windows_or_buffers_changed.
14829
14830 * window.h (cursor_type_changed): New variable.
14831
14832 * xfns.c (x_set_cursor_type): Set cursor_type_changed,
14833 not update_mode_lines, and always set it to 1.
14834
14835 * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
14836 if no frames needed redrawing.
14837
14838 2002-03-17 Kim F. Storm <storm@cua.dk>
14839
14840 The following changes add support for network server processes,
14841 datagram connections, and local (unix) sockets.
14842
14843 * process.h (struct Lisp_Process): New member log.
14844 Doc fix: Member command used to indicate stopped network process.
14845 Doc fix: Member childp contains plist for network process.
14846 Doc fix: Member kill_without_query is inverse of query-on-exit flag.
14847
14848 * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
14849 (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
14850 (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
14851 New variables.
14852 (NETCONN1_P): New macro.
14853 (DATAGRAM_SOCKETS): New conditional symbol.
14854 (datagram_address): New array.
14855 (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
14856 (status_message): Use concat3.
14857 (Fprocess_status): Add `listen' status to doc string. Return `stop'
14858 for a stopped network process.
14859 (Fset_process_buffer): Update contact plist for network process.
14860 (Fset_process_filter): Ditto. Don't enable input for stopped
14861 network processes. Server must listen, even if filter is t.
14862 (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
14863 New functions.
14864 (Fprocess_kill_without_query): Removed. Now defined in simple.el.
14865 (Fprocess_contact): Added KEY argument. Handle datagrams.
14866 (list_processes_1): Optionally show only processes with the query
14867 on exit flag set. Dynamically adjust column widths. Omit tty
14868 column if not needed. Report stopped network processes.
14869 Identify server and datagram network processes.
14870 (Flist_processes): New optional arg `query-only'.
14871 (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
14872 (conv_lisp_to_sockaddr, set_socket_options)
14873 (network_process_featurep, unwind_request_sigio): New helper functions.
14874 (Fprocess_datagram_address, Fset_process_datagram_address):
14875 (Fset_network_process_options): New lisp functions.
14876 (Fopen_network_stream): Removed. Now defined in simple.el.
14877 (Fmake_network_process): New lisp function. Code is based on previous
14878 Fopen_network_stream, but heavily reworked with new property list based
14879 argument list, support for datagrams, server processes, and local
14880 sockets in addition to old client-only functionality.
14881 (server_accept_connection): New function.
14882 (wait_reading_process_input): Use it to handle incoming connects.
14883 Do not enable input on a new connection if process is stopped.
14884 (read_process_output): Handle datagram sockets. Use 2k buffer for them.
14885 (send_process): Handle datagram sockets.
14886 (Fstop_process, Fcontinue_process): Apply to network processes. A stopped
14887 network process is indicated by setting command field to t .
14888 (Fprocess_send_eof): No-op if datagram connection.
14889 (Fstatus_notify): Don't read input for a stream server socket or a
14890 stopped network process.
14891 (init_process): Initialize datagram_address array.
14892 (syms_of_process): Intern and staticpro new variables, defsubr new
14893 functions.
14894
14895 2002-03-16 Jason Rumney <jasonr@gnu.org>
14896
14897 * w32fns.c (w32_to_all_x_charsets): Return correct type in
14898 startup case.
14899
14900 2002-03-16 Richard M. Stallman <rms@gnu.org>
14901
14902 * xdisp.c (redisplay_internal, redisplay_windows):
14903 Use list_of_error to call internal_condition_case_1.
14904 (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
14905 so as to catch all errors with no possibility of debugger redisplay.
14906 (list_of_error): New variable.
14907 (syms_of_xdisp): Init and staticpro it.
14908
14909 * print.c (print_object): Delete `\ ' from printed rep of frame.
14910
14911 2002-03-15 Eli Zaretskii <eliz@is.elta.co.il>
14912
14913 * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
14914 until its implementation is fixed.
14915
14916 2002-03-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
14917
14918 * xfns.c (png_load): Remove unused variable `gamma_str'.
14919
14920 2002-03-14 Richard M. Stallman <rms@gnu.org>
14921
14922 * xfns.c (x_real_positions): Handle failure in XQueryTree.
14923
14924 2002-03-14 Miles Bader <miles@gnu.org>
14925
14926 * intervals.c (adjust_for_invis_intang): New function.
14927 (set_point_both): Use `adjust_for_invis_intang' to do most of the
14928 work for dealing with invisible+intangible regions. Do so before
14929 and after both forward and backward movements, to handle both
14930 front-sticky and rear-sticky cases.
14931 * textprop.c (text_property_stickiness): Function moved here from
14932 `editfns.c'.
14933 * intervals.h (text_property_stickiness): New declaration.
14934 * editfns.c (char_property_eq): Function removed.
14935 (text_property_stickiness): Function moved to `textprop.c'.
14936
14937 2002-03-13 Jason Rumney <jasonr@gnu.org>
14938
14939 * config.in: Add STRFTIME_NO_POSIX2.
14940
14941 * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
14942 and %OX when underlying strftime does not.
14943
14944 2002-03-13 Stefan Monnier <monnier@cs.yale.edu>
14945
14946 * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
14947 Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
14948 line) to avoid annoying flicker.
14949 (xm_scroll_callback): Get rid of the now unnecessary kludge.
14950 (XTread_socket): Mark it static.
14951
14952 * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
14953
14954 2002-03-13 Kim F. Storm <storm@cua.dk>
14955
14956 * puresize.h (BASE_PURESIZE): Increase to 775000.
14957
14958 2002-03-12 Juanma Barranquero <lektu@terra.es>
14959
14960 * editfns.c (syms_of_editfns): Fix typo.
14961
14962 2002-03-12 Gerd Moellmann <gerd@gnu.org>
14963
14964 * xsmfns.c: Include stdio.h because termhooks.h needs it.
14965 Include termopt.h for interrupt_input.
14966
14967 2002-03-11 Andreas Schwab <schwab@suse.de>
14968
14969 * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
14970
14971 2002-03-11 Gerd Moellmann <gerd@gnu.org>
14972
14973 * xterm.c (note_mouse_movement): Put code for
14974 x_autoselect_window_p in #if 0.
14975
14976 * lread.c (Fload): Don't assume that message_with_string uses the
14977 string it is given like a C string.
14978
14979 2002-03-10 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
14980
14981 * xterm.h (x_session_check_input, x_session_initialize): Declare.
14982
14983 * xterm.c: (XTread_socket): Add call to x_session_check_input and
14984 x_session_have_connection.
14985 (x_initialize): Add call to x_session_initialize.
14986
14987 * termhooks.h (enum event_kind): Add save_session_event.
14988
14989 * keyboard.c: Add Emacs event save_session_event.
14990
14991 * emacs.c (main): Add call to syms_of_xsmfns.
14992
14993 * lisp.h (syms_of_xsmfns): Declare extern.
14994
14995 * config.in: Add HAVE_X_SM.
14996
14997 * Makefile.in (LIBXT): Add -lSM -lICE
14998 if HAVE_X_SM and not USE_X_TOOLKIT.
14999 (XOBJ): New file xsmfns.c added.
15000
15001 * xsmfns.c: New file for X session management.
15002
15003 2002-03-09 Jason Rumney <jasonr@gnu.org>
15004
15005 * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
15006 read-only when setting modified time.
15007
15008 2002-03-08 Gerd Moellmann <gerd@gnu.org>
15009
15010 * xdisp.c (move_it_vertically_backward): At the end of the function,
15011 when moving forward by lines, treat terminal frames specially.
15012
15013 * keyboard.c (echo_char): Make sure to add a separator between
15014 keys even if echo_dash hasn't been called.
15015
15016 * xdisp.c: Use new string macros.
15017 (update_echo_area): Pass number of bytes to message3 instead of
15018 number of chars.
15019 (set_message_1): Don't access a string's size_byte directly.
15020 (decode_mode_spec_coding): Use number of bytes of eoltype string
15021 instead number of chars.
15022
15023 * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
15024
15025 2002-03-08 Juanma Barranquero <lektu@terra.es>
15026
15027 * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
15028 24-bit.
15029
15030 2002-03-06 Jason Rumney <jasonr@gnu.org>
15031
15032 * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
15033
15034 2002-03-06 Gerd Moellmann <gerd@gnu.org>
15035
15036 * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
15037 (cancel_echoing, echo_length, echo_truncate): Changed to
15038 work with new kboard definition.
15039 (echo_now): Use message3_nolog instead of message2_nolog.
15040
15041 * alloc.c (mark_kboards): Mark echo_string.
15042
15043 * keyboard.h (ECHOBUFSIZE): Removed.
15044 (struct kboard): Member echoptr removed, member echobuf renamed
15045 to echo_string.
15046
15047 * xdisp.c (message_with_string): Use Fformat instead of doprnt and
15048 message3 instead of message2 to display the message using STRING's
15049 text properties.
15050
15051 2002-03-05 Andreas Schwab <schwab@suse.de>
15052
15053 * xdisp.c (hscroll_margin): Change to EMACS_INT.
15054
15055 2002-03-05 Per Abrahamsen <abraham@dina.kvl.dk>
15056
15057 * frame.c (default-frame-alist): Explain that setting it doesn't
15058 affect existing frames.
15059
15060 2002-03-05 Stefan Monnier <monnier@cs.yale.edu>
15061
15062 * indent.c (skip_invisible): Fix my brain fart.
15063
15064 * dispnew.c (sit_for): Don't wait if executing a kbd macro.
15065
15066 2002-03-04 Stefan Monnier <monnier@cs.yale.edu>
15067
15068 * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
15069 * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
15070 * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
15071 * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
15072 and variables to use EMACS_INT instead of just int.
15073
15074 * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
15075
15076 2002-03-04 Eli Zaretskii <eliz@is.elta.co.il>
15077
15078 * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
15079 environment, pass it down with corrected value.
15080
15081 2002-03-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15082
15083 * lread.c (read_filtered_event): Do not call start_hourglass
15084 before returning.
15085
15086 2002-03-04 Juanma Barranquero <lektu@terra.es>
15087
15088 * w32term.c (x_display_and_set_cursor): Fix typo.
15089
15090 2002-03-03 Richard M. Stallman <rms@gnu.org>
15091
15092 * fileio.c (Fmake_temp_name): Doc fix.
15093
15094 2002-03-03 Gary Wong <gtw@gnu.org>
15095
15096 * termcap.c [!emacs]: Replace ospeed for building standalone
15097 libtermcap, for binary compatibility.
15098
15099 * tparam.c [!emacs]: Move #define of bcopy to after string.h.
15100
15101 2002-03-03 Richard M. Stallman <rms@gnu.org>
15102
15103 * xrdb.c (file_p): Rename arg `path' to `filename'.
15104
15105 * abbrev.c (Fexpand_abbrev): Increment plist as use count
15106 only if it is an integer.
15107
15108 * xfns.c (png_load): Set screen_gamma based on f->gamma.
15109 If png_get_sRGB gives an answer, call png_set_gamma
15110 using the default image gamma value.
15111
15112 * lread.c (read1): When reading from a file, default string to
15113 multibyte only if it has some multibyte characters.
15114
15115 * print.c (print_object): Output multibyte chars 128...255
15116 using \x even if ! print_escape_multibyte.
15117
15118 * xdisp.c (display_mode_element): Move the places where
15119 bytepos, charpos, this, and lisp_string are set.
15120 Use lisp_string to set bytepos.
15121
15122 * xdisp.c (redisplay_internal):
15123 Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
15124
15125 * xdisp.c (display_mode_element): Merge properties specified with
15126 :propertize onto those that come with the string.
15127
15128 2002-03-03 Eli Zaretskii <eliz@is.elta.co.il>
15129
15130 * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
15131 automatic-hscrolling. Users changed.
15132 <hscroll-margin>: Renamed from automatic-hscroll-margin.
15133 Users changed.
15134 <hscroll-step>: Renamed from automatic-hscroll-step. Users changed.
15135
15136 2002-03-02 Eli Zaretskii <eliz@is.elta.co.il>
15137
15138 * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
15139
15140 2002-03-02 Kim F. Storm <storm@cua.dk>
15141
15142 * window.c (Fminibuffer_selected_window): New function.
15143 (syms_of_window): Defsubr it.
15144
15145 2002-03-01 Kim F. Storm <storm@cua.dk>
15146
15147 * window.h (struct window): New member phys_cursor_width.
15148
15149 * window.c (make_window, replace_window): Init phys_cursor_width.
15150
15151 * xterm.c (x_display_and_set_cursor): Blink box cursor using
15152 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
15153
15154 * w32term.c (x_display_and_set_cursor): Blink box cursor using
15155 hollow box cursor. Blink bar cursor using 1 pixel wide bar.
15156
15157 * lisp.h (GCPRO6): New macro.
15158
15159 * process.c (Fopen_network_stream): Use GCPRO6.
15160
15161 2002-03-01 Kim F. Storm <storm@cua.dk>
15162
15163 * process.c (Qconnect, Qfailed): New variables.
15164 (syms_of_process): Intern and staticpro them.
15165 (Fprocess_status): Document connect and failed return values.
15166 [NON_BLOCKING_CONNECT]: New conditional.
15167 (connect_wait_mask, num_pending_connects): New variables.
15168 (status_message): Convert Qfailed status.
15169 (Fopen_network_stream): Added support for non-blocking connect.
15170 New optional args: filter, sentinel, non_blocking. Doc updated.
15171 [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]: Merged common code.
15172 (deactivate_process): Handle pending non-blocking connect.
15173 (wait_reading_process_input): Poll for status of non-blocking
15174 connects. Exec sentinel directly when connect succeeds.
15175 (status_notify): Don't read process output if not yet connected.
15176
15177 2002-02-28 Kim F. Storm <storm@cua.dk>
15178
15179 * window.c: (minibuf_selected_window): Renamed from
15180 Vminibuf_selected_window. Users changed.
15181 (syms_of_window): Staticpro it.
15182
15183 2002-02-26 Kim F. Storm <storm@cua.dk>
15184
15185 The following changes add a new Vminibuf_selected_window variable
15186 which is similar to Vminibuf_scroll_window, but which is only set
15187 on entry to the minibuffer (from a non-minibuffer window):
15188
15189 * window.c: (Vminibuf_selected_window): New variable.
15190 (struct save_window_data): New member minibuf_selected_window.
15191 (Fset_window_configuration): Restore Vminibuf_selected_window.
15192 (Fcurrent_window_configuration): Save Vminibuf_selected_window.
15193 Set minibuf_scroll_window member to nil if minibuf_level is 0.
15194 (compare_window_configurations): Compare minibuf_selected_window.
15195
15196 * window.h: (Vminibuf_selected_window): Declare extern.
15197
15198 * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
15199 entry to minibuffer or on entry from a non-minibuffer window.
15200
15201 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
15202 Vminibuf_selected_window instead of Vminibuf_scroll_window.
15203
15204 * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
15205 instead of Vminibuf_scroll_window when deciding in which window
15206 the region should be highlighted. Consequently, the region remains
15207 highlighteded even when a completion buffer is also displayed.
15208
15209 2002-02-26 Eli Zaretskii <eliz@is.elta.co.il>
15210
15211 * fileio.c (Fsubstitute_in_file_name): Fix the change from 2002-02-08.
15212
15213 * xselect.c (Qcompound_text_with_extensions): Renamed from
15214 Qcompound_text_no_extensions.
15215 (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
15216
15217 2002-02-26 Juanma Barranquero <lektu@terra.es>
15218
15219 * w32proc.c (syms_of_ntproc): Doc fix.
15220
15221 2002-02-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15222
15223 * intervals.h: Include "dispextern.h" unconditionally.
15224
15225 2002-02-24 Jason Rumney <jasonr@gnu.org>
15226
15227 * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
15228 and disp-table.elc.
15229 (lisp): Add emacs-lisp/backquote.elc.
15230
15231 2002-02-24 Kim F. Storm <storm@cua.dk>
15232
15233 * keymap.c (Flookup_key): Fix problem in 2001-12-28 patch:
15234 The validation of the event type was too strict as it didn't
15235 allow string events; buffer names are used in bindings for
15236 menu-bar-select-buffer (see `menu-bar-update-buffers').
15237
15238 2002-02-23 Kim F. Storm <storm@cua.dk>
15239
15240 The following changes rework my patch of 2002-02-06 which
15241 added command remapping by entering the commands directly into
15242 the keymaps. Now, command remapping uses an explicit `remap'
15243 prefix in the keymaps, i.e. [remap COMMAND].
15244
15245 * keymap.c (Qremap, remap_command_vector): New variables.
15246 (is_command_symbol): Remove function.
15247 (Fdefine_key): No longer accept a symbol for KEY.
15248 Added validation of [remap COMMAND] argument for KEY.
15249 The DEF is no longer required to be a symbol when remapping a command.
15250 (Fremap_command): New function to remap command through keymaps.
15251 (Flookup_key): Perform command remapping initiated by
15252 Fremap_command directly for speed.
15253 (Fkey_binding): Use Fremap_command for command remapping.
15254 (where_is_internal): Handle new command remapping representation.
15255 (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
15256 staticpro them. Defsubr Fremap_command.
15257
15258 * keymap.h (Fremap_command): Declare extern.
15259 (is_command_symbol): Remove extern.
15260
15261 * keyboard.c (command_loop_1): Use Fremap_command for command
15262 remapping; now try command remapping for all symbols.
15263
15264 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
15265
15266 * coding.h (run_pre_post_conversion_on_str): Add prototype.
15267
15268 2002-02-23 Jason Rumney <jasonr@gnu.org>
15269
15270 * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
15271 on the string before encoding it.
15272 (Fw32_get_clipboard_data): Run post-read-conversion on the string
15273 after decoding it.
15274
15275 * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
15276
15277 2002-02-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15278
15279 * w32term.c (enter_timestamp): Remove unused static variable to
15280 prevent warning.
15281
15282 * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
15283
15284 2002-02-23 Eli Zaretskii <eliz@is.elta.co.il>
15285
15286 * w16select.c (Fw16_get_clipboard_data): Fix last change.
15287
15288 * xselect.c (selection_data_to_lisp_data): Fix last change.
15289
15290 2002-02-22 Jason Rumney <jasonr@gnu.org>
15291
15292 * w32term.h (struct w32_output): New member menu_command_in_progress.
15293
15294 * w32menu.c (menubar_selection_callback): Free the menu and
15295 clear the menu_command_in_progress flag.
15296
15297 * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
15298 (menu_free_timer): New variable.
15299 (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
15300 (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
15301 <WM_EXITMENULOOP>: Delay before freeing menu. Do nothing if a
15302 menu command is in progress.
15303 <WM_COMMAND>: Set the menu_command_in_progress flag.
15304 Kill any menu_free_timer that is running.
15305
15306 * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
15307 Call ExtTextOutA rather than ExtTextOut.
15308
15309 2002-02-22 Eli Zaretskii <eliz@gnu.org>
15310
15311 * puresize.h (BASE_PURESIZE): Increase to 755000.
15312
15313 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15314
15315 * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
15316 on the string before encoding it.
15317 (Fw16_get_clipboard_data): Run post-read-conversion on the string
15318 after decoding it.
15319
15320 2002-02-22 Eli Zaretskii <eliz@is.elta.co.il>
15321
15322 Support for ICCCM Extended Segments in X selections:
15323
15324 * xselect.c <Qcompound_text_no_extensions>: New variable.
15325 (syms_of_xselect): Intern and staticpro it.
15326 (selection_data_to_lisp_data): Run post-read-conversion on decoded
15327 selection text.
15328 (lisp_data_to_selection_data): If next-selection-coding-system is
15329 compound-text-no-extensions, set the type of selection to be
15330 compound-text.
15331
15332 * xterm.h (x_encode_text): Update prototype.
15333
15334 * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
15335 callers changed. If SELECTIONP is non-zero, run the
15336 pre-write-conversion function before encoding the selection text.
15337
15338 2002-02-21 Kim F. Storm <storm@cua.dk>
15339
15340 * frame.c (syms_of_frame): Change mouse-highlight default to t.
15341
15342 * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
15343 Correct composing of language-change event.
15344
15345 2002-02-20 Kim F. Storm <storm@cua.dk>
15346
15347 * keyboard.c (menu_bar_items): Don't include keymap or local-map
15348 bindings at PT when building menu (the menu is not updated often
15349 enough for this to work reliable).
15350 (tool_bar_items): Likewise.
15351 (current_active_maps): Removed unused (and buggy) function.
15352
15353 2002-02-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15354
15355 * xfns.c (gif_load): Use correct width and height for GIF images.
15356
15357 2002-02-19 Eli Zaretskii <eliz@is.elta.co.il>
15358
15359 * floatfns.c (Fatan): Accept an optional second arg and call
15360 atan2 if passed 2 args.
15361
15362 2002-02-18 Jason Rumney <jasonr@gnu.org>
15363
15364 * w32term.c (glyph_rect): Determine the row and glyph more precisely.
15365
15366 2002-02-17 Jason Rumney <jasonr@gnu.org>
15367
15368 * w32term.c (x_autoselect_window_p): New variable.
15369 (syms_of_w32term): DEFVAR_BOOL and initialize it.
15370 (note_mouse_movement): Use it.
15371
15372 * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
15373
15374 * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
15375
15376 * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
15377 New variables.
15378 (syms_of_w32fns): Intern and staticpro them.
15379 (x_frame_parms) <"fullscreen">: New parameter.
15380 (x_fullscreen_move, x_set_fullscreen): New functions.
15381 (x_set_frame_parameters): Support Qfullscreen.
15382 (x_real_positions): Save x/y_pixels_diff frame params.
15383 (x_figure_window_size): Support full-screen frames.
15384 (Fx_create_frame): Default the fullscreen parameter.
15385
15386 * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
15387 (x_fullscreen_adjust): New functions.
15388 (w32_read_socket) <WM_WINDOWPOSCHANGED>: Don't resize to
15389 fullscreen. Call x_check_fullscreen_move, and set the
15390 want_fullscreen member of output_data.w32
15391 <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
15392
15393 * w32term.h: New enum for FULLSCREEN_* constants.
15394 (struct w32_output): New members want_fullscreen, x_pixels_diff,
15395 y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
15396 (x-fullscreen-adjust): New prototype.
15397
15398 2002-02-17 Kim F. Storm <storm@cua.dk>
15399
15400 * frame.c: (Vmouse_highlight): New variable.
15401 (syms_of_frame): DEFVAR_LISP it.
15402
15403 * frame.h: (Vmouse_highlight): Declare extern.
15404
15405 * xterm.h (struct x_display_info): Add mouse_face_hidden.
15406
15407 * xterm.c (disable_mouse_highlight): Removed variable.
15408 (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
15409 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15410 (XTread_socket): Turn mouse_face_hidden off after mouse movement,
15411 and on after keyboard input.
15412 (x_term_init): Initialize mouse_face_hidden.
15413
15414 * msdos.h (struct display_info): Add mouse_face_hidden.
15415
15416 * msdos.c (disable_mouse_highlight): Removed variable.
15417 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15418 (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
15419 (internal_terminal_init): Initialize mouse_face_hidden.
15420 (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
15421 and on after keyboard input.
15422
15423 * w32term.h (struct w32_display_info): Add mouse_face_hidden.
15424
15425 * w32term.c (disable_mouse_highlight): Removed variable.
15426 (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
15427 (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
15428 (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
15429 and on after keyboard input.
15430 (w32_initialize_display_info): Initialize mouse_face_hidden.
15431
15432 2002-02-16 Eli Zaretskii <eliz@is.elta.co.il>
15433
15434 * msdos.c (last_mouse_window): New variable.
15435 (dos_rawgetc): Fix last change--if the mouse is in the same window
15436 as recorded in last_mouse_window, don't select this window.
15437
15438 * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
15439
15440 * msdos.c (x_autoselect_window_p): New variable.
15441 (syms_of_msdos): Defvar it.
15442 (dos_rawgetc): If x_autoselect_window_p is set, select the window in
15443 which the last mouse movement occured, unless it is already selected.
15444
15445 * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
15446 New variables.
15447 (syms_of_xdisp): DEVFAR them.
15448 (hscroll_window_tree): Use automatic_hscroll_margin and
15449 Vautomatic_hscroll_step to compute the amount of window scrolling.
15450
15451 2002-02-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15452
15453 * xterm.c (x-autoselect-window): New variable.
15454 (note_mouse_movement): Use it.
15455
15456 * keyboard.c: Do not include "systime.h" twice.
15457
15458 2002-02-15 Andreas Schwab <schwab@suse.de>
15459
15460 * puresize.h (PURESIZE_RATIO): Increase to 9/5.
15461
15462 * alloc.c (NSTATICS): Increase to 1280.
15463
15464 2002-02-15 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
15465
15466 * alloc.c (NSTATICS): Bump to 1026.
15467
15468 * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
15469 (Vx_super_keysym): New variables.
15470 (syms_of_xterm): DEFVAR_LISP them.
15471 (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
15472 variables to determine which keys to use for the various modifiers.
15473
15474 2002-02-13 Kim F. Storm <storm@cua.dk>
15475
15476 * window.c: (Vmode_line_in_non_selected_windows): Removed.
15477 (mode_line_in_non_selected_windows): New variable.
15478 (syms_of_window): DEFVAR_BOOL it.
15479
15480 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
15481 Use mode_line_in_non_selected_windows.
15482 (mode_line_in_non_selected_windows): Declare extern.
15483 (Vmode_line_in_non_selected_windows): Removed extern.
15484
15485 2002-02-13 Richard M. Stallman <rms@gnu.org>
15486
15487 * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
15488 (Fthis_single_command_keys, Fthis_single_command_raw_keys)
15489 (Fclear_this_command_keys): Doc fixes.
15490
15491 * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
15492 (update_face_from_frame_parameter): Increment face_change_count
15493 and windows_or_buffers_changed to force redisplay using changed faces.
15494
15495 * xdisp.c (QCpropertize): New variable.
15496 (mode_line_proptrans_alist): New variable.
15497 (display_mode_element): New arg PROPS; all calls changed.
15498 Implement this, for strings.
15499 Handle literal output of strings by sharing the
15500 main-line code for strings, using local var `literal'.
15501 Handle :propertize feature.
15502 (syms_of_xdisp): Initialze and staticpro QCpropertize and
15503 mode_line_proptrans_alist.
15504
15505 2002-02-11 Kim F. Storm <storm@cua.dk>
15506
15507 * window.c: (Vmode_line_in_non_selected_windows): New variable.
15508 (syms_of_window): DEFVAR_LISP it.
15509
15510 * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
15511 (CURRENT_MODE_LINE_FACE_ID): Use it.
15512 (Vmode_line_in_non_selected_windows): Declare extern.
15513
15514 * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
15515 to get mode line face.
15516
15517 2002-02-11 Eli Zaretskii <eliz@is.elta.co.il>
15518
15519 * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
15520 variables; cus-start.el doesn't need them anymore.
15521
15522 2002-02-09 Kim F. Storm <storm@cua.dk>
15523
15524 * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
15525 reduction. This fixes a display problem where stray newlines were
15526 inserted in the window (corrected by C-l). Clarified code (IMHO).
15527
15528 2002-02-09 Eli Zaretskii <eliz@is.elta.co.il>
15529
15530 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
15531
15532 * xdisp.c (display_mode_lines): Fix last change.
15533
15534 2002-02-09 Jason Rumney <jasonr@gnu.org>
15535
15536 * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
15537 match each other.
15538 (w32_load_system_font): Prevent Cleartype fonts from loading.
15539 (Fx_show_tip): Ensure tip frames are above other topmost windows.
15540
15541 2002-02-09 Kim F. Storm <storm@cua.dk>
15542
15543 * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
15544 (CURRENT_MODE_LINE_HEIGHT): Use it.
15545 (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
15546
15547 * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
15548 (pos_visible_p, handle_face_prop): Likewise.
15549 (display_mode_lines): Likewise, but for the real selected window.
15550 (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
15551
15552 * xfaces.c (Qmode_line_inactive): New face variable for mode-line
15553 in non-selected windows.
15554 (realize_basic_faces): Realize it.
15555 (syms_of_term): Intern and staticpro it.
15556
15557 2002-02-08 Kim F. Storm <storm@cua.dk>
15558
15559 * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
15560 Changed mail addresses to emacs-devel@gnu.org.
15561
15562 2002-02-08 Eli Zaretskii <eliz@is.elta.co.il>
15563
15564 * fileio.c (Fsubstitute_in_file_name): If the file name includes
15565 ~user, and there's no such user, don't discard everything before ~user.
15566
15567 * floatfns.c (Fround): Doc fix.
15568
15569 2002-02-08 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15570
15571 * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
15572
15573 2002-02-07 Stefan Monnier <monnier@cs.yale.edu>
15574
15575 * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
15576
15577 2002-02-07 Kim F. Storm <storm@cua.dk>
15578
15579 * keymap.c (where_is_internal): Only check whether definition is
15580 remapped if it fulfills is_command_symbol.
15581
15582 2002-02-07 Andreas Schwab <schwab@suse.de>
15583
15584 * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
15585
15586 * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
15587
15588 2002-02-06 Kim F. Storm <storm@cua.dk>
15589
15590 * keymap.c (Fdefine_key): Allow symbol as KEY argument for
15591 defining command remapping. Doc updated.
15592 (Flookup_key): Remap command through keymap if KEY is a symbol.
15593 (is_command_symbol): New function.
15594 (Fkey_binding): Use it. New optional argument NO-REMAP.
15595 Doc updated. Callers changed. Perform command remapping via
15596 recursive call unless that arg is non-nil.
15597 (where_is_internal): New argument no_remap. Callers changed.
15598 Call recursively to find original key bindings for a remapped
15599 comand unless that arg is non-nil.
15600 (Fwhere_is_internal): New optional argument NO-REMAP.
15601 Doc updated. Callers changed. Pass arg to where_is_internal.
15602
15603 * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
15604 (is_command_symbol): Add prototype.
15605
15606 * keyboard.c (Vthis_original_command): New variable.
15607 (syms_of_keyboard): DEFVAR_LISP it.
15608 (command_loop_1): Set it, and perform command remapping.
15609
15610 2002-02-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15611
15612 * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
15613
15614 2002-02-06 Jason Rumney <jasonr@gnu.org>
15615
15616 * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
15617
15618 2002-02-06 Eli Zaretskii <eliz@is.elta.co.il>
15619
15620 * charset.c (get_charset_id): Use if-else instead of ?:.
15621
15622 2002-02-06 Richard M. Stallman <rms@gnu.org>
15623
15624 * filelock.c (S_ISLNK): Define if not defined.
15625
15626 2002-02-03 Richard M. Stallman <rms@gnu.org>
15627
15628 * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
15629
15630 * lread.c (read1): Redesign strategy for force_multibyte and
15631 force_singlebyte. Now is_multibyte records whether read_buffer
15632 is multibyte. Encountering any multibyte character makes it so.
15633
15634 2002-02-02 Stefan Monnier <monnier@cs.yale.edu>
15635
15636 * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
15637 with the same sequence, map that sequence to f10 rather than f0.
15638
15639 2002-02-03 Andreas Schwab <schwab@suse.de>
15640
15641 * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
15642 latter never being defined on GNU/Linux.
15643
15644 2002-02-02 Eli Zaretskii <eliz@is.elta.co.il>
15645
15646 * xfaces.c (realize_default_face): Don't set the weight and slant of
15647 the default face to Qnormal, unless these attributes are unspecified.
15648
15649 2002-02-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15650
15651 * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
15652 Call cancel_hourglass unconditionally.
15653
15654 * eval.c (Fsignal): Remove duplicated declaration of
15655 the variable `display_hourglass_p'.
15656
15657 2002-01-31 Richard M. Stallman <rms@gnu.org>
15658
15659 * editfns.c (region_limit): Nicer error message.
15660
15661 * coding.c (decode_composition_emacs_mule):
15662 Give up if NCOMPONENT gets too large to index `component'.
15663
15664 * callint.c (check_mark): New arg to specify clearer error message.
15665 Callers changed.
15666
15667 2002-01-27 Richard M. Stallman <rms@gnu.org>
15668
15669 * minibuf.c (Fcompleting_read): Doc fix.
15670
15671 2002-01-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15672
15673 * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
15674 (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
15675 Fix doc-strings.
15676
15677 2002-01-26 Richard M. Stallman <rms@gnu.org>
15678
15679 * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
15680
15681 * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
15682 and scroll_up_aggressively.
15683
15684 2002-01-26 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15685
15686 * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
15687
15688 2002-01-25 Stefan Monnier <monnier@cs.yale.edu>
15689
15690 * textprop.c (Fnext_property_change, Fnext_single_property_change)
15691 (Fprevious_property_change, Fprevious_single_property_change):
15692 Stay within the narrowed-buffer boundaries.
15693
15694 2002-01-25 Eli Zaretskii <eliz@is.elta.co.il>
15695
15696 * term.c (Ftty_display_color_cells): New function.
15697 (syms_of_term): Defsubr it.
15698 (Ftty_display_color_cells, Ftty_display_color_p): Change the
15699 argument name to DISPLAY. Doc fix.
15700
15701 * dispextern.h: Add prototype for set_tty_color_mode and
15702 tty_setup_colors.
15703
15704 2002-01-24 Jason Rumney <jasonr@gnu.org>
15705
15706 * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
15707 If region left to draw is not what was expected, mark the frame as
15708 garbaged.
15709
15710 * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
15711 Combine the regions returned by BeginPaint and GetUpdateRect.
15712
15713 2002-01-23 Jason Rumney <jasonr@gnu.org>
15714
15715 * w32term.c (x_update_window_begin): Only hide caret if
15716 w32_use_visible_system_caret is set.
15717 (x_update_window_end): Only show caret if
15718 w32_use_visible_system_caret is set.
15719 (syms_of_w32term): Handle SystemParametersInfo call failing.
15720
15721 * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
15722
15723 2002-01-22 Richard M. Stallman <rms@gnu.org>
15724
15725 * unexelf.c (unexec): Define n so as to cause compilation error
15726 for the code where people have often written n instead of nn.
15727
15728 * .gdbinit (hookpost-run): Defined.
15729
15730 2002-01-22 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15731
15732 * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
15733
15734 2002-01-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15735
15736 * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
15737 if fullscreen is being set.
15738
15739 2002-01-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15740
15741 * minibuf.c (Fminibuffer_contents)
15742 (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
15743 (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
15744
15745 2002-01-21 Richard M. Stallman <rms@gnu.org>
15746
15747 * window.c (check_frame_size): Fix minimum height calculation.
15748
15749 2002-01-20 Ken Raeburn <raeburn@gnu.org>
15750
15751 * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
15752 height before comparison.
15753 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
15754
15755 2002-01-20 Jason Rumney <jasonr@gnu.org>
15756
15757 * w32term.c (w32_system_caret_width): Remove.
15758 (w32_use_visible_system_caret): New user flag.
15759 (syms_of_w32term): DEFVAR_BOOL it. Initialize based on whether
15760 Windows reports a screen reader running.
15761 (x_update_window_begin): Hide the system caret.
15762 (x_update_window_end): Show the system caret.
15763 (x_display_and_set_cursor): Don't draw a cursor when
15764 w32_use_visible_system_caret is set. Do not adjust width.
15765
15766 * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
15767 (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
15768 <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
15769 the user requests it. Use system default width when creating.
15770 <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
15771
15772 * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
15773 New window messages.
15774
15775 2002-01-20 Richard M. Stallman <rms@gnu.org>
15776
15777 * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
15778
15779 2002-01-20 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15780
15781 * doprnt.c (doprnt1): Fix typos in error call.
15782
15783 2002-01-20 Eli Zaretskii <eliz@is.elta.co.il>
15784
15785 * unexelf.c (unexec) [__sgi]: Support the .got sections.
15786
15787 2002-01-20 Jason Rumney <jasonr@gnu.org>
15788
15789 * w32term.c (w32_native_per_char_metric): Don't trust the metrics
15790 that Windows returns. If a double check fails, try to guess how
15791 ExtTextOut is going to act.
15792
15793 * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
15794 in place of stricmp.
15795 (w32_list_synthesized_fonts): Removed.
15796 (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
15797 (struct enumfont_t): New element; list.
15798 (enum_font_cb2): List all style and charset variations of a font.
15799 (Fw32_select_font): New optional argument; include_proportional.
15800 Exclude vertical fonts. Exclude proportional fonts unless
15801 include_proportional is non-nil.
15802 (w32_enable_synthesized_fonts): Change to a boolean.
15803 (Fw32_send_sys_command): Doc fix.
15804
15805 2002-01-19 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15806
15807 * dispnew.c (update_frame): Move the variable `tem' to the block
15808 where it is used.
15809
15810 2002-01-19 Jason Rumney <jasonr@gnu.org>
15811
15812 * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
15813 call to face-set-after-frame-default.
15814
15815 2002-01-18 Richard M. Stallman <rms@gnu.org>
15816
15817 * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
15818 (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
15819
15820 2002-01-17 Richard M. Stallman <rms@gnu.org>
15821
15822 * window.c (enlarge_window): When exceeding size of parent,
15823 directly delete all the siblings instead of trying to resize it.
15824
15825 2002-01-17 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15826
15827 * term.c (set_tty_color_mode): Remove unused variable `tem'.
15828
15829 2002-01-16 Henrik Enberg <henrik@enberg.org>
15830
15831 * lread.c (init_lread): Move the installed-lisp dirs later in the path.
15832
15833 2002-01-16 Kim F. Storm <storm@cua.dk>
15834
15835 * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
15836 is invisible. This can happen if cursor is on top line of a
15837 window, and we switch to a buffer with a header line.
15838
15839 * w32term.c (x_erase_phys_cursor): Ditto.
15840
15841 2002-01-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15842
15843 * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
15844 `dont_resize' only when used.
15845
15846 * xdisp.c: Remove forgotten extern declaration of `Qimage'.
15847
15848 2002-01-15 Eli Zaretskii <eliz@is.elta.co.il>
15849
15850 * xdisp.c (display_mode_element): When computing charpos, depend
15851 on multibyteness of elt, not the text in field.
15852
15853 2002-01-15 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15854
15855 * buffer.c (Fkill_all_local_variables):
15856 Increment `update_mode_lines' only once.
15857
15858 2002-01-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15859
15860 * lisp.h (adjust_after_replace_noundo)
15861 (Fupdate_coding_systems_internal): Add prototypes.
15862
15863 * sound.c (Fplay_sound): Initialize header_size also for :data case.
15864
15865 2002-01-14 Eli Zaretskii <eliz@is.elta.co.il>
15866
15867 Support for the --color command-line argument and tty-color-mode
15868 frame parameter:
15869
15870 * term.c (tty_default_color_capabilities, tty_setup_colors)
15871 (set_tty_color_mode): New functions.
15872 (term_init): Call tty_default_color_capabilities.
15873 (Qtty_color_mode_alist): New variable.
15874 (syms_of_term): Intern and staticpro it.
15875
15876 * frame.c (store_frame_param): Call set_tty_color_mode for termcap
15877 frames.
15878 (do_switch_frame): For termcap frames, switch the tty
15879 color mode as specified by the frame's parameters.
15880 (Qtty_color_mode): New variable.
15881 (syms_of_frame): Intern and staticpro it.
15882
15883 * emacs.c (USAGE2): Add the --color option.
15884 (standard_args): Ditto.
15885
15886 2002-01-13 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
15887
15888 * xterm.h (struct x_output): New members want_fullscreen,
15889 x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
15890 y_pixels_outer_diff.
15891 New enum for FULLSCREEN_* constants.
15892 (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
15893 is NULL.
15894 (x_fullscreen_adjust): Add prototype.
15895
15896 * emacs.c (USAGE2): Add the new full-screen arguments.
15897 (standard_args): Ditto.
15898
15899 * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
15900 New variables.
15901 (syms_of_xfns): Intern and staticpro them.
15902 (x_frame_parms) <"fullscreen">: New parameter.
15903 (x_fullscreen_move, x_set_fullscreen): New functions.
15904 (x_set_frame_parameters): Support for Qfullscreen.
15905 (x_real_positions): More accurate computation of the frame position.
15906 (x_figure_window_size): Support full-screen frames.
15907 (Fx_create_frame): Default the fullscreen parameter.
15908
15909 * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
15910 (XTread_socket) <Expose>: Call x_check_fullscreen.
15911 <ConfigureNotify>: Don't resize to fullscreen.
15912 Call x_check_fullscreen_move, and set the want_fullscreen member of
15913 output_data.x.
15914
15915 2002-01-13 Jason Rumney <jasonr@gnu.org>
15916
15917 * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
15918 for mice with more than 3 buttons.
15919
15920 * w32term.c (parse_button): New parameter xbutton. Callers changed.
15921 (w32_read_socket): Handle new "XBUTTON" messages.
15922
15923 * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
15924 (syms_of_w32fns): DEFVAR_BOOL it.
15925 (w32_wnd_proc): Handle new "XBUTTON" messages.
15926
15927 2002-01-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
15928
15929 * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
15930
15931 2002-01-13 Andreas Schwab <schwab@suse.de>
15932
15933 * xterm.c (x_load_font): Never set fonts_changed_p to zero.
15934
15935 2002-01-12 Andreas Schwab <schwab@suse.de>
15936
15937 * .gdbinit (xbuffer): Remove address operator since data is now a
15938 pointer.
15939
15940 2002-01-11 Richard M. Stallman <rms@gnu.org>
15941
15942 * insdel.c (adjust_after_replace_noundo): New function.
15943
15944 * coding.c (code_convert_region): Don't copy old text if undo disabled.
15945
15946 2002-01-09 Jason Rumney <jasonr@gnu.org>
15947
15948 * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
15949 when checking for multiple frames.
15950
15951 2002-01-08 Richard M. Stallman <rms@gnu.org>
15952
15953 * window.c (delete_window): Rewrite the code for changing the
15954 selected window to handle the case where WINDOW is not a leaf.
15955
15956 2002-01-07 Eli Zaretskii <eliz@is.elta.co.il>
15957
15958 * process.c (send_process): Set src_multibyte to 1 after the call
15959 top setup_coding_system, not before the call.
15960
15961 2002-01-07 Jason Rumney <jasonr@gnu.org>
15962
15963 * xmenu.c (set_frame_menubar, xmenu_show):
15964 (xdialog_show): Initialize wv->help to Qnil.
15965
15966 * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
15967 (w32_dialog_show): Initialize wv->help to Qnil.
15968
15969 2002-01-06 Jason Rumney <jasonr@gnu.org>
15970
15971 * xmenu.c (single_submenu): Initialize wv->help to Qnil.
15972
15973 * w32menu.c (w32_menu_display_help): Revert last change.
15974
15975 * xmenu.c (menu_highlight_callback): Revert last change.
15976
15977 2002-01-06 Andreas Schwab <schwab@suse.de>
15978
15979 * insdel.c (make_gap_larger): Make sure buffer size does not
15980 overflow range of int.
15981
15982 2002-01-05 Jason Rumney <jasonr@gnu.org>
15983
15984 * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
15985 OVERLAPS_P.
15986
15987 * w32menu.c (w32_menu_display_help): Hide any tooltip window.
15988
15989 * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
15990 to the left or to the right of the pointer, put it against
15991 the left screen edge.
15992 (x_frame_parms): Add missing braces around initializer.
15993
15994 * w32term.c (x_setup_relief_colors): Don't compute an image's
15995 background color if it doesn't have a Pixmap.
15996 (notice_overwritten_cursor): Don't depend on
15997 output_cursor and updated_area. Compare pixel coordinates with
15998 window's cursor pixel coordinates.
15999 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
16000 Call notice_overwritten_cursor with new arg list.
16001 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
16002 unconditionally.
16003 (x_draw_image_relief): Use predefined macro instead of
16004 constant when the value of `tool_bar_button_relief' is negative.
16005
16006 * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
16007
16008 2002-01-04 Richard M. Stallman <rms@gnu.org>
16009
16010 * xmenu.c (menu_highlight_callback): Hide any tooltip window.
16011
16012 2002-01-03 Richard M. Stallman <rms@gnu.org>
16013
16014 * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
16015 (Fkey_binding): Try the `keymap' property map first.
16016 (Fdescribe_buffer_bindings): Show `keymap' property bindings before
16017 minor mode bindings.
16018
16019 2002-01-03 Kim F. Storm <storm@cua.dk>
16020
16021 * keyboard.c (read_key_sequence): Fix cast of submaps arg to bcopy.
16022
16023 2002-01-02 Richard M. Stallman <rms@gnu.org>
16024
16025 * keyboard.c (read_key_sequence): Handle the keymap property
16026 before minor mode maps.
16027
16028 * editfns.c (Fformat): Update thissize from field_width
16029 based on the actual width, in the string case.
16030
16031 2002-01-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16032
16033 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
16034 when used as truth value to prevent gcc warnings.
16035
16036 * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
16037 * w32proc.c: Include <config.h>.
16038
16039 2002-01-01 Andreas Schwab <schwab@suse.de>
16040
16041 * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
16042 not EMACS_INT, to make them compatible with DEFVAR_INT.
16043 * lisp.h (max_specpdl_size): Adjust declaration.
16044
16045 2002-01-01 Richard M. Stallman <rms@gnu.org>
16046
16047 * print.c (print_object): Test print_escape_nonascii only for
16048 unibyte strings.
16049 (PRINTPREPARE): Once again bind Qprint_escape_nonascii
16050 when outputting to a multibyte buffer.
16051
16052 2001-12-29 Richard M. Stallman <rms@gnu.org>
16053
16054 * print.c (print_object): In multibyte string, use hex escapes.
16055 Use octal only for unibyte strings.
16056 (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
16057
16058 * lread.c (read_escape): New arg BYTEREP for reporting whether
16059 escape forces unibyte or multibyte.
16060 (read1): When reading a string, take note of that info.
16061
16062 2001-12-29 Ken Raeburn <raeburn@gnu.org>
16063
16064 * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
16065 comparison to test lisp value returned by Fget.
16066
16067 2001-12-29 Richard M. Stallman <rms@gnu.org>
16068
16069 * lisp.h (max_specpdl_size): Add declaration.
16070
16071 * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
16072
16073 * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
16074 Handle modifier bits. Correct typo in error message.
16075
16076 2001-12-28 Richard M. Stallman <rms@gnu.org>
16077
16078 * abbrev.c: Use the plist of an abbrev for multiple params if nec.
16079 (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
16080 (Fdefine_global_abbrev, Fdefine_mode_abbrev):
16081 Update calls to Fdefine_abbrev.
16082 (write_abbrev): Update for changed data format.
16083 Don't list "system" abbrevs.
16084 (Fexpand_abbrev): Update use count with new data format.
16085 (describe_abbrev): Update for changed data format.
16086 (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
16087
16088 * config.in (HAVE_MBSINIT): Add #undef.
16089
16090 * strftime.c (mbsinit): Define as no-op if not available.
16091
16092 * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
16093 (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
16094
16095 * keymap.c (Flookup_key): Error message if key has wrong data type.
16096 (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
16097 (exclude_key): New variable.
16098
16099 2001-12-28 Gerd Moellmann <gerd@gnu.org>
16100
16101 * xterm.c (x_setup_relief_colors): Don't compute an image's
16102 background color if it doesn't have a Pixmap.
16103
16104 * xterm.c (notice_overwritten_cursor): Don't depend on
16105 output_cursor and updated_area. Compare pixel coordinates with
16106 window's cursor pixel coordinates.
16107 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
16108 Call notice_overwritten_cursor with new arg list.
16109 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
16110 unconditionally.
16111
16112 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
16113 height of the cursor line to the amount to scroll.
16114
16115 2001-12-27 Richard M. Stallman <rms@gnu.org>
16116
16117 * intervals.c (set_point_both): The position after an invisible,
16118 intangible character is not an acceptable stopping point.
16119
16120 2001-12-27 Ken Raeburn <raeburn@gnu.org>
16121
16122 * window.c (enlarge_window): In new preserve_before code, convert
16123 CURBEG from lisp object to integer before doing arithmetic.
16124
16125 2001-12-27 Richard M. Stallman <rms@gnu.org>
16126
16127 * bytecode.c (Fbyte_code): Undo previous change.
16128
16129 2001-12-26 Kim F. Storm <storm@cua.dk>
16130
16131 * keyboard.c (record_char): Ignore duplicate help-echo events only
16132 separated by mouse-movement. When tracking mouse, only record
16133 first and last mouse-movement event in same window.
16134 Don't record mouse-movement events in keyboard macros.
16135
16136 2001-12-25 Richard M. Stallman <rms@gnu.org>
16137
16138 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
16139 (Fenlarge_window): New arg PRESERVE_BEFORE.
16140
16141 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
16142 instead of Fstring_as_unibyte.
16143
16144 2001-12-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16145
16146 The following changes remove mocklisp support:
16147
16148 * mocklisp.h, mocklisp.c: Files removed.
16149
16150 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
16151 `Qmocklisp' and `Qmocklisp_arguments'.
16152 Remove prototype of syms_of_mocklisp.
16153
16154 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
16155
16156 * callint.c: Do not include mocklisp.h.
16157 (Fcall_interactively): Do not test for mocklisp case.
16158
16159 * eval.c: Remove variables `Qmocklisp_arguments',
16160 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of ml_apply.
16161 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
16162 Do not test for mocklisp case.
16163 (Fwhile): Remove unused variable `tem'.
16164 (syms_of_eval): Remove variable `moclisp-arguments'.
16165
16166 * data.c (wrong_type_argument): Remove mocklisp case.
16167
16168 * doc.c (Fdocumentation): Remove mocklisp case.
16169
16170 * emacs.c (main): Do not call syms_of_mocklisp.
16171
16172 2001-12-21 Richard M. Stallman <rms@gnu.org>
16173
16174 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
16175 to the left or to the right of the pointer, put it against
16176 the left screen edge.
16177
16178 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
16179
16180 * Makefile.in (distclean): Remove .gdbinit if we are building
16181 outside the source tree.
16182
16183 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
16184
16185 * w32.c (emacs_root_dir): New function.
16186
16187 * msdos.c (emacs_root_dir): New function.
16188
16189 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
16190 of the current drive as the fallback for default_directory.
16191
16192 * dired.c (file_name_completion): Run the elements of
16193 completion-ignored-extensions through ENCODE_FILE.
16194
16195 * lisp.h (scmp): Remove prototype, since it's now a static
16196 function private to dired.c.
16197
16198 2001-12-18 Richard M. Stallman <rms@gnu.org>
16199
16200 * dired.c (scmp): Function moved from minibuf.c.
16201 Delete multibyte handling--used only on encoded strings.
16202
16203 * minibuf.c (scmp): Function moved to dired.c.
16204
16205 * fns.c (merge): Add QUIT call.
16206
16207 2001-12-18 Dave Love <fx@gnu.org>
16208
16209 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
16210 language/georgian.el.
16211
16212 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
16213
16214 * Makefile.in (lisp, shortlisp): Synchronize with changes to
16215 lisp/Makefile.in:DONTCOMPILE.
16216
16217 2001-12-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16218
16219 * xdisp.c (window_box_height): Do not return negative values.
16220 From Gerd Moellmann <gerd@gnu.org>.
16221
16222 * keyboard.c (head_table): Add missing braces around initializer.
16223
16224 * term.c (keys): Likewise.
16225
16226 * xfns.c (x_frame_parms, visual_classes): Likewise.
16227
16228 2001-12-17 Sam Steingold <sds@gnu.org>
16229
16230 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
16231 patch (COMPOSING_P, not COMPOSING).
16232
16233 2001-12-17 Richard M. Stallman <rms@gnu.org>
16234
16235 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
16236
16237 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
16238 before calling decode_coding.
16239
16240 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
16241
16242 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
16243 instead of only for COMPOSITION_DISABLED.
16244
16245 2001-12-16 Richard M. Stallman <rms@gnu.org>
16246
16247 * alloc.c (pure_alloc): After overflow, allocate just a small block.
16248
16249 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
16250
16251 * buffer.h (struct buffer): New field `display_error_modiff'.
16252 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
16253
16254 * window.c (Frecenter): Clear display_error_modiff field.
16255
16256 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
16257 Call redisplay_window, but not if display_error_modiff field says no.
16258 (redisplay_window_error): New function.
16259 (displayed_buffer): New variable.
16260 (redisplay_internal, redisplay_windows): Call the new functions
16261 instead of redisplay_window directly.
16262
16263 2001-12-15 Richard M. Stallman <rms@gnu.org>
16264
16265 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
16266
16267 2001-12-14 Andrew Innes <andrewi@gnu.org>
16268
16269 * makefile.w32-in (EMACSLOADPATH): Define.
16270 ($(EMACS)): Run `list-load-path-shadows' after dumping Emacs.
16271 (bootstrap-temacs): Remove dependency on bootstrap-clean.
16272
16273 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
16274
16275 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
16276 parameter have a numeric value all the time.
16277
16278 * w32fns.c (x_report_frame_params): Likewise.
16279
16280 2001-12-12 Richard M. Stallman <rms@gnu.org>
16281
16282 * fileio.c (Fwrite_region): Doc fix.
16283
16284 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
16285 (redisplay_internal): Call clear_image_cache only for window terminals.
16286
16287 2001-12-12 Gerd Moellmann <gerd@gnu.org>
16288
16289 * xdisp.c (move_it_vertically_backward): Change heuristic
16290 for the case that we didn't move far enough initially.
16291
16292 * window.c (Frecenter): Simplify computation in the case of window
16293 system frames and ARG < 0; use window_box_height.
16294
16295 2001-12-11 Richard M. Stallman <rms@gnu.org>
16296
16297 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
16298 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
16299
16300 2001-12-11 Andrew Innes <andrewi@gnu.org>
16301
16302 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
16303 arg is negative.
16304
16305 2001-12-11 Richard M. Stallman <rms@gnu.org>
16306
16307 * m/hp800.h: Split the __hpux conditional into the parts
16308 that are right for GNU/Linux too and the parts that are not.
16309 Use the former if GNU_LINUX.
16310 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
16311
16312 * s/gnu-linux.h (GNU_LINUX): Defined.
16313
16314 2001-12-11 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16315
16316 * macros.c, msdos.c, w16select.c: Change doc-string comments to
16317 `new style' [w/`doc:' keyword].
16318
16319 2001-12-10 Jason Rumney <jasonr@gnu.org>
16320
16321 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
16322 before using.
16323
16324 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16325
16326 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
16327 keyword].
16328
16329 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
16330
16331 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
16332
16333 * s/hpux10.h (srand48): Don't undefine.
16334
16335 2001-12-09 Jason Rumney <jasonr@gnu.org>
16336
16337 * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
16338 Add comment to explain where the struct came from.
16339 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
16340 (add_menu_item): Process pop-up menus first to avoid memory leak.
16341 (add_menu_item, w32_menu_display_help): Use `help' field as
16342 Lisp_Object.
16343 (w32_free_submenu_strings): Only free owner-drawn strings.
16344
16345 2001-12-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16346
16347 * COPYING: Moved back.
16348
16349 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
16350 Add parentheses around && within ||.
16351
16352 * indent.c (compute_motion): Likewise.
16353
16354 * intervals.c (merge_properties_sticky): Likewise.
16355
16356 * coding.c (setup_coding_system, shrink_encoding_region)
16357 (Fdecode_sjis_char): Likewise.
16358
16359 2001-12-07 Andreas Schwab <schwab@suse.de>
16360
16361 * xdisp.c (display_mode_element): Don't read past end of string if
16362 it ends with '%'.
16363
16364 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
16365 can hold.
16366
16367 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum):
16368 Rename from most_positive_fixnum and most_negative_fixnum, resp., and
16369 type changed to Lisp_Object.
16370 (syms_of_data): DEFVAR_LISP them.
16371
16372 2001-12-07 Richard M. Stallman <rms@gnu.org>
16373
16374 * callproc.c (init_callproc): Set Vdata_directory based on the source
16375 location whenever Emacs was run uninstalled.
16376
16377 2001-12-06 Paul Eggert <eggert@twinsun.com>
16378
16379 * config.in (HAVE_WORKING_VFORK): New #undefs.
16380 * process.c (create_process):
16381 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
16382 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
16383 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
16384 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
16385 * m/intel386.h (HAVE_VFORK): Likewise.
16386 * m/mips-siemens.h (HAVE_VFORK): Likewise.
16387 * m/mips.h (HAVE_VFORK): Likewise.
16388 * s/freebsd.h (vfork): Remove #define.
16389 * s/lynxos.h (HAVE_VFORK): Remove #undef.
16390 * s/usg5-4-2.h: Fix comment about vfork.
16391
16392 2001-12-06 Richard M. Stallman <rms@gnu.org>
16393
16394 * s/hpux10.h (random): Add undef.
16395 (HAVE_RANDOM): Define it just once.
16396
16397 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
16398
16399 * eval.c: Undo last change: the standard syntax is not wanted.
16400
16401 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
16402
16403 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
16404 scroll bars of the frame before deleting the frame itself. If the
16405 frame has a widget, delete the frame with XtDestroyWidget, and do
16406 not call XDestroyWindow before that.
16407
16408 2001-12-06 Kim F. Storm <storm@cua.dk>
16409
16410 * xfns.c (x_report_frame_params): Return actual fringe widths.
16411
16412 * w32fns.c (x_report_frame_params): Return actual fringe widths.
16413
16414 2001-12-05 Andrew Innes <andrewi@gnu.org>
16415
16416 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
16417 excessively large.
16418
16419 * insdel.c (make_gap_larger): New function.
16420 (make_gap_smaller): New function.
16421 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]:
16422 Call make_gap_smaller if arg is negative.
16423
16424 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
16425
16426 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
16427 Pass a dummy argument when calling interrupt_signal.
16428 (parse_menu_item): Mark disabled items before checking for empty def.
16429 (read_char_minibuf_menu_prompt): Make safety more visible.
16430 (read_key_sequence): Add a `first_unbound' variable.
16431 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
16432 unbound prefix as soon as we can detect it.
16433
16434 * doc.c (Fsnarf_documentation): Add prototype.
16435 (get_doc_string): Handle negative arguments.
16436 (Fdocumentation): Use AREF and ASIZE.
16437 Move the calls to get_doc_string to a single place.
16438 Don't confuse an interactive-spec for a docstring reference.
16439 (Fdocumentation_property): Take advantage of the fact that
16440 get_doc_string now ignores the sign of the docstring position.
16441
16442 * eval.c: Use standard syntax for usage in docstrings.
16443
16444 2001-12-03 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16445
16446 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief' an option.
16447
16448 2001-12-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16449
16450 * xterm.c (x_draw_image_relief): Use predefined macro instead of
16451 constant when the value of `tool_bar_button_relief' is negative.
16452
16453 2001-12-02 Richard M. Stallman <rms@gnu.org>
16454
16455 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
16456 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
16457
16458 * fileio.c (read_non_regular): Delete Fsignal call.
16459
16460 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
16461
16462 * lisp.h (run_hook_list_with_args): Undo last change.
16463
16464 2001-12-01 Gerd Moellmann <gerd@gnu.org>
16465
16466 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
16467
16468 2001-12-01 Jason Rumney <jasonr@gnu.org>
16469
16470 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
16471
16472 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
16473 [!WM_MOUSELEAVE]: Define.
16474
16475 * w32menu.c (current_popup_menu, get_menu_item_info):
16476 (set_menu_item_info): New vars.
16477 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
16478 (w32_menu_show): Set current_popup_menu.
16479 (add_menu_item): Allocate new strings for owner-drawn menu items
16480 and help strings.
16481 Use owner-draw for disabled menu items again.
16482 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
16483 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
16484
16485 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
16486 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
16487 <WM_EXITMENULOOP>: Free menu strings.
16488 <WM_MOUSELEAVE>: Stop tracking mouse.
16489 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
16490
16491 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
16492 and mouse face.
16493
16494 2001-12-01 Kim F. Storm <storm@cua.dk>
16495
16496 The following changes add left-fringe and right-fringe
16497 frame parameters to adjust fringe widths, or remove one or
16498 both fringes.
16499
16500 * frame.h (struct frame): Remove trunc_area_pixel_width and
16501 trunc_area_cols fields.
16502 (Qleft_fringe, Qright_fringe): Declare.
16503 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
16504
16505 * frame.c (Qleft_fringe, Qright_fringe): New vars.
16506 (syms_of_frame): Initialize them.
16507
16508 * window.c (coordinates_in_window): Handle separate left and right
16509 fringe widths.
16510
16511 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
16512 and fringe_cols fields.
16513 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
16514 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
16515 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
16516 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
16517 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
16518 (x_compute_fringe_widths): Add prototype.
16519
16520 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
16521 fill fringe evenly with small dashes.
16522 (x_draw_fringe_bitmap): Clear background if necessary. Align and
16523 clip the new ZV bitmap to avoid jitter between rows.
16524 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
16525 background. Don't draw fringe bitmaps if fringe width is zero.
16526 (x_compute_fringe_widths): New function.
16527 (x_new_font, x_set_window_size_1): Use it.
16528
16529 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
16530 (x_set_frame_parameters): Process `font' parameter before other
16531 parameters as fringe widths depend on it.
16532 (x_set_fringe_width): New function.
16533 (x_figure_window_size): Use x_compute_fringe_widths.
16534 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
16535 parameters.
16536
16537 * widget.c (set_frame_size): Use x_compute_fringe_widths.
16538 (EmacsFrameSetCharSize): Ditto.
16539
16540 * w32term.h: Merged changes from xterm.h.
16541 * w32term.c: Merged changes from xterm.c.
16542 * w32fns.c: Merged changes from xfns.c.
16543
16544 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16545
16546 * COPYING: Removed.
16547
16548 2001-11-29 Dave Love <fx@gnu.org>
16549
16550 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
16551 extra extra slot.
16552 (detect_coding_mask): Fix call of detect_coding_iso2022.
16553
16554 2001-11-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16555
16556 * fileio.c (file-name-coding-system)
16557 (default-file-name-coding-system): Doc fix (links to referenced
16558 variables added).
16559
16560 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
16561
16562 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
16563 Add dummy uses of gcproN variables.
16564
16565 * category.c (describe_category, describe_category_1)
16566 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
16567 (syms_of_category): Don't defsubr Sdescribe_categories.
16568
16569 2001-11-28 Richard M. Stallman <rms@gnu.org>
16570
16571 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
16572
16573 * Makefile.in (lispdir): New variable, referring to build dir.
16574 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
16575
16576 2001-11-28 Andrew Innes <andrewi@gnu.org>
16577
16578 * w32menu.c (w32_menu_display_help): Actually add the new argument
16579 OWNER.
16580
16581 2001-11-28 Jason Rumney <jasonr@gnu.org>
16582
16583 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
16584 menu items. From David Ponce <dponce@wanadoo.fr>.
16585 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
16586 conditionally.
16587 (w32_menu_display_help): New argument OWNER. Rewritten to store a
16588 help event in the owner frame's keyboard buffer.
16589
16590 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
16591 (Fx_show_tip): Don't subtract last width from row width.
16592
16593 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
16594 (w32_read_socket): Use EQ to compare frames.
16595
16596 2001-11-28 Gerd Moellmann <gerd@gnu.org>
16597
16598 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
16599 OVERLAPS_P.
16600
16601 2001-11-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16602
16603 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
16604 `gcpro3' and `gcpro4'.
16605
16606 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
16607
16608 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
16609
16610 * ccl.c: Use AREF and ASIZE.
16611
16612 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
16613
16614 * lisp.h (run_hook_list_with_args): Remove.
16615 (LIST_END_P): Fix call to wrong_type_argument.
16616 (make_fixnum_or_float): Use EMACS_INT rather than int.
16617
16618 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
16619
16620 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
16621 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
16622
16623 * eval.c: Use AREF and ASIZE.
16624 (Ffetch_bytecode): Add the file name to the error message.
16625
16626 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
16627 which match the end of the file-name.
16628 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
16629 is not a valid env var, but leave it as is instead.
16630
16631 * keymap.c (access_keymap): Handle t bindings like nil bindings.
16632 Make nil bindings in char-tables transparent.
16633 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
16634
16635 2001-11-26 Richard M. Stallman <rms@gnu.org>
16636
16637 * textprop.c (set_text_properties_1): Allow START, END in either order.
16638 Do nothing if range is empty.
16639
16640 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
16641
16642 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
16643 (clean): Not here.
16644
16645 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
16646
16647 * textprop.c (set_text_properties_1): Clearly mark that the
16648 interval should not be empty.
16649
16650 * intervals.c (graft_intervals_into_buffer):
16651 Don't call set_text_properties_1 on an empty interval.
16652
16653 2001-11-25 Richard M. Stallman <rms@gnu.org>
16654
16655 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
16656
16657 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
16658 don't lose the data in it.
16659
16660 2001-11-25 Juanma Barranquero <lektu@terra.es>
16661
16662 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
16663
16664 * buffer.c (Fkill_buffer): Likewise.
16665
16666 * print.c (temp_output_buffer_setup): Likewise.
16667
16668 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
16669
16670 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
16671
16672 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
16673
16674 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
16675 Niemitalo <kon@iki.fi>.
16676
16677 2001-11-25 Jason Rumney <jasonr@gnu.org>
16678
16679 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
16680
16681 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
16682 (Fx_show_tip): Block input during frame creation.
16683 (Fx_show_tip, Fx_hide_tip): Enable.
16684
16685 2001-11-24 Richard M. Stallman <rms@gnu.org>
16686
16687 * lread.c (Fload): Detect recursive load error for more than 3
16688 nestings of the same file.
16689 (Vrecursive_load_depth_limit): Variable deleted.
16690 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
16691
16692 2001-11-24 Jason Rumney <jasonr@gnu.org>
16693
16694 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
16695 mouse position if either left or top is not specified.
16696
16697 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
16698 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
16699 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
16700 (my_create_tip_window): Assign tip_window.
16701 (x_create_tip_frame): Use same defaults as X.
16702 (compute_tip_xy): Remove unused variable. Use full screen width.
16703 (Fx_show_tip): Do not double height. Call ShowWindow directly.
16704
16705 * w32term.c (x_after_update_window_line): Doc fix.
16706 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
16707 frames.
16708 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
16709
16710 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
16711 for all Windowed systems.
16712
16713 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
16714
16715 * msdos.c (IT_clear_screen): If the frame's faces are not yet
16716 realized, use the initial screen colors to clear the screen.
16717
16718 2001-11-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16719
16720 * textprop.c (Fset_text_properties): Remove unused variables
16721 `unchanged', `prev_changed', `s' and `len'.
16722
16723 * search.c (Freplace_match): Remove unused variable `inslen'.
16724
16725 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
16726
16727 2001-11-22 Jason Rumney <jasonr@gnu.org>
16728
16729 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
16730 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
16731 (my_create_tip_window): New function.
16732 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
16733 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
16734
16735 2001-11-20 Jason Rumney <jasonr@gnu.org>
16736
16737 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
16738 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
16739
16740 * w32fns.c (Vw32_system_coding_system): Remove.
16741 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
16742
16743 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
16744
16745 * fileio.c (Fwrite_region): Move choose_write_coding_system to
16746 after build_annotations.
16747
16748 * syntax.c (describe_syntax): Add dummy arg.
16749 (describe_syntax_1): Update call to describe_vector.
16750
16751 * category.c (describe_category): Add dummy arg.
16752 (describe_category_1): Update call to describe_vector.
16753
16754 * keymap.c (Fdescribe_vector): Add `describer' parameter.
16755 (describe_command, describe_translation): Add dummy second param.
16756 (describe_map): Call elt_describer with two arguments.
16757 (describe_vector_princ): Add `fun' parameter.
16758 Call it instead of the hardcoded `princ'.
16759 (describe_vector): Add arg `args'.
16760 Pass it as a new second argument to elt_describer.
16761
16762 * keymap.h (describe_vector): Update prototype.
16763
16764 * frame.c: Don't include keymap.h any more.
16765 (keys_of_frame): Remove.
16766
16767 * lisp.h (keys_of_frame): Remove declaration.
16768
16769 * emacs.c (main): Don't call `keys_of_frame' any more.
16770
16771 2001-11-14 Andreas Schwab <schwab@suse.de>
16772
16773 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
16774 if defined, 0 otherwise.
16775 (MAP_FAILED): Define if not defined and use it to test mmap failure.
16776 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
16777
16778 2001-11-19 Richard M. Stallman <rms@gnu.org>
16779
16780 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
16781
16782 2001-11-18 Jason Rumney <jasonr@gnu.org>
16783
16784 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
16785 (x_draw_bar_cursor): If the background color of the glyph under
16786 the cursor equals the frame's cursor color, use the glyph's
16787 foreground color for drawing the bar cursor.
16788 (x_after_update_window_line): Clear internal border in different
16789 circumstances.
16790 (w32_set_vertical_scroll_bar): Check for width and height > 0.
16791 (w32_draw_relief_rect): Correct relief by 1 pixel.
16792 (x_set_glyph_string_background_width):
16793 Set extends_to_end_of_line_p if the row's fill_line_p is set and
16794 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
16795 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
16796 if cursor_in_non_selected_windows is false.
16797 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
16798 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
16799 Notice if cursor gets overwritten.
16800 (notice_overwritten_cursor): Renamed from
16801 note_overwritten_text_cursor. Rewritten to take glyph widths
16802 into account, and to take X positions as parameters.
16803 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
16804 around call to x_draw_glyphs.
16805 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
16806 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
16807 color to use for image glyph reliefs.
16808 (x_draw_image_relief): Accept zero tool_bar_button_relief.
16809 (glyph_rect): Remove unused variable `area'.
16810
16811 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
16812 some items.
16813 (x_set_internal_border_width): Set frame garbaged when window
16814 doesn't exist yet.
16815 (Fx_create_frame): Accept zero tool_bar_button_relief.
16816 (x_clear_image_1, four_corners_best, image_background)
16817 (image_background_transparent): New functions.
16818 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
16819 (gs_format): Add `:background' entry.
16820 (lookup_image): Set IMG's background color if specified.
16821 (pbm_load, xbm_load_image, png_load): Set IMG's background field
16822 when appropriate.
16823 (x_clear_image_1): Reset `background_valid' and
16824 `background_transparent_valid' fields.
16825 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
16826 calculating it here. Set IMG's background_transparent field.
16827 (enum xpm_keyword_index): Add XPM_BACKGROUND.
16828 (enum png_keyword_index): Add PNG_BACKGROUND.
16829 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
16830 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
16831 (enum gif_keyword_index): Add GIF_BACKGROUND.
16832 (enum gs_keyword_index): Add GS_BACKGROUND.
16833 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
16834 Pre-calculate image background color where necessary.
16835 (x_create_x_image_and_pixmap, xbm_load, gs_load):
16836 Use display info's n_cbits entry for screen depth.
16837 (Fx_show_tip): Remove unused variables `buffer', `top',
16838 `left', `max_width' and `max_height'.
16839
16840 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
16841
16842 2001-11-18 Gerd Moellmann <gerd@gnu.org>
16843
16844 * puresize.h (BASE_PURESIZE): Increase to 750000.
16845
16846 2001-11-18 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16847
16848 * frame.c (Fframe_live_p): Doc fix.
16849
16850 2001-11-18 Richard M. Stallman <rms@gnu.org>
16851
16852 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
16853 (message_dolog_marker3): New static variables hold three markers.
16854 (syms_of_xdisp): Initialize and staticpro them.
16855 (message_dolog): Use message_dolog_marker1..3 instead of
16856 allocating markers each time. Unchain them when done.
16857
16858 2001-11-17 Richard M. Stallman <rms@gnu.org>
16859
16860 * doc.c (Fsnarf_documentation): Doc fix.
16861
16862 2001-11-17 Andreas Schwab <schwab@suse.de>
16863
16864 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
16865
16866 2001-11-17 Richard M. Stallman <rms@gnu.org>
16867
16868 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
16869
16870 2001-11-17 Jason Rumney <jasonr@gnu.org>
16871
16872 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
16873
16874 2001-11-17 Gerd Moellmann <gerd@gnu.org>
16875
16876 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
16877 with invalid position.
16878
16879 2001-11-16 Richard M. Stallman <rms@gnu.org>
16880
16881 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
16882
16883 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
16884 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
16885 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
16886
16887 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
16888
16889 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
16890
16891 * fileio.c (build_annotations): Split off the tail.
16892 (build_annotations_2): New fun. Extracted from build_annotations.
16893 (Fwrite_region): Split the call to build_annotations into two
16894 calls to build_annotations and build_annotations_2.
16895
16896 2001-11-16 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
16897
16898 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
16899 clear_waiting_for_input with argument.
16900
16901 * xterm.h (x_update_cursor): Remove duplicated prototype.
16902
16903 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
16904
16905 * xterm.c (waiting_for_input): Remove unnecessary declaration.
16906
16907 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
16908
16909 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
16910
16911 * fileio.c (choose_write_coding_system): New fun, extracted
16912 from Fwrite_region.
16913 (Fwrite_region): Use it.
16914
16915 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
16916 (funcall_lambda, run_hook_with_args): Make static and add prototype.
16917 (ml_apply, find_handler_clause): Add prototype.
16918
16919 2001-11-16 Eli Zaretskii <eliz@gnu.org>
16920
16921 * config.in: Add #undef HAVE_COFF_H.
16922
16923 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
16924 Required for ISC 4.1.
16925
16926 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
16927
16928 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
16929 Andrew Wiseman <a.wiseman@btclick.com>.
16930
16931 2001-11-16 Kim F. Storm <storm@cua.dk>
16932
16933 The following changes are made to clean up the various internal
16934 references to the fringes to actually use the term `fringe' for
16935 them. Previously, they were called `flags areas', `bitmap areas',
16936 `left/right side of windows', or implicitly as `flags' or
16937 `bitmaps':
16938
16939 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
16940 Comments fixed. Use renamed symbols.
16941
16942 * dispnew.c: Comment fix. Use renamed symbols.
16943
16944 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
16945 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
16946 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
16947
16948 * msdos.c: Comment fix.
16949
16950 * w32fns.c: Use renamed symbols.
16951
16952 * w32term.c: Comment fixes. Use renamed symbols.
16953 (fringe_bitmap_type): Renamed from bitmap_type.
16954 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
16955 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
16956 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
16957
16958 * w32term.h: Comment fixes. Use renamed symbols.
16959 (fringes_extra): Renamed from flags_areas_extra.
16960 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
16961 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
16962 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
16963 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
16964 (FRAME_X_LEFT_FRINGE_WIDTH):
16965 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
16966 (FRAME_X_RIGHT_FRINGE_WIDTH):
16967 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
16968
16969 * widget.c: Use renamed symbols.
16970
16971 * window.c: Comment fixes. Use renamed symbols.
16972 (coordinates-in-window-p): Doc fix.
16973
16974 * xdisp.c: Comment fixes. Use renamed symbols.
16975
16976 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
16977
16978 * xfns.c: Use renamed symbols.
16979
16980 * xterm.c: Comment fixes. Use renamed symbols.
16981 (fringe_bitmap_type): Renamed from bitmap_type.
16982 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
16983 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
16984 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
16985
16986 * xterm.h: Comment fixes. Use renamed symbols.
16987 (fringes_extra): Renamed from flags_areas_extra.
16988 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
16989 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
16990 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
16991 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
16992 (FRAME_X_LEFT_FRINGE_WIDTH):
16993 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
16994 (FRAME_X_RIGHT_FRINGE_WIDTH):
16995 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
16996
16997 2001-11-15 Jason Rumney <jasonr@gnu.org>
16998
16999 * w32menu.c (add-menu-item): Make help_echo and radio buttons
17000 work for most menu items. From David Ponce
17001 <david.ponce@wanadoo.fr>.
17002
17003 2001-11-15 Gerd Moellmann <gerd@gnu.org>
17004
17005 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
17006 Some x_set_* function expect to be called even if old and new
17007 value are equal.
17008
17009 * xdisp.c (build_desired_tool_bar_string): Accept zero
17010 tool_bar_button_relief.
17011
17012 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
17013
17014 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
17015
17016 * xterm.c (x_draw_bar_cursor): If the background color of the
17017 glyph under the cursor equals the frame's cursor color, use
17018 the glyph's foreground color for drawing the bar cursor.
17019
17020 * dispnew.c (direct_output_forward_char): Fix character/byte
17021 position comparison.
17022
17023 2001-11-15 Miles Bader <miles@gnu.org>
17024
17025 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
17026 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
17027 Update arguments to find_field.
17028 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
17029 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
17030 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
17031 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
17032
17033 2001-11-14 Richard M. Stallman <rms@gnu.org>
17034
17035 * editfns.c (Fpropertize): Allow call with 1 arg.
17036
17037 * dispextern.h (image_background, image_background_transparent):
17038 Conditionalize on HAVE_X_WINDOWS.
17039
17040 2001-11-13 Richard M. Stallman <rms@gnu.org>
17041
17042 * print.c (Fprin1_to_string): Doc fix.
17043
17044 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
17045
17046 * floatfns.c (Fceiling, Ffloor): Doc fixes.
17047
17048 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
17049
17050 * fileio.c (Ffile_accessible_directory_p): Doc fix.
17051
17052 * eval.c (syms_of_eval): Doc fix.
17053
17054 * coding.c (syms_of_coding): Doc fix.
17055
17056 * doc.c (Fsnarf_documentation): Doc fix.
17057
17058 * dispnew.c (syms_of_display): Doc fix.
17059
17060 * category.c (Fget_unused_category): Doc fix.
17061
17062 * buffer.c (syms_of_buffer): Doc fixes.
17063
17064 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
17065
17066 * print.c (prin1, print): Doc fix.
17067
17068 2001-11-14 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17069
17070 * fontset.h: Remove declarations of variables
17071 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
17072
17073 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
17074 `Vclip_large_size_font'.
17075
17076 2001-11-13 Jason Rumney <jasonr@gnu.org>
17077
17078 * w32fns.c: Doc fix.
17079
17080 2001-11-13 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17081
17082 * xfaces.c (Fface_attributes_as_vector): Doc fix.
17083
17084 * fns.c: Doc fix.
17085
17086 * emacs.c: Doc fix.
17087
17088 * coding.c: Doc fix.
17089
17090 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
17091 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
17092 `new style' [w/`doc:' keyword].
17093
17094 2001-11-12 Richard M. Stallman <rms@gnu.org>
17095
17096 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
17097 LeaveNotify events. Only FocusIn and FocusOut do that now.
17098 (x_display_and_set_cursor): Do display hollow cursors in active
17099 minibuffer windows when they are not selected.
17100
17101 2001-11-12 Jason Rumney <jasonr@gnu.org>
17102
17103 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
17104 * w32term.c: Change doc-string comments to `new style'
17105 [w/`doc:' keyword]. Doc fixes.
17106
17107 * w32fns.c: Don't define max.
17108 (Fx_open_connection): Only execute once.
17109
17110 2001-11-12 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17111
17112 * ccl.c: Change macros to use do-while block instead of if-else.
17113 Use braces to follow GNU Coding Standards.
17114
17115 2001-11-11 Richard M. Stallman <rms@gnu.org>
17116
17117 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
17118
17119 * lread.c (read_escape): Use end_of_file_error for reporting eof.
17120
17121 * insdel.c (replace_range): Use adjust_markers_for_replace
17122 instead of adjust_markers_for_delete and adjust_markers_for_insert.
17123
17124 * intervals.h (set_text_properties, set_text_properties_1): Declare.
17125
17126 * textprop.c (set_text_properties_1): New subroutine
17127 broken out of set_text_properties.
17128 (set_text_properties): Use set_text_properties_1.
17129
17130 * intervals.c (graft_intervals_into_buffer):
17131 Use set_text_properties_1 to clear out properties.
17132
17133 * search.c (Freplace_match): Use replace_range to insert
17134 and delete. Don't request property inheritance from
17135 surrounding text.
17136
17137 2001-11-10 Jason Rumney <jasonr@gnu.org>
17138
17139 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
17140 vertical fonts. Allow them if face name is explicitly specified.
17141 Do not give up if we find a font that cannot be converted to an xlfd.
17142
17143 2001-11-10 Gerd Moellmann <gerd@gnu.org>
17144
17145 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
17146 instead of malloc/free.
17147
17148 2001-11-09 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17149
17150 * xfaces.c (merge_face_vectors): Use braces to follow GNU
17151 Coding Standards.
17152 (Finternal_set_lisp_face_attribute): Likewise.
17153
17154 * buffer.c (Fbury_buffer): Likewise.
17155
17156 * indent.c (current_column_1): Remove unused variable `prev_col'.
17157
17158 * coding.c (encode_coding): Use precomputed value of `src'.
17159 (encode_coding): Remove unused variable `src_end'.
17160 (code_convert_region): Remove unused variables `count'.
17161
17162 2001-11-07 Jason Rumney <jasonr@gnu.org>
17163
17164 * w32term.c (x_display_and_set_cursor): Do not move system caret
17165 if cursor_glyph is NULL.
17166
17167 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17168
17169 * keymap.c (access_keymap): Fix compilation error.
17170
17171 2001-11-07 Miles Bader <miles@gnu.org>
17172
17173 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
17174
17175 2001-11-07 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17176
17177 * intervals.c (graft_intervals_into_buffer):
17178 Remove #ifdef'd-out code.
17179 (graft_intervals_into_buffer): Remove unused variable `middle'.
17180
17181 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
17182 code (eval-current-buffer).
17183 Change doc-string comments to `new style' [w/`doc:' keyword].
17184
17185 2001-11-06 Richard M. Stallman <rms@gnu.org>
17186
17187 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
17188
17189 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
17190
17191 * lread.c (read1): Fix behavior with nested backquoting.
17192
17193 * keyboard.c (make_lispy_event): Check integerness and fix
17194 Lisp_Object/int mixup.
17195
17196 2001-11-06 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17197
17198 * fns.c (copy_hash_table): Remove unused variable `v'.
17199
17200 * fontset.c (fontset_font_pattern): Remove unused variable
17201 `family_registry'.
17202
17203 * indent.c (current_column_1): Remove unused variable `prev_col'.
17204
17205 2001-11-05 Richard M. Stallman <rms@gnu.org>
17206
17207 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
17208
17209 * buffer.c (Fkill_buffer): Don't delete auto save file
17210 if buffer is modified.
17211
17212 2001-11-05 Andrew Innes <andrewi@gnu.org>
17213
17214 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
17215 CHECK_NUMBER_CDR.
17216
17217 2001-11-05 Richard M. Stallman <rms@gnu.org>
17218
17219 * unexelf.c (unexec): Minor changes; clean up comments.
17220
17221 2001-11-05 Sam Steingold <sds@gnu.org>
17222
17223 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
17224
17225 2001-11-05 Andreas Schwab <schwab@suse.de>
17226
17227 * sound.c (sound_perror): Save errno from being clobbered.
17228
17229 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
17230
17231 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
17232 the program image directly.
17233
17234 2001-11-05 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17235
17236 * buffer.h (Fbuffer_local_value): Add prototype.
17237
17238 2001-11-04 Richard M. Stallman <rms@gnu.org>
17239
17240 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
17241 and CHECK_BUFFER.
17242
17243 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
17244 (record_char): Likewise.
17245
17246 * keyboard.c (make_lispy_event): Don't insist a drag event must
17247 move to a different buffer position. Instead, check for moving at
17248 least double_click_fuzz.
17249
17250 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
17251
17252 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
17253
17254 * indent.c (current_column_1, Fmove_to_column): Separate the code
17255 for display-table glyphs from the code for buffer text, to fix
17256 bugs in the former.
17257
17258 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
17259
17260 * buffer.c (Fbuffer_local_value): New function.
17261 (syms_of_buffer): Defsubr it.
17262
17263 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
17264 value of `cursor-in-non-selected-windows'.
17265
17266 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
17267 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
17268 (syms_of_xdisp): Initialize it.
17269
17270 2001-11-04 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17271
17272 * xfns.c (Fx_create_frame): Doc fix.
17273
17274 * coding.c: Change doc-string comments to `new style' [w/`doc:'
17275 keyword].
17276
17277 * eval.c (top_level_value, top_level_set): Remove commented and
17278 #ifdef'd-out code.
17279 (Fdefvar): Fix usage in doc-string.
17280
17281 2001-11-03 Richard M. Stallman <rms@gnu.org>
17282
17283 * xfns.c: Include unistd.h, if it exists.
17284
17285 * editfns.c: Move the include of ctype.h after unistd.h.
17286
17287 * gmalloc.c: Test BROKEN_PROTOTYPES.
17288
17289 2001-11-03 Ken Raeburn <raeburn@gnu.org>
17290
17291 * lisp.h (CHECK_STRING_CAR): New macro.
17292 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
17293 treating XCAR and XCDR as lvalues.
17294 (openp): Use CHECK_STRING_CAR.
17295 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
17296
17297 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
17298
17299 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
17300 (SIGMASKTYPE): Define.
17301
17302 * syssignal.h (sigunblock): Don't define if already defined.
17303
17304 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17305
17306 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
17307 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
17308 Fix typos in comments.
17309
17310 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
17311 and #ifdef'd-out code.
17312 Fix and reindent comments.
17313
17314 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
17315
17316 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
17317 argument `i' in macros.
17318
17319 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
17320 `i' in macros.
17321
17322 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
17323 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
17324 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
17325 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
17326 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
17327 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
17328 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
17329 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
17330 in macros.
17331
17332 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
17333 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
17334 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
17335 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
17336 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
17337 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
17338 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
17339 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
17340 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
17341 (remove unused second argument).
17342
17343 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
17344
17345 * syntax.c (describe_syntax): New wrapper.
17346 (Finternal_describe_syntax_value): Rename from describe_syntax.
17347 Don't insert space at front and \n at the end.
17348 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
17349
17350 * regex.c (re_wctype): Try to fix some warnings.
17351 (regcomp, regexec): Don't forget the __restrict.
17352
17353 2001-11-02 Richard M. Stallman <rms@gnu.org>
17354
17355 * textprop.c (Fget_char_property): Doc fix.
17356
17357 2001-11-02 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17358
17359 * process.c (Fstart_process): Add usage to doc-string.
17360
17361 * data.c (Fsetq_default): Ditto.
17362
17363 * callint.c (Finteractive): Ditto.
17364
17365 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
17366
17367 * macros.c: Don't include keymap.h any more.
17368
17369 2001-11-01 Richard M. Stallman <rms@gnu.org>
17370
17371 * data.c (Fmake_local_variable): Doc fix.
17372
17373 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
17374 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
17375
17376 * keymap.c (Fdescribe_buffer_bindings): Print character property
17377 bindings along with or instead of the buffer local map.
17378 Make the overriding maps override what they should.
17379
17380 2001-11-01 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17381
17382 * window.c (grow_mini_window): Fix typo in comment.
17383
17384 2001-11-01 Gerd Moellmann <gerd@gnu.org>
17385
17386 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
17387 (XTset_vertical_scroll_bar): Likewise.
17388
17389 * xfns.c (x_build_heuristic_mask): Use four_corners_best
17390 instead of IMAGE_BACKGROUND.
17391
17392 * xfns.c (four_corners_best): Reindent.
17393
17394 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
17395 Handle :box so that it is possible to specify sexprs.
17396
17397 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
17398
17399 * s/hpux11.h: New file.
17400
17401 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17402
17403 * emacs.c (USAGE1): Show command line option --no-window-system
17404 instead of --no-windows in usage.
17405 (standard_args): Rename --no-windows to --no-window-system.
17406 (bug_reporting_address): Follow Emacs coding conventions.
17407
17408 * eval.c (Fcommandp): Doc fix.
17409 Change doc-string comments to `new style' [w/`doc:' keyword].
17410
17411 * frame.c (Fframe_live_p): Doc fix.
17412
17413 * buffer.c (selective-display-ellipses): Doc fix.
17414
17415 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17416
17417 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
17418
17419 * xfaces.c (realize_x_face): If C is not a single-byte character,
17420 set the face's colors_copied_bitwise_p instead of the defaulted_p
17421 members which have a different meaning.
17422 (free_face_colors): Do nothing for a face whose colors have been
17423 copied bitwise.
17424
17425 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
17426
17427 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17428
17429 * marker.c, mocklisp.c: Change doc-string comments to `new style'
17430 [w/`doc:' keyword].
17431
17432 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17433
17434 * fns.c (require_unwind): Return Lisp_Object.
17435
17436 2001-10-31 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17437
17438 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
17439 (last-input-char): Revert doc-string to be the same as the
17440 doc-string of `last-input-event'.
17441
17442 * xdisp.c: Fix typos in comments.
17443
17444 2001-10-31 Gerd Moellmann <gerd@gnu.org>
17445
17446 * window.c (grow_mini_window): Handle case that the root
17447 window is already smaller than the nominal mininum height.
17448
17449 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
17450
17451 * emacs.c (main): Don't call keys_of_macros any more.
17452
17453 * lisp.h (keys_of_macros): Remove.
17454
17455 * macros.c (keys_of_macros): Remove.
17456
17457 * xfaces.c (Fface_attribute_relative_p): Declare args.
17458
17459 2001-10-30 Jason Rumney <jasonr@gnu.org>
17460
17461 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
17462 (enum_font_cb2): Ignore fonts with vertical orientation.
17463
17464 2001-10-30 Richard M. Stallman <rms@gnu.org>
17465
17466 * keyboard.c (Finput_pending_p): Doc fix.
17467
17468 2001-10-30 Gerd Moellmann <gerd@gnu.org>
17469
17470 * xterm.c (x_after_update_window_line): Don't run the code
17471 clearing in borders for rows whose visible height is 0.
17472
17473 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
17474 resized_p flag is set. If not set, use the much less flickering
17475 method previously used.
17476
17477 * dispnew.c (change_frame_size_1): Set frame's resized_p.
17478
17479 * frame.h (struct frame) <resized_p>: New member.
17480
17481 * lread.c (to_multibyte): Ensure read_buffer is at least twice
17482 as large as the number of bytes to convert.
17483
17484 * lread.c (to_multibyte): New function.
17485 (read1): Use it.
17486
17487 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
17488
17489 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
17490
17491 2001-10-30 Gerd Moellmann <gerd@gnu.org>
17492
17493 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
17494 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
17495 if the row's fill_line_p is set and drawing the last glyph with
17496 DRAW_IMAGE_{RAISED,SUNKEN}.
17497
17498 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
17499
17500 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
17501
17502 * xmenu.c: Include coding.h and charset.h.
17503 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
17504 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
17505 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
17506 Explicitly set wv->help. Use `TRUE' rather than `True'.
17507 (menu_help_callback): Use empty_string.
17508
17509 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
17510 (Fx_popup_dialog): Explicitly init f.
17511 (w32_menu_display_help): Use empty_string.
17512
17513 2001-10-29 Richard M. Stallman <rms@gnu.org>
17514
17515 * fns.c (Frequire): Detect recursive try to require the same
17516 feature 3 or more levels deep, and get error.
17517 (require_unwind): New subroutine.
17518 (require_nesting_list): New variable.
17519 (syms_of_fns): Init and staticpro it.
17520
17521 * print.c (print_object): Clarify indication of insertion type.
17522
17523 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
17524
17525 * coding.c (syms_of_coding): Document that locale-coding-system is
17526 used for decoding input on X.
17527
17528 * window.c (Fscroll_left, Fscroll_right): Doc fix.
17529
17530 2001-10-29 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17531
17532 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
17533 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
17534
17535 2001-10-29 Gerd Moellmann <gerd@gnu.org>
17536
17537 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
17538 use NO_CURSOR if cursor_in_non_selected_windows is false.
17539
17540 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
17541 the slant attribute if FRAME is t.
17542
17543 * xfns.c (x_set_internal_border_width): Set frame garbaged
17544 when X window doesn't exist yet.
17545
17546 * xterm.c (x_after_update_window_line): Clear internal border
17547 in different circumstances.
17548
17549 * xterm.c (XTread_socket) <KeyPress>: Don't use
17550 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
17551 <handa@etl.go.jp>.
17552
17553 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
17554
17555 * m/ibms390.h: New file. From Adam Thornton
17556 <athornton@sinenomine.net>.
17557
17558 2001-10-28 Gerd Moellmann <gerd@gnu.org>
17559
17560 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
17561
17562 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
17563 a loop counter.
17564
17565 2001-10-28 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17566
17567 * emacs.c: Use argv[0] instead of "emacs" when -t was specified.
17568
17569 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
17570 keyword].
17571 Fix typos in comments.
17572
17573 * emacs.c (bug_reporting_address): New function.
17574 Use it when displaying usage message.
17575
17576 * minibuf.c (read_minibuf): Remove unused external declaration of
17577 variable `Qread_only'.
17578
17579 * keymap.c (access_keymap): Remove unused variable `charset'.
17580
17581 2001-10-28 Miles Bader <miles@gnu.org>
17582
17583 * xfaces.c (merge_face_heights): Handle TO being relative as well.
17584 Remove #ifdef'd-out code.
17585 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
17586 (syms_of_xfaces): Initialize them.
17587
17588 2001-10-27 Jason Rumney <jasonr@gnu.org>
17589
17590 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
17591 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
17592 position using the system caret.
17593
17594 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
17595 (w32_system_caret_height, w32_system_caret_x)
17596 (w32_system_caret_y): New variables for tracking system caret.
17597 (w32_initialize): Initialize them.
17598 (x_display_and_set_cursor): Make system caret follow the active cursor.
17599
17600 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
17601 New messages types.
17602
17603 * w32term.c (note_mouse_highlight): Clear old help_echo.
17604
17605 2001-10-27 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17606
17607 * xterm.c: Fix typo in a comment.
17608
17609 * emacs.c: Fix typos in comments.
17610 Remove unnecessary spaces.
17611 Change doc-string comments to `new style' [w/`doc:' keyword].
17612 (USAGE2): Fix typos in usage string.
17613
17614 * xterm.c: Fix typo in a comment.
17615
17616 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
17617 emacs.c.
17618
17619 2001-10-27 Gerd Moellmann <gerd@gnu.org>
17620
17621 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
17622 instead of 1/2 line_height in the heuristic for skipping
17623 farther backward when target_y was not reached.
17624
17625 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
17626 Display errno only if non-zero.
17627 (sound_warning): New function.
17628 (vox_configure): Don't treat failing to set sample rate as error.
17629 (various places): Improve error messages.
17630
17631 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
17632
17633 * fileio.c (Faccess_file): Run the argument filename through
17634 Fexpand_file_name, before using it.
17635
17636 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
17637 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
17638
17639 2001-10-26 Gerd Moellmann <gerd@gnu.org>
17640
17641 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
17642
17643 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
17644 Fix clearing in the case of scroll bars on the right.
17645
17646 2001-10-26 Juanma Barranquero <lektu@terra.es>
17647
17648 * w32gui.h (XImage): Add a dummy typedef.
17649
17650 2001-10-26 Gerd Moellmann <gerd@gnu.org>
17651
17652 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
17653
17654 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
17655
17656 * frame.c (Fframe_parameter): Fix last change.
17657
17658 * fileio.c: Revert last change (which removed old commented-out
17659 version of expand-file-name). Add a comment that explains why
17660 this old version should not be removed.
17661
17662 2001-10-25 Gerd Moellmann <gerd@gnu.org>
17663
17664 * frame.c (Fframe_parameter): Fix a bug whereby some
17665 ``artificial'' frame parameters, like `minibuffer' were not
17666 obtained by calling Fframe_parameters.
17667
17668 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
17669 cursor differently.
17670
17671 * xdisp.c (move_it_vertically_backward): Compute line height
17672 differently. Add heuristic to try to be more compatible to 20.x.
17673
17674 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
17675
17676 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
17677
17678 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
17679 boolean.
17680
17681 2001-10-25 Miles Bader <miles@gnu.org>
17682
17683 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
17684 BG is a pointer to a structure, not a structure.
17685 (gif_format, png_format): Add missing commas.
17686
17687 2001-10-24 Richard M. Stallman <rms@gnu.org>
17688
17689 * xfaces.c (Fface_attributes_as_vector): New function.
17690 (syms_of_xfaces): Defsubr it.
17691
17692 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17693
17694 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
17695 variable `area'.
17696
17697 2001-10-25 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17698
17699 * search.c (scan_newline): Remove unused variable `selective_display'.
17700
17701 2001-10-25 Miles Bader <miles@gnu.org>
17702
17703 * dispextern.h (struct image): Add `background',
17704 `background_valid', and `background_transparent' fields.
17705 (image_background, image_background_transparent): New declarations.
17706 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
17707 * xfns.c (image_background, image_background_transparent)
17708 (four_corners_best): New functions.
17709 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
17710 (gs_format): Add `:background' entry.
17711 (lookup_image): Set IMG's background color if specified.
17712 (pbm_load, xbm_load_image, png_load): Set IMG's background field
17713 when appropriate.
17714 (x_clear_image_1): Reset `background_valid' and
17715 `background_transparent_valid' fields.
17716 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
17717 calculating it here. Set IMG's background_transparent field.
17718 (enum xpm_keyword_index): Add XPM_BACKGROUND.
17719 (enum png_keyword_index): Add PNG_BACKGROUND.
17720 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
17721 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
17722 (enum gif_keyword_index): Add GIF_BACKGROUND.
17723 (enum gs_keyword_index): Add GS_BACKGROUND.
17724 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
17725 Pre-calculate image background color where necessary.
17726 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
17727 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
17728 color to use for image glyph reliefs.
17729
17730 2001-10-24 Gerd Moellmann <gerd@gnu.org>
17731
17732 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
17733 in full-width rows.
17734
17735 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
17736 Fix clearing of area not covered by scroll bar.
17737
17738 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17739
17740 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
17741 and `real_start'.
17742 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
17743 (glyph_rect): Remove unused variable `area'.
17744
17745 2001-10-24 Gerd Moellmann <gerd@gnu.org>
17746
17747 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
17748
17749 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
17750 (row_containing_pos): Take additional argument DY.
17751 Treat rows ending in middle of char differently.
17752 (display_line): Handle tabs on window systems differently.
17753
17754 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
17755 with additional argument.
17756
17757 * dispextern.h (row_containing_pos): Adjust prototype.
17758
17759 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
17760 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
17761 (try_window_id, try_window_reusing_current_matrix)
17762 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
17763 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
17764
17765 2001-10-24 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17766
17767 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
17768 gnuemacs).
17769 (HAVE_BOXES): Fix typo in comment.
17770 (push_menu_pane): Fix typo in comment.
17771
17772 * xdisp.c: (display_prop_string_p): Remove unused local declaration
17773 of `Qwhen'.
17774 (single_display_prop_string_p): Remove unused local declarations
17775 of `Qwhen' and `Qmargin'.
17776 (string_buffer_position): Remove unused variable `around'.
17777 (store_frame_title): Remove unused variable `width'.
17778
17779 * window.c: Don't define max.
17780 (coordinates_in_window): Remove unused variable `uy'.
17781
17782 * widget.c: Don't define max.
17783
17784 * process.c: Don't define max.
17785 (create_process): Remove unused variable `buffer'.
17786
17787 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17788
17789 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
17790
17791 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
17792
17793 * xfaces.c (Finternal_set_lisp_face_attribute)
17794 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
17795 frame is on a windowed display.
17796
17797 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17798
17799 * dispnew.c (sync_window_with_frame_matrix_rows):
17800 Fix handling of windows which aren't full-width, fix handling
17801 of marginal areas.
17802
17803 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
17804
17805 2001-10-23 Andreas Schwab <schwab@suse.de>
17806
17807 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
17808 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
17809
17810 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17811
17812 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
17813 REAL_END. Notice if cursor gets overwritten.
17814 (notice_overwritten_cursor): Take X positions as parameters.
17815 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
17816 around call to x_draw_glyphs.
17817
17818 2001-10-23 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17819
17820 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
17821 instead of C) and usage.
17822
17823 * editfns.c (char-to-string): Fix argument names (use CHAR instead
17824 of C) and usage.
17825
17826 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
17827 `left', `max_width' and `max_height'.
17828
17829 2001-10-23 Gerd Moellmann <gerd@gnu.org>
17830
17831 * xdisp.c (display_line): For a tab continued to the next line,
17832 set row's ends_in_middle_of_char_p.
17833
17834 2001-10-22 Gerd Moellmann <gerd@gnu.org>
17835
17836 * xdisp.c (display_line): Fix computation of continuation lines
17837 width for TABs.
17838
17839 2001-10-22 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17840
17841 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
17842 `Qlaplace'.
17843
17844 * fileio.c: Remove unused code.
17845
17846 2001-10-22 Miles Bader <miles@gnu.org>
17847
17848 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
17849 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
17850 Remove `DOC_STRINGS_IN_COMMENTS' cases.
17851
17852 2001-10-21 Jason Rumney <jasonr@gnu.org>
17853
17854 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
17855
17856 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
17857
17858 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
17859 (Finsert_string): Avoid the multi-line string literals warning.
17860
17861 2001-10-22 Miles Bader <miles@gnu.org>
17862
17863 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
17864 (Fdocumentation): Don't use it.
17865 (syms_of_doc): Don't initialize it.
17866
17867 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
17868 * print.c (Fwith_output_to_temp_buffer): Likewise.
17869 * window.c (Fsave_window_excursion): Likewise.
17870 * editfns.c (Fsave_excursion, Fsave_current_buffer)
17871 (Fsave_restriction): Likewise.
17872 * eval.c (Frun_hooks, Frun_hook_with_args)
17873 (Frun_hook_with_args_until_failure)
17874 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
17875 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
17876 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
17877 (Funwind_protect, Fcondition_case): Likewise.
17878 * coding.c (Ffind_operation_coding_system): Likewise.
17879 * keyboard.c (Ftrack_mouse): Likewise.
17880
17881 2001-10-21 Miles Bader <miles@gnu.org>
17882
17883 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
17884 (Fmake_hash_table): Add usage: string to doc string.
17885 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
17886 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
17887 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
17888 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
17889 (Fml_prefix_argument_loop): Likewise.
17890
17891 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
17892
17893 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
17894
17895 * sysdep.c (init_sys_modes): Change doc-string comments to `new
17896 style' [w/`doc:' keyword].
17897
17898 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
17899 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
17900 comments to `new style' [w/`doc:' keyword].
17901
17902 2001-10-21 Jason Rumney <jasonr@gnu.org>
17903
17904 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
17905
17906 * w32term.c (remember_mouse_glyph): New function.
17907 (w32_mouse_position): Use it.
17908 (note_mouse_movement): If the mouse moved off the glyph, remember
17909 its new position.
17910
17911 * w32term.h (struct w32_output): Correct spelling of x_compatible.
17912 (w32_display_info): Add mouse_face_overlay.
17913
17914 * w32term.c (notice_overwritten_cursor): Renamed from
17915 note_overwritten_text_cursor. Rewritten to take glyph widths into
17916 account.
17917 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
17918 (fast_find_string_pos): New function.
17919 (fast_find_position): Return the correct vpos. Add parameter
17920 STOP. In the final row, stop before glyphs having STOP as object.
17921 Don't consider glyphs that are not from a buffer.
17922 (fast_find_position) [0]: Add a presumably more correct version
17923 for after 21.1.
17924 (expose_window_tree, expose_frame): Don't compute intersections here.
17925 (expose_window): Do it here instead.
17926 (expose_window_tree, expose_window, expose_line): Return 1 when
17927 overwriting mouse-face.
17928 (expose_window): If W is the window currently being updated, mark
17929 the frame garbaged.
17930 (expose_frame): If mouse-face was overwritten, redo it.
17931 (x_use_underline_position_properties): New variable.
17932 (syms_of_xterm): DEFVAR_BOOL it.
17933 (x_draw_glyph_string): Add comment to use it in future.
17934 (x_draw_glyph_string): Restore clipping after drawing box.
17935 Fix a computation of the underline position.
17936 (w32_get_glyph_string_clip_rect): Minor cleanup.
17937 (x_fill_stretch_glyph_string): Remove an assertion.
17938 (x_produce_glyphs): Don't convert multibyte characters
17939 to unibyte characters in unibyte buffers.
17940 (cursor_in_mouse_face_p): New function.
17941 (x_draw_stretch_glyph_string): Use it to choose a different GC
17942 when drawing a cursor within highlighted text. Don't draw
17943 background again if it has already been drawn.
17944 (x_draw_glyph_string_box): Don't draw a full-width
17945 box just because the glyph row's full_width_p flag is set.
17946 (x_draw_glyphs): Fix computation of rightmost x for
17947 full-width rows.
17948 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
17949 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
17950 change bottom shadow accordingly. Some cleanup.
17951 (x_update_window_end): Handle overwritten mouse face
17952 also for tool bar windows.
17953 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
17954 DRAW is DRAW_IMAGE_RAISED.
17955 (clear_mouse_face): Return 1 if text with mouse face was
17956 actually redrawn. Make the function static.
17957 Reset dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
17958 optimize away highlighting if we pass over that same overlay again.
17959 (note_mouse_highlight): Call mouse_face_overlay_overlaps
17960 to detect a case where we have to highlight a different region
17961 despite not having left the currently highlighted region.
17962 Set mouse_face_overlay in the x_display_info. Avoid changing the
17963 mouse pointer shape when show_mouse_face has already done it, or
17964 there is no need. Handle mouse-face and help-echo in strings.
17965 (glyph_rect): New function.
17966 (w32_mouse_position): Use it to raise the threshold for mouse
17967 movement event generation.
17968 (w32_initialize_display_info): Initialize the x_display_info's
17969 mouse_face_overlay.
17970 (w32_set_vertical_scroll_bar): Don't clear a zero height
17971 or width area.
17972 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
17973 a widget to zero height.
17974
17975 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
17976 Protect unibyte strings created by replacing their multibyte
17977 equivalents in menu_items.
17978 (w32_menu_show): Don't overwrite an item's name with its key
17979 description in case the description is a multibyte string.
17980 (single_submenu): Some cleanup.
17981
17982 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
17983 (postprocess_image): New function.
17984 (lookup_image): Call it for all image types except PostScript.
17985 (x_kill_gs_process): Call postprocess_image.
17986 (tiff_error_handler, tiff_warning_handler): New functions.
17987 (tiff_load): Install them as handlers.
17988 (x_kill_gs_process): Recognize if someone has cleared the image
17989 cache under us.
17990 (valid_image_p): Protect better against invalid image
17991 specifications. Previous code could signal an error.
17992 (Fx_hide_tip, Fshow_tip): Doc fix.
17993 (Fv_max_tooltip_size): New variable.
17994 (syns_of_xfns): DEFVAR_LISP it.
17995 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
17996 window buffer to *tip* right after creating the frame. Set frame's
17997 window_width. Use a maximum tooltip size specified by
17998 Vx_max_tooltip_size, if that has valid contents.
17999 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
18000 Make sure the tooltip is completely visible.
18001 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
18002 (Fx_create_frame): Adjust the frame's height for presence
18003 of the tool bar before calling x_figure_window_size.
18004 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
18005 when the window gets smaller.
18006 (x_set_foreground_color): Set frame's cursor_pixel.
18007 (x_set_foreground_color, x_set_background_color): Cleaned up.
18008 (x_set_font): Handle case of x_new_fontset returning the same name
18009 as before, although there was a change in fontsets.
18010
18011 2001-10-21 Miles Bader <miles@gnu.org>
18012
18013 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
18014 (Flogxor): Add usage: string to doc string.
18015 * charset.c (Fstring): Likewise.
18016 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
18017 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
18018
18019 2001-10-21 Pavel Jan\e,Am\e(Bk <Pavel@Janik.cz>
18020
18021 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
18022
18023 * alloc.c: Reindent DEFUNs with doc: keywords.
18024
18025 * abbrev.c (Finsert_abbrev_table_description): Reindent.
18026
18027 * frame.c: Change doc-string comments to `new style' [w/`doc:'
18028 keyword].
18029
18030 See ChangeLog.9 for earlier changes.
18031
18032 ;; Local Variables:
18033 ;; coding: iso-2022-7bit
18034 ;; End:
18035
18036 Copyright (C) 2001, 2002 Free Software Foundation, Inc.
18037 Copying and distribution of this file, with or without modification,
18038 are permitted provided the copyright notice and this notice are preserved.
18039
18040 ;;; arch-tag: 5dcc435f-4038-4141-b3bf-5be51cd76bd4